import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; import { RouteQueryParamType } from '@we-scrum/enums'; @serializable @inheritSerialization(Command) export class CreateRouteQueryParamCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public routeId: string = null; @Validators.IsNotEmpty() @Validators.IsString() @Validators.CamelCase() @autoserializeAs(String) public routeQueryParamName: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public routeQueryParamType: RouteQueryParamType = null; @Validators.IsOptionalIf((c: CreateRouteQueryParamCommand) => c.routeQueryParamType !== RouteQueryParamType.Enumeration) @Validators.IsString() @autoserializeAs(String) public enumerationId: string = null; constructor() { super('CreateRouteQueryParamCommand'); } }