Files
doneit-web/src/app/module/notification/data/infra/db/notification.db.ts
T

27 lines
1.0 KiB
TypeScript
Raw Normal View History

2024-06-27 16:53:45 +01:00
import { Dexie, EntityTable, liveQuery } from 'Dexie';
import { z } from 'zod';
export const NotificationTableSchema = z.object({
2024-12-16 12:04:02 +01:00
notificationId: z.number().nullable(),
2024-06-27 16:53:45 +01:00
title: z.string().optional().nullable(),
service: z.string().nullable(),
object: z.string().optional().nullable(),
idObject: z.string().nullable(),
2024-12-16 12:04:02 +01:00
viewDate: z.string().nullable(),
2024-06-27 16:53:45 +01:00
folderId: z.string().optional().nullable(),
dateInit: z.string().optional().nullable(),
dateEnd: z.string().optional().nullable(),
location: z.string().optional().nullable(),
2024-06-28 12:12:33 +01:00
notificationBody: z.any().optional()
2024-06-27 16:53:45 +01:00
})
export type NotificationTable = z.infer<typeof NotificationTableSchema>
// Database declaration (move this to its own module also)
export const NotificationDataSource = new Dexie('NotificationDataSource') as Dexie & {
notification: EntityTable<NotificationTable, 'notificationId'>;
};
NotificationDataSource.version(1).stores({
2024-06-28 07:44:43 +01:00
notification: 'notificationId, title, service, object, idObject, folderId, dateInit, dateEnd, location, createdAt, status'
2024-06-27 16:53:45 +01:00
});