import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; @serializable @inheritSerialization(Command) export class CreateRelationCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public projectId: string = null; @Validators.IsNotEmpty() @Validators.IsArray() @Validators.ArrayMinSize(2) @Validators.ArrayMaxSize(3) @Validators.IsString({ each: true }) @autoserializeAs(String) public objectIds: string[] = []; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public handlerName: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public boundedContext: string = null; @Validators.IsOptional() @Validators.IsString() @autoserializeAs(String) public subscriptionName: string = null; constructor() { super('CreateRelationCommand'); } }