create offline direct message

This commit is contained in:
Peter Maquiran
2024-09-17 16:02:12 +01:00
parent 9be19bfc78
commit 1bc5707321
266 changed files with 860 additions and 2771 deletions
@@ -1,11 +1,12 @@
import { z } from "zod";
import { EntityTable } from 'Dexie';
import { RoomType } from "src/app/core/chat/entity/group";
import { MessageEntity, MessageEntitySchema } from "src/app/core/chat/entity/message";
import { MessageTableSchema } from "./message";
import { IDBoolean } from "../../../type";
export const RoomTableSchema = z.object({
id: z.string().uuid(),
$id: z.string().optional(),
id: z.string().optional(),
roomName: z.string(),
createdBy: z.object({
wxUserId: z.number(),
@@ -14,12 +15,14 @@ export const RoomTableSchema = z.object({
userPhoto: z.string().nullable().optional()// api check
}),
createdAt: z.any(),
expirationDate: z.any().nullable(),
expirationDate: z.string().nullable().optional(),
roomType: z.nativeEnum(RoomType),
messages: MessageTableSchema.array().optional(),
bold: z.number().optional()
bold: z.number().optional(),
local: z.nativeEnum(IDBoolean).optional(),
receiverId: z.number().optional()
})
export type RoomTable = z.infer<typeof RoomTableSchema>
export type DexieRoomsTable = EntityTable<RoomTable, 'id'>;
export const RoomTableColumn = 'id, createdBy, roomName, roomType, expirationDate, lastMessage'
export type DexieRoomsTable = EntityTable<RoomTable, '$id'>;
export const RoomTableColumn = '$id, id, createdBy, receiverId, roomName, roomType, expirationDate, lastMessage'