mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
add message status
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user