import { IsInt, IsString, Matches, Max, Min } from "class-validator"; /** Same key format as the legacy: lowercase, starts with a letter, 2-30 chars (eden.md §1.2). */ export class CreateRoleDto { @IsString() @Matches(/^[a-z][a-z0-9_]{1,29}$/, { message: "key deve começar com letra minúscula e conter apenas a-z, 0-9, _ (2-30 caracteres)", }) key!: string; @IsString() label!: string; /** 100 (super_admin) is a fixed ceiling, never assignable here — eden.md §1.6. */ @IsInt() @Min(0) @Max(99) weight!: number; }