add endpoint

This commit is contained in:
Peter Maquiran
2024-08-02 16:20:26 +01:00
parent 68a7eb8bad
commit 643bfe8310
9 changed files with 168 additions and 198 deletions
@@ -3,7 +3,12 @@ import { MessageDeleteLiveUseCaseService, MessageDeleteInputDTO } from 'src/app/
import { SessionStore } from 'src/app/store/session.service';
import { MessageReactionInput, MessageReactionUseCaseService } from 'src/app/module/chat/domain/use-case/message-reaction-use-case.service';
import { MessageUpdateInput, MessageUpdateUseCaseService } from 'src/app/module/chat/domain/use-case/message-update-use-case.service';
import { SignalRService } from '../infra/socket/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';
import { filter } from 'rxjs/operators';
import { InstanceId } from '../data/repository/message-respository.service';
@Injectable({
providedIn: 'root'
@@ -13,8 +18,50 @@ export class ChatServiceService {
constructor(
private MessageDeleteLiveUseCaseService: MessageDeleteLiveUseCaseService,
private MessageReactionUseCaseService: MessageReactionUseCaseService,
private MessageUpdateUseCaseService: MessageUpdateUseCaseService
) { }
private MessageUpdateUseCaseService: MessageUpdateUseCaseService,
private SocketMessageDeleteUseCaseService: SocketMessageDeleteUseCaseService,
private messageLiveSignalRDataSourceService: SignalRService,
private SocketMessageUpdateUseCaseService: SocketMessageUpdateUseCaseService,
private SocketMessageCreateUseCaseService: SocketMessageCreateUseCaseService
) {
this.messageLiveSignalRDataSourceService.getMessageDelete()
.pipe()
.subscribe(async (message) => {
if(message?.id) {
this.SocketMessageDeleteUseCaseService.execute(message)
}
})
this.messageLiveSignalRDataSourceService.getMessageUpdate().pipe(
filter((message) => {
return !message?.requestId?.startsWith(InstanceId)
})
).subscribe(async (message) => {
if(message?.id) {
this.SocketMessageUpdateUseCaseService.execute(message)
}
})
this.messageLiveSignalRDataSourceService.getMessage().pipe(
filter((message) => {
if(!message?.requestId?.startsWith(InstanceId) == false) {
// console.log('exclude my message---')
}
return !message?.requestId?.startsWith(InstanceId)
})
).subscribe(async (message) => {
if(message?.id) {
console.log('create message')
this.SocketMessageCreateUseCaseService.execute(message)
}
})
}
messageDelete(data: {roomId, messageId}) {