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

32 lines
1.1 KiB
TypeScript

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