import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; import { ContentType, CraftingMaster } from '@we-scrum/enums'; @serializable @inheritSerialization(Command) export class CreateStoryCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public projectId: string = null; @Validators.IsNotEmpty() @Validators.IsEnum(CraftingMaster) @autoserializeAs(CraftingMaster) public craftingMaster: CraftingMaster = null; @Validators.IsOptional() @Validators.IsString() @autoserializeAs(String) public identificationNumber: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public name: string = null; @Validators.IsOptional() @Validators.IsString() @autoserializeAs(String) public featureId: string = null; @Validators.IsOptional() @Validators.IsString() @autoserializeAs(String) public iterationId: string = null; @Validators.IsNotEmpty() @Validators.IsEnum(ContentType) @autoserializeAs(ContentType) public descriptionContentType: ContentType = null; @Validators.IsOptional() @Validators.IsString() @autoserializeAs(String) public description: string = null; @Validators.IsOptional() @Validators.IsNumber() @Validators.IsPositive() @autoserializeAs(Number) public estimation: number = null; @Validators.IsNotEmpty() @Validators.IsBoolean() @autoserializeAs(Boolean) public keepCraftingOpen: boolean = null; constructor() { super('CreateStoryCommand'); } }