lecoffre-ressources/src/Notary/OfficeRoleHasRules.ts
2023-06-26 11:52:32 +02:00

42 lines
1008 B
TypeScript

import {
IsDate,
IsNotEmpty,
ValidateNested,
} from "class-validator";
import Resource from "../Resource";
import { Expose, Type } from "class-transformer";
import Role from "./Role";
import Rule from "./Rule";
import Office from "./Office";
export default class OfficeRoleHasRules extends Resource {
@Expose()
@IsNotEmpty({ groups: ["updateRole"] ,message: "UID is required" })
public uid?: string;
@Expose()
@IsNotEmpty({message: "Role is required"})
@ValidateNested({ groups: ["updateRole"] })
@Type(() => Role)
public role!: Role;
@Expose()
@IsNotEmpty({message: "Rule is required"})
@ValidateNested({ groups: ["createRule","updateRule"] })
@Type(() => Rule)
public rules!: Rule[];
@Expose()
@IsNotEmpty({message: "Office is required"})
@ValidateNested({ groups: ["createRule"] })
@Type(() => Office)
public office!: Office;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}