show message

This commit is contained in:
Peter Maquiran
2024-08-29 21:02:01 +01:00
parent 55539eb596
commit ac7e5ccf5b
2 changed files with 40 additions and 6 deletions
@@ -11,7 +11,7 @@ export class GetRoomByIdMapper {
id: input.data.id,
members: input.data.members,
roomName: input.data.roomName,
roomType: input.data.roomType
roomType: input.data.roomType,
})
}
}
@@ -10,6 +10,8 @@ import { IRoomRemoteRepository } from 'src/app/core/chat/repository/room/room-re
import { IMemberLocalRepository } from 'src/app/core/chat/repository/member/member-local-repository';
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
import { GetRoomByIdMapper } from 'src/app/core/chat/mapper/getRoomByIdMapper';
import { RoomEntity } from 'src/app/core/chat/entity/group';
import { GetRoomListMapper } from 'src/app/core/chat/mapper/getRoomListMapper';
const UserSchema = z.object({
wxUserId: z.number(),
@@ -70,12 +72,45 @@ export class GetRoomByIdUseCaseService {
const object = {
chatRoom: result.value.data
}
const { roomsToDelete, roomsToInsert, roomsToUpdate } = roomListDetermineChanges([object], localListRoom.value)
const { roomsToInsert, roomsToUpdate } = roomListDetermineChanges([object], localListRoom.value)
for( const roomData of roomsToUpdate) {
// const room = GetRoomByIdMapper.toDomain(roomData)
this.roomLocalDataSourceService.update(roomData.chatRoom.id, roomData.chatRoom)
if(roomsToUpdate) {
const roomsToUpdateEntity = GetRoomListMapper.toDomain(roomsToUpdate)
for( const room of roomsToUpdateEntity) {
this.roomLocalDataSourceService.update(room.id, room)
if(room.expirationDate) {
console.log('room expiration date schedule')
// this.CronJobService.createCronJob('remove expired room', new Date(room.expirationDate), this.execute)
}
}
}
if(roomsToInsert) {
const roomsToInsertEntity = GetRoomListMapper.toDomain(roomsToInsert)
for( const room of roomsToInsertEntity) {
this.roomLocalDataSourceService.insert(room)
if(room.expirationDate) {
console.log('room expiration date schedule')
// this.CronJobService.createCronJob('remove expired room', new Date(room.expirationDate), this.execute)
}
}
}
// for( const roomData of roomsToUpdate) {
// const room = new RoomEntity({
// createdAt: result.value.data.createdAt,
// createdBy: result.value.data.createdBy,
// expirationDate: result.value.data.expirationDate,
// id: result.value.data.id,
// members: result.value.data.members,
// roomName: result.value.data.roomName,
// roomType: result.value.data.roomType,
// })
// this.roomLocalDataSourceService.update(room.id, room)
// }
// ============================
const localList = await this.MemberListLocalRepository.getRoomMemberById(id)
@@ -83,7 +118,6 @@ export class GetRoomByIdUseCaseService {
const { membersToInsert, membersToUpdate, membersToDelete } = roomMemberListDetermineChanges(result.value.data.members, localList, id)
for (const user of membersToInsert) {
await this.MemberListLocalRepository.addMember(MemberListMapper(user, id))
}