add reaction to chat

This commit is contained in:
Peter Maquiran
2024-08-02 11:34:57 +01:00
parent 8774cef0b2
commit efc7f72042
10 changed files with 245 additions and 21 deletions
@@ -1,6 +1,7 @@
import { Injectable } from '@angular/core';
import { MessageDeleteLiveUseCaseService, MessageDeleteInputDTO } from 'src/app/module/chat/domain/use-case/message-delete-live-use-case.service'
import { SessionStore } from 'src/app/store/session.service';
import { MessageReactionInput, MessageReactionUseCaseService } from 'src/app/module/chat/domain/use-case/message-reaction-use-case.service';
@Injectable({
providedIn: 'root'
@@ -8,7 +9,8 @@ import { SessionStore } from 'src/app/store/session.service';
export class ChatServiceService {
constructor(
private MessageDeleteLiveUseCaseService: MessageDeleteLiveUseCaseService
private MessageDeleteLiveUseCaseService: MessageDeleteLiveUseCaseService,
private MessageReactionUseCaseService: MessageReactionUseCaseService
) { }
messageDelete(data: {roomId, messageId}) {
@@ -20,4 +22,9 @@ export class ChatServiceService {
return this.MessageDeleteLiveUseCaseService.execute(params)
}
reactToMessage(input: MessageReactionInput) {
return this.MessageReactionUseCaseService.execute(input);
}
}
@@ -0,0 +1,28 @@
import { Injectable } from '@angular/core';
import { MessageRepositoryService } from '../../data/repository/message-respository.service';
import { object, z } from 'zod';
const MessageReactionInputDTOSchema = z.object({
memberId: z.number(),
messageId: z.string(),
roomId: z.string(),
reaction: z.string(),
requestId: z.string()
})
export type MessageReactionInput = z.infer< typeof MessageReactionInputDTOSchema>
@Injectable({
providedIn: 'root'
})
export class MessageReactionUseCaseService {
constructor(
public repository: MessageRepositoryService
) { }
execute(input: MessageReactionInput) {
return this.repository.reactToMessage(input)
}
}