fix chat bold

This commit is contained in:
Peter Maquiran
2024-09-02 12:33:43 +01:00
parent 18463e43e4
commit 1b9b4600ab
18 changed files with 162 additions and 81 deletions
+5
View File
@@ -62,6 +62,7 @@ export const MessageEntitySchema = z.object({
safeFile: z.any().optional(),
description: z.string().nullable().optional()
})).optional(),
origin: z.enum(['history', 'local', 'incoming']).optional()
})
export type IMessage = z.infer<typeof MessageEntitySchema>;
@@ -99,4 +100,8 @@ export class MessageEntity {
return this.attachments.length >= 1
}
static haveSeen(info: typeof MessageEntitySchema._type.info) {
return info.filter(e => typeof e.readAt != 'string')
}
}
@@ -3,7 +3,7 @@ import { Observable as DexieObservable, PromiseExtended } from 'Dexie';
import { AttachmentTable } from "src/app/infra/database/dexie/instance/chat/schema/attachment";
import { Result } from "neverthrow";
import { MemberTable, MemberTableSchema } from "src/app/infra/database/dexie/instance/chat/schema/members";
import { RepositoryResult } from "src/app/infra/repository";
import { RepositoryResult, RepositoryResultNew } from "src/app/infra/repository";
import { z } from "zod";
import { MemberListUPdateStatusInputDTO } from "src/app/module/chat/domain/use-case/socket/member-list-update-status-use-case.service";
import { Observable } from "rxjs";
@@ -26,15 +26,15 @@ export type IGetMemberLive = z.infer<typeof GetMemberLiveInput>
export abstract class IMemberLocalRepository extends DexieRepository<AttachmentTable, AttachmentTable> {
abstract directMember(input:IDirectMemberInput): Promise<Result<MemberTable, any>>
abstract addMember(data: MemberTable): Promise<RepositoryResult<number, MemberTable>>
abstract addMember(data: MemberTable): Promise<RepositoryResultNew<number, MemberTable>>
abstract updateMemberRole(data: MemberTable): Promise<Result<number, any>>
abstract updateMembersStatus(data: MemberListUPdateStatusInputDTO): Promise<Result<true, any>>
abstract allMemberOnline(roomId:string): DexieObservable<boolean>
abstract removeMemberFromRoom(roomId:string): Promise<Result<any ,any>>
abstract removeMemberFromRoom(roomId:string): Promise<Result<any ,any>>
abstract getMemberLive(input: IGetMemberLive): DexieObservable<MemberTable>
abstract getRoomMemberById(roomId:string): Promise<MemberTable[]>
abstract getRoomMemberByIdLive(roomId:string): Observable<MemberTable[]>
abstract getRoomMemberById(roomId:string): Promise<MemberTable[]>
abstract getRoomMemberByIdLive(roomId:string): Observable<MemberTable[]>
abstract getRoomMemberNoneAdminByIdLive(roomId:string): DexieObservable<MemberTable[]>
}
}