fix donwload attachment and modal to edit message

This commit is contained in:
Peter Maquiran
2024-08-29 12:13:15 +01:00
parent 97ad62e2b6
commit d8d294b662
38 changed files with 627 additions and 198 deletions
@@ -1,10 +1,10 @@
import { Injectable } from '@angular/core';
import { SessionStore } from 'src/app/store/session.service';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomSocketRepositoryService } from '../../../data/repository/room/room-socket-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
import { z } from "zod";
import { IRoomRemoteRepository } from 'src/app/core/chat/repository/room/room-remote-repository';
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
import { IRoomSocketRepository } from 'src/app/core/chat/repository/room/room-socket-repository';
export const CreateRoomInputDTOSchema = z.object({
roomName: z.string(),
@@ -36,9 +36,9 @@ export type RoomOutPutDTO = z.infer<typeof RoomOutPutDTOSchema>
export class CreateRoomUseCaseService {
constructor(
private roomRemoteDataSourceService: RoomRemoteDataSourceService,
private roomLocalDataSourceService: RoomLocalRepository,
private RoomSocketRepositoryService: RoomSocketRepositoryService
private roomRemoteDataSourceService: IRoomRemoteRepository,
private roomLocalDataSourceService: IRoomLocalRepository,
private RoomSocketRepositoryService: IRoomSocketRepository
) { }
@XTracerAsync({name:'room-create-use-case.service', module:'chat', bugPrint: true, waitNThrow: 5000})
@@ -1,9 +1,9 @@
import { Injectable } from '@angular/core';
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
import { isHttpResponse } from 'src/app/services/http.service';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { z } from "zod";
import { IRoomRemoteRepository } from 'src/app/core/chat/repository/room/room-remote-repository';
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
export const DeleteRoomByIdInputDTOSchema = z.string()
export type DeleteRoomByIdInputDTO = z.infer<typeof DeleteRoomByIdInputDTOSchema>
@@ -15,9 +15,9 @@ export type DeleteRoomByIdInputDTO = z.infer<typeof DeleteRoomByIdInputDTOSchema
export class DeleteRoomUseCaseService {
constructor(
private roomRemoteDataSourceService: RoomRemoteDataSourceService,
private roomRemoteDataSourceService: IRoomRemoteRepository,
// private roomMemoryDataSourceService: Store<RoomRemoteDataSourceState>,
private roomLocalDataSourceService: RoomLocalRepository,
private roomLocalDataSourceService: IRoomLocalRepository,
) { }
@@ -3,12 +3,12 @@ import { id } from 'date-fns/locale';
import { isHttpResponse } from 'src/app/services/http.service';
import { roomListDetermineChanges } from '../../../data/async/list/rooms/roomListChangeDetector';
import { roomMemberListDetermineChanges } from '../../../data/async/list/rooms/roomMembersChangeDetector';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { MemberListLocalRepository } from '../../../data/repository/member/member-list-local-repository.service';
import { MemberListMapper } from '../../mapper/memberLIstMapper';
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
import { z } from 'zod';
import { IRoomRemoteRepository } from 'src/app/core/chat/repository/room/room-remote-repository';
import { IMemberLocalRepository } from 'src/app/core/chat/repository/member/member-local-repository';
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
const UserSchema = z.object({
wxUserId: z.number(),
@@ -44,8 +44,6 @@ export type RoomByIdOutputDTO = z.infer<typeof RoomByIdOutputDTOSchema>
export const RoomByIdInputDTOSchema = z.string()
export type RoomByIdInputDTO = z.infer<typeof RoomByIdInputDTOSchema>
@Injectable({
@@ -54,14 +52,14 @@ export type RoomByIdInputDTO = z.infer<typeof RoomByIdInputDTOSchema>
export class GetRoomByIdUseCaseService {
constructor(
private roomRemoteDataSourceService: RoomRemoteDataSourceService,
private roomRemoteDataSourceService: IRoomRemoteRepository,
// private roomMemoryDataSourceService: Store<RoomRemoteDataSourceState>,
private roomLocalDataSourceService: RoomLocalRepository,
private MemberListLocalRepository: MemberListLocalRepository
private roomLocalDataSourceService: IRoomLocalRepository,
private MemberListLocalRepository: IMemberLocalRepository
) { }
@captureAndReraiseAsync('RoomRepositoryService/getRoomById')
async execute(id: string) {
async execute(id: RoomByIdInputDTO) {
const result = await this.roomRemoteDataSourceService.getRoom(id)
if(result.isOk()) {
@@ -1,10 +1,10 @@
import { Injectable } from '@angular/core';
import { roomListDetermineChanges } from '../../../data/async/list/rooms/roomListChangeDetector';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
import { CronJobService } from 'src/app/utils/task-scheduler'
import { z } from "zod";
import { IRoomRemoteRepository } from 'src/app/core/chat/repository/room/room-remote-repository';
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
const CreatedBySchema = z.object({
@@ -46,9 +46,9 @@ export type RoomListOutPutDTO = z.infer<typeof RoomListOutPutDTOSchema>
export class GetRoomListUseCaseService {
constructor(
private roomRemoteDataSourceService: RoomRemoteDataSourceService,
private roomRemoteDataSourceService: IRoomRemoteRepository,
// private roomMemoryDataSourceService: Store<RoomRemoteDataSourceState>,
private roomLocalDataSourceService: RoomLocalRepository,
private roomLocalDataSourceService: IRoomLocalRepository,
private CronJobService: CronJobService
) { }
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { isHttpResponse } from 'src/app/services/http.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { MemberListRemoteRepository } from '../../../data/repository/member/member-list-remote-repository.service';
import { z } from "zod";
import { IMemberRemoteRepository } from 'src/app/core/chat/repository/member/member-remote-repository';
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
// Define the schema for the entire response
export const UserRemoveListInputDTOSchema = z.object({
@@ -19,8 +19,8 @@ export type UserRemoveListInputDTO = z.infer<typeof UserRemoveListInputDTOSchema
export class RoomLeaveUseCase {
constructor(
private memberRemoteDataSourceService: MemberListRemoteRepository,
private roomLocalDataSourceService: RoomLocalRepository,
private memberRemoteDataSourceService: IMemberRemoteRepository,
private roomLocalDataSourceService: IRoomLocalRepository,
) { }
@@ -1,8 +1,9 @@
import { Injectable } from '@angular/core';
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { z } from "zod";
import { DataSourceReturn } from 'src/app/services/Repositorys/type';
import { IRoomLocalRepository } from 'src/app/core/chat/repository/room/room-local-repository';
import { IRoomRemoteRepository } from 'src/app/core/chat/repository/room/room-remote-repository';
export const RoomUpdateInputDTOSchema = z.object({
roomName: z.string(),
@@ -47,13 +48,13 @@ export type RoomUpdateOutputDTO = z.infer<typeof RoomUpdateOutputDTOSchema>
export class UpdateRoomByIdUseCaseService {
constructor(
private roomRemoteDataSourceService: RoomRemoteDataSourceService,
private roomLocalDataSourceService: RoomLocalRepository,
private roomRemoteDataSourceService: IRoomRemoteRepository,
private roomLocalDataSourceService: IRoomLocalRepository,
) { }
@captureAndReraiseAsync('RoomRepositoryService/updateRoomBy')
async execute(data: RoomUpdateInputDTO) {
async execute(data: RoomUpdateInputDTO): Promise<DataSourceReturn<RoomUpdateOutputDTO>> {
const result = await this.roomRemoteDataSourceService.updateRoom(data)