export * from "../Customer/Customer"; import { Expose, Type } from "class-transformer"; import CustomerCustomer, { ECustomerStatus } from "../Customer/Customer"; import { IsNotEmpty, IsOptional, ValidateNested } from "class-validator"; import Contact from "./Contact"; import OfficeFolder from "./OfficeFolder"; import Document from "./Document"; export default class Customer extends CustomerCustomer { @Expose() @IsNotEmpty({ groups: ["updateFolder", "createDocument"] ,message: "UID is required" }) public override uid?: string; @Expose() @IsOptional({ groups : ["updateCustomer"]}) public override status!: ECustomerStatus | string; @Expose() @IsOptional({ groups : ["updateCustomer"]}) @IsNotEmpty({ groups: ["createCustomer"], message: "Contact is required" }) @ValidateNested({ groups: ["createCustomer", "updateCustomer"] }) @Type(() => Contact) public override contact?: Contact; @Expose() @Type(() => OfficeFolder) public override office_folders?: OfficeFolder[]; @Expose() @Type(() => Document) public override documents?: Document[]; };