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 b2d4143c5..3fa0804a3 100644 --- a/src/app/services/Repositorys/chat/repository/room-repository.service.ts +++ b/src/app/services/Repositorys/chat/repository/room-repository.service.ts @@ -101,6 +101,19 @@ export class RoomRepositoryService { return result } + @captureAndReraiseAsync('RoomRepositoryService/deleteRoomById') + async deleteRoomById(id: RoomByIdInputDTO) { + const result = await this.roomRemoteDataSourceService.deleteRoom(id) + + if(result.isOk()) { + + return await this.roomLocalDataSourceService.deleteRoomById(id) + + } + + return result + } + @captureAndReraiseAsync('RoomRepositoryService/create') async create(data: RoomInputDTO) { diff --git a/src/app/shared/popover/chat-popover/chat-popover.page.ts b/src/app/shared/popover/chat-popover/chat-popover.page.ts index 1493fb848..b56777523 100644 --- a/src/app/shared/popover/chat-popover/chat-popover.page.ts +++ b/src/app/shared/popover/chat-popover/chat-popover.page.ts @@ -110,11 +110,26 @@ export class ChatPopoverPage implements OnInit { } //Delete - deleteGroup() { - let body = { "roomId":this.roomId } + async deleteGroup() { + this.showLoader = true + const result = await this.RoomRepositoryService.deleteRoomById(this.roomId) - this.close('delete'); + if(result.isOk()) { + this.close('delete'); + // this.openGroupMessage.emit(this.roomId); + } else if (result.error instanceof HttpResponse) { + // this.httpErrorHandle.httpStatusHandle(result.error) + } else if (result.error instanceof ZodError) { + this.toastService._badRequest("Pedimos desculpa mas não foi possível executar a acção. Por favor, contacte o apoio técnico.") + console.log(result.error.errors) + } else { + this.toastService._badRequest("Pedimos desculpa mas não foi possível executar a acção. Por favor, contacte o apoio técnico.") + console.log(result.error) + } + + this.showLoader = false + } async openChangeGroupName(){