remove signal r to infra

This commit is contained in:
Peter Maquiran
2024-08-27 11:00:32 +01:00
parent c59abb7e04
commit 91a7e5f516
15 changed files with 24 additions and 28 deletions
@@ -0,0 +1,9 @@
import { z } from "zod"
const e = z.object({})
export class SocketOnConnectUseCase {
constructor() {}
execute() {}
}
@@ -3,12 +3,12 @@ import { BehaviorSubject, Observable, Subject, timer } from 'rxjs';
import { Platform } from '@ionic/angular'; import { Platform } from '@ionic/angular';
import { SignalRConnection, SocketMessage } from './signalR'; import { SignalRConnection, SocketMessage } from './signalR';
import { Plugins } from '@capacitor/core'; import { Plugins } from '@capacitor/core';
import { UserTypingDTO } from '../../data/dto/typing/typingInputDTO';
import { MessageOutPutDataDTO } from '../../data/dto/message/messageOutputDTO';
import { z } from 'zod'; import { z } from 'zod';
import { filter, map, switchMap } from 'rxjs/operators'; import { filter, map, switchMap } from 'rxjs/operators';
import { Result } from 'neverthrow'; import { Result } from 'neverthrow';
import { HubConnection } from '@microsoft/signalr'; 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; const { App } = Plugins;
@@ -19,7 +19,6 @@ const SignalRInputSchema = z.object({
}).catchall(z.unknown()), // Allows any additional properties with unknown values }).catchall(z.unknown()), // Allows any additional properties with unknown values
}) })
export type ISignalRInput = z.infer<typeof SignalRInputSchema>; export type ISignalRInput = z.infer<typeof SignalRInputSchema>;
@Injectable({ @Injectable({
@@ -60,8 +59,6 @@ export class SignalRService {
}); });
} }
} catch(error) {} } catch(error) {}
// this.establishConnection()
} }
async establishConnection(): Promise<Result<HubConnection, false>> { async establishConnection(): Promise<Result<HubConnection, false>> {
@@ -75,7 +72,6 @@ export class SignalRService {
this.connection?.closeConnection() this.connection?.closeConnection()
this.connection = connection this.connection = connection
this.connection.getData().subscribe((data) => { this.connection.getData().subscribe((data) => {
this.sendDataSubject.next(data) this.sendDataSubject.next(data)
this.deadConnectionBackGround.next() this.deadConnectionBackGround.next()
@@ -93,12 +89,10 @@ export class SignalRService {
resolve(this.establishConnection()) resolve(this.establishConnection())
}, 2000) }, 2000)
}) })
} }
} }
getMessage() { getMessage() {
return this.getData().pipe( return this.getData().pipe(
filter((e) : e is SocketMessage<MessageOutPutDataDTO>=> e?.method == 'ReceiveMessage' filter((e) : e is SocketMessage<MessageOutPutDataDTO>=> e?.method == 'ReceiveMessage'
@@ -151,7 +145,4 @@ export class SignalRService {
this.establishConnection() this.establishConnection()
} }
} }
@@ -4,12 +4,8 @@ import { ok, Result, err } from 'neverthrow';
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { filter, first } from 'rxjs/operators'; import { filter, first } from 'rxjs/operators';
import { v4 as uuidv4 } from 'uuid' 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 { ISignalRInput } from './signal-r.service';
import { MessageOutPutDataDTO } from 'src/app/module/chat/data/dto/message/messageOutputDTO';
export interface SocketMessage<T> { export interface SocketMessage<T> {
method: string, method: string,
+1 -1
View File
@@ -1,5 +1,5 @@
import { NgModule } from '@angular/core'; 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 { ChatServiceService } from 'src/app/module/chat/domain/chat-service.service'
import { skip, switchMap } from 'rxjs/operators'; import { skip, switchMap } from 'rxjs/operators';
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
@@ -1,6 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { err, ok } from 'neverthrow'; import { err, ok } from 'neverthrow';
import { SignalRService } from '../../../infra/socket/signal-r.service';
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { MessageDeleteInputDTO } from '../../dto/message/messageDeleteInputDTO'; import { MessageDeleteInputDTO } from '../../dto/message/messageDeleteInputDTO';
import { v4 as uuidv4 } from 'uuid' 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 { MessageOutPutDataDTO } from '../../dto/message/messageOutputDTO';
import { MessageInputDTO } from '../../dto/message/messageInputDtO'; import { MessageInputDTO } from '../../dto/message/messageInputDtO';
import { MessageReactionInput } from '../../../domain/use-case/message/message-reaction-by-id-use-case.service'; 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 { interface msgObj {
roomId: string; roomId: string;
@@ -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 { APIReturn } from 'src/app/services/decorators/api-validate-schema.decorator';
import { MessageOutPutDataDTOSchema, MessageOutPutDTO, MessageOutPutDTOSchema } from '../../dto/message/messageOutputDTO'; import { MessageOutPutDataDTOSchema, MessageOutPutDTO, MessageOutPutDTOSchema } from '../../dto/message/messageOutputDTO';
import { DataSourceReturn } from 'src/app/services/Repositorys/type'; 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 { MessageUpdateInput } from '../../../domain/use-case/message/message-update-by-id-use-case.service';
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { MessageDeleteInputDTO } from '../../dto/message/messageDeleteInputDTO'; import { MessageDeleteInputDTO } from '../../dto/message/messageDeleteInputDTO';
@@ -15,7 +15,7 @@ import { RoomUpdateOutputDTO } from '../../dto/room/roomUpdateOutputDTO';
import { DataSourceReturn } from 'src/app/services/Repositorys/type'; import { DataSourceReturn } from 'src/app/services/Repositorys/type';
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { MemberSetAdminDTO } from '../../../domain/use-case/member/member-admin-use-case.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' import { v4 as uuidv4 } from 'uuid'
@Injectable({ @Injectable({
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core'; 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 { filter, map } from 'rxjs/operators';
import { z } from 'zod'; 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 { RoomInputDTO } from '../../dto/room/roomInputDTO';
import { RoomOutPutDTO } from '../../dto/room/roomOutputDTO'; import { RoomOutPutDTO } from '../../dto/room/roomOutputDTO';
import { v4 as uuidv4 } from 'uuid' import { v4 as uuidv4 } from 'uuid'
@@ -1,8 +1,8 @@
import { Injectable } from '@angular/core'; 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 { SessionStore } from 'src/app/store/session.service';
import { filter, map } from 'rxjs/operators'; 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'; import { UserTypingDTO } from '../../dto/typing/typingInputDTO';
@Injectable({ @Injectable({
@@ -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 { 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 { 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 { 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 { 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 { 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'; import { SocketMessageCreateUseCaseService } from 'src/app/module/chat/domain/use-case/socket/socket-message-create-use-case.service';
@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { SignalRService } from '../../../infra/socket/signal-r.service';
import { filter } from 'rxjs/operators'; import { filter } from 'rxjs/operators';
import { SignalRService } from 'src/app/infra/socket/signalR/signal-r.service';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@@ -4,7 +4,8 @@ import { SessionStore } from 'src/app/store/session.service';
import { MessageLocalDataSourceService } from '../../../data/repository/message/message-local-data-source.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 { MessageSocketRepositoryService } from '../../../data/repository/message/message-live-signalr-data-source.service';
import { MessageRemoteDataSourceService } from '../../../data/repository/message/message-remote-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({ @Injectable({
providedIn: 'root' providedIn: 'root'
@@ -1,5 +1,4 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { SignalRService } from '../../../infra/socket/signal-r.service';
import { SessionStore } from 'src/app/store/session.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';