diff --git a/frontend-pwa/src/api/client.ts b/frontend-pwa/src/api/client.ts index 5f44d82a1..b0eca26ab 100644 --- a/frontend-pwa/src/api/client.ts +++ b/frontend-pwa/src/api/client.ts @@ -4,12 +4,17 @@ import { z } from 'zod'; import { customFetchParsed } from './fetcher'; +export type UserId = string & { readonly brand: 'UserId' }; + +export interface User { + id: UserId; + display_name: string; +} + const userSchema = z.object({ - id: z.string(), + id: z.string().transform(id => id as UserId), display_name: z.string(), -}); - -export type User = z.infer; +}) satisfies z.ZodType; export const listUsers = (signal?: AbortSignal) => customFetchParsed('/api/users', z.array(userSchema), { signal });