import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { IsArray, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator'; import { Type } from 'class-transformer'; export class SendMessage { @ApiProperty() @IsNotEmpty() @IsString() to!: string; @ApiProperty() @IsNotEmpty() @IsString() message!: string; @ApiPropertyOptional() @IsOptional() @IsString() from?: string; } export class SingleMessageDto { @ApiProperty({ description: 'Recipient phone number', example: '+1234567890', }) @IsString() @IsNotEmpty() to!: string; @ApiProperty({ description: 'Message content', example: 'Test Single SMS from', }) @IsString() @IsNotEmpty() message!: string; } export class BulkMessagesDto { @ApiProperty({ type: [SendMessage] }) @IsArray() @ValidateNested({ each: true }) @Type(() => SendMessage) messages!: SendMessage[]; }