export * from "../Notary/Office"; import { IsNotEmpty, ValidateNested } from "class-validator"; import OfficeCustomer from "../Customer/Office"; import { Expose, Type } from "class-transformer"; import Address from "./Address"; import DeedType from "./DeedType"; import User from "./User"; import { OfficeFolder } from "../Notary"; export default class Office extends OfficeCustomer { @Expose() @IsNotEmpty({ groups: [ "createFolder", "createDeedType", "createDocumentType", "createRule", "createRole", "createOfficeRole", ], message: "UID is required", }) public override uid?: string; @Expose() @IsNotEmpty({ groups: ["createOffice"], message: "ID IdNote is required" }) public idNot?: string; @Expose() @IsNotEmpty({ groups: ["createOffice"], message: "Name is required" }) public override name!: string; @Expose() @IsNotEmpty({ groups: ["createOffice"], message: "CRPCEN is required" }) public override crpcen!: string; @Expose() @IsNotEmpty({ groups: ["createOffice"], message: "Address is required" }) @ValidateNested({ groups: ["createOffice"] }) @Type(() => Address) public override address?: Address; @Expose() public office_status?: EOfficeStatus | string; @Expose() @Type(() => DeedType) public deed_types?: DeedType[]; @Expose() @Type(() => User) public users?: User[]; @Expose() @Type(() => OfficeFolder) public office_folders?: OfficeFolder[]; } export enum EOfficeStatus { ACTIVATED = "ACTIVATED", DESACTIVATED = "DESACTIVATED", }