mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
change room name for direct room
This commit is contained in:
@@ -36,63 +36,49 @@ export class SyncAllRoomMessagesService {
|
||||
}
|
||||
|
||||
let n =0
|
||||
for(const room of allRooms.value) {
|
||||
|
||||
const result = await this.messageRemoteDataSourceService.getMessagesFromRoom(room.id)
|
||||
const localResult = await this.messageLocalDataSourceService.getItems(room.id)
|
||||
|
||||
tracing.addEvent('async n '+ n)
|
||||
n++
|
||||
|
||||
if(result.isOk()) {
|
||||
|
||||
const { addedItems, changedItems, deletedItems } = messageListDetermineChanges(result.value.data, localResult)
|
||||
|
||||
|
||||
for(const message of changedItems) {
|
||||
let clone: MessageTable = message
|
||||
clone.roomId = room.id
|
||||
|
||||
this.messageLocalDataSourceService.update(clone.$id, clone)
|
||||
|
||||
const me = message.info.find(e => e.memberId == SessionStore.user.UserId && typeof e.deliverAt == 'string' )
|
||||
|
||||
if(!me) {
|
||||
const roomPromises = allRooms.value.map(async (room) => {
|
||||
const [result, localResult] = await Promise.all([
|
||||
this.messageRemoteDataSourceService.getMessagesFromRoom(room.id),
|
||||
this.messageLocalDataSourceService.getItems(room.id)
|
||||
]);
|
||||
|
||||
tracing.addEvent('async n ' + n);
|
||||
n++;
|
||||
|
||||
if (result.isOk()) {
|
||||
const { addedItems, changedItems, deletedItems } = messageListDetermineChanges(result.value.data, localResult);
|
||||
|
||||
for (const message of changedItems) {
|
||||
let clone: MessageTable = { ...message, roomId: room.id };
|
||||
await this.messageLocalDataSourceService.update(clone.$id, clone);
|
||||
|
||||
const me = message.info.find(e => e.memberId === SessionStore.user.UserId && typeof e.deliverAt === 'string');
|
||||
|
||||
if (!me) {
|
||||
this.MessageSocketRepositoryService.sendDeliverAt({
|
||||
memberId: SessionStore.user.UserId,
|
||||
messageId: message.id,
|
||||
roomId: message.roomId,
|
||||
requestId: uuidv4()
|
||||
})
|
||||
|
||||
tracing.addEvent('send delever roomId'+ room.id)
|
||||
});
|
||||
|
||||
tracing.addEvent('send deliver roomId ' + room.id);
|
||||
}
|
||||
}
|
||||
|
||||
for(const message of addedItems) {
|
||||
let clone: MessageTable = message
|
||||
clone.roomId = room.id
|
||||
|
||||
// const me = message.info.find(e => e.memberId == SessionStore.user.UserId && typeof e.deliverAt == 'string' )
|
||||
// if(!me) {
|
||||
// this.MessageSocketRepositoryService.sendDeliverAt({
|
||||
// memberId: SessionStore.user.UserId,
|
||||
// messageId: message.id,
|
||||
// roomId: message.roomId,
|
||||
// requestId: uuidv4()
|
||||
// })
|
||||
|
||||
// tracing.addEvent('send delever roomId'+ room.id)
|
||||
|
||||
// }
|
||||
|
||||
for (const message of addedItems) {
|
||||
let clone: MessageTable = { ...message, roomId: room.id };
|
||||
// You can perform operations with addedItems here if needed
|
||||
}
|
||||
|
||||
this.messageLocalDataSourceService.insertMany(addedItems.reverse())
|
||||
|
||||
|
||||
await this.messageLocalDataSourceService.insertMany(addedItems.reverse());
|
||||
} else {
|
||||
Logger.error('failed to get room message '+room.id)
|
||||
Logger.error('failed to get room message ' + room.id);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Wait for all the promises to resolve
|
||||
await Promise.all(roomPromises);
|
||||
|
||||
return ok(true)
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user