diff --git a/src/app/core/chat/usecase/socket/socket-on-reconnect-use-case.ts b/src/app/core/chat/usecase/socket/socket-on-reconnect-use-case.ts new file mode 100644 index 000000000..2f369f8d8 --- /dev/null +++ b/src/app/core/chat/usecase/socket/socket-on-reconnect-use-case.ts @@ -0,0 +1,9 @@ +import { z } from "zod" + +const e = z.object({}) + +export class SocketOnConnectUseCase { + + constructor() {} + execute() {} +} \ No newline at end of file diff --git a/src/app/module/chat/infra/socket/signal-r.service.ts b/src/app/infra/socket/signalR/signal-r.service.ts similarity index 95% rename from src/app/module/chat/infra/socket/signal-r.service.ts rename to src/app/infra/socket/signalR/signal-r.service.ts index ab8e02490..ddc22f9aa 100644 --- a/src/app/module/chat/infra/socket/signal-r.service.ts +++ b/src/app/infra/socket/signalR/signal-r.service.ts @@ -3,12 +3,12 @@ import { BehaviorSubject, Observable, Subject, timer } from 'rxjs'; import { Platform } from '@ionic/angular'; import { SignalRConnection, SocketMessage } from './signalR'; import { Plugins } from '@capacitor/core'; -import { UserTypingDTO } from '../../data/dto/typing/typingInputDTO'; -import { MessageOutPutDataDTO } from '../../data/dto/message/messageOutputDTO'; import { z } from 'zod'; import { filter, map, switchMap } from 'rxjs/operators'; import { Result } from 'neverthrow'; import { HubConnection } from '@microsoft/signalr'; +import { MessageOutPutDataDTO } from 'src/app/module/chat/data/dto/message/messageOutputDTO'; +import { UserTypingDTO } from 'src/app/module/chat/data/dto/typing/typingInputDTO'; const { App } = Plugins; @@ -19,7 +19,6 @@ const SignalRInputSchema = z.object({ }).catchall(z.unknown()), // Allows any additional properties with unknown values }) - export type ISignalRInput = z.infer; @Injectable({ @@ -60,8 +59,6 @@ export class SignalRService { }); } } catch(error) {} - - // this.establishConnection() } async establishConnection(): Promise> { @@ -75,7 +72,6 @@ export class SignalRService { this.connection?.closeConnection() this.connection = connection - this.connection.getData().subscribe((data) => { this.sendDataSubject.next(data) this.deadConnectionBackGround.next() @@ -93,12 +89,10 @@ export class SignalRService { resolve(this.establishConnection()) }, 2000) }) - } } - getMessage() { return this.getData().pipe( filter((e) : e is SocketMessage=> e?.method == 'ReceiveMessage' @@ -151,7 +145,4 @@ export class SignalRService { this.establishConnection() } - - - } diff --git a/src/app/module/chat/infra/socket/signalR.ts b/src/app/infra/socket/signalR/signalR.ts similarity index 94% rename from src/app/module/chat/infra/socket/signalR.ts rename to src/app/infra/socket/signalR/signalR.ts index 544c244e6..e6dff7fef 100644 --- a/src/app/module/chat/infra/socket/signalR.ts +++ b/src/app/infra/socket/signalR/signalR.ts @@ -4,12 +4,8 @@ import { ok, Result, err } from 'neverthrow'; import { SessionStore } from 'src/app/store/session.service'; import { filter, first } from 'rxjs/operators'; import { v4 as uuidv4 } from 'uuid' -import { UserTypingDTO } from '../../data/dto/typing/typingInputDTO'; -import { MessageOutPutDataDTO } from '../../data/dto/message/messageOutputDTO'; -import { MessageDeleteInputDTO } from '../../data/dto/message/messageDeleteInputDTO'; -import { MessageReactionInput } from '../../domain/use-case/message/message-reaction-by-id-use-case.service'; import { ISignalRInput } from './signal-r.service'; - +import { MessageOutPutDataDTO } from 'src/app/module/chat/data/dto/message/messageOutputDTO'; export interface SocketMessage { method: string, diff --git a/src/app/module/chat/infra/socket/simple.html b/src/app/infra/socket/signalR/simple.html similarity index 100% rename from src/app/module/chat/infra/socket/simple.html rename to src/app/infra/socket/signalR/simple.html diff --git a/src/app/module/chat/infra/socket/socket.ts b/src/app/infra/socket/signalR/socket.ts similarity index 100% rename from src/app/module/chat/infra/socket/socket.ts rename to src/app/infra/socket/signalR/socket.ts diff --git a/src/app/module/chat/chat.module.ts b/src/app/module/chat/chat.module.ts index 6286e658b..b40f6ce83 100644 --- a/src/app/module/chat/chat.module.ts +++ b/src/app/module/chat/chat.module.ts @@ -1,5 +1,5 @@ import { NgModule } from '@angular/core'; -import { SignalRService } from 'src/app/module/chat/infra/socket/signal-r.service' +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; import { ChatServiceService } from 'src/app/module/chat/domain/chat-service.service' import { skip, switchMap } from 'rxjs/operators'; import { SessionStore } from 'src/app/store/session.service'; diff --git a/src/app/module/chat/data/repository/message/message-live-signalr-data-source.service.ts b/src/app/module/chat/data/repository/message/message-live-signalr-data-source.service.ts index c63d0efc0..9b79ab3ac 100644 --- a/src/app/module/chat/data/repository/message/message-live-signalr-data-source.service.ts +++ b/src/app/module/chat/data/repository/message/message-live-signalr-data-source.service.ts @@ -1,6 +1,5 @@ import { Injectable } from '@angular/core'; import { err, ok } from 'neverthrow'; -import { SignalRService } from '../../../infra/socket/signal-r.service'; import { SessionStore } from 'src/app/store/session.service'; import { MessageDeleteInputDTO } from '../../dto/message/messageDeleteInputDTO'; import { v4 as uuidv4 } from 'uuid' @@ -9,6 +8,7 @@ import { MessageUpdateInput } from '../../../domain/use-case/message/message-upd import { MessageOutPutDataDTO } from '../../dto/message/messageOutputDTO'; import { MessageInputDTO } from '../../dto/message/messageInputDtO'; import { MessageReactionInput } from '../../../domain/use-case/message/message-reaction-by-id-use-case.service'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; interface msgObj { roomId: string; diff --git a/src/app/module/chat/data/repository/message/message-remote-data-source.service.ts b/src/app/module/chat/data/repository/message/message-remote-data-source.service.ts index 24201ea91..eb1ba0a07 100644 --- a/src/app/module/chat/data/repository/message/message-remote-data-source.service.ts +++ b/src/app/module/chat/data/repository/message/message-remote-data-source.service.ts @@ -5,7 +5,7 @@ import { ValidateSchema } from 'src/app/services/decorators/validate-schema.deco import { APIReturn } from 'src/app/services/decorators/api-validate-schema.decorator'; import { MessageOutPutDataDTOSchema, MessageOutPutDTO, MessageOutPutDTOSchema } from '../../dto/message/messageOutputDTO'; import { DataSourceReturn } from 'src/app/services/Repositorys/type'; -import { SignalRService } from '../../../infra/socket/signal-r.service'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; import { MessageUpdateInput } from '../../../domain/use-case/message/message-update-by-id-use-case.service'; import { SessionStore } from 'src/app/store/session.service'; import { MessageDeleteInputDTO } from '../../dto/message/messageDeleteInputDTO'; diff --git a/src/app/module/chat/data/repository/room/room-remote-repository.service.ts b/src/app/module/chat/data/repository/room/room-remote-repository.service.ts index 93716e6af..6eddefee2 100644 --- a/src/app/module/chat/data/repository/room/room-remote-repository.service.ts +++ b/src/app/module/chat/data/repository/room/room-remote-repository.service.ts @@ -15,7 +15,7 @@ import { RoomUpdateOutputDTO } from '../../dto/room/roomUpdateOutputDTO'; import { DataSourceReturn } from 'src/app/services/Repositorys/type'; import { SessionStore } from 'src/app/store/session.service'; import { MemberSetAdminDTO } from '../../../domain/use-case/member/member-admin-use-case.service'; -import { SignalRService } from '../../../infra/socket/signal-r.service'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; import { v4 as uuidv4 } from 'uuid' @Injectable({ diff --git a/src/app/module/chat/data/repository/room/room-socket-repository.service.ts b/src/app/module/chat/data/repository/room/room-socket-repository.service.ts index 25c7557de..77dbc39fd 100644 --- a/src/app/module/chat/data/repository/room/room-socket-repository.service.ts +++ b/src/app/module/chat/data/repository/room/room-socket-repository.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@angular/core'; -import { SignalRService } from '../../../infra/socket/signal-r.service'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; import { filter, map } from 'rxjs/operators'; import { z } from 'zod'; -import { SocketMessage } from '../../../infra/socket/signalR'; +import { SocketMessage } from 'src/app/infra/socket/signalR/signalR'; import { RoomInputDTO } from '../../dto/room/roomInputDTO'; import { RoomOutPutDTO } from '../../dto/room/roomOutputDTO'; import { v4 as uuidv4 } from 'uuid' diff --git a/src/app/module/chat/data/repository/typing/user-typing-live-data-source.service.ts b/src/app/module/chat/data/repository/typing/user-typing-live-data-source.service.ts index 74ddc065c..cc91edd5f 100644 --- a/src/app/module/chat/data/repository/typing/user-typing-live-data-source.service.ts +++ b/src/app/module/chat/data/repository/typing/user-typing-live-data-source.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@angular/core'; -import { SignalRService } from '../../../infra/socket/signal-r.service'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; import { SessionStore } from 'src/app/store/session.service'; import { filter, map } from 'rxjs/operators'; -import { SocketMessage } from '../../../infra/socket/signalR'; +import { SocketMessage } from 'src/app/infra/socket/signalR/signalR'; import { UserTypingDTO } from '../../dto/typing/typingInputDTO'; @Injectable({ diff --git a/src/app/module/chat/domain/chat-service.service.ts b/src/app/module/chat/domain/chat-service.service.ts index 31f419fa8..a069d2df5 100644 --- a/src/app/module/chat/domain/chat-service.service.ts +++ b/src/app/module/chat/domain/chat-service.service.ts @@ -5,7 +5,7 @@ import { MessageReactionInput, MessageReactionUseCaseService } from 'src/app/mod import { MessageUpdateInput, MessageUpdateUseCaseService } from 'src/app/module/chat/domain/use-case/message/message-update-by-id-use-case.service'; import { MemberAdminUseCaseService, MemberSetAdminDTO } from 'src/app/module/chat/domain/use-case/member/member-admin-use-case.service'; import { MessageCreateUseCaseService, MessageEnum } from 'src/app/module/chat/domain/use-case/message/message-create-use-case.service'; -import { SignalRService } from '../infra/socket/signal-r.service'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; import { SocketMessageDeleteUseCaseService } from 'src/app/module/chat/domain/use-case/socket/socket-message-delete-use-case.service'; import { SocketMessageUpdateUseCaseService } from 'src/app/module/chat/domain/use-case/socket/socket-message-update-use-case.service'; import { SocketMessageCreateUseCaseService } from 'src/app/module/chat/domain/use-case/socket/socket-message-create-use-case.service'; diff --git a/src/app/module/chat/domain/use-case/message/listene-message-delete-by-roomId.service.ts b/src/app/module/chat/domain/use-case/message/listene-message-delete-by-roomId.service.ts index a09870f31..88b8ae190 100644 --- a/src/app/module/chat/domain/use-case/message/listene-message-delete-by-roomId.service.ts +++ b/src/app/module/chat/domain/use-case/message/listene-message-delete-by-roomId.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; -import { SignalRService } from '../../../infra/socket/signal-r.service'; import { filter } from 'rxjs/operators'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; @Injectable({ providedIn: 'root' diff --git a/src/app/module/chat/domain/use-case/message/message-read-at-by-id-use-case.service.ts b/src/app/module/chat/domain/use-case/message/message-read-at-by-id-use-case.service.ts index bd7ebe0e1..3270b8180 100644 --- a/src/app/module/chat/domain/use-case/message/message-read-at-by-id-use-case.service.ts +++ b/src/app/module/chat/domain/use-case/message/message-read-at-by-id-use-case.service.ts @@ -4,7 +4,8 @@ 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'; +import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service'; + @Injectable({ providedIn: 'root' diff --git a/src/app/module/chat/domain/use-case/typing/typing-send-use-case.service.ts b/src/app/module/chat/domain/use-case/typing/typing-send-use-case.service.ts index aa3ac90eb..4019b6964 100644 --- a/src/app/module/chat/domain/use-case/typing/typing-send-use-case.service.ts +++ b/src/app/module/chat/domain/use-case/typing/typing-send-use-case.service.ts @@ -1,5 +1,4 @@ import { Injectable } from '@angular/core'; -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';