2023-07-10 17:47:13 +02:00

42 lines
1.4 KiB
TypeScript

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[];
};