diff --git a/web/src/lib/pb.ts b/web/src/lib/pb.ts new file mode 100644 index 00000000..be9aa425 --- /dev/null +++ b/web/src/lib/pb.ts @@ -0,0 +1,48 @@ +import PocketBase, { RecordService } from 'pocketbase'; + +export interface User { + id: string + username: string + email: string + admin?: boolean + avatar?: string + created: string + updated: string +} + +export interface Submission { + id: string + name: string + assets: string[] + created_by: string + status: 'approved' | 'rejected' | 'pending' + approved_by: string + expand: { + created_by: User + approved_by: User + } + extras: { + aliases: string[] + categories: string[] + base?: string + colors?: { + dark?: string + light?: string + } + wordmark?: { + dark?: string + light?: string + } + } + created: string + updated: string +} + +interface TypedPocketBase extends PocketBase { + collection(idOrName: string): RecordService // default fallback for any other collection + collection(idOrName: 'users'): RecordService + collection(idOrName: 'submissions'): RecordService +} + +export const pb = new PocketBase('http://127.0.0.1:8090') as TypedPocketBase; +