Files
doneit-web/src/app/module/chat/infra/database/dexie/schema/room.ts
T

22 lines
703 B
TypeScript
Raw Normal View History

2024-08-07 19:30:20 +01:00
import { z } from "zod";
import { EntityTable } from 'Dexie';
2024-08-19 16:45:29 +01:00
import { RoomType } from "src/app/module/chat/domain/entity/group";
2024-08-07 19:30:20 +01:00
export const RoomTableSchema = z.object({
id: z.string(),
roomName: z.string(),
createdBy: z.object({
wxUserId: z.number(),
wxFullName: z.string(),
wxeMail: z.string().email(),
userPhoto: z.string().nullable().optional()// api check
}),
createdAt: z.any(),
expirationDate: z.any().nullable(),
2024-08-19 16:45:29 +01:00
roomType: z.nativeEnum(RoomType)
2024-08-07 19:30:20 +01:00
})
export type RoomTable = z.infer<typeof RoomTableSchema>
2024-08-14 15:29:16 +01:00
export type DexieRoomsTable = EntityTable<RoomTable, 'id'>;
2024-08-07 19:30:20 +01:00
export const RoomTableColumn = 'id, createdBy, roomName, roomType, expirationDate, lastMessage'