This commit is contained in:
Peter Maquiran
2024-08-30 12:41:50 +01:00
parent ac7e5ccf5b
commit d6a08c6264
33 changed files with 558 additions and 87 deletions
@@ -0,0 +1,11 @@
import { EntityTable } from 'Dexie';
import { z } from 'zod';
export const BoldTableSchema = z.object({
roomId: z.string(),
bold: z.number()
})
export type BoldTable = z.infer<typeof BoldTableSchema>
export type DexieBoldTable = EntityTable<BoldTable, 'roomId'>;
export const BoldTableColumn = 'roomId, bold'
@@ -2,12 +2,14 @@ import { EntityTable } from 'Dexie';
import { z } from 'zod';
export const DistributionTableSchema = z.object({
$id: z.string(),
$messageIdMemberId: z.string().optional(),
messageId: z.string(),
memberId: z.number(),
readAt: z.string().nullable(),
deliverAt: z.string().nullable()
deliverAt: z.string().nullable(),
roomId: z.string(),
})
export type DistributionTable = z.infer<typeof DistributionTableSchema>
export type DexieDistributionTable = EntityTable<DistributionTable, '$id'>;
export const DistributionTableColumn = '++$id, messageId, memberId, readAt, deliverAt'
export type DexieDistributionTable = EntityTable<DistributionTable, '$messageIdMemberId'>;
export const DistributionTableColumn = '$messageIdMemberId, messageId, memberId, readAt, deliverAt, roomId'
+7 -1
View File
@@ -6,6 +6,8 @@ import { DexieRoomsTable, RoomTableColumn } from 'src/app/infra/database/dexie/i
import { DexieTypingsTable, TypingTableColumn } from 'src/app/infra/database/dexie/instance/chat/schema/typing';
import { MessageEntity } from 'src/app/core/chat/entity/message';
import { AttachmentTableColumn, DexieAttachmentsTableSchema } from 'src/app/infra/database/dexie/instance/chat/schema/attachment';
import { DexieDistributionTable, DistributionTable, DistributionTableColumn } from './instance/chat/schema/destribution';
import { BoldTableColumn, DexieBoldTable } from './instance/chat/schema/bold';
// import FDBFactory from 'fake-indexeddb/lib/FDBFactory';
// import FDBKeyRange from 'fake-indexeddb/lib/FDBKeyRange';
@@ -20,6 +22,8 @@ export const chatDatabase = new Dexie('chat-database-infra',{
room: DexieRoomsTable,
typing: DexieTypingsTable,
attachment: DexieAttachmentsTableSchema,
distribution: DexieDistributionTable,
bold: DexieBoldTable
};
chatDatabase.version(1).stores({
@@ -27,7 +31,9 @@ chatDatabase.version(1).stores({
members: MemberTableColumn,
room: RoomTableColumn,
typing: TypingTableColumn,
attachment: AttachmentTableColumn
attachment: AttachmentTableColumn,
distribution: DistributionTableColumn,
bold:BoldTableColumn
});
chatDatabase.message.mapToClass(MessageEntity)