import { IsNotEmpty, IsDate, IsOptional, ValidateNested } from "class-validator"; import Contact from "./Contact"; import Office from "./Office"; import Resource from "../Resource"; import { Type } from "class-transformer"; export default class Address extends Resource { @IsNotEmpty({ groups: ["update"] ,message: "UID is required" }) public uid?: string; @IsNotEmpty({ groups: ["create" , "createCustomer"], message: "Address is required" }) public address!: string; @IsNotEmpty({ groups: ["create" , "createCustomer"], message: "City is required" }) public city!: string; @IsNotEmpty({ groups: ["create" , "createCustomer"], message: "State is required" }) public zip_code!: number; @IsDate() public created_at: Date | null = null; @IsDate() public updated_at: Date | null = null; @IsOptional({ groups: ["create", "update"] }) @ValidateNested({ groups: ["create", "update"] }) @Type(() => Office) public office?: Office | null = null; @IsOptional({ groups: ["create", "update"] }) @ValidateNested({ groups: ["create", "update"] }) @Type(() => Contact) public contact?: Contact | null = null; }