import { IEntityAuditColumn } from "../entity-audit-columns.interface"; import { IOrganizationEntity } from "../organization.entity.interface"; import { IFieldMinMaxConstraint } from "./utils"; /** * excluded, and why: * - "status" enum, it carries no min/max * - "panDocumentUrl" a url, its length is not a business constraint * - "id", keyof IEntityAuditColumn generated columns * * there is no OrganizationCreateDto / OrganizationUpdateDto in the backend — organization rows are * seeded by migration — so every bound below comes from the column definition alone */ export type IOrganizationFieldLengthConstraintsExclude = "id" | "status" | "panDocumentUrl" | 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 IOrganizationFieldMinMaxConstraints = { [K in keyof Omit]-?: IFieldMinMaxConstraint; }; export declare const organizationFieldMinMaxConstraints: IOrganizationFieldMinMaxConstraints;