diff --git a/http-client/index.ts b/http-client/index.ts index 1ea25a7d0..d2b0bf9a4 100644 --- a/http-client/index.ts +++ b/http-client/index.ts @@ -9,6 +9,7 @@ import type { TreeStats, } from "./lib/project.js"; import type { + Author, Config, SeedingPolicy, DefaultSeedingPolicy, @@ -50,6 +51,7 @@ import { } from "./lib/shared.js"; export type { + Author, BaseUrl, Blob, ChangesetWithDiff, diff --git a/http-client/lib/project.ts b/http-client/lib/project.ts index 6dab8fc80..39249e4ac 100644 --- a/http-client/lib/project.ts +++ b/http-client/lib/project.ts @@ -26,6 +26,7 @@ import { } from "./project/commit.js"; import { issueSchema, issuesSchema } from "./project/issue.js"; import { patchSchema, patchesSchema } from "./project/patch.js"; +import { authorSchema } from "./shared.js"; const repoSchema = object({ rid: string(), @@ -34,7 +35,7 @@ const repoSchema = object({ description: string(), defaultBranch: string(), }), - delegates: array(object({ id: string(), alias: optional(string()) })), + delegates: array(authorSchema), head: string(), threshold: number(), visibility: union([ diff --git a/http-client/lib/shared.ts b/http-client/lib/shared.ts index b9e96dbd2..9c9e36fa8 100644 --- a/http-client/lib/shared.ts +++ b/http-client/lib/shared.ts @@ -117,6 +117,8 @@ export const codeLocationSchema = object({ new: rangeSchema.nullable(), }); +export type Author = z.infer; + export const authorSchema = object({ id: string(), alias: string().optional(), diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 6c130c02b..506106bba 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,4 +1,4 @@ -import type { BaseUrl } from "@http-client"; +import type { Author, BaseUrl } from "@http-client"; import md5 from "md5"; import bs58 from "bs58"; @@ -80,10 +80,7 @@ export function formatCommit(oid: string): string { return oid.substring(0, 7); } -export function formatEditedCaption( - author: { id: string; alias?: string }, - timestamp: number, -) { +export function formatEditedCaption(author: Author, timestamp: number) { return `${ author.alias ? author.alias : formatNodeId(author.id) } edited ${absoluteTimestamp(timestamp)}`; diff --git a/src/views/projects/Cob/Revision.svelte b/src/views/projects/Cob/Revision.svelte index 4f9cf7296..ef5aee26f 100644 --- a/src/views/projects/Cob/Revision.svelte +++ b/src/views/projects/Cob/Revision.svelte @@ -1,5 +1,6 @@