2023-09-25 13:44:06 +02:00

63 lines
1.6 KiB
TypeScript

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",
}