@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,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareVersions = exports.checkIfTokenIdIsUri = exports.parseCommaSeparatedStringToStringArray = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Parses a comma-separated string into an array of strings.
|
|
6
|
+
*
|
|
7
|
+
* @param commaSeparatedString - The string to parse.
|
|
8
|
+
* @returns An array of trimmed, non-empty strings.
|
|
9
|
+
*/
|
|
10
|
+
const parseCommaSeparatedStringToStringArray = (commaSeparatedString) => {
|
|
11
|
+
return commaSeparatedString
|
|
12
|
+
? commaSeparatedString.split(',').map((s) => s.trim()).filter(Boolean)
|
|
13
|
+
: [];
|
|
14
|
+
};
|
|
15
|
+
exports.parseCommaSeparatedStringToStringArray = parseCommaSeparatedStringToStringArray;
|
|
16
|
+
const checkIfTokenIdIsUri = (tokenId) => {
|
|
17
|
+
const uriRegex = /^(https?|ipfs):\/\/.*/;
|
|
18
|
+
if (!tokenId || !uriRegex.test(tokenId)) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
};
|
|
23
|
+
exports.checkIfTokenIdIsUri = checkIfTokenIdIsUri;
|
|
24
|
+
const compareVersions = (version1, version2) => {
|
|
25
|
+
const v1 = version1.split('.').map(Number);
|
|
26
|
+
const v2 = version2.split('.').map(Number);
|
|
27
|
+
for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
|
|
28
|
+
const num1 = v1[i] || 0;
|
|
29
|
+
const num2 = v2[i] || 0;
|
|
30
|
+
if (num1 > num2)
|
|
31
|
+
return 1;
|
|
32
|
+
if (num1 < num2)
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
return 0;
|
|
36
|
+
};
|
|
37
|
+
exports.compareVersions = compareVersions;
|
|
38
|
+
//# sourceMappingURL=helper.functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":";;;AAEA;;;;;KAKK;AACE,MAAM,sCAAsC,GAAG,CAAC,oBAAmC,EAAY,EAAE;IACpG,OAAO,oBAAoB;QACzB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC;AACP,CAAC,CAAA;AAJQ,QAAA,sCAAsC,0CAI9C;AAGE,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAW,EAAE;IACnE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;IAC3C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AANY,QAAA,mBAAmB,uBAM/B;AAEM,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAU,EAAE;IAC5E,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Functions Barrel - Auto-exports all functions
|
|
18
|
+
__exportStar(require("./helper.functions"), exports);
|
|
19
|
+
__exportStar(require("./request.functions"), exports);
|
|
20
|
+
__exportStar(require("./crypto.functions"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,qDAAmC;AACnC,sDAAoC;AACpC,qDAAmC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AllowedAppRequestHeaders, ExtendedAppRequest } from "../interfaces/request.interface";
|
|
2
|
+
export declare const extractTokenFromHeader: (request: Request, tokenName: keyof AllowedAppRequestHeaders) => string | undefined;
|
|
3
|
+
export declare const getIpFromRequest: (request: Request | ExtendedAppRequest) => string | null;
|
|
4
|
+
/**
|
|
5
|
+
* Anonymize IP address for privacy compliance (GDPR/CCPA)
|
|
6
|
+
* Removes last octet for IPv4, last 80 bits for IPv6
|
|
7
|
+
*/
|
|
8
|
+
export declare const anonymizeIp: (ip: string | null) => string | null;
|
|
9
|
+
export declare const getTenantFromStripeRequest: (req: Request) => {
|
|
10
|
+
tenantId: string;
|
|
11
|
+
isTestnet: boolean;
|
|
12
|
+
} | undefined;
|
|
13
|
+
export declare const setRequestValue: (request: Request, key: keyof ExtendedAppRequest, value: any) => void;
|
|
14
|
+
//# sourceMappingURL=request.functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/request.functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAI/F,eAAO,MAAM,sBAAsB,GAAI,SAAS,OAAO,EAAE,WAAW,MAAM,wBAAwB,KAAG,MAAM,GAAG,SAI3G,CAAA;AAGH,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,GAAG,kBAAkB,KAAG,MAAM,GAAG,IAejF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,IAoBxD,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,KAAK,OAAO;cASnB,MAAM;eACJ,OAAO;aAE5C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,kBAAkB,EAAE,OAAO,GAAG,SAE1F,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setRequestValue = exports.getTenantFromStripeRequest = exports.anonymizeIp = exports.getIpFromRequest = exports.extractTokenFromHeader = void 0;
|
|
4
|
+
const extractTokenFromHeader = (request, tokenName) => {
|
|
5
|
+
// get key from header
|
|
6
|
+
const token = request?.headers ? (request?.headers)[tokenName] || '' : '';
|
|
7
|
+
return token;
|
|
8
|
+
};
|
|
9
|
+
exports.extractTokenFromHeader = extractTokenFromHeader;
|
|
10
|
+
// Enhanced IP extraction with better proxy support
|
|
11
|
+
const getIpFromRequest = (request) => {
|
|
12
|
+
// Try multiple IP sources in order of preference
|
|
13
|
+
const ip = request.ip ||
|
|
14
|
+
request.headers['x-forwarded-for']?.split(',')[0]?.trim() ||
|
|
15
|
+
request.headers['x-real-ip']?.trim() ||
|
|
16
|
+
request.connection?.remoteAddress?.trim() ||
|
|
17
|
+
request.socket?.remoteAddress?.trim() ||
|
|
18
|
+
null;
|
|
19
|
+
// Clean IPv6 mapped IPv4 addresses
|
|
20
|
+
if (ip?.startsWith('::ffff:')) {
|
|
21
|
+
return ip.substring(7);
|
|
22
|
+
}
|
|
23
|
+
return ip;
|
|
24
|
+
};
|
|
25
|
+
exports.getIpFromRequest = getIpFromRequest;
|
|
26
|
+
/**
|
|
27
|
+
* Anonymize IP address for privacy compliance (GDPR/CCPA)
|
|
28
|
+
* Removes last octet for IPv4, last 80 bits for IPv6
|
|
29
|
+
*/
|
|
30
|
+
const anonymizeIp = (ip) => {
|
|
31
|
+
if (!ip)
|
|
32
|
+
return null;
|
|
33
|
+
// IPv4 anonymization - remove last octet
|
|
34
|
+
if (ip.includes('.') && !ip.includes(':')) {
|
|
35
|
+
const parts = ip.split('.');
|
|
36
|
+
if (parts.length === 4) {
|
|
37
|
+
return `${parts[0]}.${parts[1]}.${parts[2]}.0`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// IPv6 anonymization - remove last 80 bits (keep first 48 bits)
|
|
41
|
+
if (ip.includes(':')) {
|
|
42
|
+
const parts = ip.split(':');
|
|
43
|
+
if (parts.length >= 3) {
|
|
44
|
+
return `${parts[0]}:${parts[1]}:${parts[2]}::`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return ip; // Return as-is if format not recognized
|
|
48
|
+
};
|
|
49
|
+
exports.anonymizeIp = anonymizeIp;
|
|
50
|
+
const getTenantFromStripeRequest = (req) => {
|
|
51
|
+
const sig = req?.headers ? (req?.headers)['stripe-signature'] || '' : '';
|
|
52
|
+
if (!sig)
|
|
53
|
+
return;
|
|
54
|
+
const body = req?.body;
|
|
55
|
+
const data = body?.data;
|
|
56
|
+
const object = data?.object;
|
|
57
|
+
const metadata = object?.metadata;
|
|
58
|
+
return {
|
|
59
|
+
tenantId: metadata?.tenantId,
|
|
60
|
+
isTestnet: metadata?.isTestnet,
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
exports.getTenantFromStripeRequest = getTenantFromStripeRequest;
|
|
64
|
+
const setRequestValue = (request, key, value) => {
|
|
65
|
+
if (request)
|
|
66
|
+
request[key] = value;
|
|
67
|
+
};
|
|
68
|
+
exports.setRequestValue = setRequestValue;
|
|
69
|
+
//# sourceMappingURL=request.functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/request.functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './orchestrators';
|
|
2
|
+
export * from './database';
|
|
3
|
+
export * from './utils';
|
|
4
|
+
export * from './exceptions';
|
|
5
|
+
export * from './enums/lambda.enum';
|
|
6
|
+
export * from './functions';
|
|
7
|
+
export * from './interfaces';
|
|
8
|
+
export * from '../shared-lib/enum';
|
|
9
|
+
export * from '../shared-lib/value-objects';
|
|
10
|
+
export * from '../shared-lib/interfaces';
|
|
11
|
+
export * from '../shared-lib/types';
|
|
12
|
+
export * from '../shared-lib/dto';
|
|
13
|
+
export * from '../shared-lib/errors';
|
|
14
|
+
export * from './errors/error-factory';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared-patterns/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,aAAa,CAAC;AAE5B,cAAc,cAAc,CAAC;AAK7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// PERS Shared Patterns Library - Internal Architecture Components
|
|
3
|
+
// 🔒 PRIVATE: For internal PERS microservices only
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
// Orchestrators - Business coordination patterns
|
|
20
|
+
__exportStar(require("./orchestrators"), exports);
|
|
21
|
+
// Database - Shared entity models and schemas
|
|
22
|
+
__exportStar(require("./database"), exports);
|
|
23
|
+
// Utils - Validation and utility functions
|
|
24
|
+
__exportStar(require("./utils"), exports);
|
|
25
|
+
// Exceptions - Business and technical error classes
|
|
26
|
+
__exportStar(require("./exceptions"), exports);
|
|
27
|
+
// Enums - Internal business enums for microservice communication
|
|
28
|
+
__exportStar(require("./enums/lambda.enum"), exports);
|
|
29
|
+
__exportStar(require("./functions"), exports);
|
|
30
|
+
__exportStar(require("./interfaces"), exports);
|
|
31
|
+
// Shared Pattern
|
|
32
|
+
// Core domain contracts
|
|
33
|
+
__exportStar(require("../shared-lib/enum"), exports);
|
|
34
|
+
__exportStar(require("../shared-lib/value-objects"), exports);
|
|
35
|
+
__exportStar(require("../shared-lib/interfaces"), exports);
|
|
36
|
+
__exportStar(require("../shared-lib/types"), exports);
|
|
37
|
+
__exportStar(require("../shared-lib/dto"), exports);
|
|
38
|
+
// Error handling system
|
|
39
|
+
__exportStar(require("../shared-lib/errors"), exports);
|
|
40
|
+
// Error Factory - Clean API for NestJS applications
|
|
41
|
+
__exportStar(require("./errors/error-factory"), exports);
|
|
42
|
+
// Note: This library contains proprietary business logic and architecture patterns
|
|
43
|
+
// It should only be used within PERS internal microservices
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared-patterns/index.ts"],"names":[],"mappings":";AAAA,kEAAkE;AAClE,mDAAmD;;;;;;;;;;;;;;;;AAEnD,iDAAiD;AACjD,kDAAgC;AAEhC,8CAA8C;AAC9C,6CAA2B;AAE3B,2CAA2C;AAC3C,0CAAwB;AAExB,oDAAoD;AACpD,+CAA6B;AAE7B,iEAAiE;AACjE,sDAAoC;AAEpC,8CAA4B;AAE5B,+CAA6B;AAG7B,iBAAiB;AACjB,wBAAwB;AACxB,qDAAmC;AACnC,8DAA4C;AAC5C,2DAAyC;AACzC,sDAAoC;AACpC,oDAAkC;AAElC,wBAAwB;AACxB,uDAAqC;AAErC,oDAAoD;AACpD,yDAAuC;AAEvC,mFAAmF;AACnF,4DAA4D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/interfaces/index.ts"],"names":[],"mappings":"AAEA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./stripe-payment-intent-metadata.interface"), exports);
|
|
18
|
+
__exportStar(require("./request.interface"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,6EAA2D;AAC3D,sDAAoC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { UserDTO, TenantDTO, BusinessDTO, AdminDTO } from '../../shared-lib/dto';
|
|
2
|
+
export interface ExtendedAppRequest extends Request {
|
|
3
|
+
tenant?: TenantDTO;
|
|
4
|
+
business?: BusinessDTO;
|
|
5
|
+
user?: UserDTO;
|
|
6
|
+
admin?: AdminDTO;
|
|
7
|
+
isVerifiedTenantAdmin?: boolean;
|
|
8
|
+
originalIp?: string;
|
|
9
|
+
anonymizedIp?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class AllowedAppRequestHeaders {
|
|
12
|
+
'x-project-key': string;
|
|
13
|
+
'x-api-key': string;
|
|
14
|
+
'Authorization': string;
|
|
15
|
+
'Origin': string;
|
|
16
|
+
'X-Requested-With': string;
|
|
17
|
+
'Content-Type': string;
|
|
18
|
+
'Accept': string;
|
|
19
|
+
'stripe-signature': string;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=request.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/interfaces/request.interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/E,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAC/C,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AACD,qBAAa,wBAAwB;IACjC,eAAe,EAAE,MAAM,CAAkB;IACzC,WAAW,EAAE,MAAM,CAAc;IACjC,eAAe,EAAE,MAAM,CAAkB;IACzC,QAAQ,EAAE,MAAM,CAAW;IAC3B,kBAAkB,EAAE,MAAM,CAAqB;IAC/C,cAAc,EAAE,MAAM,CAAiB;IACvC,QAAQ,EAAE,MAAM,CAAW;IAC3B,kBAAkB,EAAE,MAAM,CAAqB;CAClD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AllowedAppRequestHeaders = void 0;
|
|
4
|
+
class AllowedAppRequestHeaders {
|
|
5
|
+
'x-project-key' = 'x-project-key';
|
|
6
|
+
'x-api-key' = 'x-api-key';
|
|
7
|
+
'Authorization' = 'Authorization';
|
|
8
|
+
'Origin' = 'Origin';
|
|
9
|
+
'X-Requested-With' = 'X-Requested-With';
|
|
10
|
+
'Content-Type' = 'Content-Type';
|
|
11
|
+
'Accept' = 'Accept';
|
|
12
|
+
'stripe-signature' = 'stripe-signature';
|
|
13
|
+
}
|
|
14
|
+
exports.AllowedAppRequestHeaders = AllowedAppRequestHeaders;
|
|
15
|
+
//# sourceMappingURL=request.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.interface.js","sourceRoot":"","sources":["../../../../src/shared-patterns/interfaces/request.interface.ts"],"names":[],"mappings":";;;AAaA,MAAa,wBAAwB;IACjC,eAAe,GAAW,eAAe,CAAA;IACzC,WAAW,GAAW,WAAW,CAAA;IACjC,eAAe,GAAW,eAAe,CAAA;IACzC,QAAQ,GAAW,QAAQ,CAAA;IAC3B,kBAAkB,GAAW,kBAAkB,CAAA;IAC/C,cAAc,GAAW,cAAc,CAAA;IACvC,QAAQ,GAAW,QAAQ,CAAA;IAC3B,kBAAkB,GAAW,kBAAkB,CAAA;CAClD;AATD,4DASC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface StripePaymentIntentMetadata {
|
|
2
|
+
accountAddress: string;
|
|
3
|
+
tokenAddress: string;
|
|
4
|
+
tokenId: string | null;
|
|
5
|
+
minterAddress: string;
|
|
6
|
+
tenantId: string;
|
|
7
|
+
isTestnet: boolean;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=stripe-payment-intent-metadata.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe-payment-intent-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,2BAA2B;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe-payment-intent-metadata.interface.js","sourceRoot":"","sources":["../../../../src/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { OrchestrationError } from '../../shared-lib/errors';
|
|
3
|
+
import { CommandBus, QueryBus } from '@nestjs/cqrs';
|
|
4
|
+
/**
|
|
5
|
+
* BaseOrchestrator - Centralized Application Layer Orchestration Pattern
|
|
6
|
+
*
|
|
7
|
+
* @description Foundation for all domain orchestrators following PERS DDD principles:
|
|
8
|
+
* - Application layer orchestrates cross-domain operations via CQRS
|
|
9
|
+
* - Domain services contain pure business logic only
|
|
10
|
+
* - Microservice boundary preparation through clean abstractions
|
|
11
|
+
* - Consistent patterns across all domains (transaction, user, wallet, token, etc.)
|
|
12
|
+
* - Smart error handling that preserves business context
|
|
13
|
+
*
|
|
14
|
+
* @usage Extend this class in domain-specific orchestrators:
|
|
15
|
+
* ```typescript
|
|
16
|
+
* @Injectable()
|
|
17
|
+
* export class UserOrchestrator extends BaseOrchestrator {
|
|
18
|
+
* constructor(commandBus: CommandBus, queryBus: QueryBus) {
|
|
19
|
+
* super(commandBus, queryBus, UserOrchestrator.name);
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @library @explorins/pers-shared
|
|
25
|
+
* @version 2.0.0
|
|
26
|
+
* @since August 2025
|
|
27
|
+
*/
|
|
28
|
+
export declare abstract class BaseOrchestrator {
|
|
29
|
+
protected readonly commandBus: CommandBus;
|
|
30
|
+
protected readonly queryBus: QueryBus;
|
|
31
|
+
protected readonly logger: Logger;
|
|
32
|
+
protected constructor(commandBus: CommandBus, queryBus: QueryBus, loggerContext: string);
|
|
33
|
+
/**
|
|
34
|
+
* Enhanced error handling that preserves business errors while wrapping technical errors
|
|
35
|
+
* Business errors (with category: DOMAIN_RULE) are passed through unchanged
|
|
36
|
+
* Technical errors are wrapped in OrchestrationError for consistent handling
|
|
37
|
+
*/
|
|
38
|
+
protected executeWithErrorHandling<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, any>): Promise<T>;
|
|
39
|
+
/**
|
|
40
|
+
* Execute CQRS command with consistent error handling and logging
|
|
41
|
+
* Standardizes command execution across all orchestrators
|
|
42
|
+
*/
|
|
43
|
+
protected executeCommand<T>(command: any, operationName?: string): Promise<T>;
|
|
44
|
+
/**
|
|
45
|
+
* Execute CQRS query with consistent error handling and logging
|
|
46
|
+
* Standardizes query execution across all orchestrators
|
|
47
|
+
*/
|
|
48
|
+
protected executeQuery<T>(query: any, operationName?: string): Promise<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Execute multiple operations in parallel with error handling
|
|
51
|
+
* Useful for batch operations across domains
|
|
52
|
+
*/
|
|
53
|
+
protected executeParallel<T>(operations: (() => Promise<T>)[], operationName: string): Promise<T[]>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Result pattern for orchestrator operations (optional - for complex flows)
|
|
57
|
+
* Provides type-safe error handling without exceptions
|
|
58
|
+
*/
|
|
59
|
+
export type OrchestrationResult<T> = {
|
|
60
|
+
success: true;
|
|
61
|
+
data: T;
|
|
62
|
+
operation?: string;
|
|
63
|
+
} | {
|
|
64
|
+
success: false;
|
|
65
|
+
error: OrchestrationError;
|
|
66
|
+
operation?: string;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Helper function to create success result
|
|
70
|
+
*/
|
|
71
|
+
export declare function createSuccessResult<T>(data: T, operation?: string): OrchestrationResult<T>;
|
|
72
|
+
/**
|
|
73
|
+
* Helper function to create error result
|
|
74
|
+
*/
|
|
75
|
+
export declare function createErrorResult<T>(error: OrchestrationError, operation?: string): OrchestrationResult<T>;
|
|
76
|
+
/**
|
|
77
|
+
* Utility function to check if result is successful
|
|
78
|
+
* Provides type guard for TypeScript
|
|
79
|
+
*/
|
|
80
|
+
export declare function isSuccessResult<T>(result: OrchestrationResult<T>): result is {
|
|
81
|
+
success: true;
|
|
82
|
+
data: T;
|
|
83
|
+
operation?: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Utility function to extract data from result or throw error
|
|
87
|
+
* Useful for converting result pattern back to exception-based flow
|
|
88
|
+
*/
|
|
89
|
+
export declare function unwrapResult<T>(result: OrchestrationResult<T>): T;
|
|
90
|
+
//# sourceMappingURL=base-orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/orchestrators/base-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAiB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAY,QAAQ,EAAU,MAAM,cAAc,CAAC;AACtE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,gBAAgB;IAIlC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAJvC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,aACY,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EACrC,aAAa,EAAE,MAAM;IAKvB;;;;OAIG;cACa,wBAAwB,CAAC,CAAC,EACxC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC;IAwBb;;;OAGG;cACa,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IASnF;;;OAGG;cACa,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAS/E;;;OAGG;cACa,eAAe,CAAC,CAAC,EAC/B,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC;CAOhB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG;IACF,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAE1F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAE1G;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAE3H;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAKjE"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseOrchestrator = void 0;
|
|
4
|
+
exports.createSuccessResult = createSuccessResult;
|
|
5
|
+
exports.createErrorResult = createErrorResult;
|
|
6
|
+
exports.isSuccessResult = isSuccessResult;
|
|
7
|
+
exports.unwrapResult = unwrapResult;
|
|
8
|
+
const common_1 = require("@nestjs/common");
|
|
9
|
+
const errors_1 = require("../../shared-lib/errors");
|
|
10
|
+
/**
|
|
11
|
+
* BaseOrchestrator - Centralized Application Layer Orchestration Pattern
|
|
12
|
+
*
|
|
13
|
+
* @description Foundation for all domain orchestrators following PERS DDD principles:
|
|
14
|
+
* - Application layer orchestrates cross-domain operations via CQRS
|
|
15
|
+
* - Domain services contain pure business logic only
|
|
16
|
+
* - Microservice boundary preparation through clean abstractions
|
|
17
|
+
* - Consistent patterns across all domains (transaction, user, wallet, token, etc.)
|
|
18
|
+
* - Smart error handling that preserves business context
|
|
19
|
+
*
|
|
20
|
+
* @usage Extend this class in domain-specific orchestrators:
|
|
21
|
+
* ```typescript
|
|
22
|
+
* @Injectable()
|
|
23
|
+
* export class UserOrchestrator extends BaseOrchestrator {
|
|
24
|
+
* constructor(commandBus: CommandBus, queryBus: QueryBus) {
|
|
25
|
+
* super(commandBus, queryBus, UserOrchestrator.name);
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @library @explorins/pers-shared
|
|
31
|
+
* @version 2.0.0
|
|
32
|
+
* @since August 2025
|
|
33
|
+
*/
|
|
34
|
+
class BaseOrchestrator {
|
|
35
|
+
commandBus;
|
|
36
|
+
queryBus;
|
|
37
|
+
logger;
|
|
38
|
+
constructor(commandBus, queryBus, loggerContext) {
|
|
39
|
+
this.commandBus = commandBus;
|
|
40
|
+
this.queryBus = queryBus;
|
|
41
|
+
this.logger = new common_1.Logger(loggerContext);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Enhanced error handling that preserves business errors while wrapping technical errors
|
|
45
|
+
* Business errors (with category: DOMAIN_RULE) are passed through unchanged
|
|
46
|
+
* Technical errors are wrapped in OrchestrationError for consistent handling
|
|
47
|
+
*/
|
|
48
|
+
async executeWithErrorHandling(operation, operationName, context) {
|
|
49
|
+
try {
|
|
50
|
+
this.logger.debug(`🚀 Starting ${operationName}`, context);
|
|
51
|
+
const result = await operation();
|
|
52
|
+
this.logger.debug(`✅ Completed ${operationName}`, context);
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
57
|
+
// Preserve business errors - don't wrap them
|
|
58
|
+
if (error instanceof common_1.HttpException) {
|
|
59
|
+
const response = error.getResponse();
|
|
60
|
+
if (typeof response === 'object' && response?.category === errors_1.ErrorCategory.DOMAIN_RULE) {
|
|
61
|
+
this.logger.warn(`⚠️ Business logic error in ${operationName}: ${errorMessage}`, { ...context, error });
|
|
62
|
+
throw error; // Pass through unchanged
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Wrap technical errors
|
|
66
|
+
this.logger.error(`❌ Failed ${operationName}: ${errorMessage}`, { ...context, error });
|
|
67
|
+
throw new errors_1.OrchestrationError(operationName, error instanceof Error ? error : new Error(errorMessage));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Execute CQRS command with consistent error handling and logging
|
|
72
|
+
* Standardizes command execution across all orchestrators
|
|
73
|
+
*/
|
|
74
|
+
async executeCommand(command, operationName) {
|
|
75
|
+
const operation = operationName || `Command: ${command.constructor.name}`;
|
|
76
|
+
return this.executeWithErrorHandling(() => this.commandBus.execute(command), operation, { commandType: command.constructor.name });
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Execute CQRS query with consistent error handling and logging
|
|
80
|
+
* Standardizes query execution across all orchestrators
|
|
81
|
+
*/
|
|
82
|
+
async executeQuery(query, operationName) {
|
|
83
|
+
const operation = operationName || `Query: ${query.constructor.name}`;
|
|
84
|
+
return this.executeWithErrorHandling(() => this.queryBus.execute(query), operation, { queryType: query.constructor.name });
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Execute multiple operations in parallel with error handling
|
|
88
|
+
* Useful for batch operations across domains
|
|
89
|
+
*/
|
|
90
|
+
async executeParallel(operations, operationName) {
|
|
91
|
+
return this.executeWithErrorHandling(() => Promise.all(operations.map(op => op())), `Parallel: ${operationName}`, { operationCount: operations.length });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.BaseOrchestrator = BaseOrchestrator;
|
|
95
|
+
/**
|
|
96
|
+
* Helper function to create success result
|
|
97
|
+
*/
|
|
98
|
+
function createSuccessResult(data, operation) {
|
|
99
|
+
return { success: true, data, operation };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Helper function to create error result
|
|
103
|
+
*/
|
|
104
|
+
function createErrorResult(error, operation) {
|
|
105
|
+
return { success: false, error, operation };
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Utility function to check if result is successful
|
|
109
|
+
* Provides type guard for TypeScript
|
|
110
|
+
*/
|
|
111
|
+
function isSuccessResult(result) {
|
|
112
|
+
return result.success === true;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Utility function to extract data from result or throw error
|
|
116
|
+
* Useful for converting result pattern back to exception-based flow
|
|
117
|
+
*/
|
|
118
|
+
function unwrapResult(result) {
|
|
119
|
+
if (isSuccessResult(result)) {
|
|
120
|
+
return result.data;
|
|
121
|
+
}
|
|
122
|
+
throw result.error;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=base-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-orchestrator.js","sourceRoot":"","sources":["../../../../src/shared-patterns/orchestrators/base-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
/**
|
|
3
|
+
* BaseWorkflow - Business Process Coordination Pattern
|
|
4
|
+
*
|
|
5
|
+
* @description Foundation for business workflow coordination in PERS domains.
|
|
6
|
+
* Distinct from BaseOrchestrator which handles technical CQRS coordination.
|
|
7
|
+
*
|
|
8
|
+
* ARCHITECTURAL DISTINCTION:
|
|
9
|
+
* - BaseOrchestrator: Technical coordination (CQRS, queries, commands)
|
|
10
|
+
* - BaseWorkflow: Business process coordination (orchestrator choreography)
|
|
11
|
+
*
|
|
12
|
+
* @usage Extend this class for domain-specific business workflows:
|
|
13
|
+
* ```typescript
|
|
14
|
+
* @Injectable()
|
|
15
|
+
* export class ServerTransactionWorkflow extends BaseWorkflow {
|
|
16
|
+
* constructor(
|
|
17
|
+
* private readonly walletOrchestrator: WalletResolutionOrchestrator,
|
|
18
|
+
* private readonly tokenOrchestrator: TokenResolutionOrchestrator
|
|
19
|
+
* ) {
|
|
20
|
+
* super(ServerTransactionWorkflow.name);
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* async executeTransactionFlow(dto: TransactionRequestDTO): Promise<TransactionDTO> {
|
|
24
|
+
* return this.executeWorkflowStep(async () => {
|
|
25
|
+
* const token = await this.tokenOrchestrator.resolveToken(dto.token);
|
|
26
|
+
* const addresses = await this.walletOrchestrator.resolveAddresses(dto, token.chainId);
|
|
27
|
+
* return this.createTransaction(token, addresses, dto);
|
|
28
|
+
* }, 'Transaction Creation Flow');
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @library @explorins/pers-shared-patterns
|
|
34
|
+
* @version 1.0.0
|
|
35
|
+
* @since September 2025
|
|
36
|
+
*/
|
|
37
|
+
export declare abstract class BaseWorkflow {
|
|
38
|
+
protected readonly logger: Logger;
|
|
39
|
+
protected constructor(loggerContext: string);
|
|
40
|
+
/**
|
|
41
|
+
* Execute a workflow step with standardized logging and error handling
|
|
42
|
+
*
|
|
43
|
+
* @param step - Function to execute as workflow step
|
|
44
|
+
* @param stepName - Human-readable name for the step
|
|
45
|
+
* @param context - Optional context for logging
|
|
46
|
+
* @returns Promise resolving to step result
|
|
47
|
+
*/
|
|
48
|
+
protected executeWorkflowStep<T>(step: () => Promise<T>, stepName: string, context?: Record<string, any>): Promise<T>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=base-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-workflow.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/orchestrators/base-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,8BAAsB,YAAY;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,aAAa,aAAa,EAAE,MAAM;IAI3C;;;;;;;OAOG;cACa,mBAAmB,CAAC,CAAC,EACnC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC;CAYd"}
|