@explorins/pers-shared 2.1.35 → 2.1.37
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/CHANGELOG.md +21 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/auth.dto.d.ts +1 -2
- package/dist/cjs/shared-lib/dto/auth.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/auth.dto.js +1 -10
- package/dist/cjs/shared-lib/dto/auth.dto.js.map +1 -1
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.js +20 -1
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.js.map +1 -1
- package/dist/cjs/shared-lib/errors/base-business-error.d.ts +56 -2
- package/dist/cjs/shared-lib/errors/base-business-error.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/base-business-error.js +110 -11
- package/dist/cjs/shared-lib/errors/base-business-error.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.js +6 -6
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts +2 -2
- package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/balance-errors.js +2 -2
- package/dist/cjs/shared-lib/errors/domains/balance-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts +24 -3
- package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/business-errors.js +42 -3
- package/dist/cjs/shared-lib/errors/domains/business-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts +2 -2
- package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/contract-errors.js +1 -1
- package/dist/cjs/shared-lib/errors/domains/contract-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js +12 -10
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts +7 -4
- package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/system-errors.js +13 -6
- package/dist/cjs/shared-lib/errors/domains/system-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts +10 -4
- package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/token-errors.js +19 -5
- package/dist/cjs/shared-lib/errors/domains/token-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.js +14 -7
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts +2 -2
- package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/user-errors.js +1 -1
- package/dist/cjs/shared-lib/errors/domains/user-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts +4 -4
- package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/validation-errors.js +6 -7
- package/dist/cjs/shared-lib/errors/domains/validation-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.js +5 -4
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/index.d.ts +1 -1
- package/dist/cjs/shared-lib/errors/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/index.js +9 -1
- package/dist/cjs/shared-lib/errors/index.js.map +1 -1
- package/dist/cjs/shared-patterns/database/index.d.ts +6 -0
- package/dist/cjs/shared-patterns/database/index.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/database/index.js +24 -0
- package/dist/cjs/shared-patterns/database/index.js.map +1 -0
- package/dist/cjs/shared-patterns/database/models/base.model.d.ts +7 -0
- package/dist/cjs/shared-patterns/database/models/base.model.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/database/models/base.model.js +11 -0
- package/dist/cjs/shared-patterns/database/models/base.model.js.map +1 -0
- package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts +4 -0
- package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/database/models/fixture.model.js +8 -0
- package/dist/cjs/shared-patterns/database/models/fixture.model.js.map +1 -0
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts +5 -0
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js +11 -0
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js.map +1 -0
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts +44 -0
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js +64 -0
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js.map +1 -0
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts +51 -0
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js +57 -0
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js.map +1 -0
- package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts +28 -0
- package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/enums/lambda.enum.js +34 -0
- package/dist/cjs/shared-patterns/enums/lambda.enum.js.map +1 -0
- package/dist/cjs/shared-patterns/errors/error-factory.d.ts +150 -0
- package/dist/cjs/shared-patterns/errors/error-factory.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/errors/error-factory.js +257 -0
- package/dist/cjs/shared-patterns/errors/error-factory.js.map +1 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts +118 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js +111 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js.map +1 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts +23 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js +165 -0
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js.map +1 -0
- package/dist/cjs/shared-patterns/exceptions/index.d.ts +3 -0
- package/dist/cjs/shared-patterns/exceptions/index.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/exceptions/index.js +24 -0
- package/dist/cjs/shared-patterns/exceptions/index.js.map +1 -0
- package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts +16 -0
- package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/functions/crypto.functions.js +110 -0
- package/dist/cjs/shared-patterns/functions/crypto.functions.js.map +1 -0
- package/dist/cjs/shared-patterns/functions/helper.functions.d.ts +10 -0
- package/dist/cjs/shared-patterns/functions/helper.functions.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/functions/helper.functions.js +38 -0
- package/dist/cjs/shared-patterns/functions/helper.functions.js.map +1 -0
- package/dist/cjs/shared-patterns/functions/index.d.ts +4 -0
- package/dist/cjs/shared-patterns/functions/index.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/functions/index.js +21 -0
- package/dist/cjs/shared-patterns/functions/index.js.map +1 -0
- package/dist/cjs/shared-patterns/functions/request.functions.d.ts +14 -0
- package/dist/cjs/shared-patterns/functions/request.functions.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/functions/request.functions.js +69 -0
- package/dist/cjs/shared-patterns/functions/request.functions.js.map +1 -0
- package/dist/cjs/shared-patterns/index.d.ts +15 -0
- package/dist/cjs/shared-patterns/index.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/index.js +44 -0
- package/dist/cjs/shared-patterns/index.js.map +1 -0
- package/dist/cjs/shared-patterns/interfaces/index.d.ts +3 -0
- package/dist/cjs/shared-patterns/interfaces/index.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/interfaces/index.js +19 -0
- package/dist/cjs/shared-patterns/interfaces/index.js.map +1 -0
- package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts +21 -0
- package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/interfaces/request.interface.js +15 -0
- package/dist/cjs/shared-patterns/interfaces/request.interface.js.map +1 -0
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +9 -0
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +3 -0
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +1 -0
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts +90 -0
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js +124 -0
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js.map +1 -0
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts +50 -0
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.js +68 -0
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.js.map +1 -0
- package/dist/cjs/shared-patterns/orchestrators/index.d.ts +26 -0
- package/dist/cjs/shared-patterns/orchestrators/index.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/orchestrators/index.js +46 -0
- package/dist/cjs/shared-patterns/orchestrators/index.js.map +1 -0
- package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts +175 -0
- package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/utils/error-message.utils.js +258 -0
- package/dist/cjs/shared-patterns/utils/error-message.utils.js.map +1 -0
- package/dist/cjs/shared-patterns/utils/index.d.ts +3 -0
- package/dist/cjs/shared-patterns/utils/index.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/utils/index.js +20 -0
- package/dist/cjs/shared-patterns/utils/index.js.map +1 -0
- package/dist/cjs/shared-patterns/utils/validation.utils.d.ts +49 -0
- package/dist/cjs/shared-patterns/utils/validation.utils.d.ts.map +1 -0
- package/dist/cjs/shared-patterns/utils/validation.utils.js +76 -0
- package/dist/cjs/shared-patterns/utils/validation.utils.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/auth.dto.d.ts +1 -2
- package/dist/esm/shared-lib/dto/auth.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/auth.dto.js +1 -9
- package/dist/esm/shared-lib/dto/auth.dto.js.map +1 -1
- package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
- package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/base/error-classification-enums.js +11 -0
- package/dist/esm/shared-lib/errors/base/error-classification-enums.js.map +1 -1
- package/dist/esm/shared-lib/errors/base-business-error.d.ts +56 -2
- package/dist/esm/shared-lib/errors/base-business-error.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/base-business-error.js +101 -10
- package/dist/esm/shared-lib/errors/base-business-error.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
- package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/authentication-errors.js +7 -7
- package/dist/esm/shared-lib/errors/domains/authentication-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts +2 -2
- package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/balance-errors.js +3 -3
- package/dist/esm/shared-lib/errors/domains/balance-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/business-errors.d.ts +24 -3
- package/dist/esm/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/business-errors.js +37 -3
- package/dist/esm/shared-lib/errors/domains/business-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts +2 -2
- package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/contract-errors.js +2 -2
- package/dist/esm/shared-lib/errors/domains/contract-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.js +13 -11
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/system-errors.d.ts +7 -4
- package/dist/esm/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/system-errors.js +12 -6
- package/dist/esm/shared-lib/errors/domains/system-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/token-errors.d.ts +10 -4
- package/dist/esm/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/token-errors.js +17 -5
- package/dist/esm/shared-lib/errors/domains/token-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
- package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/transaction-errors.js +13 -7
- package/dist/esm/shared-lib/errors/domains/transaction-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/user-errors.d.ts +2 -2
- package/dist/esm/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/user-errors.js +2 -2
- package/dist/esm/shared-lib/errors/domains/user-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts +4 -4
- package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/validation-errors.js +7 -8
- package/dist/esm/shared-lib/errors/domains/validation-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
- package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/wallet-errors.js +6 -5
- package/dist/esm/shared-lib/errors/domains/wallet-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/index.d.ts +1 -1
- package/dist/esm/shared-lib/errors/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/index.js +1 -1
- package/dist/esm/shared-lib/errors/index.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts +0 -2
- package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts.map +1 -1
- package/dist/esm/shared-patterns/database/index.d.ts +6 -0
- package/dist/esm/shared-patterns/database/index.d.ts.map +1 -0
- package/dist/esm/shared-patterns/database/index.js +8 -0
- package/dist/esm/shared-patterns/database/index.js.map +1 -0
- package/dist/esm/shared-patterns/database/models/base.model.d.ts +7 -0
- package/dist/esm/shared-patterns/database/models/base.model.d.ts.map +1 -0
- package/dist/esm/shared-patterns/database/models/base.model.js +7 -0
- package/dist/esm/shared-patterns/database/models/base.model.js.map +1 -0
- package/dist/esm/shared-patterns/database/models/fixture.model.d.ts +4 -0
- package/dist/esm/shared-patterns/database/models/fixture.model.d.ts.map +1 -0
- package/dist/esm/shared-patterns/database/models/fixture.model.js +4 -0
- package/dist/esm/shared-patterns/database/models/fixture.model.js.map +1 -0
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts +5 -0
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +1 -0
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js +8 -0
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js.map +1 -0
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts +44 -0
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +1 -0
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js +61 -0
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js.map +1 -0
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts +51 -0
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +1 -0
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js +54 -0
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js.map +1 -0
- package/dist/esm/shared-patterns/enums/lambda.enum.d.ts +28 -0
- package/dist/esm/shared-patterns/enums/lambda.enum.d.ts.map +1 -0
- package/dist/esm/shared-patterns/enums/lambda.enum.js +31 -0
- package/dist/esm/shared-patterns/enums/lambda.enum.js.map +1 -0
- package/dist/esm/shared-patterns/errors/error-factory.d.ts +150 -0
- package/dist/esm/shared-patterns/errors/error-factory.d.ts.map +1 -0
- package/dist/esm/shared-patterns/errors/error-factory.js +254 -0
- package/dist/esm/shared-patterns/errors/error-factory.js.map +1 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts +118 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +1 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js +108 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js.map +1 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts +23 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts.map +1 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.js +161 -0
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.js.map +1 -0
- package/dist/esm/shared-patterns/exceptions/index.d.ts +3 -0
- package/dist/esm/shared-patterns/exceptions/index.d.ts.map +1 -0
- package/dist/esm/shared-patterns/exceptions/index.js +6 -0
- package/dist/esm/shared-patterns/exceptions/index.js.map +1 -0
- package/dist/esm/shared-patterns/functions/crypto.functions.d.ts +16 -0
- package/dist/esm/shared-patterns/functions/crypto.functions.d.ts.map +1 -0
- package/dist/esm/shared-patterns/functions/crypto.functions.js +67 -0
- package/dist/esm/shared-patterns/functions/crypto.functions.js.map +1 -0
- package/dist/esm/shared-patterns/functions/helper.functions.d.ts +10 -0
- package/dist/esm/shared-patterns/functions/helper.functions.d.ts.map +1 -0
- package/dist/esm/shared-patterns/functions/helper.functions.js +32 -0
- package/dist/esm/shared-patterns/functions/helper.functions.js.map +1 -0
- package/dist/esm/shared-patterns/functions/index.d.ts +4 -0
- package/dist/esm/shared-patterns/functions/index.d.ts.map +1 -0
- package/dist/esm/shared-patterns/functions/index.js +5 -0
- package/dist/esm/shared-patterns/functions/index.js.map +1 -0
- package/dist/esm/shared-patterns/functions/request.functions.d.ts +14 -0
- package/dist/esm/shared-patterns/functions/request.functions.d.ts.map +1 -0
- package/dist/esm/shared-patterns/functions/request.functions.js +61 -0
- package/dist/esm/shared-patterns/functions/request.functions.js.map +1 -0
- package/dist/esm/shared-patterns/index.d.ts +15 -0
- package/dist/esm/shared-patterns/index.d.ts.map +1 -0
- package/dist/esm/shared-patterns/index.js +28 -0
- package/dist/esm/shared-patterns/index.js.map +1 -0
- package/dist/esm/shared-patterns/interfaces/index.d.ts +3 -0
- package/dist/esm/shared-patterns/interfaces/index.d.ts.map +1 -0
- package/dist/esm/shared-patterns/interfaces/index.js +3 -0
- package/dist/esm/shared-patterns/interfaces/index.js.map +1 -0
- package/dist/esm/shared-patterns/interfaces/request.interface.d.ts +21 -0
- package/dist/esm/shared-patterns/interfaces/request.interface.d.ts.map +1 -0
- package/dist/esm/shared-patterns/interfaces/request.interface.js +11 -0
- package/dist/esm/shared-patterns/interfaces/request.interface.js.map +1 -0
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +9 -0
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +1 -0
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +2 -0
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +1 -0
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts +90 -0
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts.map +1 -0
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js +116 -0
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js.map +1 -0
- package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts +50 -0
- package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts.map +1 -0
- package/dist/esm/shared-patterns/orchestrators/base-workflow.js +64 -0
- package/dist/esm/shared-patterns/orchestrators/base-workflow.js.map +1 -0
- package/dist/esm/shared-patterns/orchestrators/index.d.ts +26 -0
- package/dist/esm/shared-patterns/orchestrators/index.d.ts.map +1 -0
- package/dist/esm/shared-patterns/orchestrators/index.js +30 -0
- package/dist/esm/shared-patterns/orchestrators/index.js.map +1 -0
- package/dist/esm/shared-patterns/utils/error-message.utils.d.ts +175 -0
- package/dist/esm/shared-patterns/utils/error-message.utils.d.ts.map +1 -0
- package/dist/esm/shared-patterns/utils/error-message.utils.js +244 -0
- package/dist/esm/shared-patterns/utils/error-message.utils.js.map +1 -0
- package/dist/esm/shared-patterns/utils/index.d.ts +3 -0
- package/dist/esm/shared-patterns/utils/index.d.ts.map +1 -0
- package/dist/esm/shared-patterns/utils/index.js +4 -0
- package/dist/esm/shared-patterns/utils/index.js.map +1 -0
- package/dist/esm/shared-patterns/utils/validation.utils.d.ts +49 -0
- package/dist/esm/shared-patterns/utils/validation.utils.d.ts.map +1 -0
- package/dist/esm/shared-patterns/utils/validation.utils.js +70 -0
- package/dist/esm/shared-patterns/utils/validation.utils.js.map +1 -0
- package/package.json +2 -25
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lambda function enums for internal microservice communication
|
|
3
|
+
* Used across multiple domains for lambda-based orchestration
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Domain enum for Lambda function names
|
|
7
|
+
* Contains business-meaningful function categories
|
|
8
|
+
*/
|
|
9
|
+
export declare enum LambdaFunctionName {
|
|
10
|
+
TRANSACTION = "transaction"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Domain enum for specific invokable Lambda functions
|
|
14
|
+
* Represents the business operations available through Lambda
|
|
15
|
+
*/
|
|
16
|
+
export declare enum LambdaInvokableFunctionName {
|
|
17
|
+
RUN_TRANSACTION_ASYNC = "runTransactionAsync",
|
|
18
|
+
SUBMIT_SIGNED_TRANSACTION = "submitSignedTransaction"
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Domain enum for Lambda invocation types
|
|
22
|
+
* Business perspective on synchronous vs asynchronous operations
|
|
23
|
+
*/
|
|
24
|
+
export declare enum LambdaInvocationType {
|
|
25
|
+
SYNCHRONOUS = "RequestResponse",
|
|
26
|
+
ASYNCHRONOUS = "Event"
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=lambda.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/enums/lambda.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,WAAW,gBAAgB;CAC5B;AAED;;;GAGG;AACH,oBAAY,2BAA2B;IACrC,qBAAqB,wBAAwB;IAC7C,yBAAyB,4BAA4B;CACtD;AAED;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B,WAAW,oBAAoB;IAC/B,YAAY,UAAU;CACvB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lambda function enums for internal microservice communication
|
|
3
|
+
* Used across multiple domains for lambda-based orchestration
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Domain enum for Lambda function names
|
|
7
|
+
* Contains business-meaningful function categories
|
|
8
|
+
*/
|
|
9
|
+
export var LambdaFunctionName;
|
|
10
|
+
(function (LambdaFunctionName) {
|
|
11
|
+
LambdaFunctionName["TRANSACTION"] = "transaction";
|
|
12
|
+
})(LambdaFunctionName || (LambdaFunctionName = {}));
|
|
13
|
+
/**
|
|
14
|
+
* Domain enum for specific invokable Lambda functions
|
|
15
|
+
* Represents the business operations available through Lambda
|
|
16
|
+
*/
|
|
17
|
+
export var LambdaInvokableFunctionName;
|
|
18
|
+
(function (LambdaInvokableFunctionName) {
|
|
19
|
+
LambdaInvokableFunctionName["RUN_TRANSACTION_ASYNC"] = "runTransactionAsync";
|
|
20
|
+
LambdaInvokableFunctionName["SUBMIT_SIGNED_TRANSACTION"] = "submitSignedTransaction";
|
|
21
|
+
})(LambdaInvokableFunctionName || (LambdaInvokableFunctionName = {}));
|
|
22
|
+
/**
|
|
23
|
+
* Domain enum for Lambda invocation types
|
|
24
|
+
* Business perspective on synchronous vs asynchronous operations
|
|
25
|
+
*/
|
|
26
|
+
export var LambdaInvocationType;
|
|
27
|
+
(function (LambdaInvocationType) {
|
|
28
|
+
LambdaInvocationType["SYNCHRONOUS"] = "RequestResponse";
|
|
29
|
+
LambdaInvocationType["ASYNCHRONOUS"] = "Event";
|
|
30
|
+
})(LambdaInvocationType || (LambdaInvocationType = {}));
|
|
31
|
+
//# sourceMappingURL=lambda.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda.enum.js","sourceRoot":"","sources":["../../../../src/shared-patterns/enums/lambda.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,iDAA2B,CAAA;AAC7B,CAAC,EAFW,kBAAkB,KAAlB,kBAAkB,QAE7B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,4EAA6C,CAAA;IAC7C,oFAAqD,CAAA;AACvD,CAAC,EAHW,2BAA2B,KAA3B,2BAA2B,QAGtC;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,uDAA+B,CAAA;IAC/B,8CAAsB,CAAA;AACxB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { UserNotFoundError, BusinessNotFoundError, TokenNotFoundError, TransactionNotFoundError, AuthenticationRequiredError, InvalidTokenError, TokenExpiredError, AuthorizationFailedError, InsufficientBalanceError, InvalidInputError, RequiredFieldError, InvalidFormatError, SystemError, ExternalServiceError, ConfigurationMissingError, TokenNotActiveError, TokenIdRequiredError, TokenTypeNotFoundError, TokenUnitNotFoundError, TransactionAlreadyCompletedError, TransactionNotPendingError, TransactionValidationError, SigningAccountValidationError, SigningAccountNotFoundError, SigningAccountAlreadyExistsError, KeyGenerationError, CampaignNotFoundError, GeographicRestrictionError, LocationVerificationRequiredError, RedemptionLimitReachedError, UserStatusRestrictedError, WalletNotFoundError, WalletMissingSigningError, SmartWalletProcessingError, BusinessNotMinterError, UnexpectedValidationScenarioError } from '../../shared-lib/errors';
|
|
2
|
+
/**
|
|
3
|
+
* Universal Error Factory for NestJS Applications
|
|
4
|
+
*
|
|
5
|
+
* This factory provides a clean, discoverable API for creating errors while
|
|
6
|
+
* maintaining the domain error classes as the single source of truth.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* - Domain files define canonical error classes (exported as types for frontend)
|
|
10
|
+
* - Factory methods instantiate these domain classes (no duplication)
|
|
11
|
+
* - NestJS apps use factory for clean developer experience
|
|
12
|
+
* - Frontend devs import types from domain classes
|
|
13
|
+
*/
|
|
14
|
+
export declare class ErrorFactory {
|
|
15
|
+
/**
|
|
16
|
+
* Resource "not found" patterns
|
|
17
|
+
* Uses domain classes internally for consistency
|
|
18
|
+
*/
|
|
19
|
+
static userNotFound(identifier: string): UserNotFoundError;
|
|
20
|
+
static businessNotFound(identifier: string): BusinessNotFoundError;
|
|
21
|
+
static tokenNotFound(tokenId: string): TokenNotFoundError;
|
|
22
|
+
static transactionNotFound(transactionId: string): TransactionNotFoundError;
|
|
23
|
+
static campaignNotFound(campaignId: string): CampaignNotFoundError;
|
|
24
|
+
static tokenUnitNotFound(tokenUnitId?: string): TokenUnitNotFoundError;
|
|
25
|
+
/**
|
|
26
|
+
* Authentication & Authorization patterns
|
|
27
|
+
*/
|
|
28
|
+
static authRequired(resource?: string): AuthenticationRequiredError;
|
|
29
|
+
static invalidToken(reason?: string): InvalidTokenError;
|
|
30
|
+
static tokenExpired(): TokenExpiredError;
|
|
31
|
+
static forbidden(action: string, resource: string): AuthorizationFailedError;
|
|
32
|
+
/**
|
|
33
|
+
* Business rule patterns
|
|
34
|
+
*/
|
|
35
|
+
static geographicRestriction(countryCode: string, resource?: string): GeographicRestrictionError;
|
|
36
|
+
static locationRequired(resource?: string): LocationVerificationRequiredError;
|
|
37
|
+
static limitReached(limitType: 'max_redemption' | 'user_limit'): RedemptionLimitReachedError;
|
|
38
|
+
static userStatusRestricted(): UserStatusRestrictedError;
|
|
39
|
+
/**
|
|
40
|
+
* Validation patterns
|
|
41
|
+
*/
|
|
42
|
+
static invalidInput(field: string, reason?: string): InvalidInputError;
|
|
43
|
+
static requiredField(field: string): RequiredFieldError;
|
|
44
|
+
static invalidFormat(field: string, expectedFormat: string): InvalidFormatError;
|
|
45
|
+
/**
|
|
46
|
+
* Financial/Balance patterns
|
|
47
|
+
*/
|
|
48
|
+
static insufficientBalance(required: string, available: string): InsufficientBalanceError;
|
|
49
|
+
/**
|
|
50
|
+
* Technical/Infrastructure patterns
|
|
51
|
+
*/
|
|
52
|
+
static systemError(operation: string, details: string): SystemError;
|
|
53
|
+
static externalServiceError(serviceName: string, operation: string): ExternalServiceError;
|
|
54
|
+
static configMissing(configKey: string): ConfigurationMissingError;
|
|
55
|
+
/**
|
|
56
|
+
* Token-specific patterns
|
|
57
|
+
*/
|
|
58
|
+
static tokenNotActive(tokenId: string): TokenNotActiveError;
|
|
59
|
+
static tokenIdRequired(tokenType: string): TokenIdRequiredError;
|
|
60
|
+
static tokenTypeNotFound(tokenType: string): TokenTypeNotFoundError;
|
|
61
|
+
/**
|
|
62
|
+
* Transaction-specific patterns
|
|
63
|
+
*/
|
|
64
|
+
static transactionAlreadyCompleted(transactionId: string, currentStatus: string): TransactionAlreadyCompletedError;
|
|
65
|
+
static transactionNotPending(transactionId: string, currentStatus: string): TransactionNotPendingError;
|
|
66
|
+
static transactionValidation(field: string, reason: string): TransactionValidationError;
|
|
67
|
+
/**
|
|
68
|
+
* Signing account patterns
|
|
69
|
+
*/
|
|
70
|
+
static signingAccountValidation(field: string, reason: string): SigningAccountValidationError;
|
|
71
|
+
static signingAccountNotFound(identifier: string): SigningAccountNotFoundError;
|
|
72
|
+
static signingAccountAlreadyExists(accountAddress: string): SigningAccountAlreadyExistsError;
|
|
73
|
+
static keyGeneration(reason: string): KeyGenerationError;
|
|
74
|
+
/**
|
|
75
|
+
* Wallet patterns
|
|
76
|
+
*/
|
|
77
|
+
static walletNotFound(ownerAddress: string): WalletNotFoundError;
|
|
78
|
+
static walletMissingSigning(walletAddress: string, reason: string): WalletMissingSigningError;
|
|
79
|
+
static smartWalletProcessing(reason: string): SmartWalletProcessingError;
|
|
80
|
+
/**
|
|
81
|
+
* Business patterns
|
|
82
|
+
*/
|
|
83
|
+
static businessNotMinter(businessId: string, tokenAddress: string): BusinessNotMinterError;
|
|
84
|
+
/**
|
|
85
|
+
* Validation patterns
|
|
86
|
+
*/
|
|
87
|
+
static unexpectedValidationScenario(context: string): UnexpectedValidationScenarioError;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Convenient shortcut object for the most commonly used error patterns
|
|
91
|
+
* Provides clean, discoverable API for NestJS applications
|
|
92
|
+
*/
|
|
93
|
+
export declare const Errors: {
|
|
94
|
+
userNotFound: (id: string) => UserNotFoundError;
|
|
95
|
+
businessNotFound: (id: string) => BusinessNotFoundError;
|
|
96
|
+
tokenNotFound: (id: string) => TokenNotFoundError;
|
|
97
|
+
tokenUnitNotFound: (id?: string) => TokenUnitNotFoundError;
|
|
98
|
+
transactionNotFound: (id: string) => TransactionNotFoundError;
|
|
99
|
+
campaignNotFound: (id: string) => CampaignNotFoundError;
|
|
100
|
+
authRequired: (resource?: string) => AuthenticationRequiredError;
|
|
101
|
+
invalidToken: (reason?: string) => InvalidTokenError;
|
|
102
|
+
tokenExpired: () => TokenExpiredError;
|
|
103
|
+
forbidden: (action: string, resource: string) => AuthorizationFailedError;
|
|
104
|
+
geographicRestriction: (countryCode: string, resource?: string) => GeographicRestrictionError;
|
|
105
|
+
locationRequired: (resource?: string) => LocationVerificationRequiredError;
|
|
106
|
+
limitReached: (limitType: "max_redemption" | "user_limit") => RedemptionLimitReachedError;
|
|
107
|
+
userStatusRestricted: () => UserStatusRestrictedError;
|
|
108
|
+
invalidInput: (field: string, reason?: string) => InvalidInputError;
|
|
109
|
+
requiredField: (field: string) => RequiredFieldError;
|
|
110
|
+
invalidFormat: (field: string, format: string) => InvalidFormatError;
|
|
111
|
+
insufficientBalance: (required: string, available: string) => InsufficientBalanceError;
|
|
112
|
+
systemError: (operation: string, details: string) => SystemError;
|
|
113
|
+
externalServiceError: (service: string, operation: string) => ExternalServiceError;
|
|
114
|
+
configMissing: (key: string) => ConfigurationMissingError;
|
|
115
|
+
tokenNotActive: (id: string) => TokenNotActiveError;
|
|
116
|
+
tokenIdRequired: (type: string) => TokenIdRequiredError;
|
|
117
|
+
tokenTypeNotFound: (type: string) => TokenTypeNotFoundError;
|
|
118
|
+
transactionAlreadyCompleted: (id: string, status: string) => TransactionAlreadyCompletedError;
|
|
119
|
+
transactionNotPending: (id: string, status: string) => TransactionNotPendingError;
|
|
120
|
+
transactionValidation: (field: string, reason: string) => TransactionValidationError;
|
|
121
|
+
signingAccountValidation: (field: string, reason: string) => SigningAccountValidationError;
|
|
122
|
+
signingAccountNotFound: (id: string) => SigningAccountNotFoundError;
|
|
123
|
+
signingAccountAlreadyExists: (address: string) => SigningAccountAlreadyExistsError;
|
|
124
|
+
keyGeneration: (reason: string) => KeyGenerationError;
|
|
125
|
+
walletNotFound: (address: string) => WalletNotFoundError;
|
|
126
|
+
walletMissingSigning: (address: string, reason: string) => WalletMissingSigningError;
|
|
127
|
+
smartWalletProcessing: (reason: string) => SmartWalletProcessingError;
|
|
128
|
+
businessNotMinter: (businessId: string, tokenAddress: string) => BusinessNotMinterError;
|
|
129
|
+
unexpectedValidationScenario: (context: string) => UnexpectedValidationScenarioError;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Advanced Error Builder for complex scenarios
|
|
133
|
+
* Still references domain classes when possible
|
|
134
|
+
*/
|
|
135
|
+
export declare class ErrorBuilder {
|
|
136
|
+
private config;
|
|
137
|
+
static create(): ErrorBuilder;
|
|
138
|
+
/**
|
|
139
|
+
* Use a specific domain error class
|
|
140
|
+
*/
|
|
141
|
+
useClass(errorClass: any, ...params: any[]): ErrorBuilder;
|
|
142
|
+
/**
|
|
143
|
+
* Build the error instance
|
|
144
|
+
*/
|
|
145
|
+
build(): Error;
|
|
146
|
+
buildUserNotFound(id: string): UserNotFoundError;
|
|
147
|
+
buildBusinessNotFound(id: string): BusinessNotFoundError;
|
|
148
|
+
buildAuthRequired(resource: string): AuthenticationRequiredError;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=error-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-factory.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/errors/error-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import {
|
|
2
|
+
// Domain error classes - single source of truth
|
|
3
|
+
UserNotFoundError, BusinessNotFoundError, TokenNotFoundError, TransactionNotFoundError, AuthenticationRequiredError, InvalidTokenError, TokenExpiredError, AuthorizationFailedError, InsufficientBalanceError, InvalidInputError, RequiredFieldError, InvalidFormatError, SystemError, ExternalServiceError, ConfigurationMissingError, TokenNotActiveError, TokenIdRequiredError, TokenTypeNotFoundError, TokenUnitNotFoundError, TransactionAlreadyCompletedError, TransactionNotPendingError, TransactionValidationError, SigningAccountValidationError, SigningAccountNotFoundError, SigningAccountAlreadyExistsError, KeyGenerationError, CampaignNotFoundError, GeographicRestrictionError, LocationVerificationRequiredError, RedemptionLimitReachedError, UserStatusRestrictedError, WalletNotFoundError, WalletMissingSigningError, SmartWalletProcessingError, BusinessNotMinterError, UnexpectedValidationScenarioError } from '../../shared-lib/errors';
|
|
4
|
+
/**
|
|
5
|
+
* Universal Error Factory for NestJS Applications
|
|
6
|
+
*
|
|
7
|
+
* This factory provides a clean, discoverable API for creating errors while
|
|
8
|
+
* maintaining the domain error classes as the single source of truth.
|
|
9
|
+
*
|
|
10
|
+
* Architecture:
|
|
11
|
+
* - Domain files define canonical error classes (exported as types for frontend)
|
|
12
|
+
* - Factory methods instantiate these domain classes (no duplication)
|
|
13
|
+
* - NestJS apps use factory for clean developer experience
|
|
14
|
+
* - Frontend devs import types from domain classes
|
|
15
|
+
*/
|
|
16
|
+
export class ErrorFactory {
|
|
17
|
+
/**
|
|
18
|
+
* Resource "not found" patterns
|
|
19
|
+
* Uses domain classes internally for consistency
|
|
20
|
+
*/
|
|
21
|
+
static userNotFound(identifier) {
|
|
22
|
+
return new UserNotFoundError(identifier);
|
|
23
|
+
}
|
|
24
|
+
static businessNotFound(identifier) {
|
|
25
|
+
return new BusinessNotFoundError(identifier);
|
|
26
|
+
}
|
|
27
|
+
static tokenNotFound(tokenId) {
|
|
28
|
+
return new TokenNotFoundError(tokenId);
|
|
29
|
+
}
|
|
30
|
+
static transactionNotFound(transactionId) {
|
|
31
|
+
return new TransactionNotFoundError(transactionId);
|
|
32
|
+
}
|
|
33
|
+
static campaignNotFound(campaignId) {
|
|
34
|
+
return new CampaignNotFoundError(campaignId);
|
|
35
|
+
}
|
|
36
|
+
static tokenUnitNotFound(tokenUnitId) {
|
|
37
|
+
return new TokenUnitNotFoundError(tokenUnitId);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Authentication & Authorization patterns
|
|
41
|
+
*/
|
|
42
|
+
static authRequired(resource) {
|
|
43
|
+
return new AuthenticationRequiredError(resource || 'this resource');
|
|
44
|
+
}
|
|
45
|
+
static invalidToken(reason) {
|
|
46
|
+
return new InvalidTokenError(reason);
|
|
47
|
+
}
|
|
48
|
+
static tokenExpired() {
|
|
49
|
+
return new TokenExpiredError();
|
|
50
|
+
}
|
|
51
|
+
static forbidden(action, resource) {
|
|
52
|
+
return new AuthorizationFailedError(action, resource);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Business rule patterns
|
|
56
|
+
*/
|
|
57
|
+
static geographicRestriction(countryCode, resource) {
|
|
58
|
+
return new GeographicRestrictionError(countryCode, resource);
|
|
59
|
+
}
|
|
60
|
+
static locationRequired(resource) {
|
|
61
|
+
return new LocationVerificationRequiredError(resource);
|
|
62
|
+
}
|
|
63
|
+
static limitReached(limitType) {
|
|
64
|
+
return new RedemptionLimitReachedError(limitType);
|
|
65
|
+
}
|
|
66
|
+
static userStatusRestricted() {
|
|
67
|
+
return new UserStatusRestrictedError();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Validation patterns
|
|
71
|
+
*/
|
|
72
|
+
static invalidInput(field, reason) {
|
|
73
|
+
return new InvalidInputError(field, reason);
|
|
74
|
+
}
|
|
75
|
+
static requiredField(field) {
|
|
76
|
+
return new RequiredFieldError(field);
|
|
77
|
+
}
|
|
78
|
+
static invalidFormat(field, expectedFormat) {
|
|
79
|
+
return new InvalidFormatError(field, expectedFormat);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Financial/Balance patterns
|
|
83
|
+
*/
|
|
84
|
+
static insufficientBalance(required, available) {
|
|
85
|
+
return new InsufficientBalanceError(required, available);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Technical/Infrastructure patterns
|
|
89
|
+
*/
|
|
90
|
+
static systemError(operation, details) {
|
|
91
|
+
return new SystemError(operation, details);
|
|
92
|
+
}
|
|
93
|
+
static externalServiceError(serviceName, operation) {
|
|
94
|
+
return new ExternalServiceError(serviceName, operation);
|
|
95
|
+
}
|
|
96
|
+
static configMissing(configKey) {
|
|
97
|
+
return new ConfigurationMissingError(configKey);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Token-specific patterns
|
|
101
|
+
*/
|
|
102
|
+
static tokenNotActive(tokenId) {
|
|
103
|
+
return new TokenNotActiveError(tokenId);
|
|
104
|
+
}
|
|
105
|
+
static tokenIdRequired(tokenType) {
|
|
106
|
+
return new TokenIdRequiredError(tokenType);
|
|
107
|
+
}
|
|
108
|
+
static tokenTypeNotFound(tokenType) {
|
|
109
|
+
return new TokenTypeNotFoundError(tokenType);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Transaction-specific patterns
|
|
113
|
+
*/
|
|
114
|
+
static transactionAlreadyCompleted(transactionId, currentStatus) {
|
|
115
|
+
return new TransactionAlreadyCompletedError(transactionId, currentStatus);
|
|
116
|
+
}
|
|
117
|
+
static transactionNotPending(transactionId, currentStatus) {
|
|
118
|
+
return new TransactionNotPendingError(transactionId, currentStatus);
|
|
119
|
+
}
|
|
120
|
+
static transactionValidation(field, reason) {
|
|
121
|
+
return new TransactionValidationError(field, reason);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Signing account patterns
|
|
125
|
+
*/
|
|
126
|
+
static signingAccountValidation(field, reason) {
|
|
127
|
+
return new SigningAccountValidationError(field, reason);
|
|
128
|
+
}
|
|
129
|
+
static signingAccountNotFound(identifier) {
|
|
130
|
+
return new SigningAccountNotFoundError(identifier);
|
|
131
|
+
}
|
|
132
|
+
static signingAccountAlreadyExists(accountAddress) {
|
|
133
|
+
return new SigningAccountAlreadyExistsError(accountAddress);
|
|
134
|
+
}
|
|
135
|
+
static keyGeneration(reason) {
|
|
136
|
+
return new KeyGenerationError(reason);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Wallet patterns
|
|
140
|
+
*/
|
|
141
|
+
static walletNotFound(ownerAddress) {
|
|
142
|
+
return new WalletNotFoundError(ownerAddress);
|
|
143
|
+
}
|
|
144
|
+
static walletMissingSigning(walletAddress, reason) {
|
|
145
|
+
return new WalletMissingSigningError(walletAddress, reason);
|
|
146
|
+
}
|
|
147
|
+
static smartWalletProcessing(reason) {
|
|
148
|
+
return new SmartWalletProcessingError(reason);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Business patterns
|
|
152
|
+
*/
|
|
153
|
+
static businessNotMinter(businessId, tokenAddress) {
|
|
154
|
+
return new BusinessNotMinterError(businessId, tokenAddress);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Validation patterns
|
|
158
|
+
*/
|
|
159
|
+
static unexpectedValidationScenario(context) {
|
|
160
|
+
return new UnexpectedValidationScenarioError(context);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Convenient shortcut object for the most commonly used error patterns
|
|
165
|
+
* Provides clean, discoverable API for NestJS applications
|
|
166
|
+
*/
|
|
167
|
+
export const Errors = {
|
|
168
|
+
// Resource not found
|
|
169
|
+
userNotFound: (id) => ErrorFactory.userNotFound(id),
|
|
170
|
+
businessNotFound: (id) => ErrorFactory.businessNotFound(id),
|
|
171
|
+
tokenNotFound: (id) => ErrorFactory.tokenNotFound(id),
|
|
172
|
+
tokenUnitNotFound: (id) => ErrorFactory.tokenUnitNotFound(id),
|
|
173
|
+
transactionNotFound: (id) => ErrorFactory.transactionNotFound(id),
|
|
174
|
+
campaignNotFound: (id) => ErrorFactory.campaignNotFound(id),
|
|
175
|
+
// Authentication
|
|
176
|
+
authRequired: (resource) => ErrorFactory.authRequired(resource),
|
|
177
|
+
invalidToken: (reason) => ErrorFactory.invalidToken(reason),
|
|
178
|
+
tokenExpired: () => ErrorFactory.tokenExpired(),
|
|
179
|
+
forbidden: (action, resource) => ErrorFactory.forbidden(action, resource),
|
|
180
|
+
// Business rules
|
|
181
|
+
geographicRestriction: (countryCode, resource) => ErrorFactory.geographicRestriction(countryCode, resource),
|
|
182
|
+
locationRequired: (resource) => ErrorFactory.locationRequired(resource),
|
|
183
|
+
limitReached: (limitType) => ErrorFactory.limitReached(limitType),
|
|
184
|
+
userStatusRestricted: () => ErrorFactory.userStatusRestricted(),
|
|
185
|
+
// Validation
|
|
186
|
+
invalidInput: (field, reason) => ErrorFactory.invalidInput(field, reason),
|
|
187
|
+
requiredField: (field) => ErrorFactory.requiredField(field),
|
|
188
|
+
invalidFormat: (field, format) => ErrorFactory.invalidFormat(field, format),
|
|
189
|
+
// Financial
|
|
190
|
+
insufficientBalance: (required, available) => ErrorFactory.insufficientBalance(required, available),
|
|
191
|
+
// Technical
|
|
192
|
+
systemError: (operation, details) => ErrorFactory.systemError(operation, details),
|
|
193
|
+
externalServiceError: (service, operation) => ErrorFactory.externalServiceError(service, operation),
|
|
194
|
+
configMissing: (key) => ErrorFactory.configMissing(key),
|
|
195
|
+
// Token specific
|
|
196
|
+
tokenNotActive: (id) => ErrorFactory.tokenNotActive(id),
|
|
197
|
+
tokenIdRequired: (type) => ErrorFactory.tokenIdRequired(type),
|
|
198
|
+
tokenTypeNotFound: (type) => ErrorFactory.tokenTypeNotFound(type),
|
|
199
|
+
// Transaction specific
|
|
200
|
+
transactionAlreadyCompleted: (id, status) => ErrorFactory.transactionAlreadyCompleted(id, status),
|
|
201
|
+
transactionNotPending: (id, status) => ErrorFactory.transactionNotPending(id, status),
|
|
202
|
+
transactionValidation: (field, reason) => ErrorFactory.transactionValidation(field, reason),
|
|
203
|
+
// Signing account
|
|
204
|
+
signingAccountValidation: (field, reason) => ErrorFactory.signingAccountValidation(field, reason),
|
|
205
|
+
signingAccountNotFound: (id) => ErrorFactory.signingAccountNotFound(id),
|
|
206
|
+
signingAccountAlreadyExists: (address) => ErrorFactory.signingAccountAlreadyExists(address),
|
|
207
|
+
keyGeneration: (reason) => ErrorFactory.keyGeneration(reason),
|
|
208
|
+
// Wallet
|
|
209
|
+
walletNotFound: (address) => ErrorFactory.walletNotFound(address),
|
|
210
|
+
walletMissingSigning: (address, reason) => ErrorFactory.walletMissingSigning(address, reason),
|
|
211
|
+
smartWalletProcessing: (reason) => ErrorFactory.smartWalletProcessing(reason),
|
|
212
|
+
// Business
|
|
213
|
+
businessNotMinter: (businessId, tokenAddress) => ErrorFactory.businessNotMinter(businessId, tokenAddress),
|
|
214
|
+
// Validation
|
|
215
|
+
unexpectedValidationScenario: (context) => ErrorFactory.unexpectedValidationScenario(context)
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* Advanced Error Builder for complex scenarios
|
|
219
|
+
* Still references domain classes when possible
|
|
220
|
+
*/
|
|
221
|
+
export class ErrorBuilder {
|
|
222
|
+
config = {};
|
|
223
|
+
static create() {
|
|
224
|
+
return new ErrorBuilder();
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Use a specific domain error class
|
|
228
|
+
*/
|
|
229
|
+
useClass(errorClass, ...params) {
|
|
230
|
+
this.config.errorClass = errorClass;
|
|
231
|
+
this.config.params = params;
|
|
232
|
+
return this;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Build the error instance
|
|
236
|
+
*/
|
|
237
|
+
build() {
|
|
238
|
+
if (this.config.errorClass && this.config.params) {
|
|
239
|
+
return new this.config.errorClass(...this.config.params);
|
|
240
|
+
}
|
|
241
|
+
throw new Error('ErrorBuilder: No error class specified');
|
|
242
|
+
}
|
|
243
|
+
// Convenience methods for common error types
|
|
244
|
+
buildUserNotFound(id) {
|
|
245
|
+
return new UserNotFoundError(id);
|
|
246
|
+
}
|
|
247
|
+
buildBusinessNotFound(id) {
|
|
248
|
+
return new BusinessNotFoundError(id);
|
|
249
|
+
}
|
|
250
|
+
buildAuthRequired(resource) {
|
|
251
|
+
return new AuthenticationRequiredError(resource);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=error-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-factory.js","sourceRoot":"","sources":["../../../../src/shared-patterns/errors/error-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Classification Enums and Interfaces
|
|
3
|
+
*
|
|
4
|
+
* This file defines the error categorization system used throughout the application.
|
|
5
|
+
*
|
|
6
|
+
* 🎯 DEVELOPER GUIDANCE:
|
|
7
|
+
*
|
|
8
|
+
* When creating errors, choose the appropriate category:
|
|
9
|
+
*
|
|
10
|
+
* 1. DOMAIN_RULE: Business logic violations
|
|
11
|
+
* → Use BusinessLogicError subclasses (e.g., TokenTypeNotFoundError)
|
|
12
|
+
*
|
|
13
|
+
* 2. TECHNICAL: Application/config issues
|
|
14
|
+
* → Use TechnicalError.withMessage() for meaningful technical errors
|
|
15
|
+
*
|
|
16
|
+
* 3. VALIDATION: Input format/validation failures
|
|
17
|
+
* → Let NestJS validation decorators handle these automatically
|
|
18
|
+
*
|
|
19
|
+
* 4. INFRASTRUCTURE: External system failures
|
|
20
|
+
* → These are usually classified automatically from generic Error() instances
|
|
21
|
+
*
|
|
22
|
+
* 5. SECURITY: Auth/authorization issues
|
|
23
|
+
* → Use NestJS guards and filters for consistent security errors
|
|
24
|
+
*
|
|
25
|
+
* 💡 TIP: Prefer structured errors (BusinessLogicError/TechnicalError) over generic Error()
|
|
26
|
+
* for better user experience and debugging capability.
|
|
27
|
+
*
|
|
28
|
+
* 📊 QUICK REFERENCE TABLE:
|
|
29
|
+
* ┌─────────────────┬─────────────┬─────────────────────────────────────┬───────────┐
|
|
30
|
+
* │ Category │ HTTP Status │ Example │ Retryable │
|
|
31
|
+
* ├─────────────────┼─────────────┼─────────────────────────────────────┼───────────┤
|
|
32
|
+
* │ VALIDATION │ 400 │ "Email format invalid" │ No │
|
|
33
|
+
* │ DOMAIN_RULE │ 422 │ "Insufficient balance" │ No │
|
|
34
|
+
* │ TECHNICAL │ 422 │ "Invalid file format" │ Maybe │
|
|
35
|
+
* │ INFRASTRUCTURE │ 503 │ "Database connection failed" │ Yes │
|
|
36
|
+
* │ SECURITY │ 403 │ "Access denied" │ No │
|
|
37
|
+
* │ RATE_LIMIT │ 429 │ "API rate limit exceeded" │ Yes │
|
|
38
|
+
* │ TIMEOUT │ 504 │ "Request timeout" │ Yes │
|
|
39
|
+
* │ UNKNOWN │ 500 │ Generic Error() instances │ Yes │
|
|
40
|
+
* └─────────────────┴─────────────┴─────────────────────────────────────┴───────────┘
|
|
41
|
+
*/
|
|
42
|
+
/**
|
|
43
|
+
* Error severity levels for prioritization and alerting
|
|
44
|
+
*
|
|
45
|
+
* Determines the urgency of response and escalation procedures:
|
|
46
|
+
* - Monitoring alert thresholds
|
|
47
|
+
* - On-call escalation policies
|
|
48
|
+
* - SLA response times
|
|
49
|
+
* - Business impact assessment
|
|
50
|
+
*/
|
|
51
|
+
export declare enum ErrorSeverity {
|
|
52
|
+
/**
|
|
53
|
+
* Low severity - Minor issues, degraded experience but service functional
|
|
54
|
+
* Examples: Optional feature failures, cosmetic issues, non-critical warnings
|
|
55
|
+
* Response Time: 24-48 hours
|
|
56
|
+
* Escalation: Development team during business hours
|
|
57
|
+
* Business Impact: Minimal
|
|
58
|
+
*/
|
|
59
|
+
LOW = "LOW",
|
|
60
|
+
/**
|
|
61
|
+
* Medium severity - Noticeable issues, some functionality impaired
|
|
62
|
+
* Examples: Performance degradation, secondary feature failures, data sync delays
|
|
63
|
+
* Response Time: 4-8 hours
|
|
64
|
+
* Escalation: Development team within same day
|
|
65
|
+
* Business Impact: Moderate
|
|
66
|
+
*/
|
|
67
|
+
MEDIUM = "MEDIUM",
|
|
68
|
+
/**
|
|
69
|
+
* High severity - Significant issues, core functionality impaired
|
|
70
|
+
* Examples: Payment failures, authentication issues, critical feature outages
|
|
71
|
+
* Response Time: 1-2 hours
|
|
72
|
+
* Escalation: Immediate development team notification
|
|
73
|
+
* Business Impact: High
|
|
74
|
+
*/
|
|
75
|
+
HIGH = "HIGH",
|
|
76
|
+
/**
|
|
77
|
+
* Critical severity - System down, major business impact
|
|
78
|
+
* Examples: Complete service outage, data corruption, security breaches
|
|
79
|
+
* Response Time: Immediate (< 15 minutes)
|
|
80
|
+
* Escalation: Page on-call engineer, notify leadership
|
|
81
|
+
* Business Impact: Severe
|
|
82
|
+
*/
|
|
83
|
+
CRITICAL = "CRITICAL"
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* API error response format including correlation tracking
|
|
87
|
+
*/
|
|
88
|
+
export interface ApiErrorResponse {
|
|
89
|
+
code: string;
|
|
90
|
+
domain: string;
|
|
91
|
+
message: string;
|
|
92
|
+
developerMessage?: string;
|
|
93
|
+
action?: string;
|
|
94
|
+
timestamp: string;
|
|
95
|
+
category: string;
|
|
96
|
+
correlationId: string;
|
|
97
|
+
retryable: boolean;
|
|
98
|
+
severity: ErrorSeverity;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* HTTP Status codes used by our error classification system
|
|
102
|
+
*
|
|
103
|
+
* Centralized here to maintain consistency across error classification
|
|
104
|
+
* and avoid duplication with NestJS HttpStatus values.
|
|
105
|
+
*/
|
|
106
|
+
export declare enum ErrorHttpStatus {
|
|
107
|
+
BAD_REQUEST = 400,
|
|
108
|
+
UNAUTHORIZED = 401,
|
|
109
|
+
FORBIDDEN = 403,
|
|
110
|
+
NOT_FOUND = 404,
|
|
111
|
+
CONFLICT = 409,
|
|
112
|
+
UNPROCESSABLE_ENTITY = 422,
|
|
113
|
+
TOO_MANY_REQUESTS = 429,
|
|
114
|
+
INTERNAL_SERVER_ERROR = 500,
|
|
115
|
+
SERVICE_UNAVAILABLE = 503,
|
|
116
|
+
GATEWAY_TIMEOUT = 504
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=error-classification-enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-classification-enums.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classification-enums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAKH;;;;;;;;GAQG;AACH,oBAAY,aAAa;IACvB;;;;;;OAMG;IACH,GAAG,QAAQ;IAEX;;;;;;OAMG;IACH,MAAM,WAAW;IAEjB;;;;;;OAMG;IACH,IAAI,SAAS;IAEb;;;;;;OAMG;IACH,QAAQ,aAAa;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAID;;;;;GAKG;AACH,oBAAY,eAAe;IACzB,WAAW,MAAM;IACjB,YAAY,MAAM;IAClB,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd,oBAAoB,MAAM;IAC1B,iBAAiB,MAAM;IACvB,qBAAqB,MAAM;IAC3B,mBAAmB,MAAM;IACzB,eAAe,MAAM;CACtB"}
|