import { IDocumentUploadEntity } from "../document_upload.entity.interface"; import { IEntityAuditColumn } from "../entity-audit-columns.interface"; import { IFieldMinMaxConstraint } from "./utils"; /** * excluded, and why: * - "gstDocument" a url, its length is not a business constraint * - "additionalDocuments" urls, their length is not a business constraint * - "id", keyof IEntityAuditColumn generated columns * * DocumentUploadUpdateDto extends PartialType(OmitType(DocumentUploadCreateDto, ...)), so it * inherits every create bound — create and update cannot disagree for this entity */ export type IDocumentUploadFieldLengthConstraintsExclude = "status" | "id" | "gstDocument" | "additionalDocuments" | 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 IDocumentUploadFieldMinMaxConstraints = { [K in keyof Omit]-?: IFieldMinMaxConstraint; }; export declare const documentUploadFieldMinMaxConstraints: IDocumentUploadFieldMinMaxConstraints;