import { IEntityAuditColumn } from "../entity-audit-columns.interface"; import { IVendorAdvanceEntity } from "../vendor_advance.entity.interface"; import { IFieldMinMaxConstraint } from "./utils"; /** * excluded, and why: * - "paymentMode", "status" enums, they carry no min/max * - "advanceDocument" url field, bounded by max_size and * allowed_file_formats instead * - "id", keyof IEntityAuditColumn generated columns * * VendorAdvanceUpdateDto extends PartialType(OmitType(VendorAdvanceCreateDto, ...)), so it inherits * every create bound — create and update cannot disagree for this entity */ export type IVendorAdvanceFieldLengthConstraintsExclude = "id" | "paymentMode" | "status" | "advanceDocument" | keyof IEntityAuditColumn; /** * since some fields are optional, but we still need their * min & max length constraints, we need to make them required in this type * hence we are using -? to make all properties required in this type */ export type IVendorAdvanceFieldMinMaxConstraints = { [K in keyof Omit]-?: IFieldMinMaxConstraint; }; export declare const vendorAdvanceFieldMinMaxConstraints: IVendorAdvanceFieldMinMaxConstraints;