@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.
Files changed (161) hide show
  1. package/CHANGELOG.md +263 -0
  2. package/dist/api/auth-cache.api.d.ts.map +1 -1
  3. package/dist/api/auth-cache.api.js +27 -5
  4. package/dist/api/auth-cache.api.js.map +1 -1
  5. package/dist/api/auth-login.api.d.ts.map +1 -1
  6. package/dist/api/auth-login.api.js +49 -6
  7. package/dist/api/auth-login.api.js.map +1 -1
  8. package/dist/api/auth-token.api.d.ts.map +1 -1
  9. package/dist/api/auth-token.api.js +99 -7
  10. package/dist/api/auth-token.api.js.map +1 -1
  11. package/dist/api/auth-user.api.d.ts.map +1 -1
  12. package/dist/api/auth-user.api.js +22 -4
  13. package/dist/api/auth-user.api.js.map +1 -1
  14. package/dist/api/auth.api.d.ts +2 -9
  15. package/dist/api/auth.api.d.ts.map +1 -1
  16. package/dist/api/auth.api.js +1 -66
  17. package/dist/api/auth.api.js.map +1 -1
  18. package/dist/api/logs-create.api.d.ts.map +1 -1
  19. package/dist/api/logs-create.api.js +57 -4
  20. package/dist/api/logs-create.api.js.map +1 -1
  21. package/dist/api/logs-export.api.d.ts.map +1 -1
  22. package/dist/api/logs-export.api.js +7 -1
  23. package/dist/api/logs-export.api.js.map +1 -1
  24. package/dist/api/logs-list.api.d.ts.map +1 -1
  25. package/dist/api/logs-list.api.js +32 -6
  26. package/dist/api/logs-list.api.js.map +1 -1
  27. package/dist/api/logs-stats.api.d.ts.map +1 -1
  28. package/dist/api/logs-stats.api.js +22 -4
  29. package/dist/api/logs-stats.api.js.map +1 -1
  30. package/dist/api/permissions.api.d.ts +2 -1
  31. package/dist/api/permissions.api.d.ts.map +1 -1
  32. package/dist/api/permissions.api.js +16 -5
  33. package/dist/api/permissions.api.js.map +1 -1
  34. package/dist/api/roles.api.d.ts +2 -1
  35. package/dist/api/roles.api.d.ts.map +1 -1
  36. package/dist/api/roles.api.js +16 -5
  37. package/dist/api/roles.api.js.map +1 -1
  38. package/dist/api/types/logs.types.d.ts +44 -7
  39. package/dist/api/types/logs.types.d.ts.map +1 -1
  40. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  41. package/dist/express/client-token-endpoint.js +42 -5
  42. package/dist/express/client-token-endpoint.js.map +1 -1
  43. package/dist/express/error-handler.d.ts.map +1 -1
  44. package/dist/express/error-handler.js +32 -8
  45. package/dist/express/error-handler.js.map +1 -1
  46. package/dist/express/index.d.ts +1 -0
  47. package/dist/express/index.d.ts.map +1 -1
  48. package/dist/express/index.js +4 -1
  49. package/dist/express/index.js.map +1 -1
  50. package/dist/express/logger-context.middleware.d.ts +46 -0
  51. package/dist/express/logger-context.middleware.d.ts.map +1 -0
  52. package/dist/express/logger-context.middleware.js +99 -0
  53. package/dist/express/logger-context.middleware.js.map +1 -0
  54. package/dist/index.d.ts +6 -3
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +16 -5
  57. package/dist/index.js.map +1 -1
  58. package/dist/services/application-context.service.d.ts +48 -0
  59. package/dist/services/application-context.service.d.ts.map +1 -0
  60. package/dist/services/application-context.service.js +141 -0
  61. package/dist/services/application-context.service.js.map +1 -0
  62. package/dist/services/auth.service.d.ts.map +1 -1
  63. package/dist/services/auth.service.js +97 -8
  64. package/dist/services/auth.service.js.map +1 -1
  65. package/dist/services/browser-permission.service.d.ts +5 -0
  66. package/dist/services/browser-permission.service.d.ts.map +1 -1
  67. package/dist/services/browser-permission.service.js +39 -2
  68. package/dist/services/browser-permission.service.js.map +1 -1
  69. package/dist/services/browser-role.service.d.ts +5 -0
  70. package/dist/services/browser-role.service.d.ts.map +1 -1
  71. package/dist/services/browser-role.service.js +45 -2
  72. package/dist/services/browser-role.service.js.map +1 -1
  73. package/dist/services/logger/index.d.ts +10 -0
  74. package/dist/services/logger/index.d.ts.map +1 -0
  75. package/dist/services/logger/index.js +22 -0
  76. package/dist/services/logger/index.js.map +1 -0
  77. package/dist/services/logger/logger-chain.d.ts +90 -0
  78. package/dist/services/logger/logger-chain.d.ts.map +1 -0
  79. package/dist/services/logger/logger-chain.js +169 -0
  80. package/dist/services/logger/logger-chain.js.map +1 -0
  81. package/dist/services/logger/logger-context-storage.d.ts +73 -0
  82. package/dist/services/logger/logger-context-storage.d.ts.map +1 -0
  83. package/dist/services/logger/logger-context-storage.js +86 -0
  84. package/dist/services/logger/logger-context-storage.js.map +1 -0
  85. package/dist/services/logger/logger-context.d.ts +89 -0
  86. package/dist/services/logger/logger-context.d.ts.map +1 -0
  87. package/dist/services/logger/logger-context.js +208 -0
  88. package/dist/services/logger/logger-context.js.map +1 -0
  89. package/dist/services/logger/logger.service.d.ts +186 -0
  90. package/dist/services/logger/logger.service.d.ts.map +1 -0
  91. package/dist/services/logger/logger.service.js +423 -0
  92. package/dist/services/logger/logger.service.js.map +1 -0
  93. package/dist/services/logger/unified-logger.factory.d.ts +87 -0
  94. package/dist/services/logger/unified-logger.factory.d.ts.map +1 -0
  95. package/dist/services/logger/unified-logger.factory.js +120 -0
  96. package/dist/services/logger/unified-logger.factory.js.map +1 -0
  97. package/dist/services/logger/unified-logger.service.d.ts +89 -0
  98. package/dist/services/logger/unified-logger.service.d.ts.map +1 -0
  99. package/dist/services/logger/unified-logger.service.js +186 -0
  100. package/dist/services/logger/unified-logger.service.js.map +1 -0
  101. package/dist/services/permission.service.d.ts +1 -0
  102. package/dist/services/permission.service.d.ts.map +1 -1
  103. package/dist/services/permission.service.js +10 -2
  104. package/dist/services/permission.service.js.map +1 -1
  105. package/dist/services/role.service.d.ts +1 -0
  106. package/dist/services/role.service.d.ts.map +1 -1
  107. package/dist/services/role.service.js +10 -2
  108. package/dist/services/role.service.js.map +1 -1
  109. package/dist/types/filter.types.d.ts +6 -6
  110. package/dist/types/filter.types.d.ts.map +1 -1
  111. package/dist/types/filter.types.js +14 -5
  112. package/dist/types/filter.types.js.map +1 -1
  113. package/dist/utils/console-logger.d.ts +21 -0
  114. package/dist/utils/console-logger.d.ts.map +1 -0
  115. package/dist/utils/console-logger.js +58 -0
  116. package/dist/utils/console-logger.js.map +1 -0
  117. package/dist/utils/controller-url-resolver.d.ts.map +1 -1
  118. package/dist/utils/controller-url-resolver.js +5 -0
  119. package/dist/utils/controller-url-resolver.js.map +1 -1
  120. package/dist/utils/data-client-auth.d.ts.map +1 -1
  121. package/dist/utils/data-client-auth.js +34 -2
  122. package/dist/utils/data-client-auth.js.map +1 -1
  123. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  124. package/dist/utils/data-client-auto-init.js +59 -3
  125. package/dist/utils/data-client-auto-init.js.map +1 -1
  126. package/dist/utils/data-client-request.d.ts.map +1 -1
  127. package/dist/utils/data-client-request.js +78 -2
  128. package/dist/utils/data-client-request.js.map +1 -1
  129. package/dist/utils/data-client.d.ts.map +1 -1
  130. package/dist/utils/data-client.js +10 -7
  131. package/dist/utils/data-client.js.map +1 -1
  132. package/dist/utils/environment-token.d.ts.map +1 -1
  133. package/dist/utils/environment-token.js +37 -57
  134. package/dist/utils/environment-token.js.map +1 -1
  135. package/dist/utils/error-extractor.d.ts +52 -0
  136. package/dist/utils/error-extractor.d.ts.map +1 -0
  137. package/dist/utils/error-extractor.js +136 -0
  138. package/dist/utils/error-extractor.js.map +1 -0
  139. package/dist/utils/filter.utils.d.ts +115 -3
  140. package/dist/utils/filter.utils.d.ts.map +1 -1
  141. package/dist/utils/filter.utils.js +298 -27
  142. package/dist/utils/filter.utils.js.map +1 -1
  143. package/dist/utils/http-client-audit.d.ts +1 -1
  144. package/dist/utils/http-client-audit.d.ts.map +1 -1
  145. package/dist/utils/http-client.d.ts +1 -1
  146. package/dist/utils/http-client.d.ts.map +1 -1
  147. package/dist/utils/internal-http-client.d.ts +4 -0
  148. package/dist/utils/internal-http-client.d.ts.map +1 -1
  149. package/dist/utils/internal-http-client.js +190 -11
  150. package/dist/utils/internal-http-client.js.map +1 -1
  151. package/dist/utils/response-validator.d.ts.map +1 -1
  152. package/dist/utils/response-validator.js +2 -4
  153. package/dist/utils/response-validator.js.map +1 -1
  154. package/dist/utils/token-utils.d.ts.map +1 -1
  155. package/dist/utils/token-utils.js +75 -4
  156. package/dist/utils/token-utils.js.map +1 -1
  157. package/package.json +2 -1
  158. package/dist/services/logger.service.d.ts +0 -191
  159. package/dist/services/logger.service.d.ts.map +0 -1
  160. package/dist/services/logger.service.js +0 -488
  161. package/dist/services/logger.service.js.map +0 -1
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Unified Logger Service
3
+ * Provides minimal API (1-3 parameters max) with automatic context extraction
4
+ * Wraps LoggerService with simplified interface
5
+ */
6
+ import { LoggerService } from "./logger.service";
7
+ import { LoggerContextStorage } from "./logger-context-storage";
8
+ /**
9
+ * Unified Logger Interface
10
+ * Minimal API with automatic context extraction
11
+ */
12
+ export interface UnifiedLogger {
13
+ /**
14
+ * Log info message
15
+ * @param message - Info message
16
+ */
17
+ info(message: string): Promise<void>;
18
+ /**
19
+ * Log warning message
20
+ * @param message - Warning message
21
+ */
22
+ warn(message: string): Promise<void>;
23
+ /**
24
+ * Log debug message
25
+ * @param message - Debug message
26
+ */
27
+ debug(message: string): Promise<void>;
28
+ /**
29
+ * Log error message
30
+ * @param message - Error message
31
+ * @param error - Optional error object (auto-extracts stack trace)
32
+ */
33
+ error(message: string, error?: unknown): Promise<void>;
34
+ /**
35
+ * Log audit event
36
+ * @param action - Action performed (e.g., 'CREATE', 'UPDATE', 'DELETE')
37
+ * @param resource - Resource type (e.g., 'User', 'Tenant')
38
+ * @param entityId - Optional entity ID (defaults to 'unknown')
39
+ * @param oldValues - Optional old values for UPDATE operations (ISO 27001 requirement)
40
+ * @param newValues - Optional new values for CREATE/UPDATE operations (ISO 27001 requirement)
41
+ */
42
+ audit(action: string, resource: string, entityId?: string, oldValues?: object, newValues?: object): Promise<void>;
43
+ }
44
+ /**
45
+ * Unified Logger Service Implementation
46
+ * Wraps LoggerService with minimal API and automatic context extraction
47
+ */
48
+ export declare class UnifiedLoggerService implements UnifiedLogger {
49
+ private loggerService;
50
+ private contextStorage;
51
+ constructor(loggerService: LoggerService, contextStorage: LoggerContextStorage);
52
+ /**
53
+ * Get current context from AsyncLocalStorage
54
+ * Falls back to empty context if not available
55
+ */
56
+ private getContext;
57
+ /**
58
+ * Build ClientLoggingOptions from context
59
+ * Extracts all relevant fields from LoggerContext
60
+ */
61
+ private buildLoggingOptions;
62
+ /**
63
+ * Extract error context from error object
64
+ * Extracts stack trace, error name, and error message
65
+ */
66
+ private extractErrorContext;
67
+ /**
68
+ * Log info message
69
+ */
70
+ info(message: string): Promise<void>;
71
+ /**
72
+ * Log warning message
73
+ * Note: LoggerService doesn't have a warn method, so we use info level
74
+ */
75
+ warn(message: string): Promise<void>;
76
+ /**
77
+ * Log debug message
78
+ */
79
+ debug(message: string): Promise<void>;
80
+ /**
81
+ * Log error message with optional error object
82
+ */
83
+ error(message: string, error?: unknown): Promise<void>;
84
+ /**
85
+ * Log audit event
86
+ */
87
+ audit(action: string, resource: string, entityId?: string, oldValues?: object, newValues?: object): Promise<void>;
88
+ }
89
+ //# sourceMappingURL=unified-logger.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-logger.service.d.ts","sourceRoot":"","sources":["../../../src/services/logger/unified-logger.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAwB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAiB,MAAM,0BAA0B,CAAC;AAG/E;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;;;;OAOG;IACH,KAAK,CACH,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IAEtD,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;gBADd,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,oBAAoB;IAG9C;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5D;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;CAuBjB"}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ /**
3
+ * Unified Logger Service
4
+ * Provides minimal API (1-3 parameters max) with automatic context extraction
5
+ * Wraps LoggerService with simplified interface
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.UnifiedLoggerService = void 0;
9
+ const logger_context_1 = require("./logger-context");
10
+ /**
11
+ * Unified Logger Service Implementation
12
+ * Wraps LoggerService with minimal API and automatic context extraction
13
+ */
14
+ class UnifiedLoggerService {
15
+ constructor(loggerService, contextStorage) {
16
+ this.loggerService = loggerService;
17
+ this.contextStorage = contextStorage;
18
+ }
19
+ /**
20
+ * Get current context from AsyncLocalStorage
21
+ * Falls back to empty context if not available
22
+ */
23
+ getContext() {
24
+ return this.contextStorage.getContext() || {};
25
+ }
26
+ /**
27
+ * Build ClientLoggingOptions from context
28
+ * Extracts all relevant fields from LoggerContext
29
+ */
30
+ buildLoggingOptions(context) {
31
+ const options = {
32
+ ipAddress: context.ipAddress,
33
+ userAgent: context.userAgent,
34
+ correlationId: context.correlationId,
35
+ userId: context.userId,
36
+ sessionId: context.sessionId,
37
+ requestId: context.requestId,
38
+ applicationId: context.applicationId,
39
+ token: context.token,
40
+ maskSensitiveData: true, // Default: mask sensitive data
41
+ };
42
+ // Get application context service from logger service
43
+ const applicationContextService = this.loggerService.getApplicationContextService();
44
+ const appContext = applicationContextService.getApplicationContext();
45
+ // Extract JWT context if token is available
46
+ if (context.token) {
47
+ const jwtContext = (0, logger_context_1.extractJwtContext)(context.token);
48
+ // Merge JWT context, but don't override explicit values
49
+ if (!options.userId && jwtContext.userId) {
50
+ options.userId = jwtContext.userId;
51
+ }
52
+ if (!options.sessionId && jwtContext.sessionId) {
53
+ options.sessionId = jwtContext.sessionId;
54
+ }
55
+ // applicationId priority: explicit > user JWT > client token
56
+ if (!options.applicationId && jwtContext.applicationId) {
57
+ options.applicationId = jwtContext.applicationId;
58
+ }
59
+ }
60
+ // If still no applicationId, try client token
61
+ if (!options.applicationId && appContext.applicationId) {
62
+ options.applicationId = appContext.applicationId;
63
+ }
64
+ return options;
65
+ }
66
+ /**
67
+ * Extract error context from error object
68
+ * Extracts stack trace, error name, and error message
69
+ */
70
+ extractErrorContext(error) {
71
+ if (!error) {
72
+ return {};
73
+ }
74
+ if (error instanceof Error) {
75
+ return {
76
+ stackTrace: error.stack,
77
+ errorName: error.name,
78
+ errorMessage: error.message,
79
+ };
80
+ }
81
+ if (typeof error === "string") {
82
+ return {
83
+ errorMessage: error,
84
+ };
85
+ }
86
+ // Try to extract from object
87
+ if (typeof error === "object" && error !== null) {
88
+ const errorObj = error;
89
+ return {
90
+ stackTrace: errorObj.stack,
91
+ errorName: errorObj.name,
92
+ errorMessage: errorObj.message,
93
+ };
94
+ }
95
+ return {};
96
+ }
97
+ /**
98
+ * Log info message
99
+ */
100
+ async info(message) {
101
+ try {
102
+ const context = this.getContext();
103
+ const options = this.buildLoggingOptions(context);
104
+ await this.loggerService.info(message, undefined, options);
105
+ }
106
+ catch (error) {
107
+ // Error handling in logger should be silent (catch and swallow)
108
+ // Per Logger Chain Pattern
109
+ }
110
+ }
111
+ /**
112
+ * Log warning message
113
+ * Note: LoggerService doesn't have a warn method, so we use info level
114
+ */
115
+ async warn(message) {
116
+ try {
117
+ const context = this.getContext();
118
+ const options = this.buildLoggingOptions(context);
119
+ // LoggerService doesn't have warn, use info level
120
+ await this.loggerService.info(message, undefined, options);
121
+ }
122
+ catch (error) {
123
+ // Error handling in logger should be silent (catch and swallow)
124
+ }
125
+ }
126
+ /**
127
+ * Log debug message
128
+ */
129
+ async debug(message) {
130
+ try {
131
+ const context = this.getContext();
132
+ const options = this.buildLoggingOptions(context);
133
+ await this.loggerService.debug(message, undefined, options);
134
+ }
135
+ catch (error) {
136
+ // Error handling in logger should be silent (catch and swallow)
137
+ }
138
+ }
139
+ /**
140
+ * Log error message with optional error object
141
+ */
142
+ async error(message, error) {
143
+ try {
144
+ const context = this.getContext();
145
+ const options = this.buildLoggingOptions(context);
146
+ const errorContext = this.extractErrorContext(error);
147
+ // Build context with error details
148
+ const logContext = {};
149
+ if (errorContext.errorName) {
150
+ logContext.errorName = errorContext.errorName;
151
+ }
152
+ if (errorContext.errorMessage) {
153
+ logContext.errorMessage = errorContext.errorMessage;
154
+ }
155
+ await this.loggerService.error(message, logContext, errorContext.stackTrace, options);
156
+ }
157
+ catch (err) {
158
+ // Error handling in logger should be silent (catch and swallow)
159
+ }
160
+ }
161
+ /**
162
+ * Log audit event
163
+ */
164
+ async audit(action, resource, entityId, oldValues, newValues) {
165
+ try {
166
+ const context = this.getContext();
167
+ const options = this.buildLoggingOptions(context);
168
+ // Build audit context with entityId, oldValues, newValues
169
+ const auditContext = {
170
+ entityId: entityId || "unknown",
171
+ };
172
+ if (oldValues !== undefined) {
173
+ auditContext.oldValues = oldValues;
174
+ }
175
+ if (newValues !== undefined) {
176
+ auditContext.newValues = newValues;
177
+ }
178
+ await this.loggerService.audit(action, resource, auditContext, options);
179
+ }
180
+ catch (error) {
181
+ // Error handling in logger should be silent (catch and swallow)
182
+ }
183
+ }
184
+ }
185
+ exports.UnifiedLoggerService = UnifiedLoggerService;
186
+ //# sourceMappingURL=unified-logger.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-logger.service.js","sourceRoot":"","sources":["../../../src/services/logger/unified-logger.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,qDAAqD;AAiDrD;;;GAGG;AACH,MAAa,oBAAoB;IAC/B,YACU,aAA4B,EAC5B,cAAoC;QADpC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAsB;IAC3C,CAAC;IAEJ;;;OAGG;IACK,UAAU;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,OAAsB;QAChD,MAAM,OAAO,GAAyB;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,iBAAiB,EAAE,IAAI,EAAE,+BAA+B;SACzD,CAAC;QAEF,sDAAsD;QACtD,MAAM,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE,CAAC;QACpF,MAAM,UAAU,GAAG,yBAAyB,CAAC,qBAAqB,EAAE,CAAC;QAErE,4CAA4C;QAC5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpD,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACzC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC/C,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;YAC3C,CAAC;YACD,6DAA6D;YAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBACvD,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YACnD,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YACvD,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QACnD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,KAAe;QAKzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO;gBACL,UAAU,EAAE,KAAK,CAAC,KAAK;gBACvB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,OAAO;aAC5B,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,YAAY,EAAE,KAAK;aACpB,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,KAAgC,CAAC;YAClD,OAAO;gBACL,UAAU,EAAE,QAAQ,CAAC,KAA2B;gBAChD,SAAS,EAAE,QAAQ,CAAC,IAA0B;gBAC9C,YAAY,EAAE,QAAQ,CAAC,OAA6B;aACrD,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;YAChE,2BAA2B;QAC7B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,kDAAkD;YAClD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAe;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,KAAe;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAErD,mCAAmC;YACnC,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC3B,UAAU,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YAChD,CAAC;YACD,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC9B,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;YACtD,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC5B,OAAO,EACP,UAAU,EACV,YAAY,CAAC,UAAU,EACvB,OAAO,CACR,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gEAAgE;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,MAAc,EACd,QAAgB,EAChB,QAAiB,EACjB,SAAkB,EAClB,SAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAElD,0DAA0D;YAC1D,MAAM,YAAY,GAA4B;gBAC5C,QAAQ,EAAE,QAAQ,IAAI,SAAS;aAChC,CAAC;YAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;YACrC,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;YACrC,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;QAClE,CAAC;IACH,CAAC;CACF;AA1MD,oDA0MC"}
@@ -11,6 +11,7 @@ export declare class PermissionService {
11
11
  private cache;
12
12
  private config;
13
13
  private permissionTTL;
14
+ private applicationContextService;
14
15
  constructor(httpClient: HttpClient, apiClient: ApiClient, cache: CacheService);
15
16
  /**
16
17
  * Extract userId from JWT token without making API call
@@ -1 +1 @@
1
- {"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"AAAA;;GAEG;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;AAQ/B,qBAAa,iBAAiB;IAC5B,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;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA6DpB;;;;;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;IA0CpB;;;;OAIG;IACG,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
1
+ {"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"AAAA;;GAEG;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;AAS/B,qBAAa,iBAAiB;IAC5B,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;IAC9B,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;OAKG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAiEpB;;;;;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"}
@@ -8,6 +8,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.PermissionService = void 0;
10
10
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
11
+ const application_context_service_1 = require("./application-context.service");
11
12
  class PermissionService {
12
13
  constructor(httpClient, apiClient, cache) {
13
14
  this.config = httpClient.config;
@@ -15,6 +16,7 @@ class PermissionService {
15
16
  this.httpClient = httpClient;
16
17
  this.apiClient = apiClient;
17
18
  this.permissionTTL = this.config.cache?.permissionTTL || 900; // 15 minutes default
19
+ this.applicationContextService = new application_context_service_1.ApplicationContextService(httpClient);
18
20
  }
19
21
  /**
20
22
  * Extract userId from JWT token without making API call
@@ -70,7 +72,10 @@ class PermissionService {
70
72
  const authStrategyWithToken = authStrategyToUse
71
73
  ? { ...authStrategyToUse, bearerToken: token }
72
74
  : { methods: ['bearer'], bearerToken: token };
73
- const permissionResult = await this.apiClient.permissions.getPermissions(undefined, authStrategyWithToken);
75
+ // Extract environment from application context service
76
+ const context = this.applicationContextService.getApplicationContext();
77
+ const queryParams = context.environment ? { environment: context.environment } : undefined;
78
+ const permissionResult = await this.apiClient.permissions.getPermissions(queryParams, authStrategyWithToken);
74
79
  const permissions = permissionResult.data?.permissions || [];
75
80
  // Cache the result (use userId-based key)
76
81
  const finalCacheKey = `permissions:${userId}`;
@@ -131,8 +136,11 @@ class PermissionService {
131
136
  }
132
137
  const userId = userInfo.data.user.id;
133
138
  const cacheKey = `permissions:${userId}`;
139
+ // Extract environment from application context service
140
+ const context = this.applicationContextService.getApplicationContext();
141
+ const queryParams = context.environment ? { environment: context.environment } : undefined;
134
142
  // Fetch fresh permissions from controller using refresh endpoint via ApiClient
135
- const permissionResult = await this.apiClient.permissions.refreshPermissions(authStrategyWithToken);
143
+ const permissionResult = await this.apiClient.permissions.refreshPermissions(queryParams, authStrategyWithToken);
136
144
  const permissions = permissionResult.data?.permissions || [];
137
145
  // Update cache with fresh data
138
146
  await this.cache.set(cacheKey, { permissions, timestamp: Date.now() }, this.permissionTTL);
@@ -1 +1 @@
1
- {"version":3,"file":"permission.service.js","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission.service.js","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class RoleService {
11
11
  private cache;
12
12
  private config;
13
13
  private roleTTL;
14
+ private applicationContextService;
14
15
  constructor(httpClient: HttpClient, apiClient: ApiClient, cache: CacheService);
15
16
  /**
16
17
  * Extract userId from JWT token without making API call
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.d.ts","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"AAAA;;GAEG;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;AAQ/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,OAAO,CAAS;gBAEZ,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAQ7E;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;OAKG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA6DpB;;;;;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;CAyCrB"}
1
+ {"version":3,"file":"role.service.d.ts","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"AAAA;;GAEG;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;AAS/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,OAAO,CAAS;IACxB,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;OAKG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAiEpB;;;;;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;CA8CrB"}
@@ -8,6 +8,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.RoleService = void 0;
10
10
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
11
+ const application_context_service_1 = require("./application-context.service");
11
12
  class RoleService {
12
13
  constructor(httpClient, apiClient, cache) {
13
14
  this.config = httpClient.config;
@@ -15,6 +16,7 @@ class RoleService {
15
16
  this.httpClient = httpClient;
16
17
  this.apiClient = apiClient;
17
18
  this.roleTTL = this.config.cache?.roleTTL || 900; // 15 minutes default
19
+ this.applicationContextService = new application_context_service_1.ApplicationContextService(httpClient);
18
20
  }
19
21
  /**
20
22
  * Extract userId from JWT token without making API call
@@ -70,7 +72,10 @@ class RoleService {
70
72
  const authStrategyWithToken = authStrategyToUse
71
73
  ? { ...authStrategyToUse, bearerToken: token }
72
74
  : { methods: ['bearer'], bearerToken: token };
73
- const roleResult = await this.apiClient.roles.getRoles(undefined, authStrategyWithToken);
75
+ // Extract environment from application context service
76
+ const context = this.applicationContextService.getApplicationContext();
77
+ const queryParams = context.environment ? { environment: context.environment } : undefined;
78
+ const roleResult = await this.apiClient.roles.getRoles(queryParams, authStrategyWithToken);
74
79
  const roles = roleResult.data?.roles || [];
75
80
  // Cache the result (use userId-based key)
76
81
  const finalCacheKey = `roles:${userId}`;
@@ -131,8 +136,11 @@ class RoleService {
131
136
  }
132
137
  const userId = userInfo.data.user.id;
133
138
  const cacheKey = `roles:${userId}`;
139
+ // Extract environment from application context service
140
+ const context = this.applicationContextService.getApplicationContext();
141
+ const queryParams = context.environment ? { environment: context.environment } : undefined;
134
142
  // Fetch fresh roles from controller using refresh endpoint via ApiClient
135
- const roleResult = await this.apiClient.roles.refreshRoles(authStrategyWithToken);
143
+ const roleResult = await this.apiClient.roles.refreshRoles(queryParams, authStrategyWithToken);
136
144
  const roles = roleResult.data?.roles || [];
137
145
  // Update cache with fresh data
138
146
  await this.cache.set(cacheKey, { roles, timestamp: Date.now() }, this.roleTTL);
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Filter operators supported by the API.
7
7
  */
8
- export type FilterOperator = "eq" | "neq" | "in" | "nin" | "gt" | "lt" | "gte" | "lte" | "contains" | "like";
8
+ export type FilterOperator = "eq" | "neq" | "in" | "nin" | "gt" | "lt" | "gte" | "lte" | "contains" | "like" | "isNull" | "isNotNull";
9
9
  /**
10
10
  * Single filter option with field, operator, and value.
11
11
  */
@@ -14,8 +14,8 @@ export interface FilterOption {
14
14
  field: string;
15
15
  /** Filter operator. */
16
16
  op: FilterOperator;
17
- /** Filter value (supports arrays for `in` and `nin` operators). */
18
- value: string | number | boolean | Array<string | number>;
17
+ /** Filter value (supports arrays for `in` and `nin` operators, null for `isNull` and `isNotNull`). */
18
+ value: string | number | boolean | Array<string | number> | null;
19
19
  }
20
20
  /**
21
21
  * Complete filter query including filters, sorting, pagination, and field selection.
@@ -45,7 +45,7 @@ export declare class FilterBuilder {
45
45
  * @param value - Filter value (supports arrays for `in` and `nin`)
46
46
  * @returns FilterBuilder instance for method chaining
47
47
  */
48
- add(field: string, op: FilterOperator, value: string | number | boolean | Array<string | number>): FilterBuilder;
48
+ add(field: string, op: FilterOperator, value: string | number | boolean | Array<string | number> | null): FilterBuilder;
49
49
  /**
50
50
  * Add multiple filters at once.
51
51
  * @param filters - Array of filter options to add
@@ -58,8 +58,8 @@ export declare class FilterBuilder {
58
58
  */
59
59
  build(): FilterOption[];
60
60
  /**
61
- * Convert filters to query string format.
62
- * @returns Query string with filter parameters (e.g., `?filter=field:op:value&filter=...`)
61
+ * Convert filters to query string format using JSON format.
62
+ * @returns Query string with URL-encoded JSON filter format
63
63
  */
64
64
  toQueryString(): string;
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../src/types/filter.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,UAAU,GACV,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,EAAE,EAAE,cAAc,CAAC;IAEnB,mEAAmE;IACnE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAsB;IAErC;;;;;;OAMG;IACH,GAAG,CACD,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,cAAc,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GACxD,aAAa;IAKhB;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa;IAK/C;;;OAGG;IACH,KAAK,IAAI,YAAY,EAAE;IAIvB;;;OAGG;IACH,aAAa,IAAI,MAAM;CAQxB"}
1
+ {"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../src/types/filter.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,EAAE,EAAE,cAAc,CAAC;IAEnB,sGAAsG;IACtG,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAsB;IAErC;;;;;;OAMG;IACH,GAAG,CACD,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,cAAc,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,GAC/D,aAAa;IAKhB;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa;IAK/C;;;OAGG;IACH,KAAK,IAAI,YAAY,EAAE;IAIvB;;;OAGG;IACH,aAAa,IAAI,MAAM;CAmBxB"}
@@ -41,15 +41,24 @@ class FilterBuilder {
41
41
  return [...this.filters];
42
42
  }
43
43
  /**
44
- * Convert filters to query string format.
45
- * @returns Query string with filter parameters (e.g., `?filter=field:op:value&filter=...`)
44
+ * Convert filters to query string format using JSON format.
45
+ * @returns Query string with URL-encoded JSON filter format
46
46
  */
47
47
  toQueryString() {
48
- const params = new URLSearchParams();
48
+ if (this.filters.length === 0) {
49
+ return "";
50
+ }
51
+ const jsonFilter = {};
49
52
  this.filters.forEach((f) => {
50
- const val = Array.isArray(f.value) ? f.value.join(",") : String(f.value);
51
- params.append("filter", `${f.field}:${f.op}:${val}`);
53
+ if (!jsonFilter[f.field]) {
54
+ jsonFilter[f.field] = {};
55
+ }
56
+ jsonFilter[f.field][f.op] = f.value === null ? null : f.value;
52
57
  });
58
+ const jsonString = JSON.stringify(jsonFilter);
59
+ const params = new URLSearchParams();
60
+ // URLSearchParams.append() automatically URL-encodes, so don't double-encode
61
+ params.append("filter", jsonString);
53
62
  return params.toString();
54
63
  }
55
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter.types.js","sourceRoot":"","sources":["../../src/types/filter.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmDH;;;GAGG;AACH,MAAa,aAAa;IAA1B;QACU,YAAO,GAAmB,EAAE,CAAC;IAgDvC,CAAC;IA9CC;;;;;;OAMG;IACH,GAAG,CACD,KAAa,EACb,EAAkB,EAClB,KAAyD;QAEzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAuB;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AAjDD,sCAiDC"}
1
+ {"version":3,"file":"filter.types.js","sourceRoot":"","sources":["../../src/types/filter.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqDH;;;GAGG;AACH,MAAa,aAAa;IAA1B;QACU,YAAO,GAAmB,EAAE,CAAC;IA2DvC,CAAC;IAzDC;;;;;;OAMG;IACH,GAAG,CACD,KAAa,EACb,EAAkB,EAClB,KAAgE;QAEhE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAuB;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAA4C,EAAE,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3B,CAAC;YACD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,6EAA6E;QAC7E,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AA5DD,sCA4DC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Enhanced console logger with correlation ID prefixes
3
+ * Provides structured console logging for errors and events
4
+ */
5
+ import { StructuredErrorInfo } from "./error-extractor";
6
+ /**
7
+ * Log error with context to console
8
+ * Formats error with correlation ID prefix and structured details
9
+ *
10
+ * @param errorInfo - Structured error information
11
+ * @param prefix - Optional prefix (e.g., '[MisoClient]', '[DataClient]', '[AUTH]')
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const errorInfo = extractErrorInfo(error, { endpoint: '/api/users', method: 'POST' });
16
+ * logErrorWithContext(errorInfo, '[MisoClient]');
17
+ * // Output: [MisoClient] [abc123-xyz] ApiError: Request failed | Status: 400 | Endpoint: POST /api/users
18
+ * ```
19
+ */
20
+ export declare function logErrorWithContext(errorInfo: StructuredErrorInfo, prefix?: string): void;
21
+ //# sourceMappingURL=console-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-logger.d.ts","sourceRoot":"","sources":["../../src/utils/console-logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,GAAE,MAAuB,GAC9B,IAAI,CA+CN"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * Enhanced console logger with correlation ID prefixes
4
+ * Provides structured console logging for errors and events
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.logErrorWithContext = logErrorWithContext;
8
+ /**
9
+ * Log error with context to console
10
+ * Formats error with correlation ID prefix and structured details
11
+ *
12
+ * @param errorInfo - Structured error information
13
+ * @param prefix - Optional prefix (e.g., '[MisoClient]', '[DataClient]', '[AUTH]')
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const errorInfo = extractErrorInfo(error, { endpoint: '/api/users', method: 'POST' });
18
+ * logErrorWithContext(errorInfo, '[MisoClient]');
19
+ * // Output: [MisoClient] [abc123-xyz] ApiError: Request failed | Status: 400 | Endpoint: POST /api/users
20
+ * ```
21
+ */
22
+ function logErrorWithContext(errorInfo, prefix = "[MisoClient]") {
23
+ const correlationId = errorInfo.correlationId || "no-correlation-id";
24
+ const parts = [];
25
+ // Build error description
26
+ parts.push(`${errorInfo.errorName}: ${errorInfo.message}`);
27
+ // Add status code if available
28
+ if (errorInfo.statusCode !== undefined) {
29
+ parts.push(`Status: ${errorInfo.statusCode}`);
30
+ }
31
+ // Add endpoint and method if available
32
+ if (errorInfo.endpoint && errorInfo.method) {
33
+ parts.push(`Endpoint: ${errorInfo.method} ${errorInfo.endpoint}`);
34
+ }
35
+ else if (errorInfo.endpoint) {
36
+ parts.push(`Endpoint: ${errorInfo.endpoint}`);
37
+ }
38
+ else if (errorInfo.method) {
39
+ parts.push(`Method: ${errorInfo.method}`);
40
+ }
41
+ // Build final message
42
+ const message = parts.join(" | ");
43
+ // Log with correlation ID prefix
44
+ console.error(`${prefix} [${correlationId}] ${message}`);
45
+ // Log response body if available
46
+ if (errorInfo.responseBody) {
47
+ console.error(`${prefix} [${correlationId}] Response Body:`, JSON.stringify(errorInfo.responseBody, null, 2));
48
+ }
49
+ // Log stack trace if available
50
+ if (errorInfo.stackTrace) {
51
+ console.error(`${prefix} [${correlationId}] Stack Trace:`, errorInfo.stackTrace);
52
+ }
53
+ // Log original error if available
54
+ if (errorInfo.originalError) {
55
+ console.error(`${prefix} [${correlationId}] Original Error:`, errorInfo.originalError);
56
+ }
57
+ }
58
+ //# sourceMappingURL=console-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../src/utils/console-logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkBH,kDAkDC;AAhED;;;;;;;;;;;;;GAaG;AACH,SAAgB,mBAAmB,CACjC,SAA8B,EAC9B,SAAiB,cAAc;IAE/B,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,IAAI,mBAAmB,CAAC;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3D,+BAA+B;IAC/B,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElC,iCAAiC;IACjC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,CAAC;IAEzD,iCAAiC;IACjC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CACX,GAAG,MAAM,KAAK,aAAa,kBAAkB,EAC7C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,aAAa,gBAAgB,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACnF,CAAC;IAED,kCAAkC;IAClC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CACX,GAAG,MAAM,KAAK,aAAa,mBAAmB,EAC9C,SAAS,CAAC,aAAa,CACxB,CAAC;IACJ,CAAC;AACH,CAAC"}