@explorins/pers-shared 2.1.37 → 2.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/browser.d.ts +2 -1
- package/dist/cjs/browser.d.ts.map +1 -1
- package/dist/cjs/browser.js +0 -2
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/browser.d.ts +2 -1
- package/dist/esm/browser.d.ts.map +1 -1
- package/dist/esm/browser.js +0 -2
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts +2 -0
- package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/shared-patterns/database/index.d.ts +0 -6
- package/dist/cjs/shared-patterns/database/index.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/database/index.js +0 -24
- package/dist/cjs/shared-patterns/database/index.js.map +0 -1
- package/dist/cjs/shared-patterns/database/models/base.model.d.ts +0 -7
- package/dist/cjs/shared-patterns/database/models/base.model.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/database/models/base.model.js +0 -11
- package/dist/cjs/shared-patterns/database/models/base.model.js.map +0 -1
- package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts +0 -4
- package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/database/models/fixture.model.js +0 -8
- package/dist/cjs/shared-patterns/database/models/fixture.model.js.map +0 -1
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts +0 -5
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js +0 -11
- package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js.map +0 -1
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts +0 -44
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js +0 -64
- package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js.map +0 -1
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts +0 -51
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js +0 -57
- package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js.map +0 -1
- package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts +0 -28
- package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/enums/lambda.enum.js +0 -34
- package/dist/cjs/shared-patterns/enums/lambda.enum.js.map +0 -1
- package/dist/cjs/shared-patterns/errors/error-factory.d.ts +0 -150
- package/dist/cjs/shared-patterns/errors/error-factory.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/errors/error-factory.js +0 -257
- package/dist/cjs/shared-patterns/errors/error-factory.js.map +0 -1
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts +0 -118
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js +0 -111
- package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js.map +0 -1
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts +0 -23
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js +0 -165
- package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js.map +0 -1
- package/dist/cjs/shared-patterns/exceptions/index.d.ts +0 -3
- package/dist/cjs/shared-patterns/exceptions/index.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/exceptions/index.js +0 -24
- package/dist/cjs/shared-patterns/exceptions/index.js.map +0 -1
- package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts +0 -16
- package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/functions/crypto.functions.js +0 -110
- package/dist/cjs/shared-patterns/functions/crypto.functions.js.map +0 -1
- package/dist/cjs/shared-patterns/functions/helper.functions.d.ts +0 -10
- package/dist/cjs/shared-patterns/functions/helper.functions.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/functions/helper.functions.js +0 -38
- package/dist/cjs/shared-patterns/functions/helper.functions.js.map +0 -1
- package/dist/cjs/shared-patterns/functions/index.d.ts +0 -4
- package/dist/cjs/shared-patterns/functions/index.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/functions/index.js +0 -21
- package/dist/cjs/shared-patterns/functions/index.js.map +0 -1
- package/dist/cjs/shared-patterns/functions/request.functions.d.ts +0 -14
- package/dist/cjs/shared-patterns/functions/request.functions.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/functions/request.functions.js +0 -69
- package/dist/cjs/shared-patterns/functions/request.functions.js.map +0 -1
- package/dist/cjs/shared-patterns/index.d.ts +0 -15
- package/dist/cjs/shared-patterns/index.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/index.js +0 -44
- package/dist/cjs/shared-patterns/index.js.map +0 -1
- package/dist/cjs/shared-patterns/interfaces/index.d.ts +0 -3
- package/dist/cjs/shared-patterns/interfaces/index.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/interfaces/index.js +0 -19
- package/dist/cjs/shared-patterns/interfaces/index.js.map +0 -1
- package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts +0 -21
- package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/interfaces/request.interface.js +0 -15
- package/dist/cjs/shared-patterns/interfaces/request.interface.js.map +0 -1
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +0 -9
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +0 -3
- package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +0 -1
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts +0 -90
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js +0 -124
- package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js.map +0 -1
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts +0 -50
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.js +0 -68
- package/dist/cjs/shared-patterns/orchestrators/base-workflow.js.map +0 -1
- package/dist/cjs/shared-patterns/orchestrators/index.d.ts +0 -26
- package/dist/cjs/shared-patterns/orchestrators/index.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/orchestrators/index.js +0 -46
- package/dist/cjs/shared-patterns/orchestrators/index.js.map +0 -1
- package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts +0 -175
- package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/utils/error-message.utils.js +0 -258
- package/dist/cjs/shared-patterns/utils/error-message.utils.js.map +0 -1
- package/dist/cjs/shared-patterns/utils/index.d.ts +0 -3
- package/dist/cjs/shared-patterns/utils/index.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/utils/index.js +0 -20
- package/dist/cjs/shared-patterns/utils/index.js.map +0 -1
- package/dist/cjs/shared-patterns/utils/validation.utils.d.ts +0 -49
- package/dist/cjs/shared-patterns/utils/validation.utils.d.ts.map +0 -1
- package/dist/cjs/shared-patterns/utils/validation.utils.js +0 -76
- package/dist/cjs/shared-patterns/utils/validation.utils.js.map +0 -1
- package/dist/esm/shared-patterns/database/index.d.ts +0 -6
- package/dist/esm/shared-patterns/database/index.d.ts.map +0 -1
- package/dist/esm/shared-patterns/database/index.js +0 -8
- package/dist/esm/shared-patterns/database/index.js.map +0 -1
- package/dist/esm/shared-patterns/database/models/base.model.d.ts +0 -7
- package/dist/esm/shared-patterns/database/models/base.model.d.ts.map +0 -1
- package/dist/esm/shared-patterns/database/models/base.model.js +0 -7
- package/dist/esm/shared-patterns/database/models/base.model.js.map +0 -1
- package/dist/esm/shared-patterns/database/models/fixture.model.d.ts +0 -4
- package/dist/esm/shared-patterns/database/models/fixture.model.d.ts.map +0 -1
- package/dist/esm/shared-patterns/database/models/fixture.model.js +0 -4
- package/dist/esm/shared-patterns/database/models/fixture.model.js.map +0 -1
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts +0 -5
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +0 -1
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js +0 -8
- package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js.map +0 -1
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts +0 -44
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +0 -1
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js +0 -61
- package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js.map +0 -1
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts +0 -51
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +0 -1
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js +0 -54
- package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js.map +0 -1
- package/dist/esm/shared-patterns/enums/lambda.enum.d.ts +0 -28
- package/dist/esm/shared-patterns/enums/lambda.enum.d.ts.map +0 -1
- package/dist/esm/shared-patterns/enums/lambda.enum.js +0 -31
- package/dist/esm/shared-patterns/enums/lambda.enum.js.map +0 -1
- package/dist/esm/shared-patterns/errors/error-factory.d.ts +0 -150
- package/dist/esm/shared-patterns/errors/error-factory.d.ts.map +0 -1
- package/dist/esm/shared-patterns/errors/error-factory.js +0 -254
- package/dist/esm/shared-patterns/errors/error-factory.js.map +0 -1
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts +0 -118
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +0 -1
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js +0 -108
- package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js.map +0 -1
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts +0 -23
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts.map +0 -1
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.js +0 -161
- package/dist/esm/shared-patterns/exceptions/base/error-classifier.js.map +0 -1
- package/dist/esm/shared-patterns/exceptions/index.d.ts +0 -3
- package/dist/esm/shared-patterns/exceptions/index.d.ts.map +0 -1
- package/dist/esm/shared-patterns/exceptions/index.js +0 -6
- package/dist/esm/shared-patterns/exceptions/index.js.map +0 -1
- package/dist/esm/shared-patterns/functions/crypto.functions.d.ts +0 -16
- package/dist/esm/shared-patterns/functions/crypto.functions.d.ts.map +0 -1
- package/dist/esm/shared-patterns/functions/crypto.functions.js +0 -67
- package/dist/esm/shared-patterns/functions/crypto.functions.js.map +0 -1
- package/dist/esm/shared-patterns/functions/helper.functions.d.ts +0 -10
- package/dist/esm/shared-patterns/functions/helper.functions.d.ts.map +0 -1
- package/dist/esm/shared-patterns/functions/helper.functions.js +0 -32
- package/dist/esm/shared-patterns/functions/helper.functions.js.map +0 -1
- package/dist/esm/shared-patterns/functions/index.d.ts +0 -4
- package/dist/esm/shared-patterns/functions/index.d.ts.map +0 -1
- package/dist/esm/shared-patterns/functions/index.js +0 -5
- package/dist/esm/shared-patterns/functions/index.js.map +0 -1
- package/dist/esm/shared-patterns/functions/request.functions.d.ts +0 -14
- package/dist/esm/shared-patterns/functions/request.functions.d.ts.map +0 -1
- package/dist/esm/shared-patterns/functions/request.functions.js +0 -61
- package/dist/esm/shared-patterns/functions/request.functions.js.map +0 -1
- package/dist/esm/shared-patterns/index.d.ts +0 -15
- package/dist/esm/shared-patterns/index.d.ts.map +0 -1
- package/dist/esm/shared-patterns/index.js +0 -28
- package/dist/esm/shared-patterns/index.js.map +0 -1
- package/dist/esm/shared-patterns/interfaces/index.d.ts +0 -3
- package/dist/esm/shared-patterns/interfaces/index.d.ts.map +0 -1
- package/dist/esm/shared-patterns/interfaces/index.js +0 -3
- package/dist/esm/shared-patterns/interfaces/index.js.map +0 -1
- package/dist/esm/shared-patterns/interfaces/request.interface.d.ts +0 -21
- package/dist/esm/shared-patterns/interfaces/request.interface.d.ts.map +0 -1
- package/dist/esm/shared-patterns/interfaces/request.interface.js +0 -11
- package/dist/esm/shared-patterns/interfaces/request.interface.js.map +0 -1
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +0 -9
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +0 -1
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +0 -2
- package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +0 -1
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts +0 -90
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts.map +0 -1
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js +0 -116
- package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js.map +0 -1
- package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts +0 -50
- package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts.map +0 -1
- package/dist/esm/shared-patterns/orchestrators/base-workflow.js +0 -64
- package/dist/esm/shared-patterns/orchestrators/base-workflow.js.map +0 -1
- package/dist/esm/shared-patterns/orchestrators/index.d.ts +0 -26
- package/dist/esm/shared-patterns/orchestrators/index.d.ts.map +0 -1
- package/dist/esm/shared-patterns/orchestrators/index.js +0 -30
- package/dist/esm/shared-patterns/orchestrators/index.js.map +0 -1
- package/dist/esm/shared-patterns/utils/error-message.utils.d.ts +0 -175
- package/dist/esm/shared-patterns/utils/error-message.utils.d.ts.map +0 -1
- package/dist/esm/shared-patterns/utils/error-message.utils.js +0 -244
- package/dist/esm/shared-patterns/utils/error-message.utils.js.map +0 -1
- package/dist/esm/shared-patterns/utils/index.d.ts +0 -3
- package/dist/esm/shared-patterns/utils/index.d.ts.map +0 -1
- package/dist/esm/shared-patterns/utils/index.js +0 -4
- package/dist/esm/shared-patterns/utils/index.js.map +0 -1
- package/dist/esm/shared-patterns/utils/validation.utils.d.ts +0 -49
- package/dist/esm/shared-patterns/utils/validation.utils.d.ts.map +0 -1
- package/dist/esm/shared-patterns/utils/validation.utils.js +0 -70
- package/dist/esm/shared-patterns/utils/validation.utils.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-classification-enums.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classification-enums.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;AAEH,kEAAkE;AAClE,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,IAAY,aAoCX;AApCD,WAAY,aAAa;IACvB;;;;;;OAMG;IACH,4BAAW,CAAA;IAEX;;;;;;OAMG;IACH,kCAAiB,CAAA;IAEjB;;;;;;OAMG;IACH,8BAAa,CAAA;IAEb;;;;;;OAMG;IACH,sCAAqB,CAAA;AACvB,CAAC,EApCW,aAAa,6BAAb,aAAa,QAoCxB;AAoBD,2FAA2F;AAE3F;;;;;GAKG;AACH,IAAY,eAWX;AAXD,WAAY,eAAe;IACzB,qEAAiB,CAAA;IACjB,uEAAkB,CAAA;IAClB,iEAAe,CAAA;IACf,iEAAe,CAAA;IACf,+DAAc,CAAA;IACd,uFAA0B,CAAA;IAC1B,iFAAuB,CAAA;IACvB,yFAA2B,CAAA;IAC3B,qFAAyB,CAAA;IACzB,6EAAqB,CAAA;AACvB,CAAC,EAXW,eAAe,+BAAf,eAAe,QAW1B"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { StructuredError } from '../../../shared-lib/errors';
|
|
2
|
-
/**
|
|
3
|
-
* Error classification utilities with 3-path decision logic
|
|
4
|
-
*/
|
|
5
|
-
export declare class ErrorClassifier {
|
|
6
|
-
/**
|
|
7
|
-
* Simplified error classification with 3-path logic
|
|
8
|
-
* 1. BusinessLogicError -> Preserve structure (fast path)
|
|
9
|
-
* 2. TechnicalError -> Preserve message (fast path)
|
|
10
|
-
* 3. Everything else -> Security-first fallback
|
|
11
|
-
*/
|
|
12
|
-
static classify(error: any, domain: string): StructuredError;
|
|
13
|
-
/**
|
|
14
|
-
* Determine if an error message is safe to expose to users
|
|
15
|
-
* Uses a balanced approach: block sensitive system data while allowing business messages
|
|
16
|
-
*/
|
|
17
|
-
private static isSafeForUsers;
|
|
18
|
-
/**
|
|
19
|
-
* Convert structured error to HTTP status code
|
|
20
|
-
*/
|
|
21
|
-
static getHttpStatusCode(structuredError: StructuredError): number;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=error-classifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,eAAe,EAAkB,MAAM,4BAA4B,CAAC;AAGhH;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAyE5D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAgE7B;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM;CAkBnE"}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrorClassifier = void 0;
|
|
4
|
-
const errors_1 = require("../../../shared-lib/errors");
|
|
5
|
-
const error_classification_enums_1 = require("./error-classification-enums");
|
|
6
|
-
/**
|
|
7
|
-
* Error classification utilities with 3-path decision logic
|
|
8
|
-
*/
|
|
9
|
-
class ErrorClassifier {
|
|
10
|
-
/**
|
|
11
|
-
* Simplified error classification with 3-path logic
|
|
12
|
-
* 1. BusinessLogicError -> Preserve structure (fast path)
|
|
13
|
-
* 2. TechnicalError -> Preserve message (fast path)
|
|
14
|
-
* 3. Everything else -> Security-first fallback
|
|
15
|
-
*/
|
|
16
|
-
static classify(error, domain) {
|
|
17
|
-
// Fast path 1: BusinessLogicError (already structured)
|
|
18
|
-
if (errors_1.BusinessLogicError.isBusinessError(error)) {
|
|
19
|
-
const response = error.getResponse();
|
|
20
|
-
const responseObj = typeof response === 'object' ? response : {};
|
|
21
|
-
return {
|
|
22
|
-
status: 422,
|
|
23
|
-
title: 'Business Rule Violation',
|
|
24
|
-
detail: responseObj.message || error.message,
|
|
25
|
-
message: responseObj.message || error.message,
|
|
26
|
-
code: responseObj.code || 'BUSINESS_ERROR',
|
|
27
|
-
category: errors_1.ErrorCategory.DOMAIN_RULE,
|
|
28
|
-
timestamp: new Date().toISOString(),
|
|
29
|
-
retryable: false,
|
|
30
|
-
userMessage: responseObj.message || error.message
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
// Fast path 2: TechnicalError (preserve meaningful messages)
|
|
34
|
-
if (error instanceof errors_1.TechnicalError) {
|
|
35
|
-
const response = error.getResponse();
|
|
36
|
-
const responseObj = typeof response === 'object' ? response : {};
|
|
37
|
-
return {
|
|
38
|
-
status: 503,
|
|
39
|
-
title: 'Technical Error',
|
|
40
|
-
detail: responseObj.message || error.message,
|
|
41
|
-
message: responseObj.message || error.message,
|
|
42
|
-
code: 'TECHNICAL_ERROR',
|
|
43
|
-
category: errors_1.ErrorCategory.INFRASTRUCTURE,
|
|
44
|
-
timestamp: new Date().toISOString(),
|
|
45
|
-
retryable: true,
|
|
46
|
-
userMessage: responseObj.message || error.message
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
// Fast path 3: HttpExceptions with BUSINESS_LOGIC category (for backward compatibility)
|
|
50
|
-
if (typeof error.getStatus === 'function') {
|
|
51
|
-
const response = error.getResponse ? error.getResponse() : null;
|
|
52
|
-
if (typeof response === 'object' && response?.category === 'BUSINESS_LOGIC') {
|
|
53
|
-
const responseObj = response;
|
|
54
|
-
return {
|
|
55
|
-
status: 422,
|
|
56
|
-
title: 'Business Rule Violation',
|
|
57
|
-
detail: responseObj.message || error.message,
|
|
58
|
-
message: responseObj.message || error.message,
|
|
59
|
-
code: responseObj.code || 'BUSINESS_ERROR',
|
|
60
|
-
category: errors_1.ErrorCategory.DOMAIN_RULE,
|
|
61
|
-
timestamp: new Date().toISOString(),
|
|
62
|
-
retryable: false,
|
|
63
|
-
userMessage: responseObj.message || error.message
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// Security-first fallback for everything else
|
|
68
|
-
const message = error.message || 'Unknown error';
|
|
69
|
-
// Check if error message is safe to expose to users
|
|
70
|
-
const isSafe = this.isSafeForUsers(message);
|
|
71
|
-
return {
|
|
72
|
-
status: 500,
|
|
73
|
-
title: 'Internal Server Error',
|
|
74
|
-
detail: isSafe ? message : 'An unexpected error occurred',
|
|
75
|
-
message: isSafe ? message : 'Internal server error',
|
|
76
|
-
code: 'INTERNAL_ERROR',
|
|
77
|
-
category: errors_1.ErrorCategory.UNKNOWN,
|
|
78
|
-
timestamp: new Date().toISOString(),
|
|
79
|
-
retryable: true,
|
|
80
|
-
userMessage: isSafe ? message : 'An unexpected error occurred. Please try again.'
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Determine if an error message is safe to expose to users
|
|
85
|
-
* Uses a balanced approach: block sensitive system data while allowing business messages
|
|
86
|
-
*/
|
|
87
|
-
static isSafeForUsers(message) {
|
|
88
|
-
if (!message || message.length < 3 || message.length > 300)
|
|
89
|
-
return false;
|
|
90
|
-
// Allow common business error phrases that are safe for users
|
|
91
|
-
const safeBusinessPatterns = [
|
|
92
|
-
/cannot process payment/i,
|
|
93
|
-
/unable to complete transaction/i,
|
|
94
|
-
/insufficient (balance|funds)/i,
|
|
95
|
-
/user not found/i,
|
|
96
|
-
/token not active/i,
|
|
97
|
-
/wallet not found/i,
|
|
98
|
-
/invalid (amount|address|format)/i,
|
|
99
|
-
/transaction (failed|rejected|expired)/i,
|
|
100
|
-
/account (locked|inactive|suspended)/i,
|
|
101
|
-
/permission denied/i,
|
|
102
|
-
/rate limit exceeded/i,
|
|
103
|
-
/service temporarily unavailable/i
|
|
104
|
-
];
|
|
105
|
-
// If it matches safe business patterns, allow it
|
|
106
|
-
if (safeBusinessPatterns.some(pattern => pattern.test(message))) {
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
// Block definitely unsafe patterns (system internals and sensitive data)
|
|
110
|
-
const unsafePatterns = [
|
|
111
|
-
// System internals with technical context
|
|
112
|
-
/internal server error/i,
|
|
113
|
-
/database connection (failed|lost|timeout)/i,
|
|
114
|
-
/sql (error|exception|syntax)/i,
|
|
115
|
-
/stack trace|stacktrace/i,
|
|
116
|
-
/undefined (property|method|function)/i,
|
|
117
|
-
/null pointer|reference error/i,
|
|
118
|
-
// Sensitive data indicators
|
|
119
|
-
/secret|password|private.?key|credential/i,
|
|
120
|
-
/jwt.?token|bearer.?token|api.?key/i,
|
|
121
|
-
/localhost|127\.0\.0\.1|192\.168\.|10\.\d+\./i,
|
|
122
|
-
/\.env|config\.json|\.xml|\.yml/i,
|
|
123
|
-
// Technical stack traces and system paths
|
|
124
|
-
/\/var\/|\/etc\/|\/home\/|\/usr\/bin|\/opt\//i,
|
|
125
|
-
/node_modules|package\.json|tsconfig/i,
|
|
126
|
-
/at Object\.|at Function\.|at async/i,
|
|
127
|
-
// Database and system queries
|
|
128
|
-
/SELECT.*FROM|INSERT.*INTO|UPDATE.*SET/i,
|
|
129
|
-
/mongodb|postgresql|redis|elasticsearch/i
|
|
130
|
-
];
|
|
131
|
-
// Block if it matches unsafe patterns
|
|
132
|
-
if (unsafePatterns.some(pattern => pattern.test(message))) {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
// For everything else, apply basic safety checks
|
|
136
|
-
// Allow if it looks like a user-friendly business message
|
|
137
|
-
const hasBusinessContext = /\b(user|account|transaction|payment|balance|wallet|token)\b/i.test(message);
|
|
138
|
-
const hasGenericWords = /\b(invalid|missing|required|expired|failed|rejected|denied)\b/i.test(message);
|
|
139
|
-
const noSystemJargon = !/\b(undefined|null|exception|stack|trace|object|function|method|class)\b/i.test(message);
|
|
140
|
-
return (hasBusinessContext || hasGenericWords) && noSystemJargon;
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Convert structured error to HTTP status code
|
|
144
|
-
*/
|
|
145
|
-
static getHttpStatusCode(structuredError) {
|
|
146
|
-
switch (structuredError.category) {
|
|
147
|
-
case errors_1.ErrorCategory.VALIDATION:
|
|
148
|
-
return error_classification_enums_1.ErrorHttpStatus.BAD_REQUEST;
|
|
149
|
-
case errors_1.ErrorCategory.DOMAIN_RULE:
|
|
150
|
-
return error_classification_enums_1.ErrorHttpStatus.UNPROCESSABLE_ENTITY;
|
|
151
|
-
case errors_1.ErrorCategory.SECURITY:
|
|
152
|
-
return error_classification_enums_1.ErrorHttpStatus.FORBIDDEN;
|
|
153
|
-
case errors_1.ErrorCategory.RATE_LIMIT:
|
|
154
|
-
return error_classification_enums_1.ErrorHttpStatus.TOO_MANY_REQUESTS;
|
|
155
|
-
case errors_1.ErrorCategory.TIMEOUT:
|
|
156
|
-
return error_classification_enums_1.ErrorHttpStatus.GATEWAY_TIMEOUT;
|
|
157
|
-
case errors_1.ErrorCategory.INFRASTRUCTURE:
|
|
158
|
-
return error_classification_enums_1.ErrorHttpStatus.SERVICE_UNAVAILABLE;
|
|
159
|
-
default:
|
|
160
|
-
return error_classification_enums_1.ErrorHttpStatus.INTERNAL_SERVER_ERROR;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
exports.ErrorClassifier = ErrorClassifier;
|
|
165
|
-
//# sourceMappingURL=error-classifier.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/exceptions/index.ts"],"names":[],"mappings":"AACA,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
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
|
-
exports.ErrorClassifier = void 0;
|
|
18
|
-
// Error classification utilities (patterns-specific logic only)
|
|
19
|
-
__exportStar(require("./base/error-classification-enums"), exports);
|
|
20
|
-
var error_classifier_1 = require("./base/error-classifier");
|
|
21
|
-
Object.defineProperty(exports, "ErrorClassifier", { enumerable: true, get: function () { return error_classifier_1.ErrorClassifier; } });
|
|
22
|
-
// Note: All error classes (BusinessLogicError, TechnicalError, domain errors) are exported from @explorins/pers-shared
|
|
23
|
-
// This library only contains error classification logic and patterns
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/exceptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gEAAgE;AAChE,oEAAkD;AAClD,4DAA0D;AAAjD,mHAAA,eAAe,OAAA;AAExB,uHAAuH;AACvH,qEAAqE"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
type KeyFormat = 'pem';
|
|
2
|
-
type KeyType = 'pkcs1' | 'pkcs8';
|
|
3
|
-
export interface EncryptedDataObject {
|
|
4
|
-
encryptedData: string;
|
|
5
|
-
iv: string;
|
|
6
|
-
authTag: string;
|
|
7
|
-
}
|
|
8
|
-
export declare const hashString: (input: string, maxLength?: number | null, algorithm?: "sha256" | "sha512" | "md5") => string;
|
|
9
|
-
export declare const checkMatching: (plainString: string, hashedString: string) => Promise<any>;
|
|
10
|
-
export declare const hashPassword: (password: string, saltRounds?: number) => Promise<string>;
|
|
11
|
-
export declare const generatePseudoRandomData: (size?: number) => string;
|
|
12
|
-
export declare const generateDecryptedPrivateKey: (privateKey: string, passphrase: string | undefined, keyType?: KeyType, keyFormat?: KeyFormat) => string;
|
|
13
|
-
export declare const encryptData: (data: string, encryptionKey: string) => EncryptedDataObject;
|
|
14
|
-
export declare const decryptData: (encryptedDataObject: EncryptedDataObject, encryptionKey: string) => string;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=crypto.functions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/crypto.functions.ts"],"names":[],"mappings":"AAKA,KAAK,SAAS,GAAG,KAAK,CAAE;AACxB,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAEC,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,YAAW,MAAM,GAAG,IAAW,EAAE,YAAW,QAAQ,GAAG,QAAQ,GAAG,KAAgB,KAAG,MAO9H,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,aAAa,MAAM,EAAE,cAAc,MAAM,iBAG5E,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,EAAE,aAAY,MAA0B,KAAG,OAAO,CAAC,MAAM,CAE3G,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,OAAM,MAAW,WAKzD,CAAA;AAED,eAAO,MAAM,2BAA2B,GACpC,YAAY,MAAM,EAClB,YAAY,MAAM,GAAG,SAAS,EAC9B,UAAS,OAAiB,EAC1B,YAAW,SAAiB,KAC7B,MAWJ,CAAA;AAEH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,eAAe,MAAM,KAAG,mBAmBjE,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,qBAAqB,mBAAmB,EAAE,eAAe,MAAM,KAAG,MAgB7F,CAAA"}
|
|
@@ -1,110 +0,0 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.decryptData = exports.encryptData = exports.generateDecryptedPrivateKey = exports.generatePseudoRandomData = exports.hashPassword = exports.checkMatching = exports.hashString = void 0;
|
|
37
|
-
const crypto = __importStar(require("crypto"));
|
|
38
|
-
const crypto_1 = require("crypto");
|
|
39
|
-
const bcrypt = require('bcryptjs');
|
|
40
|
-
const defaultSaltRounds = 10;
|
|
41
|
-
const hashString = (input, maxLength = null, algorithm = 'sha256') => {
|
|
42
|
-
// Generate a hash of the input string
|
|
43
|
-
let hash = crypto.createHash(algorithm).update(input).digest('hex');
|
|
44
|
-
if (typeof maxLength === 'number' && hash.length > maxLength) {
|
|
45
|
-
hash = hash.substring(0, maxLength);
|
|
46
|
-
}
|
|
47
|
-
return hash;
|
|
48
|
-
};
|
|
49
|
-
exports.hashString = hashString;
|
|
50
|
-
const checkMatching = async (plainString, hashedString) => {
|
|
51
|
-
const match = await bcrypt.compare(plainString, hashedString);
|
|
52
|
-
return match;
|
|
53
|
-
};
|
|
54
|
-
exports.checkMatching = checkMatching;
|
|
55
|
-
const hashPassword = async (password, saltRounds = defaultSaltRounds) => {
|
|
56
|
-
return await bcrypt.hash(password, saltRounds);
|
|
57
|
-
};
|
|
58
|
-
exports.hashPassword = hashPassword;
|
|
59
|
-
const generatePseudoRandomData = (size = 32) => {
|
|
60
|
-
// Convert the byte array into a hexadecimal string
|
|
61
|
-
let salt = (0, crypto_1.randomBytes)(size).toString('hex');
|
|
62
|
-
return salt;
|
|
63
|
-
};
|
|
64
|
-
exports.generatePseudoRandomData = generatePseudoRandomData;
|
|
65
|
-
const generateDecryptedPrivateKey = (privateKey, passphrase, keyType = 'pkcs8', keyFormat = 'pem') => {
|
|
66
|
-
const decryptedPrivateKey = crypto.createPrivateKey({
|
|
67
|
-
key: privateKey,
|
|
68
|
-
format: keyFormat,
|
|
69
|
-
type: keyType,
|
|
70
|
-
passphrase: passphrase,
|
|
71
|
-
});
|
|
72
|
-
return decryptedPrivateKey.export({ format: keyFormat, type: keyType }).toString();
|
|
73
|
-
};
|
|
74
|
-
exports.generateDecryptedPrivateKey = generateDecryptedPrivateKey;
|
|
75
|
-
const encryptData = (data, encryptionKey) => {
|
|
76
|
-
try {
|
|
77
|
-
const key = Buffer.from(encryptionKey, 'hex');
|
|
78
|
-
const iv = crypto.randomBytes(16);
|
|
79
|
-
const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
|
|
80
|
-
let encryptedData = cipher.update(data, 'utf8', 'hex');
|
|
81
|
-
encryptedData += cipher.final('hex');
|
|
82
|
-
const authTag = cipher.getAuthTag().toString('hex');
|
|
83
|
-
return {
|
|
84
|
-
encryptedData,
|
|
85
|
-
iv: iv.toString('hex'),
|
|
86
|
-
authTag
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
throw new Error('Error encrypting data: ' + error.message);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
exports.encryptData = encryptData;
|
|
94
|
-
const decryptData = (encryptedDataObject, encryptionKey) => {
|
|
95
|
-
try {
|
|
96
|
-
const key = Buffer.from(encryptionKey, 'hex');
|
|
97
|
-
const ivBuffer = Buffer.from(encryptedDataObject.iv, 'hex');
|
|
98
|
-
const authTagBuffer = Buffer.from(encryptedDataObject.authTag, 'hex');
|
|
99
|
-
const decipher = crypto.createDecipheriv('aes-256-gcm', key, ivBuffer);
|
|
100
|
-
decipher.setAuthTag(authTagBuffer);
|
|
101
|
-
let decryptedData = decipher.update(encryptedDataObject.encryptedData, 'hex', 'utf8');
|
|
102
|
-
decryptedData += decipher.final('utf8');
|
|
103
|
-
return decryptedData;
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
throw new Error('Error decrypting data: ' + error.message);
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
exports.decryptData = decryptData;
|
|
110
|
-
//# sourceMappingURL=crypto.functions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/crypto.functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parses a comma-separated string into an array of strings.
|
|
3
|
-
*
|
|
4
|
-
* @param commaSeparatedString - The string to parse.
|
|
5
|
-
* @returns An array of trimmed, non-empty strings.
|
|
6
|
-
*/
|
|
7
|
-
export declare const parseCommaSeparatedStringToStringArray: (commaSeparatedString: string | null) => string[];
|
|
8
|
-
export declare const checkIfTokenIdIsUri: (tokenId: string | null) => boolean;
|
|
9
|
-
export declare const compareVersions: (version1: string, version2: string) => number;
|
|
10
|
-
//# sourceMappingURL=helper.functions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helper.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":"AAEA;;;;;KAKK;AACL,eAAO,MAAM,sCAAsC,GAAI,sBAAsB,MAAM,GAAG,IAAI,KAAG,MAAM,EAI9F,CAAA;AAGL,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,OAM5D,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,MAWpE,CAAA"}
|
|
@@ -1,38 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,qDAAmC;AACnC,sDAAoC;AACpC,qDAAmC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/request.functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|