import { IsNotEmpty, ValidateNested, IsString, IsOptional } from 'class-validator' import { Type } from 'class-transformer' class PubSubMessage { @IsNotEmpty() @IsString() data: string @IsOptional() @IsString() message_id: string @IsOptional() @IsString() publish_time: string } export class PubSubParams { @IsNotEmpty() @ValidateNested() @Type(() => PubSubMessage) readonly message: PubSubMessage @IsNotEmpty() readonly subscription: string }