@explorins/pers-shared 2.1.91 → 2.1.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/shared-lib/decorators/index.d.ts +2 -0
- package/dist/cjs/shared-lib/decorators/index.d.ts.map +1 -0
- package/dist/cjs/shared-lib/decorators/index.js +18 -0
- package/dist/cjs/shared-lib/decorators/index.js.map +1 -0
- package/dist/cjs/shared-lib/decorators/validation.decorators.d.ts +231 -0
- package/dist/cjs/shared-lib/decorators/validation.decorators.d.ts.map +1 -0
- package/dist/cjs/shared-lib/decorators/validation.decorators.js +281 -0
- package/dist/cjs/shared-lib/decorators/validation.decorators.js.map +1 -0
- package/dist/cjs/shared-lib/dto/account-selector.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/account-selector.dto.js +3 -2
- package/dist/cjs/shared-lib/dto/account-selector.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.js +2 -1
- package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/base-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/base-analytics.dto.js +3 -2
- package/dist/cjs/shared-lib/dto/analytics/base-analytics.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/business-ranking-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/business-ranking-analytics.dto.js +9 -8
- package/dist/cjs/shared-lib/dto/analytics/business-ranking-analytics.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.js +14 -13
- package/dist/cjs/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/group-by-expression.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/group-by-expression.dto.js +2 -1
- package/dist/cjs/shared-lib/dto/analytics/group-by-expression.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/index.d.ts +0 -1
- package/dist/cjs/shared-lib/dto/analytics/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/index.js +0 -1
- package/dist/cjs/shared-lib/dto/analytics/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.d.ts +2 -1
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.js +9 -7
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.js +10 -9
- package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/usage-analytics.dto.d.ts +1 -7
- package/dist/cjs/shared-lib/dto/analytics/usage-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/usage-analytics.dto.js +131 -44
- package/dist/cjs/shared-lib/dto/analytics/usage-analytics.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.js +5 -5
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto.js +9 -10
- package/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/auth/auth.dto.d.ts +1 -1
- package/dist/cjs/shared-lib/dto/auth/auth.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/auth/auth.dto.js +12 -12
- package/dist/cjs/shared-lib/dto/auth/auth.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-create.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-create.request.dto.js +8 -8
- package/dist/cjs/shared-lib/dto/business/business-create.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.d.ts +6 -0
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.js +39 -0
- package/dist/cjs/shared-lib/dto/business/business-membership.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-type.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-type.dto.js +2 -1
- package/dist/cjs/shared-lib/dto/business/business-type.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.d.ts +13 -13
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.js +27 -46
- package/dist/cjs/shared-lib/dto/business/business-update.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business.dto.d.ts +4 -0
- package/dist/cjs/shared-lib/dto/business/business.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/business.dto.js +23 -1
- package/dist/cjs/shared-lib/dto/business/business.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/businessToggleActive.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/businessToggleActive.request.dto.js +5 -4
- package/dist/cjs/shared-lib/dto/business/businessToggleActive.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/business/businessTypeCreate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/business/businessTypeCreate.request.dto.js +3 -2
- package/dist/cjs/shared-lib/dto/business/businessTypeCreate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaign-business-engagement.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaign-business-engagement.request.dto.js +5 -4
- package/dist/cjs/shared-lib/dto/campaign/campaign-business-engagement.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js +11 -10
- package/dist/cjs/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.d.ts +6 -2
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.js +58 -44
- package/dist/cjs/shared-lib/dto/campaign/campaignTrigger.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignUpdate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaignUpdate.request.dto.js +13 -31
- package/dist/cjs/shared-lib/dto/campaign/campaignUpdate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts +3 -2
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js +35 -16
- package/dist/cjs/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/file/create-signed-url-response.dto.d.ts +4 -0
- package/dist/cjs/shared-lib/dto/file/create-signed-url-response.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/file/create-signed-url-response.dto.js +26 -0
- package/dist/cjs/shared-lib/dto/file/create-signed-url-response.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/file/entity-storage-url.dto.d.ts +10 -0
- package/dist/cjs/shared-lib/dto/file/entity-storage-url.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/file/entity-storage-url.dto.js +68 -0
- package/dist/cjs/shared-lib/dto/file/entity-storage-url.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/file/index.d.ts +3 -0
- package/dist/cjs/shared-lib/dto/file/index.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/file/index.js +19 -0
- package/dist/cjs/shared-lib/dto/file/index.js.map +1 -0
- package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/index.js +1 -0
- package/dist/cjs/shared-lib/dto/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/pagination/pagination.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/pagination/pagination.request.dto.js +6 -5
- package/dist/cjs/shared-lib/dto/pagination/pagination.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/purchase/purchaseCreate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/purchase/purchaseCreate.request.dto.js +3 -2
- package/dist/cjs/shared-lib/dto/purchase/purchaseCreate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.d.ts +2 -2
- package/dist/cjs/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.js +5 -4
- package/dist/cjs/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js +11 -17
- package/dist/cjs/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +3 -3
- package/dist/cjs/shared-lib/dto/redemption/redemptionRedeem.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionType.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/redemption/redemptionType.dto.js +3 -2
- package/dist/cjs/shared-lib/dto/redemption/redemptionType.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/signing-account/create-signing-account-request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/signing-account/create-signing-account-request.dto.js +2 -1
- package/dist/cjs/shared-lib/dto/signing-account/create-signing-account-request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/signing-account/index.d.ts +0 -1
- package/dist/cjs/shared-lib/dto/signing-account/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/signing-account/index.js +0 -1
- package/dist/cjs/shared-lib/dto/signing-account/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/signing-account/update-signing-account.dto.d.ts +2 -2
- package/dist/cjs/shared-lib/dto/signing-account/update-signing-account.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/signing-account/update-signing-account.dto.js +17 -6
- package/dist/cjs/shared-lib/dto/signing-account/update-signing-account.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.js +7 -3
- package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +12 -18
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js +10 -9
- package/dist/cjs/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-selector.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-selector.dto.js +5 -4
- package/dist/cjs/shared-lib/dto/token/token-selector.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-type.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-type.dto.js +4 -3
- package/dist/cjs/shared-lib/dto/token/token-type.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-unit.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token-unit.dto.js +5 -8
- package/dist/cjs/shared-lib/dto/token/token-unit.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token.request.dto.d.ts +3 -3
- package/dist/cjs/shared-lib/dto/token/token.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/token/token.request.dto.js +10 -17
- package/dist/cjs/shared-lib/dto/token/token.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/transaction/transaction-bulk-data.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/transaction/transaction-bulk-data.request.dto.js +10 -9
- package/dist/cjs/shared-lib/dto/transaction/transaction-bulk-data.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/transaction/transaction-pagination.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/transaction/transaction-pagination.request.dto.js +14 -13
- package/dist/cjs/shared-lib/dto/transaction/transaction-pagination.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/transaction/transaction.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/transaction/transaction.request.dto.js +17 -8
- package/dist/cjs/shared-lib/dto/transaction/transaction.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/user/user.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/user/user.request.dto.js +10 -9
- package/dist/cjs/shared-lib/dto/user/user.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/user/userUploadData.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/user/userUploadData.dto.js +6 -5
- package/dist/cjs/shared-lib/dto/user/userUploadData.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/user-status-type.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/user-status-type.dto.js +3 -2
- package/dist/cjs/shared-lib/dto/user-status-type.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/web3-contract.dto.d.ts +5 -5
- package/dist/cjs/shared-lib/dto/web3-contract.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/web3-contract.dto.js +21 -20
- package/dist/cjs/shared-lib/dto/web3-contract.dto.js.map +1 -1
- package/dist/cjs/shared-lib/enum/file-upload-entity-type.enum.d.ts +13 -0
- package/dist/cjs/shared-lib/enum/file-upload-entity-type.enum.d.ts.map +1 -0
- package/dist/cjs/shared-lib/enum/file-upload-entity-type.enum.js +17 -0
- package/dist/cjs/shared-lib/enum/file-upload-entity-type.enum.js.map +1 -0
- package/dist/cjs/shared-lib/enum/index.d.ts +2 -0
- package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/enum/index.js +2 -0
- package/dist/cjs/shared-lib/enum/index.js.map +1 -1
- package/dist/cjs/shared-lib/enum/signed-url-type.enum.d.ts +10 -0
- package/dist/cjs/shared-lib/enum/signed-url-type.enum.d.ts.map +1 -0
- package/dist/cjs/shared-lib/enum/signed-url-type.enum.js +14 -0
- package/dist/cjs/shared-lib/enum/signed-url-type.enum.js.map +1 -0
- package/dist/cjs/shared-lib/interfaces/base-pagination.interface.d.ts +18 -4
- package/dist/cjs/shared-lib/interfaces/base-pagination.interface.d.ts.map +1 -1
- package/dist/cjs/shared-lib/types/business-membership-include-relation.type.d.ts +28 -0
- package/dist/cjs/shared-lib/types/business-membership-include-relation.type.d.ts.map +1 -0
- package/dist/cjs/shared-lib/types/business-membership-include-relation.type.js +18 -0
- package/dist/cjs/shared-lib/types/business-membership-include-relation.type.js.map +1 -0
- package/dist/cjs/shared-lib/types/index.d.ts +1 -0
- package/dist/cjs/shared-lib/types/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/types/index.js +1 -0
- package/dist/cjs/shared-lib/types/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared-lib/decorators/index.d.ts +2 -0
- package/dist/esm/shared-lib/decorators/index.d.ts.map +1 -0
- package/dist/esm/shared-lib/decorators/index.js +2 -0
- package/dist/esm/shared-lib/decorators/index.js.map +1 -0
- package/dist/esm/shared-lib/decorators/validation.decorators.d.ts +231 -0
- package/dist/esm/shared-lib/decorators/validation.decorators.d.ts.map +1 -0
- package/dist/esm/shared-lib/decorators/validation.decorators.js +270 -0
- package/dist/esm/shared-lib/decorators/validation.decorators.js.map +1 -0
- package/dist/esm/shared-lib/dto/account-selector.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/account-selector.dto.js +4 -3
- package/dist/esm/shared-lib/dto/account-selector.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.js +3 -2
- package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/base-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/base-analytics.dto.js +4 -3
- package/dist/esm/shared-lib/dto/analytics/base-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/business-ranking-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/business-ranking-analytics.dto.js +10 -9
- package/dist/esm/shared-lib/dto/analytics/business-ranking-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.js +15 -14
- package/dist/esm/shared-lib/dto/analytics/campaign-claim-analytics-request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/group-by-expression.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/group-by-expression.dto.js +3 -2
- package/dist/esm/shared-lib/dto/analytics/group-by-expression.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/index.d.ts +0 -1
- package/dist/esm/shared-lib/dto/analytics/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/index.js +0 -1
- package/dist/esm/shared-lib/dto/analytics/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.d.ts +2 -1
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.js +10 -8
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.js +11 -10
- package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/usage-analytics.dto.d.ts +0 -7
- package/dist/esm/shared-lib/dto/analytics/usage-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/usage-analytics.dto.js +127 -29
- package/dist/esm/shared-lib/dto/analytics/usage-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.js +6 -6
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.js +10 -11
- package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/api-key/api-key.dto.js +1 -1
- package/dist/esm/shared-lib/dto/api-key/api-key.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/auth/auth.dto.d.ts +1 -1
- package/dist/esm/shared-lib/dto/auth/auth.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/auth/auth.dto.js +13 -13
- package/dist/esm/shared-lib/dto/auth/auth.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-create.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-create.request.dto.js +10 -10
- package/dist/esm/shared-lib/dto/business/business-create.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-membership.dto.d.ts +6 -0
- package/dist/esm/shared-lib/dto/business/business-membership.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-membership.dto.js +45 -7
- package/dist/esm/shared-lib/dto/business/business-membership.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-type.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-type.dto.js +3 -2
- package/dist/esm/shared-lib/dto/business/business-type.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.d.ts +13 -13
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.js +15 -34
- package/dist/esm/shared-lib/dto/business/business-update.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/business.dto.d.ts +4 -0
- package/dist/esm/shared-lib/dto/business/business.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/business.dto.js +20 -1
- package/dist/esm/shared-lib/dto/business/business.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/businessToggleActive.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/businessToggleActive.request.dto.js +6 -5
- package/dist/esm/shared-lib/dto/business/businessToggleActive.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/business/businessTypeCreate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/business/businessTypeCreate.request.dto.js +4 -3
- package/dist/esm/shared-lib/dto/business/businessTypeCreate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaign-business-engagement.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaign-business-engagement.request.dto.js +6 -5
- package/dist/esm/shared-lib/dto/campaign/campaign-business-engagement.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js +12 -11
- package/dist/esm/shared-lib/dto/campaign/campaignClaim.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.d.ts +6 -2
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.js +54 -43
- package/dist/esm/shared-lib/dto/campaign/campaignTrigger.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignUpdate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaignUpdate.request.dto.js +13 -32
- package/dist/esm/shared-lib/dto/campaign/campaignUpdate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts +3 -2
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js +34 -17
- package/dist/esm/shared-lib/dto/campaign/trigger-source.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/file/create-signed-url-response.dto.d.ts +4 -0
- package/dist/esm/shared-lib/dto/file/create-signed-url-response.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/file/create-signed-url-response.dto.js +18 -0
- package/dist/esm/shared-lib/dto/file/create-signed-url-response.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/file/entity-storage-url.dto.d.ts +10 -0
- package/dist/esm/shared-lib/dto/file/entity-storage-url.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/file/entity-storage-url.dto.js +56 -0
- package/dist/esm/shared-lib/dto/file/entity-storage-url.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/file/index.d.ts +3 -0
- package/dist/esm/shared-lib/dto/file/index.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/file/index.js +3 -0
- package/dist/esm/shared-lib/dto/file/index.js.map +1 -0
- package/dist/esm/shared-lib/dto/index.d.ts +1 -0
- package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/index.js +1 -0
- package/dist/esm/shared-lib/dto/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/pagination/pagination.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/pagination/pagination.request.dto.js +7 -6
- package/dist/esm/shared-lib/dto/pagination/pagination.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/purchase/purchaseCreate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/purchase/purchaseCreate.request.dto.js +4 -3
- package/dist/esm/shared-lib/dto/purchase/purchaseCreate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.d.ts +2 -2
- package/dist/esm/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.js +4 -3
- package/dist/esm/shared-lib/dto/purchase/purchaseTokenUpdate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js +12 -18
- package/dist/esm/shared-lib/dto/redemption/redemptionCreate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js +4 -4
- package/dist/esm/shared-lib/dto/redemption/redemptionRedeem.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionType.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/redemption/redemptionType.dto.js +4 -3
- package/dist/esm/shared-lib/dto/redemption/redemptionType.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/signing-account/create-signing-account-request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/signing-account/create-signing-account-request.dto.js +3 -2
- package/dist/esm/shared-lib/dto/signing-account/create-signing-account-request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/signing-account/index.d.ts +0 -1
- package/dist/esm/shared-lib/dto/signing-account/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/signing-account/index.js +0 -1
- package/dist/esm/shared-lib/dto/signing-account/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/signing-account/update-signing-account.dto.d.ts +2 -2
- package/dist/esm/shared-lib/dto/signing-account/update-signing-account.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/signing-account/update-signing-account.dto.js +15 -4
- package/dist/esm/shared-lib/dto/signing-account/update-signing-account.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.js +8 -4
- package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +13 -19
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-metadata.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-metadata.dto.js +11 -10
- package/dist/esm/shared-lib/dto/token/token-metadata.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-selector.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-selector.dto.js +6 -5
- package/dist/esm/shared-lib/dto/token/token-selector.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-type.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-type.dto.js +5 -4
- package/dist/esm/shared-lib/dto/token/token-type.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-unit.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/token/token-unit.dto.js +6 -9
- package/dist/esm/shared-lib/dto/token/token-unit.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/token/token.request.dto.d.ts +3 -3
- package/dist/esm/shared-lib/dto/token/token.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/token/token.request.dto.js +8 -15
- package/dist/esm/shared-lib/dto/token/token.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction-bulk-data.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction-bulk-data.request.dto.js +11 -10
- package/dist/esm/shared-lib/dto/transaction/transaction-bulk-data.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction-pagination.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction-pagination.request.dto.js +15 -14
- package/dist/esm/shared-lib/dto/transaction/transaction-pagination.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction.request.dto.js +22 -13
- package/dist/esm/shared-lib/dto/transaction/transaction.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/user/user.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/user/user.request.dto.js +11 -10
- package/dist/esm/shared-lib/dto/user/user.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/user/userUploadData.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/user/userUploadData.dto.js +7 -6
- package/dist/esm/shared-lib/dto/user/userUploadData.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/user-status-type.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/user-status-type.dto.js +4 -3
- package/dist/esm/shared-lib/dto/user-status-type.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/web3-contract.dto.d.ts +5 -5
- package/dist/esm/shared-lib/dto/web3-contract.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/web3-contract.dto.js +17 -16
- package/dist/esm/shared-lib/dto/web3-contract.dto.js.map +1 -1
- package/dist/esm/shared-lib/enum/file-upload-entity-type.enum.d.ts +13 -0
- package/dist/esm/shared-lib/enum/file-upload-entity-type.enum.d.ts.map +1 -0
- package/dist/esm/shared-lib/enum/file-upload-entity-type.enum.js +14 -0
- package/dist/esm/shared-lib/enum/file-upload-entity-type.enum.js.map +1 -0
- package/dist/esm/shared-lib/enum/index.d.ts +2 -0
- package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/enum/index.js +2 -0
- package/dist/esm/shared-lib/enum/index.js.map +1 -1
- package/dist/esm/shared-lib/enum/signed-url-type.enum.d.ts +10 -0
- package/dist/esm/shared-lib/enum/signed-url-type.enum.d.ts.map +1 -0
- package/dist/esm/shared-lib/enum/signed-url-type.enum.js +11 -0
- package/dist/esm/shared-lib/enum/signed-url-type.enum.js.map +1 -0
- package/dist/esm/shared-lib/interfaces/base-pagination.interface.d.ts +18 -4
- package/dist/esm/shared-lib/interfaces/base-pagination.interface.d.ts.map +1 -1
- package/dist/esm/shared-lib/types/business-membership-include-relation.type.d.ts +28 -0
- package/dist/esm/shared-lib/types/business-membership-include-relation.type.d.ts.map +1 -0
- package/dist/esm/shared-lib/types/business-membership-include-relation.type.js +14 -0
- package/dist/esm/shared-lib/types/business-membership-include-relation.type.js.map +1 -0
- package/dist/esm/shared-lib/types/index.d.ts +1 -0
- package/dist/esm/shared-lib/types/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/types/index.js +1 -0
- package/dist/esm/shared-lib/types/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/shared-lib/dto/signing-account/activate-signing-account.dto.d.ts +0 -12
- package/dist/cjs/shared-lib/dto/signing-account/activate-signing-account.dto.d.ts.map +0 -1
- package/dist/cjs/shared-lib/dto/signing-account/activate-signing-account.dto.js +0 -43
- package/dist/cjs/shared-lib/dto/signing-account/activate-signing-account.dto.js.map +0 -1
- package/dist/esm/shared-lib/dto/signing-account/activate-signing-account.dto.d.ts +0 -12
- package/dist/esm/shared-lib/dto/signing-account/activate-signing-account.dto.d.ts.map +0 -1
- package/dist/esm/shared-lib/dto/signing-account/activate-signing-account.dto.js +0 -42
- package/dist/esm/shared-lib/dto/signing-account/activate-signing-account.dto.js.map +0 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from './shared-lib/enum';
|
|
|
2
2
|
export * from './shared-lib/interfaces';
|
|
3
3
|
export * from './shared-lib/types';
|
|
4
4
|
export type * from './shared-lib/dto';
|
|
5
|
+
export * from './shared-lib/decorators';
|
|
5
6
|
export * from '@explorins/web3-types';
|
|
6
7
|
export type * from './shared-lib/errors';
|
|
7
8
|
export { type StructuredError, ErrorCategory } from './shared-lib/errors/base/error-classification-enums';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,kBAAkB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,kBAAkB,CAAC;AAGtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,uBAAuB,CAAC;AAGtC,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -21,6 +21,8 @@ exports.ErrorCategory = void 0;
|
|
|
21
21
|
__exportStar(require("./shared-lib/enum"), exports);
|
|
22
22
|
__exportStar(require("./shared-lib/interfaces"), exports);
|
|
23
23
|
__exportStar(require("./shared-lib/types"), exports);
|
|
24
|
+
// Decorators - Validation decorators for DTO handling (Zapier/automation tool compatibility)
|
|
25
|
+
__exportStar(require("./shared-lib/decorators"), exports);
|
|
24
26
|
// Re-export web3 types for convenience
|
|
25
27
|
__exportStar(require("@explorins/web3-types"), exports);
|
|
26
28
|
var error_classification_enums_1 = require("./shared-lib/errors/base/error-classification-enums");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAClC,0DAAwC;AACxC,qDAAmC;AAGnC,uCAAuC;AACvC,wDAAsC;AAItC,kGAA0G;AAA3E,2HAAA,aAAa,OAAA;AAE5C,4CAA4C;AAC5C,2CAA2C;AAC3C,iFAAiF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAClC,0DAAwC;AACxC,qDAAmC;AAGnC,6FAA6F;AAC7F,0DAAwC;AAExC,uCAAuC;AACvC,wDAAsC;AAItC,kGAA0G;AAA3E,2HAAA,aAAa,OAAA;AAE5C,4CAA4C;AAC5C,2CAA2C;AAC3C,iFAAiF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./validation.decorators"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { TransformFnParams } from 'class-transformer';
|
|
2
|
+
/**
|
|
3
|
+
* =============================================================================
|
|
4
|
+
* OPTIONAL FIELD VALIDATION DECORATORS
|
|
5
|
+
* =============================================================================
|
|
6
|
+
*
|
|
7
|
+
* These decorators handle empty values from automation tools (Zapier, forms, etc.)
|
|
8
|
+
* that send "" instead of omitting optional fields.
|
|
9
|
+
*
|
|
10
|
+
* DECISION TREE - Which decorator to use?
|
|
11
|
+
* ────────────────────────────────────────
|
|
12
|
+
*
|
|
13
|
+
* Is this for CREATE or UPDATE?
|
|
14
|
+
* │
|
|
15
|
+
* ├─ CREATE → Empty "" should be STRIPPED (field not set)
|
|
16
|
+
* │ ├─ String/UUID/Email field → @OptionalStrip()
|
|
17
|
+
* │ └─ Number field → @OptionalStripNumber()
|
|
18
|
+
* │
|
|
19
|
+
* └─ UPDATE → Empty "" should NULLIFY the field (set to null)
|
|
20
|
+
* ├─ String/UUID/Email field → @OptionalNullify()
|
|
21
|
+
* └─ Number field → @OptionalNullifyNumber()
|
|
22
|
+
*
|
|
23
|
+
*
|
|
24
|
+
* BEHAVIOR COMPARISON
|
|
25
|
+
* ───────────────────
|
|
26
|
+
*
|
|
27
|
+
* | Input | @OptionalStrip | @OptionalNullify |
|
|
28
|
+
* |------------|------------------|---------------------|
|
|
29
|
+
* | "" | undefined | null |
|
|
30
|
+
* | null | undefined | null |
|
|
31
|
+
* | "hello" | "hello" | "hello" |
|
|
32
|
+
* | "123" | 123 (if Number) | 123 (if Number) |
|
|
33
|
+
* | not sent | undefined | undefined |
|
|
34
|
+
*
|
|
35
|
+
*
|
|
36
|
+
* EXAMPLES
|
|
37
|
+
* ────────
|
|
38
|
+
*
|
|
39
|
+
* CREATE DTO:
|
|
40
|
+
* ```typescript
|
|
41
|
+
* @OptionalStrip()
|
|
42
|
+
* @IsString()
|
|
43
|
+
* name?: string;
|
|
44
|
+
*
|
|
45
|
+
* @OptionalStripNumber()
|
|
46
|
+
* @IsNumber()
|
|
47
|
+
* multiplier?: number;
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* UPDATE DTO:
|
|
51
|
+
* ```typescript
|
|
52
|
+
* @OptionalNullify()
|
|
53
|
+
* @IsString()
|
|
54
|
+
* description?: string | null;
|
|
55
|
+
*
|
|
56
|
+
* @OptionalNullifyNumber()
|
|
57
|
+
* @IsNumber()
|
|
58
|
+
* latitude?: number | null;
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
/**
|
|
62
|
+
* Transform function: empty string → null
|
|
63
|
+
*
|
|
64
|
+
* Use for UPDATE operations where empty string should CLEAR the field (set to null).
|
|
65
|
+
*
|
|
66
|
+
* Behavior:
|
|
67
|
+
* - "" → null (clear the field)
|
|
68
|
+
* - null → null (already null)
|
|
69
|
+
* - undefined → undefined (field unchanged, not sent to DB)
|
|
70
|
+
* - "value" → "value" (preserved)
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* @IsOptional()
|
|
75
|
+
* @Transform(emptyToNull)
|
|
76
|
+
* @ValidateIf((o, v) => v !== null)
|
|
77
|
+
* @IsString()
|
|
78
|
+
* name?: string | null;
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare const emptyToNull: ({ value }: TransformFnParams) => any;
|
|
82
|
+
/**
|
|
83
|
+
* Transform function: empty/null/whitespace → undefined
|
|
84
|
+
*
|
|
85
|
+
* Use for CREATE operations where empty values should be IGNORED (stripped).
|
|
86
|
+
*
|
|
87
|
+
* Behavior:
|
|
88
|
+
* - "" → undefined (stripped)
|
|
89
|
+
* - null → undefined (stripped)
|
|
90
|
+
* - " " → undefined (whitespace stripped)
|
|
91
|
+
* - undefined → undefined (already absent)
|
|
92
|
+
* - "value" → "value" (preserved)
|
|
93
|
+
*/
|
|
94
|
+
export declare const emptyToUndefined: ({ value }: TransformFnParams) => any;
|
|
95
|
+
/**
|
|
96
|
+
* Transform function: empty → undefined, string numbers → parsed numbers
|
|
97
|
+
*
|
|
98
|
+
* Use for number fields in CREATE operations.
|
|
99
|
+
*
|
|
100
|
+
* Behavior:
|
|
101
|
+
* - "" → undefined (stripped)
|
|
102
|
+
* - null → undefined (stripped)
|
|
103
|
+
* - " " → undefined (whitespace stripped)
|
|
104
|
+
* - "123" → 123 (parsed to number)
|
|
105
|
+
* - "42.5" → 42.5 (parsed to float)
|
|
106
|
+
* - 123 → 123 (already number)
|
|
107
|
+
*/
|
|
108
|
+
export declare const emptyToUndefinedNumber: ({ value }: TransformFnParams) => any;
|
|
109
|
+
/**
|
|
110
|
+
* @OptionalStrip - Strips empty values for CREATE operations (string/general fields)
|
|
111
|
+
*
|
|
112
|
+
* Combines @IsOptional() with empty value stripping.
|
|
113
|
+
* Empty values are converted to undefined (field is ignored).
|
|
114
|
+
*
|
|
115
|
+
* Use Case: CREATE operations where empty strings from Zapier/forms should be ignored.
|
|
116
|
+
*
|
|
117
|
+
* Behavior:
|
|
118
|
+
* - "" → undefined (stripped, validation passes)
|
|
119
|
+
* - null → undefined (stripped, validation passes)
|
|
120
|
+
* - " " → undefined (whitespace stripped, validation passes)
|
|
121
|
+
* - undefined → undefined (already absent, validation passes)
|
|
122
|
+
* - "value" → "value" (preserved, validation runs)
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* @OptionalStrip()
|
|
127
|
+
* @IsString()
|
|
128
|
+
* name?: string;
|
|
129
|
+
*
|
|
130
|
+
* @OptionalStrip()
|
|
131
|
+
* @IsUUID()
|
|
132
|
+
* referenceId?: string;
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
export declare function OptionalStrip(): PropertyDecorator;
|
|
136
|
+
/**
|
|
137
|
+
* @OptionalStripNumber - Strips empty values for number fields in CREATE operations
|
|
138
|
+
*
|
|
139
|
+
* Combines @IsOptional() with:
|
|
140
|
+
* 1. Empty value stripping (empty strings, null, whitespace → undefined)
|
|
141
|
+
* 2. String number parsing ("123" → 123)
|
|
142
|
+
*
|
|
143
|
+
* Use Case: CREATE operations where Zapier sends "" or "42.5" for number fields.
|
|
144
|
+
*
|
|
145
|
+
* Behavior:
|
|
146
|
+
* - "" → undefined (stripped, validation passes)
|
|
147
|
+
* - null → undefined (stripped, validation passes)
|
|
148
|
+
* - " " → undefined (whitespace stripped, validation passes)
|
|
149
|
+
* - "123" → 123 (parsed to number, validation runs)
|
|
150
|
+
* - "42.5" → 42.5 (parsed to float, validation runs)
|
|
151
|
+
* - 123 → 123 (already number, validation runs)
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* @OptionalStripNumber()
|
|
156
|
+
* @IsNumber()
|
|
157
|
+
* multiplier?: number;
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export declare function OptionalStripNumber(): PropertyDecorator;
|
|
161
|
+
/**
|
|
162
|
+
* @OptionalNullify - Nullifies empty values for UPDATE operations (nullable fields)
|
|
163
|
+
*
|
|
164
|
+
* Combines @IsOptional(), @Transform(emptyToNull), and @ValidateIf for nullable fields.
|
|
165
|
+
* Empty strings are converted to null (field is explicitly cleared in DB).
|
|
166
|
+
*
|
|
167
|
+
* Use Case: UPDATE operations where "" should CLEAR the field (set to null).
|
|
168
|
+
*
|
|
169
|
+
* Behavior:
|
|
170
|
+
* - "" → null (clear field in DB)
|
|
171
|
+
* - null → null (clear field in DB)
|
|
172
|
+
* - undefined → undefined (field not updated)
|
|
173
|
+
* - "value" → "value" (preserved, validation runs)
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* @OptionalNullify()
|
|
178
|
+
* @IsString()
|
|
179
|
+
* description?: string | null;
|
|
180
|
+
*
|
|
181
|
+
* @OptionalNullify()
|
|
182
|
+
* @IsUrl()
|
|
183
|
+
* imageUrl?: string | null;
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
export declare function OptionalNullify(): PropertyDecorator;
|
|
187
|
+
/**
|
|
188
|
+
* Transform function: empty → null, string numbers → parsed numbers
|
|
189
|
+
*
|
|
190
|
+
* Use for number fields in UPDATE operations.
|
|
191
|
+
*
|
|
192
|
+
* Behavior:
|
|
193
|
+
* - "" → null (clear field in DB)
|
|
194
|
+
* - null → null (clear field in DB)
|
|
195
|
+
* - " " → null (whitespace → null)
|
|
196
|
+
* - undefined → undefined (field not updated)
|
|
197
|
+
* - "123" → 123 (parsed to number)
|
|
198
|
+
* - "42.5" → 42.5 (parsed to float)
|
|
199
|
+
* - 123 → 123 (already number)
|
|
200
|
+
*/
|
|
201
|
+
export declare const emptyToNullNumber: ({ value }: TransformFnParams) => any;
|
|
202
|
+
/**
|
|
203
|
+
* @OptionalNullifyNumber - Nullifies empty values for number fields in UPDATE operations
|
|
204
|
+
*
|
|
205
|
+
* Combines @IsOptional(), empty-to-null transform, and string-to-number parsing.
|
|
206
|
+
* Empty strings are converted to null (field is explicitly cleared in DB).
|
|
207
|
+
*
|
|
208
|
+
* Use Case: UPDATE operations where "" should CLEAR the number field (set to null).
|
|
209
|
+
*
|
|
210
|
+
* Behavior:
|
|
211
|
+
* - "" → null (clear field in DB)
|
|
212
|
+
* - null → null (clear field in DB)
|
|
213
|
+
* - " " → null (whitespace → null)
|
|
214
|
+
* - undefined → undefined (field not updated)
|
|
215
|
+
* - "123" → 123 (parsed to number, validation runs)
|
|
216
|
+
* - "42.5" → 42.5 (parsed to float, validation runs)
|
|
217
|
+
* - 123 → 123 (already number, validation runs)
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```typescript
|
|
221
|
+
* @OptionalNullifyNumber()
|
|
222
|
+
* @IsNumber()
|
|
223
|
+
* latitude?: number | null;
|
|
224
|
+
*
|
|
225
|
+
* @OptionalNullifyNumber()
|
|
226
|
+
* @IsNumber()
|
|
227
|
+
* order?: number | null;
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
export declare function OptionalNullifyNumber(): PropertyDecorator;
|
|
231
|
+
//# sourceMappingURL=validation.decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.decorators.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/validation.decorators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAMH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,iBAAiB,QAC3B,CAAC;AAE9B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,iBAAiB,QAK5D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,iBAAiB,QASlE,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,IAAI,iBAAiB,CAKjD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAKvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,iBAAiB,QAS7D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,CAMzD"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emptyToNullNumber = exports.emptyToUndefinedNumber = exports.emptyToUndefined = exports.emptyToNull = void 0;
|
|
4
|
+
exports.OptionalStrip = OptionalStrip;
|
|
5
|
+
exports.OptionalStripNumber = OptionalStripNumber;
|
|
6
|
+
exports.OptionalNullify = OptionalNullify;
|
|
7
|
+
exports.OptionalNullifyNumber = OptionalNullifyNumber;
|
|
8
|
+
const common_1 = require("@nestjs/common");
|
|
9
|
+
const class_validator_1 = require("class-validator");
|
|
10
|
+
const class_transformer_1 = require("class-transformer");
|
|
11
|
+
/**
|
|
12
|
+
* =============================================================================
|
|
13
|
+
* OPTIONAL FIELD VALIDATION DECORATORS
|
|
14
|
+
* =============================================================================
|
|
15
|
+
*
|
|
16
|
+
* These decorators handle empty values from automation tools (Zapier, forms, etc.)
|
|
17
|
+
* that send "" instead of omitting optional fields.
|
|
18
|
+
*
|
|
19
|
+
* DECISION TREE - Which decorator to use?
|
|
20
|
+
* ────────────────────────────────────────
|
|
21
|
+
*
|
|
22
|
+
* Is this for CREATE or UPDATE?
|
|
23
|
+
* │
|
|
24
|
+
* ├─ CREATE → Empty "" should be STRIPPED (field not set)
|
|
25
|
+
* │ ├─ String/UUID/Email field → @OptionalStrip()
|
|
26
|
+
* │ └─ Number field → @OptionalStripNumber()
|
|
27
|
+
* │
|
|
28
|
+
* └─ UPDATE → Empty "" should NULLIFY the field (set to null)
|
|
29
|
+
* ├─ String/UUID/Email field → @OptionalNullify()
|
|
30
|
+
* └─ Number field → @OptionalNullifyNumber()
|
|
31
|
+
*
|
|
32
|
+
*
|
|
33
|
+
* BEHAVIOR COMPARISON
|
|
34
|
+
* ───────────────────
|
|
35
|
+
*
|
|
36
|
+
* | Input | @OptionalStrip | @OptionalNullify |
|
|
37
|
+
* |------------|------------------|---------------------|
|
|
38
|
+
* | "" | undefined | null |
|
|
39
|
+
* | null | undefined | null |
|
|
40
|
+
* | "hello" | "hello" | "hello" |
|
|
41
|
+
* | "123" | 123 (if Number) | 123 (if Number) |
|
|
42
|
+
* | not sent | undefined | undefined |
|
|
43
|
+
*
|
|
44
|
+
*
|
|
45
|
+
* EXAMPLES
|
|
46
|
+
* ────────
|
|
47
|
+
*
|
|
48
|
+
* CREATE DTO:
|
|
49
|
+
* ```typescript
|
|
50
|
+
* @OptionalStrip()
|
|
51
|
+
* @IsString()
|
|
52
|
+
* name?: string;
|
|
53
|
+
*
|
|
54
|
+
* @OptionalStripNumber()
|
|
55
|
+
* @IsNumber()
|
|
56
|
+
* multiplier?: number;
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* UPDATE DTO:
|
|
60
|
+
* ```typescript
|
|
61
|
+
* @OptionalNullify()
|
|
62
|
+
* @IsString()
|
|
63
|
+
* description?: string | null;
|
|
64
|
+
*
|
|
65
|
+
* @OptionalNullifyNumber()
|
|
66
|
+
* @IsNumber()
|
|
67
|
+
* latitude?: number | null;
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
// =============================================================================
|
|
71
|
+
// TRANSFORMS - Low-level transform functions for class-transformer
|
|
72
|
+
// =============================================================================
|
|
73
|
+
/**
|
|
74
|
+
* Transform function: empty string → null
|
|
75
|
+
*
|
|
76
|
+
* Use for UPDATE operations where empty string should CLEAR the field (set to null).
|
|
77
|
+
*
|
|
78
|
+
* Behavior:
|
|
79
|
+
* - "" → null (clear the field)
|
|
80
|
+
* - null → null (already null)
|
|
81
|
+
* - undefined → undefined (field unchanged, not sent to DB)
|
|
82
|
+
* - "value" → "value" (preserved)
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* @IsOptional()
|
|
87
|
+
* @Transform(emptyToNull)
|
|
88
|
+
* @ValidateIf((o, v) => v !== null)
|
|
89
|
+
* @IsString()
|
|
90
|
+
* name?: string | null;
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
const emptyToNull = ({ value }) => value === '' ? null : value;
|
|
94
|
+
exports.emptyToNull = emptyToNull;
|
|
95
|
+
/**
|
|
96
|
+
* Transform function: empty/null/whitespace → undefined
|
|
97
|
+
*
|
|
98
|
+
* Use for CREATE operations where empty values should be IGNORED (stripped).
|
|
99
|
+
*
|
|
100
|
+
* Behavior:
|
|
101
|
+
* - "" → undefined (stripped)
|
|
102
|
+
* - null → undefined (stripped)
|
|
103
|
+
* - " " → undefined (whitespace stripped)
|
|
104
|
+
* - undefined → undefined (already absent)
|
|
105
|
+
* - "value" → "value" (preserved)
|
|
106
|
+
*/
|
|
107
|
+
const emptyToUndefined = ({ value }) => {
|
|
108
|
+
if (value === '' || value === null || (typeof value === 'string' && value.trim() === '')) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
return value;
|
|
112
|
+
};
|
|
113
|
+
exports.emptyToUndefined = emptyToUndefined;
|
|
114
|
+
/**
|
|
115
|
+
* Transform function: empty → undefined, string numbers → parsed numbers
|
|
116
|
+
*
|
|
117
|
+
* Use for number fields in CREATE operations.
|
|
118
|
+
*
|
|
119
|
+
* Behavior:
|
|
120
|
+
* - "" → undefined (stripped)
|
|
121
|
+
* - null → undefined (stripped)
|
|
122
|
+
* - " " → undefined (whitespace stripped)
|
|
123
|
+
* - "123" → 123 (parsed to number)
|
|
124
|
+
* - "42.5" → 42.5 (parsed to float)
|
|
125
|
+
* - 123 → 123 (already number)
|
|
126
|
+
*/
|
|
127
|
+
const emptyToUndefinedNumber = ({ value }) => {
|
|
128
|
+
if (value === '' || value === null || (typeof value === 'string' && value.trim() === '')) {
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
if (typeof value === 'string') {
|
|
132
|
+
const parsed = parseFloat(value);
|
|
133
|
+
return isNaN(parsed) ? value : parsed;
|
|
134
|
+
}
|
|
135
|
+
return value;
|
|
136
|
+
};
|
|
137
|
+
exports.emptyToUndefinedNumber = emptyToUndefinedNumber;
|
|
138
|
+
// =============================================================================
|
|
139
|
+
// COMBINED DECORATORS - High-level decorators for common patterns
|
|
140
|
+
// =============================================================================
|
|
141
|
+
/**
|
|
142
|
+
* @OptionalStrip - Strips empty values for CREATE operations (string/general fields)
|
|
143
|
+
*
|
|
144
|
+
* Combines @IsOptional() with empty value stripping.
|
|
145
|
+
* Empty values are converted to undefined (field is ignored).
|
|
146
|
+
*
|
|
147
|
+
* Use Case: CREATE operations where empty strings from Zapier/forms should be ignored.
|
|
148
|
+
*
|
|
149
|
+
* Behavior:
|
|
150
|
+
* - "" → undefined (stripped, validation passes)
|
|
151
|
+
* - null → undefined (stripped, validation passes)
|
|
152
|
+
* - " " → undefined (whitespace stripped, validation passes)
|
|
153
|
+
* - undefined → undefined (already absent, validation passes)
|
|
154
|
+
* - "value" → "value" (preserved, validation runs)
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* @OptionalStrip()
|
|
159
|
+
* @IsString()
|
|
160
|
+
* name?: string;
|
|
161
|
+
*
|
|
162
|
+
* @OptionalStrip()
|
|
163
|
+
* @IsUUID()
|
|
164
|
+
* referenceId?: string;
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
function OptionalStrip() {
|
|
168
|
+
return (0, common_1.applyDecorators)((0, class_transformer_1.Transform)(exports.emptyToUndefined), (0, class_validator_1.IsOptional)());
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* @OptionalStripNumber - Strips empty values for number fields in CREATE operations
|
|
172
|
+
*
|
|
173
|
+
* Combines @IsOptional() with:
|
|
174
|
+
* 1. Empty value stripping (empty strings, null, whitespace → undefined)
|
|
175
|
+
* 2. String number parsing ("123" → 123)
|
|
176
|
+
*
|
|
177
|
+
* Use Case: CREATE operations where Zapier sends "" or "42.5" for number fields.
|
|
178
|
+
*
|
|
179
|
+
* Behavior:
|
|
180
|
+
* - "" → undefined (stripped, validation passes)
|
|
181
|
+
* - null → undefined (stripped, validation passes)
|
|
182
|
+
* - " " → undefined (whitespace stripped, validation passes)
|
|
183
|
+
* - "123" → 123 (parsed to number, validation runs)
|
|
184
|
+
* - "42.5" → 42.5 (parsed to float, validation runs)
|
|
185
|
+
* - 123 → 123 (already number, validation runs)
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* @OptionalStripNumber()
|
|
190
|
+
* @IsNumber()
|
|
191
|
+
* multiplier?: number;
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
function OptionalStripNumber() {
|
|
195
|
+
return (0, common_1.applyDecorators)((0, class_transformer_1.Transform)(exports.emptyToUndefinedNumber), (0, class_validator_1.IsOptional)());
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* @OptionalNullify - Nullifies empty values for UPDATE operations (nullable fields)
|
|
199
|
+
*
|
|
200
|
+
* Combines @IsOptional(), @Transform(emptyToNull), and @ValidateIf for nullable fields.
|
|
201
|
+
* Empty strings are converted to null (field is explicitly cleared in DB).
|
|
202
|
+
*
|
|
203
|
+
* Use Case: UPDATE operations where "" should CLEAR the field (set to null).
|
|
204
|
+
*
|
|
205
|
+
* Behavior:
|
|
206
|
+
* - "" → null (clear field in DB)
|
|
207
|
+
* - null → null (clear field in DB)
|
|
208
|
+
* - undefined → undefined (field not updated)
|
|
209
|
+
* - "value" → "value" (preserved, validation runs)
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* @OptionalNullify()
|
|
214
|
+
* @IsString()
|
|
215
|
+
* description?: string | null;
|
|
216
|
+
*
|
|
217
|
+
* @OptionalNullify()
|
|
218
|
+
* @IsUrl()
|
|
219
|
+
* imageUrl?: string | null;
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
function OptionalNullify() {
|
|
223
|
+
return (0, common_1.applyDecorators)((0, class_validator_1.IsOptional)(), (0, class_transformer_1.Transform)(exports.emptyToNull), (0, class_validator_1.ValidateIf)((_object, value) => value !== null));
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Transform function: empty → null, string numbers → parsed numbers
|
|
227
|
+
*
|
|
228
|
+
* Use for number fields in UPDATE operations.
|
|
229
|
+
*
|
|
230
|
+
* Behavior:
|
|
231
|
+
* - "" → null (clear field in DB)
|
|
232
|
+
* - null → null (clear field in DB)
|
|
233
|
+
* - " " → null (whitespace → null)
|
|
234
|
+
* - undefined → undefined (field not updated)
|
|
235
|
+
* - "123" → 123 (parsed to number)
|
|
236
|
+
* - "42.5" → 42.5 (parsed to float)
|
|
237
|
+
* - 123 → 123 (already number)
|
|
238
|
+
*/
|
|
239
|
+
const emptyToNullNumber = ({ value }) => {
|
|
240
|
+
if (value === '' || value === null || (typeof value === 'string' && value.trim() === '')) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
if (typeof value === 'string') {
|
|
244
|
+
const parsed = parseFloat(value);
|
|
245
|
+
return isNaN(parsed) ? value : parsed;
|
|
246
|
+
}
|
|
247
|
+
return value;
|
|
248
|
+
};
|
|
249
|
+
exports.emptyToNullNumber = emptyToNullNumber;
|
|
250
|
+
/**
|
|
251
|
+
* @OptionalNullifyNumber - Nullifies empty values for number fields in UPDATE operations
|
|
252
|
+
*
|
|
253
|
+
* Combines @IsOptional(), empty-to-null transform, and string-to-number parsing.
|
|
254
|
+
* Empty strings are converted to null (field is explicitly cleared in DB).
|
|
255
|
+
*
|
|
256
|
+
* Use Case: UPDATE operations where "" should CLEAR the number field (set to null).
|
|
257
|
+
*
|
|
258
|
+
* Behavior:
|
|
259
|
+
* - "" → null (clear field in DB)
|
|
260
|
+
* - null → null (clear field in DB)
|
|
261
|
+
* - " " → null (whitespace → null)
|
|
262
|
+
* - undefined → undefined (field not updated)
|
|
263
|
+
* - "123" → 123 (parsed to number, validation runs)
|
|
264
|
+
* - "42.5" → 42.5 (parsed to float, validation runs)
|
|
265
|
+
* - 123 → 123 (already number, validation runs)
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* ```typescript
|
|
269
|
+
* @OptionalNullifyNumber()
|
|
270
|
+
* @IsNumber()
|
|
271
|
+
* latitude?: number | null;
|
|
272
|
+
*
|
|
273
|
+
* @OptionalNullifyNumber()
|
|
274
|
+
* @IsNumber()
|
|
275
|
+
* order?: number | null;
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
function OptionalNullifyNumber() {
|
|
279
|
+
return (0, common_1.applyDecorators)((0, class_validator_1.IsOptional)(), (0, class_transformer_1.Transform)(exports.emptyToNullNumber), (0, class_validator_1.ValidateIf)((_object, value) => value !== null));
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=validation.decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.decorators.js","sourceRoot":"","sources":["../../../../src/shared-lib/decorators/validation.decorators.ts"],"names":[],"mappings":";;;AAoKA,sCAKC;AA0BD,kDAKC;AA2BD,0CAMC;AAuDD,sDAMC;AAtSD,2CAAiD;AACjD,qDAAyD;AACzD,yDAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,gFAAgF;AAChF,mEAAmE;AACnE,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE,CAC1D,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AADjB,QAAA,WAAW,eACM;AAE9B;;;;;;;;;;;GAWG;AACI,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE;IAC/D,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE;IACrE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,sBAAsB,0BASjC;AAEF,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAA,wBAAe,EACpB,IAAA,6BAAS,EAAC,wBAAgB,CAAC,EAC3B,IAAA,4BAAU,GAAE,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,wBAAe,EACpB,IAAA,6BAAS,EAAC,8BAAsB,CAAC,EACjC,IAAA,4BAAU,GAAE,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,eAAe;IAC7B,OAAO,IAAA,wBAAe,EACpB,IAAA,4BAAU,GAAE,EACZ,IAAA,6BAAS,EAAC,mBAAW,CAAC,EACtB,IAAA,4BAAU,EAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE;IAChE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,wBAAe,EACpB,IAAA,4BAAU,GAAE,EACZ,IAAA,6BAAS,EAAC,yBAAiB,CAAC,EAC5B,IAAA,4BAAU,EAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-selector.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/account-selector.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"account-selector.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/account-selector.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;;GAGG;AACH,qBAAa,kBAAkB;IAQ3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,WAAW,EAAE,gBAAgB,CAAyB;IAStD,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -13,6 +13,7 @@ exports.AccountSelectorDTO = void 0;
|
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const enum_1 = require("../enum");
|
|
16
|
+
const decorators_1 = require("../decorators");
|
|
16
17
|
/**
|
|
17
18
|
* Standard Account Identification for Transaction Participants
|
|
18
19
|
* Supports multiple identification methods with auto-detection
|
|
@@ -29,7 +30,7 @@ __decorate([
|
|
|
29
30
|
example: 'user123',
|
|
30
31
|
type: String
|
|
31
32
|
}),
|
|
32
|
-
(0,
|
|
33
|
+
(0, decorators_1.OptionalStrip)(),
|
|
33
34
|
(0, class_validator_1.IsString)(),
|
|
34
35
|
__metadata("design:type", String)
|
|
35
36
|
], AccountSelectorDTO.prototype, "accountId", void 0);
|
|
@@ -48,7 +49,7 @@ __decorate([
|
|
|
48
49
|
example: '0x742d35Cc5dB3dC0F0e8f0b0d2fA0c3fA2ed5D0f8',
|
|
49
50
|
type: String
|
|
50
51
|
}),
|
|
51
|
-
(0,
|
|
52
|
+
(0, decorators_1.OptionalStrip)(),
|
|
52
53
|
(0, class_validator_1.IsString)(),
|
|
53
54
|
__metadata("design:type", String)
|
|
54
55
|
], AccountSelectorDTO.prototype, "accountAddress", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-selector.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/account-selector.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"account-selector.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/account-selector.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAAmE;AACnE,qDAAmD;AACnD,kCAA2C;AAC3C,8CAA8C;AAE9C;;;GAGG;AACH,MAAa,kBAAkB;IAQ3B,SAAS,CAAU;IAQnB,WAAW,GAAqB,uBAAgB,CAAC,IAAI,CAAC;IAStD,cAAc,CAAU;CAC3B;AA1BD,gDA0BC;AAlBG;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;qDACQ;AAQnB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,uBAAgB;QACtB,OAAO,EAAE,uBAAgB,CAAC,IAAI;KACjC,CAAC;IACD,IAAA,wBAAM,EAAC,uBAAgB,CAAC;;uDAC6B;AAStD;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;0DACa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-create.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-create.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,qBAAa,qBAAqB;IAM9B,KAAK,EAAE,MAAM,CAAM;IAOnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAQrB,IAAI,EAAE,SAAS,CAA0B;CAC5C"}
|
|
@@ -13,6 +13,7 @@ exports.AdminCreateRequestDTO = void 0;
|
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const admin_type_enum_1 = require("./../../enum/admin-type.enum");
|
|
16
|
+
const decorators_1 = require("../../decorators");
|
|
16
17
|
class AdminCreateRequestDTO {
|
|
17
18
|
email = '';
|
|
18
19
|
displayName;
|
|
@@ -31,7 +32,7 @@ __decorate([
|
|
|
31
32
|
(0, swagger_1.ApiPropertyOptional)({
|
|
32
33
|
description: 'Display name of the admin',
|
|
33
34
|
}),
|
|
34
|
-
(0,
|
|
35
|
+
(0, decorators_1.OptionalStrip)(),
|
|
35
36
|
(0, class_validator_1.IsString)(),
|
|
36
37
|
__metadata("design:type", String)
|
|
37
38
|
], AdminCreateRequestDTO.prototype, "displayName", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-create.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"admin-create.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAAwE;AACxE,kEAAyD;AACzD,iDAAiD;AAEjD,MAAa,qBAAqB;IAM9B,KAAK,GAAW,EAAE,CAAC;IAOnB,WAAW,CAAU;IAQrB,IAAI,GAAc,2BAAS,CAAC,YAAY,CAAC;CAC5C;AAtBD,sDAsBC;AAhBG;IALC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oBAAoB;KACpC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;oDACS;AAOnB;IALC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,2BAA2B;KAC3C,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,0BAAQ,GAAE;;0DACU;AAQrB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,2BAAS;KAClB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,2BAAS,CAAC;;mDACuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/base-analytics.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/base-analytics.dto.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,8BAAsB,uBAAuB;IAO3C,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,SAAS,EAAE;QACT,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,EAAE,IAAI,CAAC;KACf,CAAC;CACH;AAED;;;;;GAKG;AACH,8BAAsB,wBAAwB;IAC5C,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;CAC1C"}
|