import { Injectable } from '@angular/core'; import { z } from 'zod'; import { MessageRepositoryService } from '../../data/repository/message-respository.service'; import { SafeValidateSchema, ValidateSchema } from 'src/app/services/decorators/validate-schema.decorator'; export const MessageDeleteInputDTOSchema = z.object({ requestId: z.string().optional(), roomId: z.string(), messageId: z.string(), senderId: z.number(), }); export type MessageDeleteInputDTO = z.infer @Injectable({ providedIn: 'root' }) export class MessageDeleteLiveUseCaseService { constructor( public repository: MessageRepositoryService ) { } @SafeValidateSchema(MessageDeleteInputDTOSchema, 'MessageDeleteLiveUseCaseService') async execute(data: MessageDeleteInputDTO) { return this.repository.sendMessageDelete(data) } }