src/compliance/dto/rule.dto.ts
PartialType(ComplianceRuleDto)
import { ApiProperty, PartialType } from "@nestjs/swagger";
import { IsEnum, IsNotEmpty, IsOptional, IsString } from "class-validator";
import {
ComplianceRiskCategory,
ComplianceRiskSeverity,
} from "../entities/compliance.types";
export class ComplianceRuleDto {
@IsString()
@IsNotEmpty()
@ApiProperty({ required: true })
name: string;
@IsString()
@IsNotEmpty()
@ApiProperty({ required: true })
description: string;
@IsOptional()
@IsString()
countermeasure: string;
@IsOptional()
@ApiProperty({ required: false })
@IsEnum(ComplianceRiskSeverity, { each: true })
severity?: ComplianceRiskSeverity;
@IsNotEmpty()
@ApiProperty({ required: true })
@IsEnum(ComplianceRiskCategory, { each: true })
category: ComplianceRiskCategory;
}
export class UpdateComplianceRuleDto extends PartialType(ComplianceRuleDto) {}