59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import {
|
|
IsNotEmpty,
|
|
IsDate,
|
|
IsOptional,
|
|
ValidateNested,
|
|
} from "class-validator";
|
|
import Address from "./Address";
|
|
import DeedType from "./DeedType";
|
|
import OfficeFolder from "./OfficeFolder";
|
|
import User from "../Notary/User";
|
|
import Resource from "../Resource";
|
|
import { Type } from "class-transformer";
|
|
|
|
export default class Office extends Resource {
|
|
@IsNotEmpty({ groups: ["create"], message: "ID IdNote is required" })
|
|
public idNot!: string;
|
|
|
|
@IsNotEmpty({ groups: ["create"], message: "Name is required" })
|
|
public name!: string;
|
|
|
|
@IsNotEmpty({ groups: ["create"], message: "CRPCEN is required" })
|
|
public crpcen!: string;
|
|
|
|
@IsNotEmpty({ groups: ["create"], message: "Address is required" })
|
|
@ValidateNested({ groups: ["create", "update"] })
|
|
@Type(() => Address)
|
|
public address!: Address;
|
|
|
|
@IsNotEmpty({ groups: ["create"], message: "Office status is required" })
|
|
public office_status!: EOfficeStatus | string;
|
|
|
|
@IsDate()
|
|
public created_at: Date | null = null;
|
|
|
|
@IsDate()
|
|
public updated_at: Date | null = null;
|
|
|
|
@IsOptional({ groups: ["create", "update"] })
|
|
@ValidateNested({ groups: ["create", "update"] })
|
|
@Type(() => DeedType)
|
|
public deed_types?: DeedType[];
|
|
|
|
@IsOptional({ groups: ["create", "update"] })
|
|
@ValidateNested({ groups: ["create", "update"] })
|
|
@Type(() => User)
|
|
public users?: User[];
|
|
|
|
@IsOptional({ groups: ["create", "update"] })
|
|
@ValidateNested({ groups: ["create", "update"] })
|
|
@Type(() => OfficeFolder)
|
|
public office_folders?: OfficeFolder[];
|
|
}
|
|
|
|
export enum EOfficeStatus {
|
|
ACTIVATED = "ACTIVATED",
|
|
DESACTIVATED = "DESACTIVATED",
|
|
}
|
|
|