reorganizde file path

This commit is contained in:
Peter Maquiran
2024-08-27 09:14:59 +01:00
parent 98975856c1
commit e80082f9e8
54 changed files with 236 additions and 454 deletions
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
import { AddMemberToRoomInputDTO } from '../../data/dto/room/addMemberToRoomInputDto';
import { RoomRemoteDataSourceService } from '../../data/repository/room/room-remote-repository.service';
import { AddMemberToRoomInputDTO } from '../../../data/dto/room/addMemberToRoomInputDto';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
@Injectable({
providedIn: 'root'
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { z } from "zod";
import { ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
import { RoomRemoteDataSourceService } from '../../data/repository/room/room-remote-repository.service';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
// Define the schema for the entire response
const MemberSetAdminDTOSchema = z.object({
@@ -1,31 +0,0 @@
import { Injectable } from '@angular/core';
import { err, ok } from 'neverthrow';
import { SessionStore } from 'src/app/store/session.service';
import { MessageLocalDataSourceService } from '../../data/repository/message/message-local-data-source.service';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageRemoteDataSourceService } from '../../data/repository/message/message-remote-data-source.service';
import { SignalRService } from '../../infra/socket/signal-r.service';
@Injectable({
providedIn: 'root'
})
export class MessageReadAtByIdUseCaseService {
constructor(
private MessageSocketRepositoryService: MessageSocketRepositoryService,
private messageLiveSignalRDataSourceService: SignalRService,
private messageLocalDataSourceService: MessageLocalDataSourceService,
) { }
async execute({roomId}) {
const result = await this.messageLocalDataSourceService.getLastMessageByRoomId(roomId)
if(result.isOk()) {
if(result.value) {
return await this.MessageSocketRepositoryService.sendReadAt({roomId, memberId: SessionStore.user.UserId, messageId: result.value.id, requestId: ''})
}
return ok(true)
}
return err(false)
}
}
@@ -1,8 +1,9 @@
import { Injectable } from '@angular/core';
import { filter, map } from 'rxjs/operators';
import { InstanceId } from '../chat-service.service';
import { InstanceId } from '../../chat-service.service';
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service'
import { MessageEntity } from '../../../../core/chat/entity/message';
import { MessageEntity } from '../../../../../core/chat/entity/message';
import { UseCase } from 'src/app/utils/use-case-interface';
@Injectable({
providedIn: 'root'
@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { filter } from 'rxjs/operators';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
@Injectable({
providedIn: 'root'
@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { MessageSocketRepositoryService } from 'src/app/module/chat/data/repository/message/message-live-signalr-data-source.service'
import { InstanceId } from '../chat-service.service';
import { InstanceId } from '../../chat-service.service';
import { filter, map } from 'rxjs/operators';
@Injectable({
@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
import { SignalRService } from '../../infra/socket/signal-r.service';
import { SignalRService } from '../../../infra/socket/signal-r.service';
import { filter } from 'rxjs/operators';
@Injectable({
@@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
import { z } from 'zod';
import { AttachmentRemoteDataSourceService } from 'src/app/module/chat/data/repository/attachment-remote-repository.service'
import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/attachment-local-repository.service'
import { AttachmentRemoteDataSourceService } from 'src/app/module/chat/data/repository/attachment/attachment-remote-repository.service'
import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/attachment/attachment-local-repository.service'
import { convertBlobToDataURL } from 'src/app/utils/ToBase64';
import { Result } from 'neverthrow';
import { Logger } from 'src/app/services/logger/main/service';
import { MessageEntity } from '../../../../core/chat/entity/message';
import { MessageEntity } from '../../../../../core/chat/entity/message';
const MessageAttachmentByMessageIdSchema = z.object({
$messageId: z.number(),
@@ -1,21 +1,21 @@
import { Injectable } from '@angular/core';
import { MessageEntity, MessageEntitySchema, } from '../../../../core/chat/entity/message';
import { AttachmentLocalDataSource } from "src/app/module/chat/data/repository/attachment-local-repository.service";
import { MessageEntity, MessageEntitySchema, } from '../../../../../core/chat/entity/message';
import { AttachmentLocalDataSource } from "src/app/module/chat/data/repository/attachment/attachment-local-repository.service";
import { z } from 'zod';
import { v4 as uuidv4 } from 'uuid';
import { InstanceId } from '../chat-service.service';
import { InstanceId } from '../../chat-service.service';
import { createDataURL } from 'src/app/utils/ToBase64';
import { zodSafeValidation } from 'src/app/utils/zodValidation';
import { Logger } from 'src/app/services/logger/main/service';
import { MessageAttachmentSource, MessageOutPutDataDTO } from '../../data/dto/message/messageOutputDTO';
import { MessageLocalDataSourceService } from '../../data/repository/message/message-local-data-source.service';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageAttachmentSource, MessageOutPutDataDTO } from '../../../data/dto/message/messageOutputDTO';
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
import { err, Result } from 'neverthrow';
import { MessageTable } from '../../infra/database/dexie/schema/message';
import { MessageMapper } from '../mapper/messageMapper';
import { MessageTable } from '../../../infra/database/dexie/schema/message';
import { MessageMapper } from '../../mapper/messageMapper';
import { RoomType } from "src/app/core/chat/entity/group";
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member-list-local-repository.service'
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member/member-list-local-repository.service'
import { SessionStore } from 'src/app/store/session.service';
const MessageInputUseCaseSchema = z.object({
@@ -54,9 +54,9 @@ export class MessageCreateUseCaseService {
message.sendAttemp++;
message.requestId = InstanceId +'@'+ uuidv4();
message.sending = true;
const createMessageLocally = await this.messageLocalDataSourceService.sendMessage(message)
const createMessageLocally = await this.messageLocalDataSourceService.insert(message)
if(createMessageLocally.isOk()) {
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { z } from 'zod';
import { SafeValidateSchema, ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
import { MessageRemoteDataSourceService } from '../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
import { XTracerAsync, TracingType } from 'src/app/services/monitoring/opentelemetry/tracer';
export const MessageDeleteInputDTOSchema = z.object({
requestId: z.string().optional(),
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { AttachmentRemoteDataSourceService } from 'src/app/module/chat/data/repository/attachment-remote-repository.service'
import { AttachmentRemoteDataSourceService } from 'src/app/module/chat/data/repository/attachment/attachment-remote-repository.service'
import { Logger } from 'src/app/services/logger/main/service';
import { convertBlobToDataURL } from 'src/app/utils/ToBase64';
import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/attachment-local-repository.service'
import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/attachment/attachment-local-repository.service'
import { MessageAttachmentByMessageIdInput } from './message-attachment-by-message-id.service';
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { MessageAttachmentByMessageIdInput } from './message-attachment-by-message-id.service';
import { AttachmentRemoteDataSourceService } from 'src/app/module/chat/data/repository/attachment-remote-repository.service'
import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/attachment-local-repository.service'
import { AttachmentRemoteDataSourceService } from 'src/app/module/chat/data/repository/attachment/attachment-remote-repository.service'
import { AttachmentLocalDataSource } from 'src/app/module/chat/data/repository/attachment/attachment-local-repository.service'
import { err, Result } from 'neverthrow';
@Injectable({
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { object, z } from 'zod';
import { ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
import { MessageRemoteDataSourceService } from '../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
const MessageReactionInputDTOSchema = z.object({
@@ -0,0 +1,31 @@
import { Injectable } from '@angular/core';
import { err, ok } from 'neverthrow';
import { SessionStore } from 'src/app/store/session.service';
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
import { SignalRService } from '../../../infra/socket/signal-r.service';
@Injectable({
providedIn: 'root'
})
export class MessageReadAtByIdUseCaseService {
constructor(
private MessageSocketRepositoryService: MessageSocketRepositoryService,
private messageLiveSignalRDataSourceService: SignalRService,
private messageLocalDataSourceService: MessageLocalDataSourceService,
) { }
async execute({roomId}) {
// const result = await this.messageLocalDataSourceService.getLastMessageByRoomId(roomId)
// if(result.isOk()) {
// if(result.value) {
// return await this.MessageSocketRepositoryService.sendReadAt({roomId, memberId: SessionStore.user.UserId, messageId: result.value.id, requestId: ''})
// }
// return ok(true)
// }
// return err(false)
}
}
@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
import { MessageEntity } from '../../../../core/chat/entity/message';
import { MessageEntity } from '../../../../../core/chat/entity/message';
import { z } from 'zod';
const MessageInputUseCaseSchema = z.object({
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { z } from 'zod';
import { ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
import { MessageRemoteDataSourceService } from '../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
const MessageUpdateInputDTOSchema = z.object({
@@ -1,17 +1,17 @@
import { Injectable } from '@angular/core';
import { MessageLocalDataSourceService } from '../../data/repository/message/message-local-data-source.service';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageTable } from '../../infra/database/dexie/schema/message';
import { InstanceId } from '../chat-service.service';
import { MessageMapper } from '../mapper/messageMapper';
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
import { MessageTable } from '../../../infra/database/dexie/schema/message';
import { InstanceId } from '../../chat-service.service';
import { MessageMapper } from '../../mapper/messageMapper';
import { v4 as uuidv4 } from 'uuid'
import { AttachmentLocalDataSource } from '../../data/repository/attachment-local-repository.service';
import { RoomLocalRepository } from '../../data/repository/room/room-local-repository.service';
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member-list-local-repository.service'
import { AttachmentLocalDataSource } from '../../../data/repository/attachment/attachment-local-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member/member-list-local-repository.service'
import { Result } from 'neverthrow';
import { RoomType } from 'src/app/core/chat/entity/group';
import { SessionStore } from 'src/app/store/session.service';
import { MessageOutPutDataDTO } from '../../data/dto/message/messageOutputDTO';
import { MessageOutPutDataDTO } from '../../../data/dto/message/messageOutputDTO';
@Injectable({
providedIn: 'root'
@@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
import { MessageLocalDataSourceService } from '../../data/repository/message/message-local-data-source.service';
import { messageListDetermineChanges } from '../../data/async/list/rooms/messageListChangedetector';
import { MessageTable } from '../../infra/database/dexie/schema/message';
import { MessageRemoteDataSourceService } from '../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../data/repository/message/message-live-signalr-data-source.service';
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.service';
import { messageListDetermineChanges } from '../../../data/async/list/rooms/messageListChangedetector';
import { MessageTable } from '../../../infra/database/dexie/schema/message';
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-data-source.service';
import { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
import { ok } from 'neverthrow';
import { RoomLocalRepository } from '../../data/repository/room/room-local-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { SessionStore } from 'src/app/store/session.service';
import { Logger } from 'src/app/services/logger/main/service';
import { XTracerAsync, TracingType } from 'src/app/services/monitoring/opentelemetry/tracer';
@@ -53,7 +53,7 @@ export class SyncAllRoomMessagesService {
let clone: MessageTable = message
clone.roomId = room.id
this.messageLocalDataSourceService.findOrUpdate(clone)
this.messageLocalDataSourceService.update(clone.$id, clone)
const me = message.info.find(e => e.memberId == SessionStore.user.UserId && typeof e.deliverAt == 'string' )
@@ -69,32 +69,27 @@ export class SyncAllRoomMessagesService {
}
}
// for(const message of addedItems) {
// let clone: MessageTable = message
// clone.roomId = room.id
for(const message of addedItems) {
let clone: MessageTable = message
clone.roomId = room.id
// const me = message.info.find(e => e.memberId == SessionStore.user.UserId && typeof e.deliverAt == 'string' )
// if(!me) {
// this.MessageSocketRepositoryService.sendDeliverAt({
// memberId: SessionStore.user.UserId,
// messageId: message.id,
// roomId: message.roomId,
// requestId: uuidv4()
// })
// const me = message.info.find(e => e.memberId == SessionStore.user.UserId && typeof e.deliverAt == 'string' )
// if(!me) {
// this.MessageSocketRepositoryService.sendDeliverAt({
// memberId: SessionStore.user.UserId,
// messageId: message.id,
// roomId: message.roomId,
// requestId: uuidv4()
// })
// tracing.addEvent('send delever roomId'+ room.id)
// tracing.addEvent('send delever roomId'+ room.id)
// }
// }
this.messageLocalDataSourceService.createManyMessage(addedItems.reverse())
for(const message of deletedItems) {
this.messageLocalDataSourceService.deleteByMessageId(message.id)
}
this.messageLocalDataSourceService.insertMany(addedItems.reverse())
} else {
Logger.error('failed to get room message '+room.id)
}
@@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
import { create } from 'domain';
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 { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomSocketRepositoryService } from '../../../data/repository/room/room-socket-repository.service';
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
import { RoomInputDTO } from '../../data/dto/room/roomInputDTO';
import { RoomLocalRepository } from '../../data/repository/room/room-local-repository.service';
import { RoomInputDTO } from '../../../data/dto/room/roomInputDTO';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
@Injectable({
@@ -41,7 +41,7 @@ export class CreateRoomUseCaseService {
dataObject = result.value
}
const localResult = await this.roomLocalDataSourceService.createRoom(result.value)
const localResult = await this.roomLocalDataSourceService.insert(result.value)
return localResult.map(e => result.value)
} else {
tracing.hasError("socket close");
@@ -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 { RoomByIdInputDTO } from '../../data/dto/room/roomByIdInputDTO';
import { RoomRemoteDataSourceService } from '../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../data/repository/room/room-local-repository.service';
import { RoomByIdInputDTO } from '../../../data/dto/room/roomByIdInputDTO';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
@Injectable({
providedIn: 'root'
@@ -23,7 +23,7 @@ export class DeleteRoomUseCaseService {
if(result.isOk()) {
const result = await this.roomLocalDataSourceService.deleteRoomById(id)
const result = await this.roomLocalDataSourceService.delete(id)
// this.messageLiveDataSourceService.sendMessage({
// type: 'createRoom',
// payload: {a: '5'}
@@ -32,7 +32,7 @@ export class DeleteRoomUseCaseService {
return result
} else if (isHttpResponse(result.error)) {
if(result.error.status == 404) {
await this.roomLocalDataSourceService.deleteRoomById(id)
await this.roomLocalDataSourceService.delete(id)
}
// this.httpErrorHandle.httpStatusHandle(result.error)
}
@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
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-list-local-repository.service';
import { MemberListMapper } from '../mapper/memberLIstMapper';
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';
@Injectable({
@@ -27,7 +27,7 @@ export class GetRoomByIdUseCaseService {
if(result.isOk()) {
const localListRoom = await this.roomLocalDataSourceService.getRoomList()
const localListRoom = await this.roomLocalDataSourceService.findAll()
if(localListRoom.isOk()) {
const object = {
chatRoom: result.value.data
@@ -35,7 +35,7 @@ export class GetRoomByIdUseCaseService {
const { roomsToDelete, roomsToInsert, roomsToUpdate } = roomListDetermineChanges([object], localListRoom.value)
for( const roomData of roomsToUpdate) {
this.roomLocalDataSourceService.updateRoom(roomData.chatRoom)
this.roomLocalDataSourceService.update(roomData.chatRoom.id, roomData.chatRoom)
}
// ============================
@@ -59,7 +59,7 @@ export class GetRoomByIdUseCaseService {
} else if (isHttpResponse(result.error) ) {
if(result.error.status == 404) {
await this.roomLocalDataSourceService.deleteRoomById(id)
await this.roomLocalDataSourceService.delete(id)
}
// this.httpErrorHandle.httpStatusHandle(result.error)
}
@@ -1,7 +1,7 @@
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 { 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 { isHttpResponse } from 'src/app/services/http.service';
import { CronJobService } from 'src/app/utils/task-scheduler'
@@ -21,14 +21,14 @@ export class GetRoomListUseCaseService {
async execute() {
const result = await this.roomRemoteDataSourceService.getRoomList()
const localList = await this.roomLocalDataSourceService.getRoomList()
const localList = await this.roomLocalDataSourceService.findAll()
if(localList.isOk()) {
if(result.isOk()) {
const { roomsToDelete, roomsToInsert, roomsToUpdate } = roomListDetermineChanges(result.value.data, localList.value)
for( const roomData of roomsToInsert) {
this.roomLocalDataSourceService.createRoom(roomData.chatRoom)
this.roomLocalDataSourceService.insert(roomData.chatRoom)
if(roomData.chatRoom.expirationDate) {
console.log('room expiration date schedule')
@@ -38,11 +38,11 @@ export class GetRoomListUseCaseService {
}
for( const roomData of roomsToUpdate) {
this.roomLocalDataSourceService.updateRoom(roomData.chatRoom)
this.roomLocalDataSourceService.update(roomData.chatRoom.id, roomData.chatRoom)
}
for( const roomData of roomsToDelete) {
this.roomLocalDataSourceService.deleteRoomById(roomData.id)
this.roomLocalDataSourceService.delete(roomData.id)
}
}
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { UserRemoveListInputDTO } from '../../data/dto/room/userRemoveListInputDTO';
import { UserRemoveListInputDTO } from '../../../data/dto/room/userRemoveListInputDTO';
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 { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
@Injectable({
providedIn: 'root'
@@ -20,10 +20,10 @@ export class RoomLeaveUseCase {
const result = await this.roomRemoteDataSourceService.removeMemberFromRoom(data)
if(result.isOk()) {
this.roomLocalDataSourceService.leaveRoom(data.id)
this.roomLocalDataSourceService.delete(data.id)
} else if (isHttpResponse(result.error)) {
if(result.error.status == 404) {
await this.roomLocalDataSourceService.deleteRoomById(data.id)
await this.roomLocalDataSourceService.delete(data.id)
}
// this.httpErrorHandle.httpStatusHandle(result.error)
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core';
import { captureAndReraiseAsync } from 'src/app/services/decorators/captureAndReraiseAsync';
import { RoomUpdateInputDTO } from '../../data/dto/room/roomUpdateInputDTO';
import { RoomRemoteDataSourceService } from '../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../data/repository/room/room-local-repository.service';
import { RoomUpdateInputDTO } from '../../../data/dto/room/roomUpdateInputDTO';
import { RoomRemoteDataSourceService } from '../../../data/repository/room/room-remote-repository.service';
import { RoomLocalRepository } from '../../../data/repository/room/room-local-repository.service';
@Injectable({
providedIn: 'root'
@@ -21,7 +21,7 @@ export class UpdateRoomByIdUseCaseService {
const result = await this.roomRemoteDataSourceService.updateRoom(data)
if(result.isOk()) {
const localList = await this.roomLocalDataSourceService.getRoomList()
const localList = await this.roomLocalDataSourceService.findAll()
// const { roomsToDelete, roomsToInsert, roomsToUpdate } = roomListDetermineChanges([result.value.data], localList)
// for( const roomData of roomsToUpdate) {
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { z } from 'zod';
import { ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator';
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member-list-local-repository.service'
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member/member-list-local-repository.service'
export const MemberListUPdateStatus = z.object({
key: z.string(),
@@ -26,7 +26,7 @@ export class SocketMessageCreateUseCaseService {
console.log('create message', {incomingMessage});
tracing?.addEvent("Message Create start")
const result = await this.messageLocalDataSourceService.createMessage(incomingMessage)
const result = await this.messageLocalDataSourceService.insert(incomingMessage)
tracing?.addEvent("Message Create end")
if(result.isOk()) {
@@ -20,19 +20,20 @@ export class SocketMessageUpdateUseCaseService {
ParamsValidation(MessageOutPutDataDTOSchema, data, tracing)
tracing?.addEvent("Message existe?")
const result = await this.messageLocalDataSourceService.messageExist({id: data.id})
const result = await this.messageLocalDataSourceService.findOne({id: data.id})
const incomingMessage = {
...data,
sending: false
}
if(result.isOk()) {
if(result.isOk() && result.value) {
tracing?.addEvent("Message found")
const updateResult = await this.messageLocalDataSourceService.update(result.value.$id, incomingMessage)
tracing.setAttribute('outcome', 'success')
return updateResult
} else {
} else if(result.isOk() && !result.value) {
tracing?.addEvent("Message not found")
}
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { SignalRService } from '../../infra/socket/signal-r.service';
import { SignalRService } from '../../../infra/socket/signal-r.service';
import { SessionStore } from 'src/app/store/session.service';
import { UserTypingRemoteRepositoryService } from '../../data/repository/typing/user-typing-live-data-source.service';
import { UserTypingRemoteRepositoryService } from '../../../data/repository/typing/user-typing-live-data-source.service';
@Injectable({
providedIn: 'root'