import { IBillingTransactionEntity } from "../billing_transaction.entity.interface"; import { IEntityAuditColumn } from "../entity-audit-columns.interface"; import { IFieldMinMaxConstraint } from "./utils"; /** * excluded, and why: * - "type", "status" enums, they carry no min/max * - "id", keyof IEntityAuditColumn generated columns * - "paymentDate" a datecode held as varchar(8); flagged for an int migration * rather than bounded against a column that is the wrong type * - "supportingDocsUrls" url_multi field — bounded by max_size, allowed_file_formats * and count, and its column has to hold a comma-joined list */ export type IBillingTransactionFieldLengthConstraintsExclude = "id" | "type" | "status" | "paymentDate" | "supportingDocsUrls" | 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 IBillingTransactionFieldMinMaxConstraints = { [K in keyof Omit]-?: IFieldMinMaxConstraint; }; export declare const billingTransactionFieldMinMaxConstraints: IBillingTransactionFieldMinMaxConstraints;