import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; import { ObjectPropertyType } from '@we-scrum/enums'; @serializable @inheritSerialization(Command) export class CreateObjectPropertyCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public objectId: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public objectPropertyId: string = null; @Validators.IsOptional() @Validators.IsString() @autoserializeAs(String) public objectPropertyParentId: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public name: string = null; @Validators.IsNotEmpty() @Validators.IsEnum(ObjectPropertyType) @autoserializeAs(ObjectPropertyType) public objectPropertyType: ObjectPropertyType = null; @Validators.IsOptionalIf((c: CreateObjectPropertyCommand) => c.objectPropertyType !== ObjectPropertyType.Enumeration) @Validators.IsString() @autoserializeAs(String) public enumerationId: string = null; @Validators.IsNotEmpty() @Validators.IsBoolean() @autoserializeAs(Boolean) public isArray: boolean = null; constructor() { super('CreateObjectPropertyCommand'); } }