import { IClientEntity } from "../client.entity.interface"; import { IEntityAuditColumn } from "../entity-audit-columns.interface"; import { IFieldMinMaxConstraint } from "./utils"; /** * excluded, and why: * - "id", keyof IEntityAuditColumn generated columns * - "gstDocument", "panDocument", url fields — bounded by max_size, allowed_file_formats * "tanDocument" and count, not by a character length * - "status" enum column driven by the entity flow — bounded by its * allowed values, not by a character length * * No field on this entity carries a min in either DTO — every constraint below is max-only. */ export type IClientFieldLengthConstraintsExclude = "status" | "id" | "gstDocument" | "panDocument" | "tanDocument" | 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 IClientFieldMinMaxConstraints = { [K in keyof Omit]-?: IFieldMinMaxConstraint; }; export declare const clientFieldMinMaxConstraints: IClientFieldMinMaxConstraints;