@aifabrix/miso-client 3.5.0 → 3.8.1
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 +263 -0
- package/dist/api/auth-cache.api.d.ts.map +1 -1
- package/dist/api/auth-cache.api.js +27 -5
- package/dist/api/auth-cache.api.js.map +1 -1
- package/dist/api/auth-login.api.d.ts.map +1 -1
- package/dist/api/auth-login.api.js +49 -6
- package/dist/api/auth-login.api.js.map +1 -1
- package/dist/api/auth-token.api.d.ts.map +1 -1
- package/dist/api/auth-token.api.js +99 -7
- package/dist/api/auth-token.api.js.map +1 -1
- package/dist/api/auth-user.api.d.ts.map +1 -1
- package/dist/api/auth-user.api.js +22 -4
- package/dist/api/auth-user.api.js.map +1 -1
- package/dist/api/auth.api.d.ts +2 -9
- package/dist/api/auth.api.d.ts.map +1 -1
- package/dist/api/auth.api.js +1 -66
- package/dist/api/auth.api.js.map +1 -1
- package/dist/api/logs-create.api.d.ts.map +1 -1
- package/dist/api/logs-create.api.js +57 -4
- package/dist/api/logs-create.api.js.map +1 -1
- package/dist/api/logs-export.api.d.ts.map +1 -1
- package/dist/api/logs-export.api.js +7 -1
- package/dist/api/logs-export.api.js.map +1 -1
- package/dist/api/logs-list.api.d.ts.map +1 -1
- package/dist/api/logs-list.api.js +32 -6
- package/dist/api/logs-list.api.js.map +1 -1
- package/dist/api/logs-stats.api.d.ts.map +1 -1
- package/dist/api/logs-stats.api.js +22 -4
- package/dist/api/logs-stats.api.js.map +1 -1
- package/dist/api/permissions.api.d.ts +2 -1
- package/dist/api/permissions.api.d.ts.map +1 -1
- package/dist/api/permissions.api.js +16 -5
- package/dist/api/permissions.api.js.map +1 -1
- package/dist/api/roles.api.d.ts +2 -1
- package/dist/api/roles.api.d.ts.map +1 -1
- package/dist/api/roles.api.js +16 -5
- package/dist/api/roles.api.js.map +1 -1
- package/dist/api/types/logs.types.d.ts +44 -7
- package/dist/api/types/logs.types.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +42 -5
- 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 +32 -8
- package/dist/express/error-handler.js.map +1 -1
- package/dist/express/index.d.ts +1 -0
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/index.js +4 -1
- package/dist/express/index.js.map +1 -1
- package/dist/express/logger-context.middleware.d.ts +46 -0
- package/dist/express/logger-context.middleware.d.ts.map +1 -0
- package/dist/express/logger-context.middleware.js +99 -0
- package/dist/express/logger-context.middleware.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -5
- package/dist/index.js.map +1 -1
- package/dist/services/application-context.service.d.ts +48 -0
- package/dist/services/application-context.service.d.ts.map +1 -0
- package/dist/services/application-context.service.js +141 -0
- package/dist/services/application-context.service.js.map +1 -0
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +97 -8
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +5 -0
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +39 -2
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +5 -0
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +45 -2
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/logger/index.d.ts +10 -0
- package/dist/services/logger/index.d.ts.map +1 -0
- package/dist/services/logger/index.js +22 -0
- package/dist/services/logger/index.js.map +1 -0
- package/dist/services/logger/logger-chain.d.ts +90 -0
- package/dist/services/logger/logger-chain.d.ts.map +1 -0
- package/dist/services/logger/logger-chain.js +169 -0
- package/dist/services/logger/logger-chain.js.map +1 -0
- package/dist/services/logger/logger-context-storage.d.ts +73 -0
- package/dist/services/logger/logger-context-storage.d.ts.map +1 -0
- package/dist/services/logger/logger-context-storage.js +86 -0
- package/dist/services/logger/logger-context-storage.js.map +1 -0
- package/dist/services/logger/logger-context.d.ts +89 -0
- package/dist/services/logger/logger-context.d.ts.map +1 -0
- package/dist/services/logger/logger-context.js +208 -0
- package/dist/services/logger/logger-context.js.map +1 -0
- package/dist/services/logger/logger.service.d.ts +186 -0
- package/dist/services/logger/logger.service.d.ts.map +1 -0
- package/dist/services/logger/logger.service.js +423 -0
- package/dist/services/logger/logger.service.js.map +1 -0
- package/dist/services/logger/unified-logger.factory.d.ts +87 -0
- package/dist/services/logger/unified-logger.factory.d.ts.map +1 -0
- package/dist/services/logger/unified-logger.factory.js +120 -0
- package/dist/services/logger/unified-logger.factory.js.map +1 -0
- package/dist/services/logger/unified-logger.service.d.ts +89 -0
- package/dist/services/logger/unified-logger.service.d.ts.map +1 -0
- package/dist/services/logger/unified-logger.service.js +186 -0
- package/dist/services/logger/unified-logger.service.js.map +1 -0
- package/dist/services/permission.service.d.ts +1 -0
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +10 -2
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/role.service.d.ts +1 -0
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +10 -2
- package/dist/services/role.service.js.map +1 -1
- package/dist/types/filter.types.d.ts +6 -6
- package/dist/types/filter.types.d.ts.map +1 -1
- package/dist/types/filter.types.js +14 -5
- package/dist/types/filter.types.js.map +1 -1
- package/dist/utils/console-logger.d.ts +21 -0
- package/dist/utils/console-logger.d.ts.map +1 -0
- package/dist/utils/console-logger.js +58 -0
- package/dist/utils/console-logger.js.map +1 -0
- package/dist/utils/controller-url-resolver.d.ts.map +1 -1
- package/dist/utils/controller-url-resolver.js +5 -0
- package/dist/utils/controller-url-resolver.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +34 -2
- 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 +59 -3
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +78 -2
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +10 -7
- 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 +37 -57
- package/dist/utils/environment-token.js.map +1 -1
- package/dist/utils/error-extractor.d.ts +52 -0
- package/dist/utils/error-extractor.d.ts.map +1 -0
- package/dist/utils/error-extractor.js +136 -0
- package/dist/utils/error-extractor.js.map +1 -0
- package/dist/utils/filter.utils.d.ts +115 -3
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +298 -27
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts +1 -1
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client.d.ts +1 -1
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.d.ts +4 -0
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +190 -11
- 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 +2 -4
- package/dist/utils/response-validator.js.map +1 -1
- package/dist/utils/token-utils.d.ts.map +1 -1
- package/dist/utils/token-utils.js +75 -4
- package/dist/utils/token-utils.js.map +1 -1
- package/package.json +2 -1
- package/dist/services/logger.service.d.ts +0 -191
- package/dist/services/logger.service.d.ts.map +0 -1
- package/dist/services/logger.service.js +0 -488
- package/dist/services/logger.service.js.map +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Application Context Service
|
|
4
|
+
* Unified service to extract application, applicationId, and environment
|
|
5
|
+
* with consistent fallback logic: client token → clientId parsing
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ApplicationContextService = void 0;
|
|
9
|
+
const token_utils_1 = require("../utils/token-utils");
|
|
10
|
+
/**
|
|
11
|
+
* Application Context Service
|
|
12
|
+
* Extracts application, applicationId, and environment with fallback logic
|
|
13
|
+
*/
|
|
14
|
+
class ApplicationContextService {
|
|
15
|
+
constructor(httpClient) {
|
|
16
|
+
this.cachedContext = null;
|
|
17
|
+
this.config = httpClient.config;
|
|
18
|
+
this.httpClient = httpClient;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parse clientId format: miso-controller-{environment}-{application}
|
|
22
|
+
* Example: miso-controller-miso-miso-test → environment: "miso", application: "miso-test"
|
|
23
|
+
* @param clientId - Client ID to parse
|
|
24
|
+
* @returns Parsed environment and application, or null if format doesn't match
|
|
25
|
+
*/
|
|
26
|
+
parseClientIdFormat(clientId) {
|
|
27
|
+
try {
|
|
28
|
+
if (!clientId || typeof clientId !== "string") {
|
|
29
|
+
return { environment: null, application: null };
|
|
30
|
+
}
|
|
31
|
+
const parts = clientId.split("-");
|
|
32
|
+
// Expect pattern: ["miso", "controller", "{env}", "{app}", ...]
|
|
33
|
+
// Minimum 4 parts required: miso-controller-{env}-{app}
|
|
34
|
+
if (parts.length < 4 || parts[0] !== "miso" || parts[1] !== "controller") {
|
|
35
|
+
return { environment: null, application: null };
|
|
36
|
+
}
|
|
37
|
+
// Extract environment from index 2
|
|
38
|
+
const environment = parts[2] || null;
|
|
39
|
+
// Extract application from remaining parts (index 3+), joined with '-'
|
|
40
|
+
const application = parts.slice(3).join("-") || null;
|
|
41
|
+
return { environment, application };
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.warn("[ApplicationContextService] Failed to parse clientId format:", error);
|
|
45
|
+
return { environment: null, application: null };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Extract client token from HttpClient's internal state or config
|
|
50
|
+
* @returns Client token string or null if not available
|
|
51
|
+
*/
|
|
52
|
+
getClientToken() {
|
|
53
|
+
try {
|
|
54
|
+
// Try to get client token from config first (if provided)
|
|
55
|
+
if (this.config.clientToken) {
|
|
56
|
+
return this.config.clientToken;
|
|
57
|
+
}
|
|
58
|
+
// Try to access from internal client (private property access)
|
|
59
|
+
// This is a workaround since clientToken is private in InternalHttpClient
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
|
+
const internalClient = this.httpClient.internalClient;
|
|
62
|
+
if (internalClient) {
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
|
+
const clientToken = internalClient.clientToken;
|
|
65
|
+
if (clientToken && typeof clientToken === "string") {
|
|
66
|
+
return clientToken;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.warn("[ApplicationContextService] Failed to get client token:", error);
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get application context with fallback logic
|
|
78
|
+
* 1. Extract from client token first (if available)
|
|
79
|
+
* 2. Fall back to parsing clientId format
|
|
80
|
+
* @returns Application context with application, applicationId, and environment
|
|
81
|
+
*/
|
|
82
|
+
getApplicationContext() {
|
|
83
|
+
// Return cached context if available
|
|
84
|
+
if (this.cachedContext) {
|
|
85
|
+
return this.cachedContext;
|
|
86
|
+
}
|
|
87
|
+
let application = "";
|
|
88
|
+
let applicationId = "";
|
|
89
|
+
let environment = "";
|
|
90
|
+
// Step 1: Try to extract from client token
|
|
91
|
+
const clientToken = this.getClientToken();
|
|
92
|
+
if (clientToken) {
|
|
93
|
+
try {
|
|
94
|
+
const tokenInfo = (0, token_utils_1.extractClientTokenInfo)(clientToken);
|
|
95
|
+
// Extract applicationId from client token
|
|
96
|
+
if (tokenInfo.applicationId) {
|
|
97
|
+
applicationId = tokenInfo.applicationId;
|
|
98
|
+
}
|
|
99
|
+
// Extract environment from client token (if available)
|
|
100
|
+
if (tokenInfo.environment) {
|
|
101
|
+
environment = tokenInfo.environment;
|
|
102
|
+
}
|
|
103
|
+
// Extract application from client token (if available)
|
|
104
|
+
if (tokenInfo.application) {
|
|
105
|
+
application = tokenInfo.application;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
console.warn("[ApplicationContextService] Failed to extract from client token:", error);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Step 2: Fall back to parsing clientId format
|
|
113
|
+
// Only use parsed values if not already set from client token
|
|
114
|
+
if (!environment || !application) {
|
|
115
|
+
const parsed = this.parseClientIdFormat(this.config.clientId);
|
|
116
|
+
if (!environment && parsed.environment) {
|
|
117
|
+
environment = parsed.environment;
|
|
118
|
+
}
|
|
119
|
+
if (!application && parsed.application) {
|
|
120
|
+
application = parsed.application;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// If still no values, use empty strings (don't throw errors)
|
|
124
|
+
const context = {
|
|
125
|
+
application: application || "",
|
|
126
|
+
applicationId: applicationId || "",
|
|
127
|
+
environment: environment || "",
|
|
128
|
+
};
|
|
129
|
+
// Cache the result
|
|
130
|
+
this.cachedContext = context;
|
|
131
|
+
return context;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Clear cached context (useful for testing or when config changes)
|
|
135
|
+
*/
|
|
136
|
+
clearCache() {
|
|
137
|
+
this.cachedContext = null;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.ApplicationContextService = ApplicationContextService;
|
|
141
|
+
//# sourceMappingURL=application-context.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-context.service.js","sourceRoot":"","sources":["../../src/services/application-context.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAU/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAU/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmN5C;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2F1B;;;;;;;OAOG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IA4CnB;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgC3B;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA6B3B;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWpC;;;;;;;;OAQG;IACG,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAoHhE;;;;;OAKG;IACG,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAwFvC;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;CAGpB"}
|
|
@@ -131,14 +131,32 @@ class AuthService {
|
|
|
131
131
|
try {
|
|
132
132
|
// Use a temporary axios instance to avoid interceptor recursion
|
|
133
133
|
const axios = (await Promise.resolve().then(() => __importStar(require("axios")))).default;
|
|
134
|
+
// resolveControllerUrl already handles localhost -> 127.0.0.1 conversion
|
|
134
135
|
const controllerUrl = (0, controller_url_resolver_1.resolveControllerUrl)(this.config);
|
|
135
136
|
const tokenUri = this.config.clientTokenUri || "/api/v1/auth/token";
|
|
136
137
|
const fullUrl = `${controllerUrl}${tokenUri}`;
|
|
137
|
-
// Use
|
|
138
|
+
// Use default timeout of 4 seconds
|
|
138
139
|
// This ensures axios fails before the handler timeout wrapper
|
|
140
|
+
// Wrap axios call in Promise.race to ensure it always times out
|
|
141
|
+
const axiosTimeout = 4000; // Default to 4 seconds
|
|
142
|
+
const controller = new AbortController();
|
|
143
|
+
const timeoutId = setTimeout(() => {
|
|
144
|
+
controller.abort();
|
|
145
|
+
}, axiosTimeout);
|
|
146
|
+
// Force IPv4 to avoid IPv6 connection issues (localhost resolves to both ::1 and 127.0.0.1)
|
|
147
|
+
// Use http/https agent with family: 4 to force IPv4
|
|
148
|
+
const http = await Promise.resolve().then(() => __importStar(require("http")));
|
|
149
|
+
const https = await Promise.resolve().then(() => __importStar(require("https")));
|
|
150
|
+
const isHttps = controllerUrl.startsWith("https://");
|
|
151
|
+
const httpAgent = isHttps
|
|
152
|
+
? new https.Agent({ family: 4, timeout: axiosTimeout })
|
|
153
|
+
: new http.Agent({ family: 4, timeout: axiosTimeout });
|
|
139
154
|
const tempAxios = axios.create({
|
|
140
155
|
baseURL: controllerUrl,
|
|
141
|
-
timeout:
|
|
156
|
+
timeout: axiosTimeout, // Request timeout
|
|
157
|
+
signal: controller.signal, // Abort signal for connection timeout
|
|
158
|
+
httpAgent: !isHttps ? httpAgent : undefined,
|
|
159
|
+
httpsAgent: isHttps ? httpAgent : undefined,
|
|
142
160
|
headers: {
|
|
143
161
|
"Content-Type": "application/json",
|
|
144
162
|
"x-client-id": this.config.clientId,
|
|
@@ -146,10 +164,65 @@ class AuthService {
|
|
|
146
164
|
},
|
|
147
165
|
});
|
|
148
166
|
console.log(`[getEnvironmentToken] Calling controller: ${fullUrl} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const
|
|
152
|
-
|
|
167
|
+
// Wrap in Promise.race to ensure timeout even if axios hangs
|
|
168
|
+
const axiosPromise = tempAxios.post(tokenUri);
|
|
169
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
170
|
+
setTimeout(() => {
|
|
171
|
+
reject(new Error(`Request timeout after ${axiosTimeout}ms`));
|
|
172
|
+
}, axiosTimeout);
|
|
173
|
+
});
|
|
174
|
+
let response;
|
|
175
|
+
try {
|
|
176
|
+
response = await Promise.race([axiosPromise, timeoutPromise]);
|
|
177
|
+
clearTimeout(timeoutId); // Clear timeout on success
|
|
178
|
+
console.log(`[getEnvironmentToken] Successfully received response from controller [correlationId: ${correlationId}]`);
|
|
179
|
+
}
|
|
180
|
+
catch (requestError) {
|
|
181
|
+
clearTimeout(timeoutId); // Clear timeout on error
|
|
182
|
+
console.error(`[getEnvironmentToken] Request failed: ${requestError instanceof Error ? requestError.message : String(requestError)} [correlationId: ${correlationId}]`);
|
|
183
|
+
throw requestError; // Re-throw to be handled by outer catch
|
|
184
|
+
}
|
|
185
|
+
// Handle multiple response formats:
|
|
186
|
+
// 1. Nested format: { success: true, data: { data: { token: "...", expiresIn: 900 } } }
|
|
187
|
+
// 2. Standard format: { success: true, data: { token: "...", expiresIn: 900 } }
|
|
188
|
+
// 3. Flat format: { success: true, token: "...", expiresIn: 900 }
|
|
189
|
+
// 4. Axios wrapped: { status: 200, data: { data: { token: "...", expiresIn: 900 } } }
|
|
190
|
+
// Type assertion to handle various response formats
|
|
191
|
+
const responseData = response.data;
|
|
192
|
+
let token;
|
|
193
|
+
// Try nested data.data.token first (controller response wrapped in axios)
|
|
194
|
+
if (responseData?.data &&
|
|
195
|
+
typeof responseData.data === "object" &&
|
|
196
|
+
responseData.data !== null &&
|
|
197
|
+
"data" in responseData.data &&
|
|
198
|
+
typeof responseData.data.data === "object" &&
|
|
199
|
+
responseData.data.data !== null &&
|
|
200
|
+
"token" in responseData.data.data) {
|
|
201
|
+
token = responseData.data.data.token;
|
|
202
|
+
}
|
|
203
|
+
// Try data.data.token (standard nested format)
|
|
204
|
+
else if (responseData?.data &&
|
|
205
|
+
typeof responseData.data === "object" &&
|
|
206
|
+
responseData.data !== null &&
|
|
207
|
+
"token" in responseData.data) {
|
|
208
|
+
token = responseData.data.token;
|
|
209
|
+
}
|
|
210
|
+
// Try data.token (flat format)
|
|
211
|
+
else if (responseData?.token && typeof responseData.token === "string") {
|
|
212
|
+
token = responseData.token;
|
|
213
|
+
}
|
|
214
|
+
// Check if we have a token and response indicates success
|
|
215
|
+
// Accept response if status is 2xx and we have a token, even without explicit success field
|
|
216
|
+
// Controller may return 200 (OK) or 201 (Created) for token creation
|
|
217
|
+
const hasSuccessField = responseData?.success === true ||
|
|
218
|
+
(responseData?.data &&
|
|
219
|
+
typeof responseData.data === "object" &&
|
|
220
|
+
responseData.data !== null &&
|
|
221
|
+
"success" in responseData.data &&
|
|
222
|
+
responseData.data.success === true);
|
|
223
|
+
// Accept any 2xx status code (200 OK, 201 Created, etc.)
|
|
224
|
+
const isSuccess = response.status >= 200 && response.status < 300 && (hasSuccessField || token !== undefined);
|
|
225
|
+
if (isSuccess && token) {
|
|
153
226
|
console.log(`[getEnvironmentToken] Successfully received token from controller [correlationId: ${correlationId}]`);
|
|
154
227
|
return token;
|
|
155
228
|
}
|
|
@@ -160,10 +233,21 @@ class AuthService {
|
|
|
160
233
|
data: response.data,
|
|
161
234
|
headers: response.headers,
|
|
162
235
|
});
|
|
163
|
-
throw new Error(`Failed to get environment token: Invalid response format. Expected
|
|
236
|
+
throw new Error(`Failed to get environment token: Invalid response format. Expected token in response. ` +
|
|
164
237
|
`Full response: ${responseDetails} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
165
238
|
}
|
|
166
239
|
catch (error) {
|
|
240
|
+
// Check if it's an AbortError (timeout/abort signal) or ECONNABORTED
|
|
241
|
+
const isAbortError = (error && typeof error === "object" && "name" in error && error.name === "AbortError") ||
|
|
242
|
+
(error && typeof error === "object" && "code" in error && error.code === "ECONNABORTED") ||
|
|
243
|
+
(error instanceof Error && (error.message.includes("aborted") || error.message.includes("timeout")));
|
|
244
|
+
if (isAbortError) {
|
|
245
|
+
const controllerUrl = (0, controller_url_resolver_1.resolveControllerUrl)(this.config);
|
|
246
|
+
const tokenUri = this.config.clientTokenUri || "/api/v1/auth/token";
|
|
247
|
+
console.error(`[getEnvironmentToken] Request aborted/timeout: ${controllerUrl}${tokenUri} [correlationId: ${correlationId}, clientId: ${clientId}]`, error instanceof Error ? error.message : String(error));
|
|
248
|
+
throw new Error(`Failed to get environment token: Request timeout or aborted. ` +
|
|
249
|
+
`Controller: ${controllerUrl}${tokenUri} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
250
|
+
}
|
|
167
251
|
// Check if it's an AxiosError to extract full response details
|
|
168
252
|
if (error &&
|
|
169
253
|
typeof error === "object" &&
|
|
@@ -172,6 +256,7 @@ class AuthService {
|
|
|
172
256
|
const axiosError = error;
|
|
173
257
|
const responseDetails = [];
|
|
174
258
|
if (axiosError.response) {
|
|
259
|
+
// HTTP error response (like 401, 403, etc.)
|
|
175
260
|
responseDetails.push(`status: ${axiosError.response.status}`);
|
|
176
261
|
responseDetails.push(`statusText: ${axiosError.response.statusText}`);
|
|
177
262
|
responseDetails.push(`data: ${JSON.stringify(axiosError.response.data)}`);
|
|
@@ -191,8 +276,12 @@ class AuthService {
|
|
|
191
276
|
else {
|
|
192
277
|
responseDetails.push(`message: ${axiosError.message}`);
|
|
193
278
|
}
|
|
194
|
-
|
|
279
|
+
// Preserve axios error for proper error handling upstream
|
|
280
|
+
const tokenError = new Error(`Failed to get environment token: ${axiosError.message}. ` +
|
|
195
281
|
`Full response: {${responseDetails.join(", ")}} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
282
|
+
// Attach original axios error as cause for error chain traversal
|
|
283
|
+
tokenError.cause = axiosError;
|
|
284
|
+
throw tokenError;
|
|
196
285
|
}
|
|
197
286
|
// Non-Axios error
|
|
198
287
|
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,11 @@ export declare class BrowserPermissionService {
|
|
|
18
18
|
* Uses browser-compatible JWT decoder
|
|
19
19
|
*/
|
|
20
20
|
private extractUserIdFromToken;
|
|
21
|
+
/**
|
|
22
|
+
* Extract environment from client token stored in localStorage
|
|
23
|
+
* Returns null if not available (browser-only)
|
|
24
|
+
*/
|
|
25
|
+
private getEnvironmentFromClientToken;
|
|
21
26
|
/**
|
|
22
27
|
* Get user permissions with caching
|
|
23
28
|
* Optimized to extract userId from token first to check cache before API call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-permission.service.d.ts","sourceRoot":"","sources":["../../src/services/browser-permission.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,YAAY,EAEb,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-permission.service.d.ts","sourceRoot":"","sources":["../../src/services/browser-permission.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAU/B,qBAAa,wBAAwB;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAS;gBAElB,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAQ7E;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAoBrC;;;;;OAKG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA4EpB;;;;;OAKG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAOnB;;;;;OAKG;IACG,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAOnB;;;;OAIG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA+CpB;;;;OAIG;IACG,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.BrowserPermissionService = void 0;
|
|
8
8
|
const browser_jwt_decoder_1 = require("../utils/browser-jwt-decoder");
|
|
9
|
+
const token_utils_1 = require("../utils/token-utils");
|
|
10
|
+
const data_client_utils_1 = require("../utils/data-client-utils");
|
|
9
11
|
class BrowserPermissionService {
|
|
10
12
|
constructor(httpClient, apiClient, cache) {
|
|
11
13
|
this.config = httpClient.config;
|
|
@@ -34,6 +36,28 @@ class BrowserPermissionService {
|
|
|
34
36
|
return null;
|
|
35
37
|
}
|
|
36
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Extract environment from client token stored in localStorage
|
|
41
|
+
* Returns null if not available (browser-only)
|
|
42
|
+
*/
|
|
43
|
+
getEnvironmentFromClientToken() {
|
|
44
|
+
if (!(0, data_client_utils_1.isBrowser)()) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const clientToken = (0, data_client_utils_1.getLocalStorage)("miso:client-token");
|
|
49
|
+
if (!clientToken) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
const tokenInfo = (0, token_utils_1.extractClientTokenInfo)(clientToken);
|
|
53
|
+
return tokenInfo.environment || null;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
// eslint-disable-next-line no-console
|
|
57
|
+
console.warn("Failed to extract environment from client token:", error);
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
37
61
|
/**
|
|
38
62
|
* Get user permissions with caching
|
|
39
63
|
* Optimized to extract userId from token first to check cache before API call
|
|
@@ -70,7 +94,17 @@ class BrowserPermissionService {
|
|
|
70
94
|
const authStrategyWithToken = authStrategyToUse
|
|
71
95
|
? { ...authStrategyToUse, bearerToken: token }
|
|
72
96
|
: { methods: ['bearer'], bearerToken: token };
|
|
73
|
-
|
|
97
|
+
// Extract environment from client token for query parameter
|
|
98
|
+
const environment = this.getEnvironmentFromClientToken();
|
|
99
|
+
// Log warning if environment is missing (required by controller)
|
|
100
|
+
if (!environment) {
|
|
101
|
+
// eslint-disable-next-line no-console
|
|
102
|
+
console.warn("[BrowserPermissionService] Environment not found in client token. " +
|
|
103
|
+
"Permissions API requires environment parameter. " +
|
|
104
|
+
"This may cause a 400 Bad Request error.");
|
|
105
|
+
}
|
|
106
|
+
const queryParams = environment ? { environment } : undefined;
|
|
107
|
+
const permissionResult = await this.apiClient.permissions.getPermissions(queryParams, authStrategyWithToken);
|
|
74
108
|
const permissions = permissionResult.data?.permissions || [];
|
|
75
109
|
// Cache the result (use userId-based key)
|
|
76
110
|
const finalCacheKey = `permissions:${userId}`;
|
|
@@ -131,8 +165,11 @@ class BrowserPermissionService {
|
|
|
131
165
|
}
|
|
132
166
|
const userId = userInfo.data.user.id;
|
|
133
167
|
const cacheKey = `permissions:${userId}`;
|
|
168
|
+
// Extract environment from client token for query parameter
|
|
169
|
+
const environment = this.getEnvironmentFromClientToken();
|
|
170
|
+
const queryParams = environment ? { environment } : undefined;
|
|
134
171
|
// Fetch fresh permissions from controller using refresh endpoint via ApiClient
|
|
135
|
-
const permissionResult = await this.apiClient.permissions.refreshPermissions(authStrategyWithToken);
|
|
172
|
+
const permissionResult = await this.apiClient.permissions.refreshPermissions(queryParams, authStrategyWithToken);
|
|
136
173
|
const permissions = permissionResult.data?.permissions || [];
|
|
137
174
|
// Update cache with fresh data
|
|
138
175
|
await this.cache.set(cacheKey, { permissions, timestamp: Date.now() }, this.permissionTTL);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-permission.service.js","sourceRoot":"","sources":["../../src/services/browser-permission.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAUH,sEAAyD;
|
|
1
|
+
{"version":3,"file":"browser-permission.service.js","sourceRoot":"","sources":["../../src/services/browser-permission.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,11 @@ export declare class BrowserRoleService {
|
|
|
18
18
|
* Uses browser-compatible JWT decoder
|
|
19
19
|
*/
|
|
20
20
|
private extractUserIdFromToken;
|
|
21
|
+
/**
|
|
22
|
+
* Extract environment from client token stored in localStorage
|
|
23
|
+
* Returns null if not available (browser-only)
|
|
24
|
+
*/
|
|
25
|
+
private getEnvironmentFromClientToken;
|
|
21
26
|
/**
|
|
22
27
|
* Get user roles with caching
|
|
23
28
|
* Optimized to extract userId from token first to check cache before API call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-role.service.d.ts","sourceRoot":"","sources":["../../src/services/browser-role.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,YAAY,EAEb,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-role.service.d.ts","sourceRoot":"","sources":["../../src/services/browser-role.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAU/B,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAS;gBAEZ,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAQ7E;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IA4BrC;;;;;OAKG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA4EpB;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;OAIG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA+CpB;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.BrowserRoleService = void 0;
|
|
8
8
|
const browser_jwt_decoder_1 = require("../utils/browser-jwt-decoder");
|
|
9
|
+
const token_utils_1 = require("../utils/token-utils");
|
|
10
|
+
const data_client_utils_1 = require("../utils/data-client-utils");
|
|
9
11
|
class BrowserRoleService {
|
|
10
12
|
constructor(httpClient, apiClient, cache) {
|
|
11
13
|
this.config = httpClient.config;
|
|
@@ -34,6 +36,34 @@ class BrowserRoleService {
|
|
|
34
36
|
return null;
|
|
35
37
|
}
|
|
36
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Extract environment from client token stored in localStorage
|
|
41
|
+
* Returns null if not available (browser-only)
|
|
42
|
+
*/
|
|
43
|
+
getEnvironmentFromClientToken() {
|
|
44
|
+
if (!(0, data_client_utils_1.isBrowser)()) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const clientToken = (0, data_client_utils_1.getLocalStorage)("miso:client-token");
|
|
49
|
+
if (!clientToken) {
|
|
50
|
+
console.warn("[BrowserRoleService] No client token found in localStorage");
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const tokenInfo = (0, token_utils_1.extractClientTokenInfo)(clientToken);
|
|
54
|
+
// Log token info for debugging
|
|
55
|
+
if (!tokenInfo.environment) {
|
|
56
|
+
console.warn("[BrowserRoleService] No environment in client token. Token info:", tokenInfo);
|
|
57
|
+
console.log("[BrowserRoleService] Available token info fields:", Object.keys(tokenInfo));
|
|
58
|
+
}
|
|
59
|
+
return tokenInfo.environment || null;
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
// eslint-disable-next-line no-console
|
|
63
|
+
console.warn("Failed to extract environment from client token:", error);
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
37
67
|
/**
|
|
38
68
|
* Get user roles with caching
|
|
39
69
|
* Optimized to extract userId from token first to check cache before API call
|
|
@@ -70,7 +100,17 @@ class BrowserRoleService {
|
|
|
70
100
|
const authStrategyWithToken = authStrategyToUse
|
|
71
101
|
? { ...authStrategyToUse, bearerToken: token }
|
|
72
102
|
: { methods: ['bearer'], bearerToken: token };
|
|
73
|
-
|
|
103
|
+
// Extract environment from client token for query parameter
|
|
104
|
+
const environment = this.getEnvironmentFromClientToken();
|
|
105
|
+
// Log warning if environment is missing (required by controller)
|
|
106
|
+
if (!environment) {
|
|
107
|
+
// eslint-disable-next-line no-console
|
|
108
|
+
console.warn("[BrowserRoleService] Environment not found in client token. " +
|
|
109
|
+
"Roles API requires environment parameter. " +
|
|
110
|
+
"This may cause a 400 Bad Request error.");
|
|
111
|
+
}
|
|
112
|
+
const queryParams = environment ? { environment } : undefined;
|
|
113
|
+
const roleResult = await this.apiClient.roles.getRoles(queryParams, authStrategyWithToken);
|
|
74
114
|
const roles = roleResult.data?.roles || [];
|
|
75
115
|
// Cache the result (use userId-based key)
|
|
76
116
|
const finalCacheKey = `roles:${userId}`;
|
|
@@ -131,8 +171,11 @@ class BrowserRoleService {
|
|
|
131
171
|
}
|
|
132
172
|
const userId = userInfo.data.user.id;
|
|
133
173
|
const cacheKey = `roles:${userId}`;
|
|
174
|
+
// Extract environment from client token for query parameter
|
|
175
|
+
const environment = this.getEnvironmentFromClientToken();
|
|
176
|
+
const queryParams = environment ? { environment } : undefined;
|
|
134
177
|
// Fetch fresh roles from controller using refresh endpoint via ApiClient
|
|
135
|
-
const roleResult = await this.apiClient.roles.refreshRoles(authStrategyWithToken);
|
|
178
|
+
const roleResult = await this.apiClient.roles.refreshRoles(queryParams, authStrategyWithToken);
|
|
136
179
|
const roles = roleResult.data?.roles || [];
|
|
137
180
|
// Update cache with fresh data
|
|
138
181
|
await this.cache.set(cacheKey, { roles, timestamp: Date.now() }, this.roleTTL);
|