add readAt and delete message

This commit is contained in:
Peter Maquiran
2024-07-31 17:23:44 +01:00
parent 128d92fe5e
commit 82e4acbe87
14 changed files with 287 additions and 67 deletions
@@ -6,6 +6,7 @@ import { Plugins } from '@capacitor/core';
import { z } from 'zod';
import { UserTypingDTO } from '../../data/dto/typing/typingInputDTO';
import { MessageOutPutDataDTO } from '../../data/dto/message/messageOutputDTO';
import { MessageDeleteInputDTO } from '../../data/dto/message/messageDeleteInputDTO';
const { App } = Plugins;
@@ -19,6 +20,8 @@ export class SignalRService {
private messageSubject: BehaviorSubject<MessageOutPutDataDTO> = new BehaviorSubject<MessageOutPutDataDTO>(null);
private typingSubject: BehaviorSubject<UserTypingDTO> = new BehaviorSubject<UserTypingDTO>(null);
private connectingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(null);
private messageDelete: BehaviorSubject<MessageOutPutDataDTO> = new BehaviorSubject<MessageOutPutDataDTO>(null);
private messageUpdateSubject: BehaviorSubject<MessageOutPutDataDTO> = new BehaviorSubject<MessageOutPutDataDTO>(null);
constructor(
private platform: Platform) {
@@ -48,7 +51,8 @@ export class SignalRService {
private async establishConnection() {
const connection = new SignalRConnection({url:'https://41e3-41-63-166-54.ngrok-free.app/api/v2/chathub'})
// const connection = new SignalRConnection({url:'https://41e3-41-63-166-54.ngrok-free.app/api/v2/chathub'})
const connection = new SignalRConnection({url:'https://gdapi-dev.dyndns.info/stage/api/v2/chathub'})
const attempConnection = await connection.establishConnection()
if(attempConnection.isOk()) {
@@ -66,6 +70,14 @@ export class SignalRService {
this.connection.getTyping().subscribe((data) => {
this.typingSubject.next(data)
})
this.connection.getMessageDelete().subscribe((data) => {
this.messageDelete.next(data)
})
this.connection.getMessageUpdateSubject().subscribe((data) => {
this.messageUpdateSubject.next(data)
})
}
}
@@ -80,6 +92,14 @@ export class SignalRService {
return this.typingSubject.asObservable().pipe()
}
getMessageDelete() {
return this.messageDelete.asObservable()
}
getMessageUpdate() {
return this.messageUpdateSubject.asObservable()
}
async sendMessage(data: Object) {
return await this.connection.sendMessage(data as any)
}
@@ -95,4 +115,10 @@ export class SignalRService {
async sendReadAt({ roomId, memberId, chatMessageId}) {
return await this.connection.sendReadAt({ roomId, memberId, chatMessageId})
}
async sendMessageDelete(data: MessageDeleteInputDTO) {
return await this.connection.deleteMessage(data)
}
}