import { autoserializeAs, Command, inheritSerialization, serializable, Validators } from '@my-devkit/core'; import { MonitoringAlertSeverityLevel } from '@we-scrum/enums'; export class CreateOrReactivateMonitoringAlertCommandAction { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public label: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public url: string = null; } export class CreateOrReactivateMonitoringAlertCommandData { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public category: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public label: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public value: string = null; } @serializable @inheritSerialization(Command) export class CreateOrReactivateMonitoringAlertCommand extends Command { @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public environmentId: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public identificationNumber: string = null; @Validators.IsNotEmpty() @Validators.IsString() @autoserializeAs(String) public title: string = null; @Validators.IsOptional() @Validators.IsString() @autoserializeAs(String) public subtitle: string = null; @Validators.IsNotEmpty() @Validators.IsEnum(MonitoringAlertSeverityLevel) @autoserializeAs(MonitoringAlertSeverityLevel) public severityLevel: MonitoringAlertSeverityLevel = null; @Validators.IsNotEmpty() @Validators.IsArray() @Validators.ValidateNested() @autoserializeAs(CreateOrReactivateMonitoringAlertCommandData) public data: CreateOrReactivateMonitoringAlertCommandData[] = []; @Validators.IsNotEmpty() @Validators.IsArray() @Validators.ValidateNested() @autoserializeAs(CreateOrReactivateMonitoringAlertCommandAction) public actions: CreateOrReactivateMonitoringAlertCommandAction[] = []; @Validators.IsNotEmpty() @Validators.IsDate() @autoserializeAs(Date) public createdAt: Date = null; constructor() { super('CreateOrReactivateMonitoringAlertCommand'); } }