@aifabrix/miso-client 4.4.2 → 4.4.3
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 +18 -0
- package/README.md +20 -38
- package/dist/api/auth-token.api.d.ts.map +1 -1
- package/dist/api/auth-token.api.js +45 -48
- package/dist/api/auth-token.api.js.map +1 -1
- package/dist/api/logs-create.api.d.ts.map +1 -1
- package/dist/api/logs-create.api.js +37 -50
- package/dist/api/logs-create.api.js.map +1 -1
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +88 -82
- package/dist/express/client-token-endpoint.js.map +1 -1
- package/dist/express/error-handler.d.ts.map +1 -1
- package/dist/express/error-handler.js +15 -7
- package/dist/express/error-handler.js.map +1 -1
- package/dist/express/error-types.d.ts +8 -1
- package/dist/express/error-types.d.ts.map +1 -1
- package/dist/express/error-types.js +11 -5
- package/dist/express/error-types.js.map +1 -1
- package/dist/express/index.d.ts +1 -1
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/response-helper.d.ts.map +1 -1
- package/dist/express/response-helper.js +4 -1
- package/dist/express/response-helper.js.map +1 -1
- package/dist/express/validation-helper.d.ts +1 -1
- package/dist/express/validation-helper.d.ts.map +1 -1
- package/dist/express/validation-helper.js +8 -10
- package/dist/express/validation-helper.js.map +1 -1
- package/dist/index.d.ts +3 -354
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -542
- package/dist/index.js.map +1 -1
- package/dist/miso-client.d.ts +82 -0
- package/dist/miso-client.d.ts.map +1 -0
- package/dist/miso-client.js +187 -0
- package/dist/miso-client.js.map +1 -0
- package/dist/sdk-exports.d.ts +56 -0
- package/dist/sdk-exports.d.ts.map +1 -0
- package/dist/sdk-exports.js +105 -0
- package/dist/sdk-exports.js.map +1 -0
- package/dist/services/application-context.service.d.ts +9 -1
- package/dist/services/application-context.service.d.ts.map +1 -1
- package/dist/services/application-context.service.js +46 -60
- package/dist/services/application-context.service.js.map +1 -1
- package/dist/services/auth-cache-helpers.d.ts.map +1 -1
- package/dist/services/auth-cache-helpers.js +4 -6
- package/dist/services/auth-cache-helpers.js.map +1 -1
- package/dist/services/auth-error-handler.d.ts.map +1 -1
- package/dist/services/auth-error-handler.js +12 -1
- package/dist/services/auth-error-handler.js.map +1 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +9 -13
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +4 -4
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +35 -80
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +4 -4
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +40 -96
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/cache.service.d.ts +1 -0
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +19 -32
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/logger/logger-context.d.ts +17 -17
- package/dist/services/logger/logger-context.d.ts.map +1 -1
- package/dist/services/logger/logger-context.js +7 -17
- package/dist/services/logger/logger-context.js.map +1 -1
- package/dist/services/logger/logger-http-utils.d.ts +9 -0
- package/dist/services/logger/logger-http-utils.d.ts.map +1 -0
- package/dist/services/logger/logger-http-utils.js +45 -0
- package/dist/services/logger/logger-http-utils.js.map +1 -0
- package/dist/services/logger/logger.service.d.ts +1 -4
- package/dist/services/logger/logger.service.d.ts.map +1 -1
- package/dist/services/logger/logger.service.js +61 -77
- package/dist/services/logger/logger.service.js.map +1 -1
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +17 -30
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +12 -20
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/token-validation.service.js +1 -3
- package/dist/services/token-validation.service.js.map +1 -1
- package/dist/types/config.types.d.ts +1 -0
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js.map +1 -1
- package/dist/utils/audit-log-queue.d.ts +3 -0
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +47 -66
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/client-token-manager.d.ts +0 -7
- package/dist/utils/client-token-manager.d.ts.map +1 -1
- package/dist/utils/client-token-manager.js +40 -46
- package/dist/utils/client-token-manager.js.map +1 -1
- package/dist/utils/config-loader.d.ts +0 -5
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +14 -11
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/console-logger.d.ts +4 -0
- package/dist/utils/console-logger.d.ts.map +1 -1
- package/dist/utils/console-logger.js +21 -5
- package/dist/utils/console-logger.js.map +1 -1
- package/dist/utils/data-client-audit.d.ts +19 -1
- package/dist/utils/data-client-audit.d.ts.map +1 -1
- package/dist/utils/data-client-audit.js +87 -117
- package/dist/utils/data-client-audit.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +139 -95
- package/dist/utils/data-client-auth.js.map +1 -1
- package/dist/utils/data-client-auto-init.d.ts.map +1 -1
- package/dist/utils/data-client-auto-init.js +57 -72
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-init.d.ts.map +1 -1
- package/dist/utils/data-client-init.js +3 -3
- package/dist/utils/data-client-init.js.map +1 -1
- package/dist/utils/data-client-oauth.d.ts.map +1 -1
- package/dist/utils/data-client-oauth.js +84 -60
- package/dist/utils/data-client-oauth.js.map +1 -1
- package/dist/utils/data-client-redirect.d.ts.map +1 -1
- package/dist/utils/data-client-redirect.js +75 -98
- package/dist/utils/data-client-redirect.js.map +1 -1
- package/dist/utils/data-client-request.d.ts +24 -5
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +80 -42
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client-response.d.ts +63 -15
- package/dist/utils/data-client-response.d.ts.map +1 -1
- package/dist/utils/data-client-response.js +89 -33
- package/dist/utils/data-client-response.js.map +1 -1
- package/dist/utils/data-client.d.ts +4 -0
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +57 -30
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/environment-token.d.ts.map +1 -1
- package/dist/utils/environment-token.js +49 -59
- package/dist/utils/environment-token.js.map +1 -1
- package/dist/utils/error-extractor.d.ts.map +1 -1
- package/dist/utils/error-extractor.js +56 -79
- package/dist/utils/error-extractor.js.map +1 -1
- package/dist/utils/filter-colon.utils.d.ts.map +1 -1
- package/dist/utils/filter-colon.utils.js +34 -45
- package/dist/utils/filter-colon.utils.js.map +1 -1
- package/dist/utils/filter-schema-loader.d.ts +12 -0
- package/dist/utils/filter-schema-loader.d.ts.map +1 -0
- package/dist/utils/filter-schema-loader.js +69 -0
- package/dist/utils/filter-schema-loader.js.map +1 -0
- package/dist/utils/filter-schema.utils.d.ts +1 -14
- package/dist/utils/filter-schema.utils.d.ts.map +1 -1
- package/dist/utils/filter-schema.utils.js +78 -136
- package/dist/utils/filter-schema.utils.js.map +1 -1
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +38 -36
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client-audit.js +3 -12
- package/dist/utils/http-client-audit.js.map +1 -1
- package/dist/utils/http-client-masking.d.ts +13 -2
- package/dist/utils/http-client-masking.d.ts.map +1 -1
- package/dist/utils/http-client-masking.js +27 -27
- package/dist/utils/http-client-masking.js.map +1 -1
- package/dist/utils/http-response-validator.d.ts.map +1 -1
- package/dist/utils/http-response-validator.js +8 -3
- package/dist/utils/http-response-validator.js.map +1 -1
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +5 -3
- package/dist/utils/internal-http-client.js.map +1 -1
- package/dist/utils/response-validator.d.ts.map +1 -1
- package/dist/utils/response-validator.js +29 -44
- package/dist/utils/response-validator.js.map +1 -1
- package/dist/utils/sensitive-fields.loader.d.ts +0 -7
- package/dist/utils/sensitive-fields.loader.d.ts.map +1 -1
- package/dist/utils/sensitive-fields.loader.js +68 -114
- package/dist/utils/sensitive-fields.loader.js.map +1 -1
- package/dist/utils/token-utils.d.ts.map +1 -1
- package/dist/utils/token-utils.js +28 -37
- package/dist/utils/token-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-token.js","sourceRoot":"","sources":["../../src/utils/environment-token.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"environment-token.js","sourceRoot":"","sources":["../../src/utils/environment-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/error-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"error-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/error-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4DD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,mBAAmB,CA0BrB"}
|
|
@@ -7,6 +7,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.extractErrorInfo = extractErrorInfo;
|
|
8
8
|
const errors_1 = require("./errors");
|
|
9
9
|
const data_client_types_1 = require("../types/data-client.types");
|
|
10
|
+
function applyBase(info, errorType, errorName, message, statusCode, stack) {
|
|
11
|
+
info.errorType = errorType;
|
|
12
|
+
info.errorName = errorName;
|
|
13
|
+
info.message = message;
|
|
14
|
+
info.statusCode = statusCode;
|
|
15
|
+
info.stackTrace = stack;
|
|
16
|
+
}
|
|
17
|
+
function extractMisoClientError(error, info) {
|
|
18
|
+
applyBase(info, "MisoClientError", error.name, error.message, error.statusCode, error.stack);
|
|
19
|
+
if (error.errorResponse && "correlationId" in error.errorResponse) {
|
|
20
|
+
info.correlationId =
|
|
21
|
+
info.correlationId || error.errorResponse.correlationId;
|
|
22
|
+
}
|
|
23
|
+
if (error.errorResponse) {
|
|
24
|
+
info.responseBody = {
|
|
25
|
+
errors: error.errorResponse.errors,
|
|
26
|
+
type: error.errorResponse.type,
|
|
27
|
+
title: error.errorResponse.title,
|
|
28
|
+
statusCode: error.errorResponse.statusCode,
|
|
29
|
+
instance: error.errorResponse.instance,
|
|
30
|
+
correlationId: error.errorResponse.correlationId,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
else if (error.errorBody) {
|
|
34
|
+
info.responseBody = error.errorBody;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function extractApiError(error, info) {
|
|
38
|
+
applyBase(info, error.name, error.name, error.message, error.statusCode, error.stack);
|
|
39
|
+
info.originalError = error.originalError;
|
|
40
|
+
if (error.response) {
|
|
41
|
+
try {
|
|
42
|
+
info.responseBody = { status: error.statusCode, message: error.message };
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Ignore extraction errors
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function extractUnknownError(error, info) {
|
|
50
|
+
info.errorType = "Unknown";
|
|
51
|
+
info.errorName = "UnknownError";
|
|
52
|
+
info.message =
|
|
53
|
+
typeof error === "string"
|
|
54
|
+
? error
|
|
55
|
+
: error && typeof error === "object" && "message" in error
|
|
56
|
+
? String(error.message)
|
|
57
|
+
: "Unknown error occurred";
|
|
58
|
+
}
|
|
10
59
|
/**
|
|
11
60
|
* Extract structured error information from any error type
|
|
12
61
|
* Supports: MisoClientError, ApiError, AuthenticationError, NetworkError, TimeoutError, and generic Error
|
|
@@ -38,98 +87,26 @@ function extractErrorInfo(error, options) {
|
|
|
38
87
|
method: options?.method,
|
|
39
88
|
correlationId: options?.correlationId,
|
|
40
89
|
};
|
|
41
|
-
// Handle MisoClientError
|
|
42
90
|
if (error instanceof errors_1.MisoClientError) {
|
|
43
|
-
errorInfo
|
|
44
|
-
errorInfo.errorName = error.name;
|
|
45
|
-
errorInfo.message = error.message;
|
|
46
|
-
errorInfo.statusCode = error.statusCode;
|
|
47
|
-
errorInfo.stackTrace = error.stack;
|
|
48
|
-
// Extract correlation ID from error response if available
|
|
49
|
-
// Note: correlationId may be in errorResponse or errorBody
|
|
50
|
-
if (error.errorResponse && 'correlationId' in error.errorResponse) {
|
|
51
|
-
errorInfo.correlationId =
|
|
52
|
-
errorInfo.correlationId || error.errorResponse.correlationId;
|
|
53
|
-
}
|
|
54
|
-
// Extract response body if available
|
|
55
|
-
if (error.errorResponse) {
|
|
56
|
-
errorInfo.responseBody = {
|
|
57
|
-
errors: error.errorResponse.errors,
|
|
58
|
-
type: error.errorResponse.type,
|
|
59
|
-
title: error.errorResponse.title,
|
|
60
|
-
statusCode: error.errorResponse.statusCode,
|
|
61
|
-
instance: error.errorResponse.instance,
|
|
62
|
-
correlationId: error.errorResponse.correlationId,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
else if (error.errorBody) {
|
|
66
|
-
errorInfo.responseBody = error.errorBody;
|
|
67
|
-
}
|
|
91
|
+
extractMisoClientError(error, errorInfo);
|
|
68
92
|
}
|
|
69
|
-
// Handle ApiError and subclasses
|
|
70
93
|
else if (error instanceof data_client_types_1.ApiError) {
|
|
71
|
-
errorInfo
|
|
72
|
-
errorInfo.errorName = error.name;
|
|
73
|
-
errorInfo.message = error.message;
|
|
74
|
-
errorInfo.statusCode = error.statusCode;
|
|
75
|
-
errorInfo.stackTrace = error.stack;
|
|
76
|
-
errorInfo.originalError = error.originalError;
|
|
77
|
-
// Extract response body if available
|
|
78
|
-
if (error.response) {
|
|
79
|
-
try {
|
|
80
|
-
// Note: Response body extraction would need to clone response
|
|
81
|
-
// For now, we'll extract what we can from the error
|
|
82
|
-
errorInfo.responseBody = {
|
|
83
|
-
status: error.statusCode,
|
|
84
|
-
message: error.message,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
catch (e) {
|
|
88
|
-
// Ignore extraction errors
|
|
89
|
-
}
|
|
90
|
-
}
|
|
94
|
+
extractApiError(error, errorInfo);
|
|
91
95
|
}
|
|
92
|
-
// Handle AuthenticationError
|
|
93
96
|
else if (error instanceof data_client_types_1.AuthenticationError) {
|
|
94
|
-
errorInfo
|
|
95
|
-
errorInfo.errorName = error.name;
|
|
96
|
-
errorInfo.message = error.message;
|
|
97
|
-
errorInfo.statusCode = 401;
|
|
98
|
-
errorInfo.stackTrace = error.stack;
|
|
97
|
+
applyBase(errorInfo, "AuthenticationError", error.name, error.message, 401, error.stack);
|
|
99
98
|
}
|
|
100
|
-
// Handle NetworkError
|
|
101
99
|
else if (error instanceof data_client_types_1.NetworkError) {
|
|
102
|
-
errorInfo
|
|
103
|
-
errorInfo.errorName = error.name;
|
|
104
|
-
errorInfo.message = error.message;
|
|
105
|
-
errorInfo.statusCode = 0;
|
|
106
|
-
errorInfo.stackTrace = error.stack;
|
|
100
|
+
applyBase(errorInfo, "NetworkError", error.name, error.message, 0, error.stack);
|
|
107
101
|
}
|
|
108
|
-
// Handle TimeoutError
|
|
109
102
|
else if (error instanceof data_client_types_1.TimeoutError) {
|
|
110
|
-
errorInfo
|
|
111
|
-
errorInfo.errorName = error.name;
|
|
112
|
-
errorInfo.message = error.message;
|
|
113
|
-
errorInfo.statusCode = 408;
|
|
114
|
-
errorInfo.stackTrace = error.stack;
|
|
103
|
+
applyBase(errorInfo, "TimeoutError", error.name, error.message, 408, error.stack);
|
|
115
104
|
}
|
|
116
|
-
// Handle generic Error
|
|
117
105
|
else if (error instanceof Error) {
|
|
118
|
-
errorInfo
|
|
119
|
-
errorInfo.errorName = error.name;
|
|
120
|
-
errorInfo.message = error.message;
|
|
121
|
-
errorInfo.stackTrace = error.stack;
|
|
106
|
+
applyBase(errorInfo, "Error", error.name, error.message, undefined, error.stack);
|
|
122
107
|
}
|
|
123
|
-
// Handle unknown error types
|
|
124
108
|
else {
|
|
125
|
-
errorInfo
|
|
126
|
-
errorInfo.errorName = "UnknownError";
|
|
127
|
-
errorInfo.message =
|
|
128
|
-
typeof error === "string"
|
|
129
|
-
? error
|
|
130
|
-
: error && typeof error === "object" && "message" in error
|
|
131
|
-
? String(error.message)
|
|
132
|
-
: "Unknown error occurred";
|
|
109
|
+
extractUnknownError(error, errorInfo);
|
|
133
110
|
}
|
|
134
111
|
return errorInfo;
|
|
135
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-extractor.js","sourceRoot":"","sources":["../../src/utils/error-extractor.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"error-extractor.js","sourceRoot":"","sources":["../../src/utils/error-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-colon.utils.d.ts","sourceRoot":"","sources":["../../src/utils/filter-colon.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAiB5D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOlD;
|
|
1
|
+
{"version":3,"file":"filter-colon.utils.d.ts","sourceRoot":"","sources":["../../src/utils/filter-colon.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAiB5D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOlD;AAyDD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAKhE"}
|
|
@@ -43,14 +43,7 @@ function isColonFormat(str) {
|
|
|
43
43
|
// JSON format starts with { or [, colon format doesn't
|
|
44
44
|
return !trimmed.startsWith("{") && !trimmed.startsWith("[");
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
* Parse colon format filter string into FilterOption.
|
|
48
|
-
* Format: field:operator:value or field:operator:value1,value2 (for in/nin)
|
|
49
|
-
* @param filterStr - Colon format filter string (e.g., "status:eq:active")
|
|
50
|
-
* @returns Parsed FilterOption
|
|
51
|
-
* @throws Error if format is invalid
|
|
52
|
-
*/
|
|
53
|
-
function parseColonFilter(filterStr) {
|
|
46
|
+
function parseColonFilterParts(filterStr) {
|
|
54
47
|
const firstColonIndex = filterStr.indexOf(":");
|
|
55
48
|
if (firstColonIndex === -1) {
|
|
56
49
|
throw new Error(`Invalid colon filter format: missing operator. Got: "${filterStr}". Expected: "field:op:value"`);
|
|
@@ -61,52 +54,48 @@ function parseColonFilter(filterStr) {
|
|
|
61
54
|
}
|
|
62
55
|
const rest = filterStr.substring(firstColonIndex + 1);
|
|
63
56
|
const secondColonIndex = rest.indexOf(":");
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (secondColonIndex === -1) {
|
|
67
|
-
opStr = rest;
|
|
68
|
-
valueStr = "";
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
opStr = rest.substring(0, secondColonIndex);
|
|
72
|
-
valueStr = rest.substring(secondColonIndex + 1);
|
|
73
|
-
}
|
|
57
|
+
const opStr = secondColonIndex === -1 ? rest : rest.substring(0, secondColonIndex);
|
|
58
|
+
const valueStr = secondColonIndex === -1 ? "" : rest.substring(secondColonIndex + 1);
|
|
74
59
|
if (!opStr) {
|
|
75
60
|
throw new Error(`Invalid colon filter format: missing operator. Got: "${filterStr}". Expected: "field:op:value"`);
|
|
76
61
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
value = valueStr.split(",").map((v) => {
|
|
62
|
+
return { field, opStr, valueStr };
|
|
63
|
+
}
|
|
64
|
+
function parseColonFilterValue(op, valueStr, filterStr) {
|
|
65
|
+
if (op === "isNull" || op === "isNotNull")
|
|
66
|
+
return null;
|
|
67
|
+
if (op === "in" || op === "nin") {
|
|
68
|
+
return valueStr
|
|
69
|
+
? valueStr.split(",").map((v) => {
|
|
88
70
|
const trimmed = v.trim();
|
|
89
71
|
const num = Number(trimmed);
|
|
90
72
|
return !isNaN(num) && trimmed !== "" ? num : trimmed;
|
|
91
|
-
})
|
|
92
|
-
|
|
73
|
+
})
|
|
74
|
+
: [];
|
|
93
75
|
}
|
|
94
|
-
|
|
76
|
+
if (valueStr === "") {
|
|
95
77
|
throw new Error(`Invalid colon filter format: missing value for operator '${op}'. Got: "${filterStr}". Expected: "field:${op}:value"`);
|
|
96
78
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
79
|
+
if (valueStr === "true")
|
|
80
|
+
return true;
|
|
81
|
+
if (valueStr === "false")
|
|
82
|
+
return false;
|
|
83
|
+
if (valueStr === "null")
|
|
84
|
+
return null;
|
|
85
|
+
const num = Number(valueStr);
|
|
86
|
+
return !isNaN(num) && valueStr !== "" ? num : valueStr;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Parse colon format filter string into FilterOption.
|
|
90
|
+
* Format: field:operator:value or field:operator:value1,value2 (for in/nin)
|
|
91
|
+
* @param filterStr - Colon format filter string (e.g., "status:eq:active")
|
|
92
|
+
* @returns Parsed FilterOption
|
|
93
|
+
* @throws Error if format is invalid
|
|
94
|
+
*/
|
|
95
|
+
function parseColonFilter(filterStr) {
|
|
96
|
+
const { field, opStr, valueStr } = parseColonFilterParts(filterStr);
|
|
97
|
+
const op = normalizeOperator(opStr);
|
|
98
|
+
const value = parseColonFilterValue(op, valueStr, filterStr);
|
|
110
99
|
return { field, op, value };
|
|
111
100
|
}
|
|
112
101
|
//# sourceMappingURL=filter-colon.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-colon.utils.js","sourceRoot":"","sources":["../../src/utils/filter-colon.utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AASH,8CAiBC;AAOD,sCAOC;
|
|
1
|
+
{"version":3,"file":"filter-colon.utils.js","sourceRoot":"","sources":["../../src/utils/filter-colon.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter schema loading from JSON
|
|
3
|
+
*/
|
|
4
|
+
import type { FilterSchema } from "../types/filter-schema.types";
|
|
5
|
+
/**
|
|
6
|
+
* Load a filter schema from a JSON object.
|
|
7
|
+
* @param json - JSON object representing a filter schema
|
|
8
|
+
* @returns Parsed FilterSchema
|
|
9
|
+
* @throws Error if schema format is invalid
|
|
10
|
+
*/
|
|
11
|
+
export declare function loadFilterSchema(json: unknown): FilterSchema;
|
|
12
|
+
//# sourceMappingURL=filter-schema-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-schema-loader.d.ts","sourceRoot":"","sources":["../../src/utils/filter-schema-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAyB,MAAM,8BAA8B,CAAC;AAkExF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAS5D"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Filter schema loading from JSON
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadFilterSchema = loadFilterSchema;
|
|
7
|
+
function getFilterSchemaObject(json) {
|
|
8
|
+
if (typeof json !== "object" || json === null) {
|
|
9
|
+
throw new Error("Invalid filter schema: expected object");
|
|
10
|
+
}
|
|
11
|
+
const obj = json;
|
|
12
|
+
if (typeof obj.resource !== "string") {
|
|
13
|
+
throw new Error("Invalid filter schema: missing 'resource' field");
|
|
14
|
+
}
|
|
15
|
+
if (typeof obj.fields !== "object" || obj.fields === null) {
|
|
16
|
+
throw new Error("Invalid filter schema: missing 'fields' object");
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
resource: obj.resource,
|
|
20
|
+
version: typeof obj.version === "string" ? obj.version : undefined,
|
|
21
|
+
fields: obj.fields,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function parseFilterField(fieldName, fieldDef) {
|
|
25
|
+
if (typeof fieldDef !== "object" || fieldDef === null) {
|
|
26
|
+
throw new Error(`Invalid filter schema: field '${fieldName}' must be an object`);
|
|
27
|
+
}
|
|
28
|
+
const def = fieldDef;
|
|
29
|
+
if (typeof def.column !== "string") {
|
|
30
|
+
throw new Error(`Invalid filter schema: field '${fieldName}' missing 'column'`);
|
|
31
|
+
}
|
|
32
|
+
if (typeof def.type !== "string") {
|
|
33
|
+
throw new Error(`Invalid filter schema: field '${fieldName}' missing 'type'`);
|
|
34
|
+
}
|
|
35
|
+
if (!Array.isArray(def.operators)) {
|
|
36
|
+
throw new Error(`Invalid filter schema: field '${fieldName}' missing 'operators' array`);
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
column: def.column,
|
|
40
|
+
type: def.type,
|
|
41
|
+
operators: def.operators,
|
|
42
|
+
enumValues: Array.isArray(def.enumValues) ? def.enumValues : undefined,
|
|
43
|
+
nullable: typeof def.nullable === "boolean" ? def.nullable : undefined,
|
|
44
|
+
description: typeof def.description === "string" ? def.description : undefined,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function parseFilterFields(fields) {
|
|
48
|
+
const parsedFields = {};
|
|
49
|
+
for (const [fieldName, fieldDef] of Object.entries(fields)) {
|
|
50
|
+
parsedFields[fieldName] = parseFilterField(fieldName, fieldDef);
|
|
51
|
+
}
|
|
52
|
+
return parsedFields;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Load a filter schema from a JSON object.
|
|
56
|
+
* @param json - JSON object representing a filter schema
|
|
57
|
+
* @returns Parsed FilterSchema
|
|
58
|
+
* @throws Error if schema format is invalid
|
|
59
|
+
*/
|
|
60
|
+
function loadFilterSchema(json) {
|
|
61
|
+
const obj = getFilterSchemaObject(json);
|
|
62
|
+
const parsedFields = parseFilterFields(obj.fields);
|
|
63
|
+
return {
|
|
64
|
+
resource: obj.resource,
|
|
65
|
+
version: obj.version,
|
|
66
|
+
fields: parsedFields,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=filter-schema-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-schema-loader.js","sourceRoot":"","sources":["../../src/utils/filter-schema-loader.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA0EH,4CASC;AA9ED,SAAS,qBAAqB,CAAC,IAAa;IAK1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAClE,MAAM,EAAE,GAAG,CAAC,MAAiC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,SAAiB,EACjB,QAAiB;IAEjB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,qBAAqB,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,GAAG,GAAG,QAAmC,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,oBAAoB,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,kBAAkB,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,6BAA6B,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAqC;QAC/C,SAAS,EAAE,GAAG,CAAC,SAA6B;QAC5C,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,UAAuB,CAAC,CAAC,CAAC,SAAS;QACpF,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACtE,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KAC/E,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAA+B;IAE/B,MAAM,YAAY,GAA0C,EAAE,CAAC;IAC/D,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,YAAY,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnD,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -12,13 +12,6 @@ import type { FilterSchema, FilterFieldDefinition, FilterValidationError, Filter
|
|
|
12
12
|
* @returns FilterValidationError object
|
|
13
13
|
*/
|
|
14
14
|
export declare function createFilterError(code: FilterErrorCodeType, message: string, extras?: Partial<Omit<FilterValidationError, "code" | "message">>): FilterValidationError;
|
|
15
|
-
/**
|
|
16
|
-
* Coerce a value to the appropriate type based on field definition.
|
|
17
|
-
* @param value - Value to coerce
|
|
18
|
-
* @param fieldDef - Field definition with type information
|
|
19
|
-
* @returns Coerced value
|
|
20
|
-
* @throws Error if value cannot be coerced
|
|
21
|
-
*/
|
|
22
15
|
export declare function coerceValue(value: unknown, fieldDef: FilterFieldDefinition): unknown;
|
|
23
16
|
/**
|
|
24
17
|
* Validate a single filter against a schema.
|
|
@@ -74,11 +67,5 @@ export declare function compileFilter(filters: FilterOption[], schema: FilterSch
|
|
|
74
67
|
export declare function createFilterSchema(resource: string, fields: Record<string, Omit<FilterFieldDefinition, "operators"> & {
|
|
75
68
|
operators?: FilterOperator[];
|
|
76
69
|
}>, version?: string): FilterSchema;
|
|
77
|
-
|
|
78
|
-
* Load a filter schema from a JSON object.
|
|
79
|
-
* @param json - JSON object representing a filter schema
|
|
80
|
-
* @returns Parsed FilterSchema
|
|
81
|
-
* @throws Error if schema format is invalid
|
|
82
|
-
*/
|
|
83
|
-
export declare function loadFilterSchema(json: unknown): FilterSchema;
|
|
70
|
+
export { loadFilterSchema } from "./filter-schema-loader";
|
|
84
71
|
//# sourceMappingURL=filter-schema.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-schema.utils.d.ts","sourceRoot":"","sources":["../../src/utils/filter-schema.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChE,qBAAqB,CAMvB;
|
|
1
|
+
{"version":3,"file":"filter-schema.utils.d.ts","sourceRoot":"","sources":["../../src/utils/filter-schema.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChE,qBAAqB,CAMvB;AAiDD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CASpF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,GACnB,qBAAqB,GAAG,IAAI,CAqC9B;AA+HD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,YAAY,GACnB,sBAAsB,CAcxB;AA0CD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,YAAY,EACpB,KAAK,GAAE,KAAK,GAAG,IAAY,GAC1B,cAAc,CAgBhB;AAqCD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,EACnG,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CAed;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|