Files
tfm_ainventory/frontend/lib/db.ts
Daniel Bedeleanu 704934165f Build [v.1.3.6]
2026-04-11 17:14:22 +03:00

44 lines
954 B
TypeScript

import Dexie, { Table } from 'dexie';
export interface Item {
id?: number;
barcode: string;
name: string;
category: string;
part_number?: string;
color?: string;
specs?: string;
quantity: number;
min_quantity: number;
image_url?: string;
labels_data?: string;
serial_number?: string;
type?: string;
}
export interface PendingOperation {
id?: number;
type: 'CHECK_IN' | 'CHECK_OUT' | 'TRASH';
barcode: string;
quantity: number;
timestamp: number;
synced: 0 | 1; // 0 for false, 1 for true
uuid: string;
details?: string;
}
export class InventoryDatabase extends Dexie {
items!: Table<Item>;
pendingOperations!: Table<PendingOperation>;
constructor() {
super('InventoryDatabase');
this.version(3).stores({
items: '++id, barcode, name, category, part_number, color',
pendingOperations: '++id, barcode, timestamp, synced, uuid'
});
}
}
export const db = new InventoryDatabase();