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