show last messae and date

This commit is contained in:
Peter Maquiran
2024-08-30 15:31:29 +01:00
parent d6a08c6264
commit 3edbcc194e
13 changed files with 160 additions and 36 deletions
+8 -4
View File
@@ -1,6 +1,7 @@
import { SessionStore } from "src/app/store/session.service";
import { BaseEntity } from "src/app/utils/entity";
import { z } from "zod"
import { MessageEntitySchema } from "./message";
export enum RoomType {
Group = 1,
@@ -33,12 +34,13 @@ export const RoomEntitySchema = z.object({
createdAt: z.any(),
expirationDate: z.any().nullable(),
roomType: z.nativeEnum(RoomType),
members: z.array(MemberSchema).optional()
members: z.array(MemberSchema).optional(),
messages: MessageEntitySchema.array().optional()
})
export type IRoomEntity = z.infer<typeof RoomEntitySchema>
export type IRoom = z.infer<typeof RoomEntitySchema>
export class RoomEntity extends BaseEntity<RoomEntity>(RoomEntitySchema) implements IRoomEntity{
export class RoomEntity extends BaseEntity<RoomEntity>(RoomEntitySchema) implements IRoom{
id: typeof RoomEntitySchema._input.id
roomName: typeof RoomEntitySchema._input.roomName
@@ -47,8 +49,10 @@ export class RoomEntity extends BaseEntity<RoomEntity>(RoomEntitySchema) implem
expirationDate: typeof RoomEntitySchema._input.expirationDate
roomType: typeof RoomEntitySchema._input.roomType
members: typeof RoomEntitySchema._input.members
messages: typeof RoomEntitySchema._input.messages
displayDate = ''
constructor(data: IRoomEntity) {
constructor(data: IRoom) {
super();
Object.assign(this, data)
if(data.roomType == RoomType.Direct) {
+2 -2
View File
@@ -36,7 +36,7 @@ export const MessageEntitySchema = z.object({
wxUserId: z.number(),
wxFullName: z.string(),
wxeMail: z.string(),
userPhoto: z.string(),
userPhoto: z.string().nullable(),
}),
reactions: z.object({
id: z.string(),
@@ -61,7 +61,7 @@ export const MessageEntitySchema = z.object({
mimeType: z.string().optional(),
safeFile: z.any().optional(),
description: z.string().nullable().optional()
})).optional()
})).optional(),
})
export type IMessage = z.infer<typeof MessageEntitySchema>;