import { IsNotEmpty, IsDate, IsOptional } from "class-validator"; import { Deed } from "./Deed"; import { Document } from "./Document"; import { Office } from "./Office"; import { OfficeFolderHasCustomer } from "./OfficeFolderHasCustomer"; import { OfficeFolderHasStakeholder } from "./OfficeFolderHasStakeholder"; import { OfficeFolderNotary } from "../.."; export namespace OfficeFolder { export class IOfficeFolder { @IsNotEmpty() public uuid!: string; @IsNotEmpty({ groups: ["create"] }) public folder_number!: string; @IsNotEmpty({ groups: ["create"] }) public name!: string; @IsOptional() public description: string | null = null; @IsOptional() public archived_description: string | null = null; @IsNotEmpty({ groups: ["create"] }) public status!: OfficeFolderNotary.EFolderStatus; @IsNotEmpty({ groups: ["create"] }) public deed!: Deed.IDeed; @IsNotEmpty({ groups: ["create"] }) public office!: Office.IOffice; @IsDate() public created_at: Date | null = null; @IsDate() public updated_at: Date | null = null; @IsOptional() office_folder_has_customers?: OfficeFolderHasCustomer.IOfficeFolderHasCustomer[]; @IsOptional() office_folder_has_stakeholder?: OfficeFolderHasStakeholder.IOfficeFolderHasStakeholder[]; @IsOptional() documents?: Document.IDocument[]; } }