import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; import { StoreSystem } from '@we-scrum/enums'; @serializable @inheritSerialization(Command) export class UpdateEnvironmentDataStoreSystemCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public environmentId: string = null; @Validators.IsNotEmpty() @Validators.IsEnum(StoreSystem) @autoserializeAs(StoreSystem) public storeSystem: StoreSystem = null; @Validators.IsOptionalIf((o) => o.storeSystem === StoreSystem.None) @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public endpoint: string = null; @Validators.IsOptionalIf((o) => o.storeSystem === StoreSystem.None) @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public accountKey: string = null; @Validators.IsOptionalIf((o) => o.storeSystem === StoreSystem.None) @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public database: string = null; @Validators.IsOptionalIf((o) => o.storeSystem === StoreSystem.None) @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public container: string = null; constructor() { super('UpdateEnvironmentDataStoreSystemCommand'); } }