import { IsDate, IsNotEmpty, ValidateNested, } from "class-validator"; import Resource from "../Resource"; import { Expose, Type } from "class-transformer"; import User from "./User"; import Rule from "./Rule"; export default class Role extends Resource { @Expose() @IsNotEmpty({ groups: ["updateRole"] ,message: "UID is required" }) public uid?: string; @Expose() @IsNotEmpty({message: "Name is required"}) public name!: string; @Expose() @IsDate() public created_at: Date | null = null; @Expose() @IsDate() public updated_at: Date | null = null; @Expose() @IsNotEmpty({message: "Rules are required"}) @ValidateNested({ groups: ["updateRole"] }) @Type(() => Rule) public rules?: Rule[]; @Expose() @ValidateNested() @Type(() => User) user?: User[]; } export enum ECustomerStatus { VALIDATED = "VALIDATED", PENDING = "PENDING", ERRONED = "ERRONED", }