import { autoserialize, autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; import { UserResourceType } from '@we-scrum/enums'; @serializable @inheritSerialization(Command) export class CreateUserResourceCommand extends Command { @Validators.IsNotEmpty() @Validators.IsEnum(UserResourceType) @autoserializeAs(UserResourceType) public type: UserResourceType = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public contextId: string = null; @Validators.IsNotEmpty() @autoserialize public data: T = null; constructor() { super('CreateUserResourceCommand'); } }