import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; import { LoggingSystem } from '@we-scrum/enums'; @serializable @inheritSerialization(Command) export class UpdateEnvironmentLoggingSystemCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public environmentId: string = null; @Validators.IsNotEmpty() @Validators.IsEnum(LoggingSystem) @autoserializeAs(LoggingSystem) public loggingSystem: LoggingSystem = null; @Validators.IsOptionalIf((o) => o.loggingSystem === LoggingSystem.None) @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public applicationId: string = null; @Validators.IsOptionalIf((o) => o.loggingSystem === LoggingSystem.None) @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public apiKey: string = null; constructor() { super('UpdateEnvironmentLoggingSystemCommand'); } }