import { Dexie, EntityTable, liveQuery } from 'Dexie'; import { z } from 'zod'; export const NotificationTableSchema = z.object({ notificationId: z.number().nullable(), title: z.string().optional().nullable(), service: z.string().nullable(), object: z.string().optional().nullable(), idObject: z.string().nullable(), viewDate: z.string().nullable(), folderId: z.string().optional().nullable(), dateInit: z.string().optional().nullable(), dateEnd: z.string().optional().nullable(), location: z.string().optional().nullable(), notificationBody: z.any().optional() }) export type NotificationTable = z.infer // Database declaration (move this to its own module also) export const NotificationDataSource = new Dexie('NotificationDataSource') as Dexie & { notification: EntityTable; }; NotificationDataSource.version(1).stores({ notification: 'notificationId, title, service, object, idObject, folderId, dateInit, dateEnd, location, createdAt, status' });