add message status

This commit is contained in:
Peter Maquiran
2024-08-06 16:53:13 +01:00
parent 0e71b27de5
commit 95a6d01aae
6 changed files with 121 additions and 41 deletions
@@ -9,6 +9,7 @@ import { v4 as uuidv4 } from 'uuid'
import { err, ok } from 'neverthrow';
import { MessageDeleteInputDTO } from '../../domain/use-case/message-delete-live-use-case.service';
import { MessageUpdateInput } from '../../domain/use-case/message-update-use-case.service';
import { messageListDetermineChanges } from '../async/list/rooms/messageListChangedetector';
export const InstanceId = uuidv4();
@@ -64,8 +65,8 @@ export class MessageRepositoryService {
}
// console.log({clone})
console.log('update message')
return this.messageLocalDataSourceService.update({...clone, sending: false})
console.log('update message 11111')
return this.messageLocalDataSourceService.update({...clone, sending: false, roomId: data.roomId})
return ok(true)
} else {
console.log('no message to upload')
@@ -112,14 +113,23 @@ export class MessageRepositoryService {
async listAllMessagesByRoomId(id: string) {
const result = await this.messageRemoteDataSourceService.getMessagesFromRoom(id)
const localResult = await this.messageLocalDataSourceService.getItems(id)
if(result.isOk()) {
for(const message of result.value.data) {
const { addedItems, changedItems } = messageListDetermineChanges(result.value.data, localResult)
for(const message of changedItems) {
let clone: TableMessage = message
clone.roomId = id
await this.messageLocalDataSourceService.findOrUpdate(clone)
}
for(const message of addedItems) {
let clone: TableMessage = message
clone.roomId = id
await this.messageLocalDataSourceService.createMessage(clone)
}
}
return result
}