42 lines
1008 B
TypeScript
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;
|
|
} |