import { AbstractCommand } from "@twixtlabs/lambda-cqrs-poc"; import { Type } from "class-transformer"; import { IsNotEmpty, IsString, IsNumber, IsNotEmptyObject, ValidateNested } from "class-validator"; import { ConversationCommand } from "./ConversationCommand"; import { IncomingMessageVO } from "./IncomingMessageVO"; import { MessageContentVO } from "../../common/command/MessageContentVO"; export class ReceiveMessageCommand extends ConversationCommand { static readonly commandName = "ReceiveMessageCommand"; @ValidateNested() @Type(()=>IncomingMessageVO) message:IncomingMessageVO constructor({ tenantId, conversationId, message, }: { tenantId:string; conversationId: string; message:IncomingMessageVO }) { super({ commandName: ReceiveMessageCommand.commandName, tenantId, conversationId, }); this.message = message; } }