export interface Identifiable { id: string; } export interface Created { createdAt: Date; } export interface Updated { updatedAt: Date; } export type Timestamped = Created & Updated; export interface Note extends Identifiable, Timestamped { content: string; } export interface Team extends Identifiable, Timestamped { displayName: string; } export interface User extends Identifiable, Timestamped { username: string; passwordDigest: string; displayName?: string; } type IdentifierFor = T["id"]; export interface Token extends Created { bytes?: Uint8Array; digest: Uint8Array; userId: IdentifierFor; data: Record | null; } /** 32 bytes base64-encoded */ export type TokenDigest = string;