From a4d81a68e6bcc0593aa28a328cc175e2a86960e6 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Wed, 18 Sep 2024 15:24:50 +0100 Subject: [PATCH] add documentation and remove console logs --- doc/database.md | 10 ++++++++++ src/app/infra/database/dexie/service.ts | 2 +- .../room/room-bold-sync-use-case.service.ts | 11 +++++++++++ .../use-case/room/room-set-last-message.service.ts | 4 +++- .../ui/chat/component/contacts/contacts.page.ts | 14 +++++++------- version/git-version.ts | 12 ++++++------ 6 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 doc/database.md diff --git a/doc/database.md b/doc/database.md new file mode 100644 index 000000000..a676eb863 --- /dev/null +++ b/doc/database.md @@ -0,0 +1,10 @@ +```js +export const BoldTableSchema = z.object({ + roomId: z.string(), + bold: z.number() +}) + +export type DexieBoldTable = EntityTable; +export const BoldTableColumn = 'roomId, bold'; + +``` diff --git a/src/app/infra/database/dexie/service.ts b/src/app/infra/database/dexie/service.ts index 3961edb39..784f768a1 100644 --- a/src/app/infra/database/dexie/service.ts +++ b/src/app/infra/database/dexie/service.ts @@ -14,7 +14,7 @@ import { DexieUserPhotoTable, UserPhotoTable, UserPhotoTableColumn } from './ins // Database declaration (move this to its own module also) -export const chatDatabase = new Dexie('chat-database-v2',{ +export const chatDatabase = new Dexie('chat-database-v3',{ // indexedDB: new FDBFactory, // IDBKeyRange: FDBKeyRange, // Mocking IDBKeyRange }) as Dexie & { diff --git a/src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service.ts b/src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service.ts index 91cc843b9..9f73ce192 100644 --- a/src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service.ts +++ b/src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service.ts @@ -33,6 +33,10 @@ export class RoomBoldSyncUseCaseService { this.loadHistory() } + /** + * + * @description listen to all incoming message and set bold to true + */ private listenToIncomingMessage() { return this.MessageSocketRepositoryService.listenToMessages().pipe( filter((message) => !message?.requestId?.startsWith(InstanceId)), @@ -51,6 +55,10 @@ export class RoomBoldSyncUseCaseService { }); } + /** + * + * @description Listen to all update message. If the incoming updated message has readAt my me and is the last message then remove bold + */ private listenToUpdateMessages() { return this.MessageSocketRepositoryService.listenToUpdateMessages().pipe( filter((message) => !message?.requestId?.startsWith(InstanceId)), @@ -77,6 +85,9 @@ export class RoomBoldSyncUseCaseService { }); } + /** + * @description set bold base on the last message on load history. If the last message has readAt by me then remove bold in case not set bold + */ @XTracerAsync({name:'RoomBoldSyncUseCaseService/loadHistory', module:'chat', bugPrint: true}) private loadHistory() { const regex = new RegExp("Room\\/([0-9a-fA-F]{8})-([0-9a-fA-F]{4})-([0-9a-fA-F]{4})-([0-9a-fA-F]{4})-([0-9a-fA-F]{12})\\/Messages"); diff --git a/src/app/module/chat/domain/use-case/room/room-set-last-message.service.ts b/src/app/module/chat/domain/use-case/room/room-set-last-message.service.ts index 059be7ff7..7ebe5d540 100644 --- a/src/app/module/chat/domain/use-case/room/room-set-last-message.service.ts +++ b/src/app/module/chat/domain/use-case/room/room-set-last-message.service.ts @@ -163,7 +163,7 @@ export class RoomSetLastMessageService { const room = await this.roomLocalRepository.findOne({id: roomId}) - if(room.isOk()) { + if(room.isOk() && room.value) { const roomEntity = new RoomEntity(room.value) if(!roomEntity.hasLastMessage()) { await this.roomLocalRepository.update(loadHistoryFirstMessage.roomId, { @@ -219,6 +219,8 @@ export class RoomSetLastMessageService { } + } else { + console.log('cant find room locally') } } diff --git a/src/app/ui/chat/component/contacts/contacts.page.ts b/src/app/ui/chat/component/contacts/contacts.page.ts index 38f73d829..b346d08c1 100644 --- a/src/app/ui/chat/component/contacts/contacts.page.ts +++ b/src/app/ui/chat/component/contacts/contacts.page.ts @@ -178,17 +178,17 @@ export class ContactsPage implements OnInit { if(room.isOk()) { - console.log('room', room) - console.log('result.value', result.value) - console.log('receiverId', user.wxUserId) - - // await this.chatServiceService.getRoomById(user.wxUserId.toString()) - this.close(user.wxUserId.toString()) this.openMessageComponent(new RoomViewModel(room.value)) } } else { - this.close(user.wxUserId.toString()) + const room = await this.chatServiceService.roomGetLocalById({ + $roomId: user.wxUserId.toString() + }) + + if(room.isOk()) { + this.openMessageComponent(new RoomViewModel(room.value)) + } } } diff --git a/version/git-version.ts b/version/git-version.ts index 9d3d563be..161943121 100644 --- a/version/git-version.ts +++ b/version/git-version.ts @@ -1,11 +1,11 @@ export let versionData = { - "shortSHA": "01c2f5efb", - "SHA": "01c2f5efb5fa836decbc130ca5dcb8a8b6634d94", + "shortSHA": "8d332f73a", + "SHA": "8d332f73a8dafc3ea98b2eb8e35322d89d185883", "branch": "feature/chat-new-api-peter", "lastCommitAuthor": "'Peter Maquiran'", - "lastCommitTime": "'Wed Sep 18 11:47:23 2024 +0100'", - "lastCommitMessage": "fix direct room", - "lastCommitNumber": "6079", - "changeStatus": "On branch feature/chat-new-api-peter\nYour branch is up to date with 'origin/feature/chat-new-api-peter'.\n\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/core/chat/entity/group.ts\n\tmodified: src/app/core/chat/entity/message.ts\n\tmodified: src/app/module/chat/data/async/list/rooms/roomListChangeDetector.ts\n\tmodified: src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service.ts\n\tmodified: src/app/ui/chat/component/messages/messages.page.ts", + "lastCommitTime": "'Wed Sep 18 12:32:31 2024 +0100'", + "lastCommitMessage": "fix bold", + "lastCommitNumber": "6080", + "changeStatus": "On branch feature/chat-new-api-peter\nYour branch is up to date with 'origin/feature/chat-new-api-peter'.\n\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tnew file: doc/database.md\n\tmodified: src/app/infra/database/dexie/service.ts\n\tmodified: src/app/module/chat/domain/use-case/room/room-bold-sync-use-case.service.ts\n\tmodified: src/app/module/chat/domain/use-case/room/room-set-last-message.service.ts\n\tmodified: src/app/ui/chat/component/contacts/contacts.page.ts", "changeAuthor": "peter.maquiran" } \ No newline at end of file