UNPKG

@elsikora/nestjs-crud-automator

Version:

A library for automating the creation of CRUD operations in NestJS.

40 lines (37 loc) 2.28 kB
import '../../enum/decorator/api/action.enum.js'; import '../../enum/decorator/api/authentication-type.enum.js'; import '../../enum/decorator/api/controller/load-relations-strategy.enum.js'; import '../../enum/decorator/api/controller/request-transformer-type.enum.js'; import '../../enum/decorator/api/dto-type.enum.js'; import '../../enum/decorator/api/function/type.enum.js'; import '../../enum/decorator/api/on-type.enum.js'; import '../../enum/decorator/api/property/data-type.enum.js'; import { EApiPropertyDateIdentifier } from '../../enum/decorator/api/property/date/identifier.enum.js'; import '../../enum/decorator/api/property/date/type.enum.js'; import '../../enum/decorator/api/property/desribe-type.enum.js'; import '../../enum/decorator/api/property/number-type.enum.js'; import '../../enum/decorator/api/property/string-type.enum.js'; import '../../enum/decorator/api/route-type.enum.js'; /** * Helper utility for handling date-related properties in DTOs. * Converts standard date fields (createdAt, updatedAt, receivedAt) into range queries * with from/to variants for filtering. * @param {string} propertyName - The original property name * @param {EApiPropertyDateIdentifier} identifier - The date field identifier * @returns {Array<{ identifier: EApiPropertyDateIdentifier; name: string }>} Array of date field variants with their identifiers */ const DtoHandleDateProperty = (propertyName, identifier) => { const baseTypes = { [EApiPropertyDateIdentifier.CREATED_AT]: { from: EApiPropertyDateIdentifier.CREATED_AT_FROM, to: EApiPropertyDateIdentifier.CREATED_AT_TO }, [EApiPropertyDateIdentifier.RECEIVED_AT]: { from: EApiPropertyDateIdentifier.RECEIVED_AT_FROM, to: EApiPropertyDateIdentifier.RECEIVED_AT_TO }, [EApiPropertyDateIdentifier.UPDATED_AT]: { from: EApiPropertyDateIdentifier.UPDATED_AT_FROM, to: EApiPropertyDateIdentifier.UPDATED_AT_TO }, }; return baseTypes[identifier] ? [ { identifier: baseTypes[identifier].from, name: `${propertyName}From` }, { identifier: baseTypes[identifier].to, name: `${propertyName}To` }, ] : [{ identifier, name: propertyName }]; }; export { DtoHandleDateProperty }; //# sourceMappingURL=handle-date-property.utility.js.map