diff --git a/src/app/services/Repositorys/chat/async/rooms/roomListChangeDetector.ts b/src/app/services/Repositorys/chat/async/rooms/roomListChangeDetector.ts index 1786d3ebd..563e6cd92 100644 --- a/src/app/services/Repositorys/chat/async/rooms/roomListChangeDetector.ts +++ b/src/app/services/Repositorys/chat/async/rooms/roomListChangeDetector.ts @@ -5,6 +5,9 @@ export function roomListDetermineChanges(serverRooms: RoomListItemOutPutDTO[], l const serverRoomMap = new Map(serverRooms.map(room => [room.id, room])); const localRoomMap = new Map(localRooms.map(room => [room.id, room])); + + console.log({serverRoomMap, localRoomMap}) + const roomsToInsert = serverRooms.filter(room => !localRoomMap.has(room.id)); const roomsToUpdate = serverRooms.filter(room => { const localRoom = localRoomMap.get(room.id); diff --git a/src/app/services/Repositorys/chat/repository/room-repository.service.ts b/src/app/services/Repositorys/chat/repository/room-repository.service.ts index f678b011f..76faa2a7e 100644 --- a/src/app/services/Repositorys/chat/repository/room-repository.service.ts +++ b/src/app/services/Repositorys/chat/repository/room-repository.service.ts @@ -7,6 +7,7 @@ import { AddMemberToRoomInputDTO } from '../dto/room/addMemberToRoomInputDto'; import { RoomLocalDataSourceService } from '../data-source/room/rooom-local-data-source.service'; import { RoomByIdInputDTO } from '../dto/room/roomByIdInputDTO'; import { roomListDetermineChanges } from '../async/rooms/roomListChangeDetector'; +import { value } from '../../../../../plugin/src/sql/Operators/args-attributes'; @Injectable({ providedIn: 'root' @@ -21,13 +22,18 @@ export class RoomRepositoryService { async list() { const result = await this.roomRemoteDataSourceService.getRoomList() + + if(result.isOk()) { + console.log(result.value) + } + const localList = await this.roomLocalDataSourceService.getRoomList() if(result.isOk()) { const { roomsToDelete, roomsToInsert, roomsToUpdate } = roomListDetermineChanges(result.value.data, localList) console.log({ roomsToDelete, roomsToInsert, roomsToUpdate }) - for( const roomData of result.value.data) { + for( const roomData of roomsToInsert) { this.roomLocalDataSourceService.createOrUpdateRoom(roomData) } }