Files
doneit-web/src/app/module/chat/domain/use-case/sync-all-room-messages.service.ts
T
2024-08-16 11:26:31 +01:00

34 lines
978 B
TypeScript

import { Injectable } from '@angular/core';
import { RoomRepositoryService } from 'src/app/module/chat/data/repository/room-repository.service'
import { MessageRepositoryService } from 'src/app/module/chat/data/repository/message-respository.service'
import { RoomTable } from '../../infra/database/dexie/schema/room';
@Injectable({
providedIn: 'root'
})
export class SyncAllRoomMessagesService {
constructor(
private RoomRepositoryService: RoomRepositoryService,
private MessageRepositoryService: MessageRepositoryService
) { }
async execute() {
await this.RoomRepositoryService.list()
const allRooms: RoomTable[] = await this.RoomRepositoryService.getRoomList()
if(allRooms) {
if(allRooms.length == 0) {
console.log('no room to sync')
}
for(const room of allRooms) {
this.MessageRepositoryService.listAllMessagesByRoomId(room.id)
}
} else {
console.log('get all error', allRooms)
}
}
}