From 4dd7c83279b43eb537ef3c57fdea4c4bd7485eb8 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Fri, 4 Mar 2022 14:50:13 +0100 Subject: [PATCH] chat --- src/app/services/chat/chat-storage.service.ts | 9 ++++-- src/app/services/chat/message.service.ts | 14 ++++++++-- src/app/services/chat/room.service.ts | 28 ++++++++++++++++++- .../shared/chat/messages/messages.page.html | 5 ++++ 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/app/services/chat/chat-storage.service.ts b/src/app/services/chat/chat-storage.service.ts index 6044fd8af..e41509d92 100644 --- a/src/app/services/chat/chat-storage.service.ts +++ b/src/app/services/chat/chat-storage.service.ts @@ -32,7 +32,7 @@ export class ChatStorageService { }) this.storage.set('chatmsg' + roomId, messages).then((value) => { - console.log('MSG SAVED ON STORAGE', value) + // console.log('MSG SAVED ON STORAGE', value) }); }) @@ -66,7 +66,7 @@ export class ChatStorageService { await this.storage.set('chatmsg' + roomId, messages) } else { - console.log('failed to update', identificator, ':',ChatMessage) + // console.log('failed to update', identificator, ':',ChatMessage) } }) @@ -130,6 +130,7 @@ export class ChatStorageService { delete ChatMessage.temporaryData messages.push(ChatMessage) + console.log('no ID') await this.storage.set('chatmsg' + roomId, messages) // console.log('add to DB', ChatMessage) @@ -165,6 +166,7 @@ export class ChatStorageService { delete ChatMessage.temporaryData messages.push(ChatMessage) + // console.log('add to DB') } else { const find = messages.find((message)=> { @@ -174,6 +176,7 @@ export class ChatStorageService { if(!find) { delete ChatMessage.temporaryData messages.push(ChatMessage) + // console.log('add to DB') } @@ -181,7 +184,7 @@ export class ChatStorageService { } }) - console.log('add to DB') + await this.storage.set('chatmsg' + roomId, messages) diff --git a/src/app/services/chat/message.service.ts b/src/app/services/chat/message.service.ts index bccdbde0a..1c46ad450 100644 --- a/src/app/services/chat/message.service.ts +++ b/src/app/services/chat/message.service.ts @@ -142,7 +142,7 @@ export class MessageService { this.WsChatService.registerCallback({ type: 'reConnect', funx: async ()=> { - + this.WsChatService.send(params).then(({message, requestId}) => { let ChatMessage = message.result this.messageSend = true @@ -186,7 +186,6 @@ export class MessageService { }, (error) => { - this.WsChatService.registerCallback({ type: 'reConnect', funx: async ()=> { @@ -239,8 +238,19 @@ export class MessageService { reference = 'localReference' } + const message = this.getChatObj() + // const viewed = [...new Set([...ChatMessage.viewed,...this.viewed])]; + // const received = [...new Set([...ChatMessage.received,...this.received])]; + // if(ChatMessage.msg.includes('***********')) { + // console.log('redefinedMessage') + // console.log(JSON.stringify(ChatMessage)) + // console.log(JSON.stringify(message)) + // console.log(JSON.stringify(Object.assign(message, ChatMessage))) + + // } + ChatMessage = Object.assign(message, ChatMessage) diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index 0254b2432..7f20fd9f9 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -273,6 +273,8 @@ export class RoomService { temporaryData, localReference } + + this.message= '' const message: MessageService = await this.prepareMessage({message:offlineChatMessage, save: environment.chatOffline}) @@ -292,7 +294,7 @@ export class RoomService { this.sortRoomList() } - this.message= '' + } @@ -570,6 +572,30 @@ export class RoomService { } + + /** + * @description find or create message + * @param message + * @param save + * @returns + */ + async prepareCreate({message}): Promise { + message = this.fix_updatedAt(message) + + const wewMessage = new MessageService(this.storage, this.NfService, this.WsChatService, this.ChatStorageService, this.ChatMethodsService) + wewMessage.setData(message) + wewMessage.loadHistory = this.hasLoadHistory + + if(!message?._id && environment.chatOffline) { + + this.messages.push(wewMessage) + return wewMessage + } + + } + + + simplePrepareMessage(message) { message = this.fix_updatedAt(message) const wewMessage = new MessageService(this.storage, this.NfService, this.WsChatService, this.ChatStorageService, this.ChatMethodsService) diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 83ac08c6f..c1f5261a2 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -54,6 +54,11 @@
{{msg.msg}} + + {{ msg.messageSend }} + {{ msg.received.length }} + {{ msg.viewed.length }} + ::{{ msg.sendAttempt }}::