import { IClientDebitNoteEntity } from "../client_debit_note.entity.interface"; import { IEntityAuditColumn } from "../entity-audit-columns.interface"; import { IFieldMinMaxConstraint } from "./utils"; /** * excluded, and why: * - "status", "currency", "gstVisible", enums, they carry no min/max * "panVisible" * - "id", keyof IEntityAuditColumn generated columns * - "attachmentDocuments" url_multi field — bounded by max_size, * allowed_file_formats and count, and its column has to * hold a comma-joined list * * the update DTO extends PartialType(...) over the create DTO, so it inherits every create bound — * create and update cannot disagree for this entity. No field here carries a min. */ export type IClientDebitNoteFieldLengthConstraintsExclude = "id" | "status" | "currency" | "gstVisible" | "panVisible" | "attachmentDocuments" | 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 IClientDebitNoteFieldMinMaxConstraints = { [K in keyof Omit]-?: IFieldMinMaxConstraint; }; export declare const clientDebitNoteFieldMinMaxConstraints: IClientDebitNoteFieldMinMaxConstraints;