import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; @serializable @inheritSerialization(Command) export class UpdateDevelopmentPolicyCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public developmentPolicyId: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public codeGuidelines: string = null; @Validators.IsNotEmpty() @Validators.IsBoolean() @autoserializeAs(Boolean) public areUnitTestsMandatory: boolean = null; @Validators.IsNotEmptyIf((c: UpdateDevelopmentPolicyCommand) => c.areUnitTestsMandatory) @Validators.IsOptionalIf((c: UpdateDevelopmentPolicyCommand) => !c.areUnitTestsMandatory) @Validators.IsString() @autoserializeAs(String) public unitTestsGuidelines: string = null; constructor() { super('UpdateDevelopmentPolicyCommand'); } }