import Dexie, { type Table } from 'dexie'; import type { Display, DisplayGroup, FileOnDisplay, Inode } from './types'; export class FileDatabase extends Dexie { files!: Table; files_on_display!: Table; displays!: Table; display_groups!: Table; constructor() { super('FileDatabase'); this.version(1).stores({ files: ` [path+name+size+type], path, name, size, type, thumbnail `, files_on_display: ` [display_id+file_primary_key], display_id, file_primary_key, date_created `, displays: ` id, ip, mac, position, preview, group_id, name, status `, display_groups: ` id, position ` }); } } export const db = new FileDatabase();