Files
chinese-family-tree-2/lib/db.ts
T
freedakgmail 33cf0c50d1 0.0.0.2
2025-11-22 20:08:07 +08:00

32 lines
716 B
TypeScript

import Dexie, { type Table } from "dexie"
import type { FamilyMember } from "@/types/family"
export interface GlobalSettings {
key: string
value: any
}
export interface StoredImage {
id: string
blob: Blob
mimeType: string
createdAt: string
}
export class FamilyTreeDB extends Dexie {
members!: Table<FamilyMember>
settings!: Table<GlobalSettings>
images!: Table<StoredImage>
constructor() {
super("FamilyTreeDB")
this.version(1).stores({
members: "id, fullName, fatherId, motherId, [fatherId+motherId]", // Index for searching
settings: "key", // Key-value store for rootId etc.
images: "id", // Store images by ID
})
}
}
export const db = new FamilyTreeDB()