export * from "../Customer/Document"; import { Expose, Type } from "class-transformer"; import DocumentCustomer from "../Customer/Document"; import { IsNotEmpty, IsOptional, ValidateNested } from "class-validator"; import OfficeFolder from "./OfficeFolder"; import Customer from "./Customer"; import File from "./File"; import DocumentHistory from "./DocumentHistory"; import DocumentType from "./DocumentType"; export default class Document extends DocumentCustomer { @Expose() @IsNotEmpty({ groups: ["createFile"], message: "UID is required" }) public override uid?: string; @Expose() @Type(() => DocumentType) public override document_type?: DocumentType; @Expose() @IsOptional({ groups: ["updateDocument"] }) @IsNotEmpty({ groups: ["createDocument"], message: "Folder is required" }) @ValidateNested({ groups: ["createDocument", "updateDocument"] }) @Type(() => OfficeFolder) public override folder?: OfficeFolder; @Expose() @IsOptional({ groups: ["updateDocument"] }) @IsNotEmpty({ groups: ["createDocument"], message: "Depositor is required" }) @ValidateNested({ groups: ["createDocument", "updateDocument"] }) @Type(() => Customer) public override depositor?: Customer; @Expose() @Type(() => File) public override files?: File[]; @Expose() @Type(() => DocumentHistory) public override document_history?: DocumentHistory[]; };