@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
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
import { HttpStatus } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { ValidationError, DomainRuleError, TechnicalError } from '../base-business-error';
|
|
3
3
|
import { CommonErrorCodes, ErrorDomains } from '../error-codes';
|
|
4
4
|
/**
|
|
5
5
|
* Transaction domain business errors
|
|
6
6
|
*/
|
|
7
|
-
export class TransactionAlreadyCompletedError extends
|
|
7
|
+
export class TransactionAlreadyCompletedError extends DomainRuleError {
|
|
8
8
|
constructor(transactionId, currentStatus) {
|
|
9
9
|
super(CommonErrorCodes.TRANSACTION_ALREADY_COMPLETED, ErrorDomains.TRANSACTION, 'This transaction has already been completed', `Transaction ${transactionId} is in status: ${currentStatus}`, HttpStatus.CONFLICT, 'Please refresh and check the transaction status');
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
export class TransactionNotPendingError extends
|
|
12
|
+
export class TransactionNotPendingError extends DomainRuleError {
|
|
13
13
|
constructor(transactionId, currentStatus) {
|
|
14
14
|
super(CommonErrorCodes.TRANSACTION_NOT_PENDING, ErrorDomains.TRANSACTION, 'Transaction is not in a pending state', `Transaction ${transactionId} has status: ${currentStatus}, expected: pending`, HttpStatus.CONFLICT, 'Please check the current transaction status');
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
export class TransactionValidationError extends
|
|
17
|
+
export class TransactionValidationError extends ValidationError {
|
|
18
18
|
constructor(field, reason) {
|
|
19
|
-
super(CommonErrorCodes.
|
|
19
|
+
super(CommonErrorCodes.VALIDATION_ERROR, ErrorDomains.TRANSACTION, `Transaction validation failed: ${reason}`, `Field '${field}' validation failed: ${reason}`, field, 'Please check the transaction data and try again');
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
export class UnexpectedValidationScenarioError extends
|
|
22
|
+
export class UnexpectedValidationScenarioError extends TechnicalError {
|
|
23
23
|
constructor(scenario) {
|
|
24
|
-
super(CommonErrorCodes.UNEXPECTED_VALIDATION_SCENARIO, ErrorDomains.VALIDATION, 'Unexpected validation scenario encountered', `Unexpected validation scenario: ${scenario}`, HttpStatus.INTERNAL_SERVER_ERROR, 'Please contact support'
|
|
24
|
+
super(CommonErrorCodes.UNEXPECTED_VALIDATION_SCENARIO, ErrorDomains.VALIDATION, 'Unexpected validation scenario encountered', `Unexpected validation scenario: ${scenario}`, HttpStatus.INTERNAL_SERVER_ERROR, 'Please contact support', false // not retryable - unexpected scenario
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class TransactionNotFoundError extends DomainRuleError {
|
|
29
|
+
constructor(transactionId) {
|
|
30
|
+
super('TRANSACTION_NOT_FOUND', ErrorDomains.TRANSACTION, 'Transaction not found', `Transaction with ID '${transactionId}' not found`, HttpStatus.NOT_FOUND, 'Please verify the transaction ID and try again');
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
//# sourceMappingURL=transaction-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/transaction-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transaction-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/transaction-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAsB,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AACH,MAAM,OAAO,gCAAiC,SAAQ,eAAe;IACnE,YAAY,aAAqB,EAAE,aAAqB;QACtD,KAAK,CACH,gBAAgB,CAAC,6BAA6B,EAC9C,YAAY,CAAC,WAAW,EACxB,6CAA6C,EAC7C,eAAe,aAAa,kBAAkB,aAAa,EAAE,EAC7D,UAAU,CAAC,QAAQ,EACnB,iDAAiD,CAClD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7D,YAAY,aAAqB,EAAE,aAAqB;QACtD,KAAK,CACH,gBAAgB,CAAC,uBAAuB,EACxC,YAAY,CAAC,WAAW,EACxB,uCAAuC,EACvC,eAAe,aAAa,gBAAgB,aAAa,qBAAqB,EAC9E,UAAU,CAAC,QAAQ,EACnB,6CAA6C,CAC9C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7D,YAAY,KAAa,EAAE,MAAc;QACvC,KAAK,CACH,gBAAgB,CAAC,gBAAgB,EACjC,YAAY,CAAC,WAAW,EACxB,kCAAkC,MAAM,EAAE,EAC1C,UAAU,KAAK,wBAAwB,MAAM,EAAE,EAC/C,KAAK,EACL,iDAAiD,CAClD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,cAAc;IACnE,YAAY,QAAgB;QAC1B,KAAK,CACH,gBAAgB,CAAC,8BAA8B,EAC/C,YAAY,CAAC,UAAU,EACvB,4CAA4C,EAC5C,mCAAmC,QAAQ,EAAE,EAC7C,UAAU,CAAC,qBAAqB,EAChC,wBAAwB,EACxB,KAAK,CAAC,sCAAsC;SAC7C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IAC3D,YAAY,aAAqB;QAC/B,KAAK,CACH,uBAAuB,EACvB,YAAY,CAAC,WAAW,EACxB,uBAAuB,EACvB,wBAAwB,aAAa,aAAa,EAClD,UAAU,CAAC,SAAS,EACpB,gDAAgD,CACjD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainRuleError } from '../base-business-error';
|
|
2
2
|
/**
|
|
3
3
|
* User domain business errors
|
|
4
4
|
*/
|
|
5
|
-
export declare class UserNotFoundError extends
|
|
5
|
+
export declare class UserNotFoundError extends DomainRuleError {
|
|
6
6
|
constructor(identifier: string);
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=user-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/user-errors.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"user-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/user-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AAEH,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,UAAU,EAAE,MAAM;CAU/B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { HttpStatus } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { DomainRuleError } from '../base-business-error';
|
|
3
3
|
import { CommonErrorCodes, ErrorDomains } from '../error-codes';
|
|
4
4
|
/**
|
|
5
5
|
* User domain business errors
|
|
6
6
|
*/
|
|
7
|
-
export class UserNotFoundError extends
|
|
7
|
+
export class UserNotFoundError extends DomainRuleError {
|
|
8
8
|
constructor(identifier) {
|
|
9
9
|
super(CommonErrorCodes.USER_NOT_FOUND, ErrorDomains.USER, 'User not found', `User not found for identifier: ${identifier}`, HttpStatus.NOT_FOUND, 'Please verify the user exists');
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/user-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"user-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/user-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACpD,YAAY,UAAkB;QAC5B,KAAK,CACH,gBAAgB,CAAC,cAAc,EAC/B,YAAY,CAAC,IAAI,EACjB,gBAAgB,EAChB,kCAAkC,UAAU,EAAE,EAC9C,UAAU,CAAC,SAAS,EACpB,+BAA+B,CAChC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ValidationError } from '../base-business-error';
|
|
2
2
|
/**
|
|
3
3
|
* Generic validation errors used across multiple domains
|
|
4
4
|
*/
|
|
5
|
-
export declare class InvalidInputError extends
|
|
5
|
+
export declare class InvalidInputError extends ValidationError {
|
|
6
6
|
constructor(field: string, reason?: string);
|
|
7
7
|
}
|
|
8
|
-
export declare class RequiredFieldError extends
|
|
8
|
+
export declare class RequiredFieldError extends ValidationError {
|
|
9
9
|
constructor(field: string);
|
|
10
10
|
}
|
|
11
|
-
export declare class InvalidFormatError extends
|
|
11
|
+
export declare class InvalidFormatError extends ValidationError {
|
|
12
12
|
constructor(field: string, expectedFormat: string);
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=validation-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"validation-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AAEH,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiC;CAUrE;AAED,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM;CAU1B;AAED,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAUlD"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BusinessLogicError } from '../base-business-error';
|
|
1
|
+
import { ValidationError } from '../base-business-error';
|
|
3
2
|
import { CommonErrorCodes, ErrorDomains } from '../error-codes';
|
|
4
3
|
/**
|
|
5
4
|
* Generic validation errors used across multiple domains
|
|
6
5
|
*/
|
|
7
|
-
export class InvalidInputError extends
|
|
6
|
+
export class InvalidInputError extends ValidationError {
|
|
8
7
|
constructor(field, reason = 'Invalid input provided') {
|
|
9
|
-
super(CommonErrorCodes.VALIDATION_ERROR, ErrorDomains.VALIDATION, `Validation failed: ${reason}`, `Field '${field}' validation failed: ${reason}`,
|
|
8
|
+
super(CommonErrorCodes.VALIDATION_ERROR, ErrorDomains.VALIDATION, `Validation failed: ${reason}`, `Field '${field}' validation failed: ${reason}`, field, 'Please check your input and try again');
|
|
10
9
|
}
|
|
11
10
|
}
|
|
12
|
-
export class RequiredFieldError extends
|
|
11
|
+
export class RequiredFieldError extends ValidationError {
|
|
13
12
|
constructor(field) {
|
|
14
|
-
super(CommonErrorCodes.VALIDATION_ERROR, ErrorDomains.VALIDATION, 'Required field missing', `Required field '${field}' is missing or empty`,
|
|
13
|
+
super(CommonErrorCodes.VALIDATION_ERROR, ErrorDomains.VALIDATION, 'Required field missing', `Required field '${field}' is missing or empty`, field, `Please provide a value for '${field}'`);
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
|
-
export class InvalidFormatError extends
|
|
16
|
+
export class InvalidFormatError extends ValidationError {
|
|
18
17
|
constructor(field, expectedFormat) {
|
|
19
|
-
super(CommonErrorCodes.VALIDATION_ERROR, ErrorDomains.VALIDATION, 'Invalid format', `Field '${field}' has invalid format. Expected: ${expectedFormat}`,
|
|
18
|
+
super(CommonErrorCodes.VALIDATION_ERROR, ErrorDomains.VALIDATION, 'Invalid format', `Field '${field}' has invalid format. Expected: ${expectedFormat}`, field, `Please provide '${field}' in the correct format: ${expectedFormat}`);
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
//# sourceMappingURL=validation-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/validation-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACpD,YAAY,KAAa,EAAE,SAAiB,wBAAwB;QAClE,KAAK,CACH,gBAAgB,CAAC,gBAAgB,EACjC,YAAY,CAAC,UAAU,EACvB,sBAAsB,MAAM,EAAE,EAC9B,UAAU,KAAK,wBAAwB,MAAM,EAAE,EAC/C,KAAK,EACL,uCAAuC,CACxC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACrD,YAAY,KAAa;QACvB,KAAK,CACH,gBAAgB,CAAC,gBAAgB,EACjC,YAAY,CAAC,UAAU,EACvB,wBAAwB,EACxB,mBAAmB,KAAK,uBAAuB,EAC/C,KAAK,EACL,+BAA+B,KAAK,GAAG,CACxC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACrD,YAAY,KAAa,EAAE,cAAsB;QAC/C,KAAK,CACH,gBAAgB,CAAC,gBAAgB,EACjC,YAAY,CAAC,UAAU,EACvB,gBAAgB,EAChB,UAAU,KAAK,mCAAmC,cAAc,EAAE,EAClE,KAAK,EACL,mBAAmB,KAAK,4BAA4B,cAAc,EAAE,CACrE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainRuleError, TechnicalError } from '../base-business-error';
|
|
2
2
|
/**
|
|
3
3
|
* Wallet domain business errors
|
|
4
4
|
*/
|
|
5
|
-
export declare class WalletMissingSigningError extends
|
|
5
|
+
export declare class WalletMissingSigningError extends DomainRuleError {
|
|
6
6
|
constructor(walletAddress: string, reason: string);
|
|
7
7
|
}
|
|
8
8
|
export declare function isWalletMissingSigningError(error: any): boolean;
|
|
9
|
-
export declare class WalletNotFoundError extends
|
|
9
|
+
export declare class WalletNotFoundError extends DomainRuleError {
|
|
10
10
|
constructor(ownerAddress: string);
|
|
11
11
|
}
|
|
12
|
-
export declare class SmartWalletProcessingError extends
|
|
12
|
+
export declare class SmartWalletProcessingError extends TechnicalError {
|
|
13
13
|
constructor(reason: string);
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=wallet-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/wallet-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"wallet-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/wallet-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7F;;GAEG;AAEH,qBAAa,yBAA0B,SAAQ,eAAe;gBAChD,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAUlD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAG7D;AAEH,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,YAAY,EAAE,MAAM;CAUjC;AAED,qBAAa,0BAA2B,SAAQ,cAAc;gBAChD,MAAM,EAAE,MAAM;CAW3B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { HttpStatus } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { DomainRuleError, TechnicalError } from '../base-business-error';
|
|
3
3
|
import { CommonErrorCodes, ErrorDomains } from '../error-codes';
|
|
4
4
|
/**
|
|
5
5
|
* Wallet domain business errors
|
|
6
6
|
*/
|
|
7
|
-
export class WalletMissingSigningError extends
|
|
7
|
+
export class WalletMissingSigningError extends DomainRuleError {
|
|
8
8
|
constructor(walletAddress, reason) {
|
|
9
9
|
super(CommonErrorCodes.WALLET_MISSING_SIGNING, ErrorDomains.WALLET, 'Wallet requires signing account setup', `Wallet ${walletAddress} missing signing: ${reason}`, HttpStatus.UNPROCESSABLE_ENTITY, 'Please set up signing account for this wallet');
|
|
10
10
|
}
|
|
@@ -13,14 +13,15 @@ export function isWalletMissingSigningError(error) {
|
|
|
13
13
|
return error?.errorCode === 'WALLET_MISSING_SIGNING' ||
|
|
14
14
|
error?.response?.code === 'WALLET_MISSING_SIGNING';
|
|
15
15
|
}
|
|
16
|
-
export class WalletNotFoundError extends
|
|
16
|
+
export class WalletNotFoundError extends DomainRuleError {
|
|
17
17
|
constructor(ownerAddress) {
|
|
18
18
|
super(CommonErrorCodes.WALLET_NOT_FOUND, ErrorDomains.WALLET, 'No wallet found for this address', `No wallet found for owner address: ${ownerAddress}`, HttpStatus.NOT_FOUND, 'Please create a wallet first');
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
export class SmartWalletProcessingError extends
|
|
21
|
+
export class SmartWalletProcessingError extends TechnicalError {
|
|
22
22
|
constructor(reason) {
|
|
23
|
-
super(CommonErrorCodes.SMART_WALLET_PROCESSING_FAILED, ErrorDomains.WALLET, 'Smart wallet transaction processing failed', `Smart wallet processing failed: ${reason}`, HttpStatus.UNPROCESSABLE_ENTITY, 'Please try with a standard wallet transaction'
|
|
23
|
+
super(CommonErrorCodes.SMART_WALLET_PROCESSING_FAILED, ErrorDomains.WALLET, 'Smart wallet transaction processing failed', `Smart wallet processing failed: ${reason}`, HttpStatus.UNPROCESSABLE_ENTITY, 'Please try with a standard wallet transaction', true // retryable
|
|
24
|
+
);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=wallet-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/wallet-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"wallet-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/wallet-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAsB,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,aAAqB,EAAE,MAAc;QAC/C,KAAK,CACH,gBAAgB,CAAC,sBAAsB,EACvC,YAAY,CAAC,MAAM,EACnB,uCAAuC,EACvC,UAAU,aAAa,qBAAqB,MAAM,EAAE,EACpD,UAAU,CAAC,oBAAoB,EAC/B,+CAA+C,CAChD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAU;IACpD,OAAO,KAAK,EAAE,SAAS,KAAK,wBAAwB;QAC5C,KAAK,EAAE,QAAQ,EAAE,IAAI,KAAK,wBAAwB,CAAC;AAC3D,CAAC;AAEH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,YAAoB;QAC9B,KAAK,CACH,gBAAgB,CAAC,gBAAgB,EACjC,YAAY,CAAC,MAAM,EACnB,kCAAkC,EAClC,sCAAsC,YAAY,EAAE,EACpD,UAAU,CAAC,SAAS,EACpB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,cAAc;IAC5D,YAAY,MAAc;QACxB,KAAK,CACH,gBAAgB,CAAC,8BAA8B,EAC/C,YAAY,CAAC,MAAM,EACnB,4CAA4C,EAC5C,mCAAmC,MAAM,EAAE,EAC3C,UAAU,CAAC,oBAAoB,EAC/B,+CAA+C,EAC/C,IAAI,CAAC,YAAY;SAClB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BusinessLogicError } from './base-business-error';
|
|
1
|
+
export { BusinessLogicError, ValidationError, DomainRuleError, TechnicalError, InfrastructureError, SecurityError, RateLimitError, TimeoutError, UnknownError } from './base-business-error';
|
|
2
2
|
export * from './technical-errors';
|
|
3
3
|
export * from './domains/transaction-errors';
|
|
4
4
|
export * from './base/error-classification-enums';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,uBAAuB,CAAC;AAE/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mCAAmC,CAAC;AAKlD,cAAc,eAAe,CAAC;AAG9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Base error classes and interfaces
|
|
2
|
-
export { BusinessLogicError } from './base-business-error';
|
|
2
|
+
export { BusinessLogicError, ValidationError, DomainRuleError, TechnicalError, InfrastructureError, SecurityError, RateLimitError, TimeoutError, UnknownError } from './base-business-error';
|
|
3
3
|
export * from './technical-errors';
|
|
4
4
|
export * from './domains/transaction-errors';
|
|
5
5
|
// Error classification system
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,uBAAuB,CAAC;AAE/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAE7C,8BAA8B;AAC9B,cAAc,mCAAmC,CAAC;AAElD,6EAA6E;AAE7E,4CAA4C;AAC5C,cAAc,eAAe,CAAC;AAE9B,+CAA+C;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC"}
|
|
@@ -13,8 +13,6 @@ declare const WalletSigningScenarioTypes: {
|
|
|
13
13
|
WALLET_AND_SIGNING_READY: string;
|
|
14
14
|
WALLET_MISSING_SIGNING_ACCOUNT: string;
|
|
15
15
|
WALLET_NOT_FOUND: string;
|
|
16
|
-
WALLET_HAS_SIGNED: string;
|
|
17
|
-
WALLET_SIGNING_NOT_REQUIRED: string;
|
|
18
16
|
};
|
|
19
17
|
export interface WalletSigningScenario {
|
|
20
18
|
type: WalletSigningScenarioType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-signing-scenario.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/wallet-signing-scenario.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKtD,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,0BAA0B,CAAC;AAEhF,QAAA,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"wallet-signing-scenario.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/wallet-signing-scenario.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKtD,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,0BAA0B,CAAC;AAEhF,QAAA,MAAM,0BAA0B;;;;CAI/B,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC1C;AA+CD,eAAO,MAAM,uBAAuB,GAAI,UAAU,qBAAqB,KAAG,OAGxC,CAAC;AAEnC,eAAO,MAAM,sBAAsB,GAAI,UAAU,qBAAqB,KAAG,OAE/C,CAAC;AAE3B,eAAO,MAAM,gBAAgB,GAAI,UAAU,qBAAqB,KAAG,OAEzC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/database/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Exporting models
|
|
2
|
+
export * from './models/base.model';
|
|
3
|
+
export * from './models/fixture.model';
|
|
4
|
+
// Exporting schemas for shared fields
|
|
5
|
+
export * from './schemas/fixture-fields.schema';
|
|
6
|
+
export * from './schemas/tenant-fields.schema';
|
|
7
|
+
export * from './schemas/shared-fields.schema';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/database/index.ts"],"names":[],"mappings":"AACA,mBAAmB;AACnB,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAGvC,sCAAsC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/models/base.model.ts"],"names":[],"mappings":"AAAA,8BAAsB,SAAS;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/models/base.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,SAAS;IAC7B,EAAE,CAAU;IACZ,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,SAAS,CAAQ;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture.model.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/models/fixture.model.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture.model.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/models/fixture.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,YAAY;IAChC,EAAE,CAAU;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture-fields.schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/schemas/fixture-fields.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD,eAAO,MAAM,aAAa,EAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAI,yBAAyB,CAAA;CAMvE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture-fields.schema.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/schemas/fixture-fields.schema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAmD;IAC3E,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,WAAW;KACvB;CACF,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EntitySchemaColumnOptions } from "typeorm";
|
|
2
|
+
/**
|
|
3
|
+
* Shared TypeORM Entity Fields
|
|
4
|
+
*
|
|
5
|
+
* MANDATORY for ALL TypeORM schemas in PERS Loyalty Backend
|
|
6
|
+
*
|
|
7
|
+
* Usage Pattern:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { sharedFields } from '../../../base/infrastructure/typeorm/shared-fields.schema';
|
|
10
|
+
*
|
|
11
|
+
* // For non-tenant entities (system-wide data)
|
|
12
|
+
* export const SystemSchema = new EntitySchema<SystemModel>({
|
|
13
|
+
* columns: {
|
|
14
|
+
* ...sharedFields, // ALWAYS include first
|
|
15
|
+
* // entity-specific fields below
|
|
16
|
+
* }
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* // For tenant-specific entities (most common case)
|
|
20
|
+
* import { tenantFields } from '../../../base/infrastructure/typeorm/multi-tenant-fields.schema';
|
|
21
|
+
*
|
|
22
|
+
* export const TenantSchema = new EntitySchema<TenantModel>({
|
|
23
|
+
* columns: {
|
|
24
|
+
* ...sharedFields, // ALWAYS include first
|
|
25
|
+
* ...tenantFields, // Include for tenant isolation
|
|
26
|
+
* // entity-specific fields below
|
|
27
|
+
* },
|
|
28
|
+
* indices: [
|
|
29
|
+
* {
|
|
30
|
+
* name: 'IDX_tenant_entities_tenant_id',
|
|
31
|
+
* columns: ['tenantId'], // REQUIRED for tenant schemas
|
|
32
|
+
* },
|
|
33
|
+
* ],
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Provides: id (UUID), createdAt, updatedAt, deletedAt (soft delete)
|
|
38
|
+
* Combines with: tenantFields for multi-tenant support
|
|
39
|
+
* See: /documentation/domain-model-best-practices.md
|
|
40
|
+
*/
|
|
41
|
+
export declare const sharedFields: {
|
|
42
|
+
[key: string]: EntitySchemaColumnOptions;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=shared-fields.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-fields.schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/schemas/shared-fields.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,YAAY,EAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAI,yBAAyB,CAAA;CAoBtE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared TypeORM Entity Fields
|
|
3
|
+
*
|
|
4
|
+
* MANDATORY for ALL TypeORM schemas in PERS Loyalty Backend
|
|
5
|
+
*
|
|
6
|
+
* Usage Pattern:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { sharedFields } from '../../../base/infrastructure/typeorm/shared-fields.schema';
|
|
9
|
+
*
|
|
10
|
+
* // For non-tenant entities (system-wide data)
|
|
11
|
+
* export const SystemSchema = new EntitySchema<SystemModel>({
|
|
12
|
+
* columns: {
|
|
13
|
+
* ...sharedFields, // ALWAYS include first
|
|
14
|
+
* // entity-specific fields below
|
|
15
|
+
* }
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // For tenant-specific entities (most common case)
|
|
19
|
+
* import { tenantFields } from '../../../base/infrastructure/typeorm/multi-tenant-fields.schema';
|
|
20
|
+
*
|
|
21
|
+
* export const TenantSchema = new EntitySchema<TenantModel>({
|
|
22
|
+
* columns: {
|
|
23
|
+
* ...sharedFields, // ALWAYS include first
|
|
24
|
+
* ...tenantFields, // Include for tenant isolation
|
|
25
|
+
* // entity-specific fields below
|
|
26
|
+
* },
|
|
27
|
+
* indices: [
|
|
28
|
+
* {
|
|
29
|
+
* name: 'IDX_tenant_entities_tenant_id',
|
|
30
|
+
* columns: ['tenantId'], // REQUIRED for tenant schemas
|
|
31
|
+
* },
|
|
32
|
+
* ],
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* Provides: id (UUID), createdAt, updatedAt, deletedAt (soft delete)
|
|
37
|
+
* Combines with: tenantFields for multi-tenant support
|
|
38
|
+
* See: /documentation/domain-model-best-practices.md
|
|
39
|
+
*/
|
|
40
|
+
export const sharedFields = {
|
|
41
|
+
id: {
|
|
42
|
+
type: 'uuid',
|
|
43
|
+
primary: true,
|
|
44
|
+
generated: 'uuid',
|
|
45
|
+
},
|
|
46
|
+
createdAt: {
|
|
47
|
+
type: Date,
|
|
48
|
+
createDate: true,
|
|
49
|
+
},
|
|
50
|
+
updatedAt: {
|
|
51
|
+
type: Date,
|
|
52
|
+
nullable: true,
|
|
53
|
+
updateDate: true,
|
|
54
|
+
},
|
|
55
|
+
deletedAt: {
|
|
56
|
+
type: Date,
|
|
57
|
+
nullable: true,
|
|
58
|
+
deleteDate: true,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=shared-fields.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-fields.schema.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/schemas/shared-fields.schema.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,CAAC,MAAM,YAAY,GAAmD;IAC1E,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,MAAM;KAClB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB;CACF,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { EntitySchemaColumnOptions } from "typeorm";
|
|
2
|
+
/**
|
|
3
|
+
* Multi-Tenant TypeORM Entity Fields
|
|
4
|
+
*
|
|
5
|
+
* MANDATORY for tenant-specific data in PERS Loyalty Backend
|
|
6
|
+
*
|
|
7
|
+
* ✅ ALWAYS INCLUDE tenantFields for:
|
|
8
|
+
* - User-specific data: SigningAccount, UserWallet, UserProfile, UserPreferences
|
|
9
|
+
* - Business domain data: Campaign, Redemption, Transaction, TokenBalance
|
|
10
|
+
* - API keys and authentication: ApiKey, RefreshToken, UserSession
|
|
11
|
+
* - Tenant-specific configuration: BusinessSettings, CampaignTemplates
|
|
12
|
+
* - Any data that varies by tenant/client
|
|
13
|
+
*
|
|
14
|
+
* ❌ EXCLUDE tenantFields for:
|
|
15
|
+
* - System-wide shared data: TokenContract, GeolocationData, SystemSettings
|
|
16
|
+
* - Static reference data: Country codes, currency rates, blockchain configs
|
|
17
|
+
* - Cross-tenant shared resources (explicitly designed to be shared)
|
|
18
|
+
*
|
|
19
|
+
* Usage Pattern:
|
|
20
|
+
* ```typescript
|
|
21
|
+
* export const MySchema = new EntitySchema<MyModel>({
|
|
22
|
+
* columns: {
|
|
23
|
+
* ...sharedFields, // Base fields (id, timestamps, soft delete)
|
|
24
|
+
* ...tenantFields, // Multi-tenant support (tenantId with RLS)
|
|
25
|
+
* // entity-specific fields below
|
|
26
|
+
* }
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* CRITICAL: When using tenantFields, MUST include RLS module:
|
|
31
|
+
* ```typescript
|
|
32
|
+
* @Module({
|
|
33
|
+
* imports: [
|
|
34
|
+
* TypeOrmModule.forFeature([MySchema]),
|
|
35
|
+
* RLSModule.forFeature([MySchema]), // REQUIRED for Row Level Security
|
|
36
|
+
* ],
|
|
37
|
+
* })
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* Technical Details:
|
|
41
|
+
* - Provides: tenantId with RLS (Row Level Security) automatic population
|
|
42
|
+
* - RLS Function: Uses current_setting('rls.tenant_id') for automatic tenant isolation
|
|
43
|
+
* - Database-level security: Prevents cross-tenant data leaks automatically
|
|
44
|
+
* - Transparent filtering: All queries automatically filter by current tenant
|
|
45
|
+
*
|
|
46
|
+
* See: /documentation/domain-model-best-practices.md for complete patterns
|
|
47
|
+
*/
|
|
48
|
+
export declare const tenantFields: {
|
|
49
|
+
[key: string]: EntitySchemaColumnOptions;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=tenant-fields.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-fields.schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/schemas/tenant-fields.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,YAAY,EAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAI,yBAAyB,CAAA;CAMtE,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Tenant TypeORM Entity Fields
|
|
3
|
+
*
|
|
4
|
+
* MANDATORY for tenant-specific data in PERS Loyalty Backend
|
|
5
|
+
*
|
|
6
|
+
* ✅ ALWAYS INCLUDE tenantFields for:
|
|
7
|
+
* - User-specific data: SigningAccount, UserWallet, UserProfile, UserPreferences
|
|
8
|
+
* - Business domain data: Campaign, Redemption, Transaction, TokenBalance
|
|
9
|
+
* - API keys and authentication: ApiKey, RefreshToken, UserSession
|
|
10
|
+
* - Tenant-specific configuration: BusinessSettings, CampaignTemplates
|
|
11
|
+
* - Any data that varies by tenant/client
|
|
12
|
+
*
|
|
13
|
+
* ❌ EXCLUDE tenantFields for:
|
|
14
|
+
* - System-wide shared data: TokenContract, GeolocationData, SystemSettings
|
|
15
|
+
* - Static reference data: Country codes, currency rates, blockchain configs
|
|
16
|
+
* - Cross-tenant shared resources (explicitly designed to be shared)
|
|
17
|
+
*
|
|
18
|
+
* Usage Pattern:
|
|
19
|
+
* ```typescript
|
|
20
|
+
* export const MySchema = new EntitySchema<MyModel>({
|
|
21
|
+
* columns: {
|
|
22
|
+
* ...sharedFields, // Base fields (id, timestamps, soft delete)
|
|
23
|
+
* ...tenantFields, // Multi-tenant support (tenantId with RLS)
|
|
24
|
+
* // entity-specific fields below
|
|
25
|
+
* }
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* CRITICAL: When using tenantFields, MUST include RLS module:
|
|
30
|
+
* ```typescript
|
|
31
|
+
* @Module({
|
|
32
|
+
* imports: [
|
|
33
|
+
* TypeOrmModule.forFeature([MySchema]),
|
|
34
|
+
* RLSModule.forFeature([MySchema]), // REQUIRED for Row Level Security
|
|
35
|
+
* ],
|
|
36
|
+
* })
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Technical Details:
|
|
40
|
+
* - Provides: tenantId with RLS (Row Level Security) automatic population
|
|
41
|
+
* - RLS Function: Uses current_setting('rls.tenant_id') for automatic tenant isolation
|
|
42
|
+
* - Database-level security: Prevents cross-tenant data leaks automatically
|
|
43
|
+
* - Transparent filtering: All queries automatically filter by current tenant
|
|
44
|
+
*
|
|
45
|
+
* See: /documentation/domain-model-best-practices.md for complete patterns
|
|
46
|
+
*/
|
|
47
|
+
export const tenantFields = {
|
|
48
|
+
tenantId: {
|
|
49
|
+
type: String,
|
|
50
|
+
nullable: true,
|
|
51
|
+
default: () => "current_setting('rls.tenant_id')",
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=tenant-fields.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-fields.schema.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/database/schemas/tenant-fields.schema.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,CAAC,MAAM,YAAY,GAAmD;IAC1E,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG,EAAE,CAAC,kCAAkC;KAClD;CACF,CAAC"}
|