@aifabrix/miso-client 3.4.2 → 3.8.0
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 +306 -12
- 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/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 +85 -0
- package/dist/services/logger/logger-context.d.ts.map +1 -0
- package/dist/services/logger/logger-context.js +192 -0
- package/dist/services/logger/logger-context.js.map +1 -0
- package/dist/services/{logger.service.d.ts → logger/logger.service.d.ts} +59 -72
- package/dist/services/logger/logger.service.d.ts.map +1 -0
- package/dist/services/logger/logger.service.js +403 -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 +178 -0
- package/dist/services/logger/unified-logger.service.js.map +1 -0
- package/dist/services/permission.service.d.ts +5 -0
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +42 -2
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/redis.service.d.ts.map +1 -1
- package/dist/services/redis.service.js +2 -0
- package/dist/services/redis.service.js.map +1 -1
- package/dist/services/role.service.d.ts +5 -0
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +42 -2
- package/dist/services/role.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/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/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +10 -0
- package/dist/utils/config-loader.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 +25 -19
- 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 +12 -0
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +235 -11
- package/dist/utils/internal-http-client.js.map +1 -1
- package/dist/utils/response-validator.d.ts +59 -0
- package/dist/utils/response-validator.d.ts.map +1 -0
- package/dist/utils/response-validator.js +115 -0
- package/dist/utils/response-validator.js.map +1 -0
- 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.map +0 -1
- package/dist/services/logger.service.js +0 -488
- package/dist/services/logger.service.js.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Logger Factory
|
|
3
|
+
* Provides factory function to get UnifiedLogger instance with automatic context detection
|
|
4
|
+
*/
|
|
5
|
+
import { LoggerService } from "./logger.service";
|
|
6
|
+
import { UnifiedLogger } from "./unified-logger.service";
|
|
7
|
+
import { LoggerContext } from "./logger-context-storage";
|
|
8
|
+
/**
|
|
9
|
+
* Global registry for LoggerService instance
|
|
10
|
+
* Allows factory function to access LoggerService without requiring MisoClient parameter
|
|
11
|
+
*/
|
|
12
|
+
declare class LoggerServiceRegistry {
|
|
13
|
+
private static instance;
|
|
14
|
+
/**
|
|
15
|
+
* Register LoggerService instance
|
|
16
|
+
* Should be called during MisoClient initialization
|
|
17
|
+
* @param loggerService - LoggerService instance to register
|
|
18
|
+
*/
|
|
19
|
+
static register(loggerService: LoggerService): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get registered LoggerService instance
|
|
22
|
+
* @returns LoggerService instance or null if not registered
|
|
23
|
+
*/
|
|
24
|
+
static get(): LoggerService | null;
|
|
25
|
+
/**
|
|
26
|
+
* Clear registered LoggerService instance
|
|
27
|
+
*/
|
|
28
|
+
static clear(): void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get logger instance with automatic context detection from AsyncLocalStorage
|
|
32
|
+
* Returns UnifiedLogger instance that automatically extracts context
|
|
33
|
+
*
|
|
34
|
+
* @param loggerService - Optional LoggerService instance (if not provided, uses registered instance)
|
|
35
|
+
* @returns UnifiedLogger instance
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const logger = getLogger();
|
|
40
|
+
* await logger.info('Message'); // Auto-extracts context from AsyncLocalStorage
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function getLogger(loggerService?: LoggerService): UnifiedLogger;
|
|
44
|
+
/**
|
|
45
|
+
* Set logger context for current async execution context
|
|
46
|
+
* Context is automatically available to all code in the same async context
|
|
47
|
+
*
|
|
48
|
+
* @param context - Context to set (partial, will be merged with existing)
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* setLoggerContext({
|
|
53
|
+
* userId: 'user-123',
|
|
54
|
+
* correlationId: 'req-456',
|
|
55
|
+
* ipAddress: '192.168.1.1',
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function setLoggerContext(context: Partial<LoggerContext>): void;
|
|
60
|
+
/**
|
|
61
|
+
* Clear logger context for current async execution context
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* clearLoggerContext();
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function clearLoggerContext(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Merge additional fields into existing logger context
|
|
71
|
+
*
|
|
72
|
+
* @param additional - Additional context fields to merge
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* mergeLoggerContext({ userId: 'user-123' });
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare function mergeLoggerContext(additional: Partial<LoggerContext>): void;
|
|
80
|
+
/**
|
|
81
|
+
* Register LoggerService instance for global access
|
|
82
|
+
* Called automatically by MisoClient during initialization
|
|
83
|
+
* @param loggerService - LoggerService instance to register
|
|
84
|
+
*/
|
|
85
|
+
export declare function registerLoggerService(loggerService: LoggerService): void;
|
|
86
|
+
export { LoggerServiceRegistry };
|
|
87
|
+
//# sourceMappingURL=unified-logger.factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-logger.factory.d.ts","sourceRoot":"","sources":["../../../src/services/logger/unified-logger.factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAwB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAwB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;GAGG;AACH,cAAM,qBAAqB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAErD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAInD;;;OAGG;IACH,MAAM,CAAC,GAAG,IAAI,aAAa,GAAG,IAAI;IAIlC;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;CAGrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,aAAa,CActE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAGtE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAExE;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified Logger Factory
|
|
4
|
+
* Provides factory function to get UnifiedLogger instance with automatic context detection
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.LoggerServiceRegistry = void 0;
|
|
8
|
+
exports.getLogger = getLogger;
|
|
9
|
+
exports.setLoggerContext = setLoggerContext;
|
|
10
|
+
exports.clearLoggerContext = clearLoggerContext;
|
|
11
|
+
exports.mergeLoggerContext = mergeLoggerContext;
|
|
12
|
+
exports.registerLoggerService = registerLoggerService;
|
|
13
|
+
const unified_logger_service_1 = require("./unified-logger.service");
|
|
14
|
+
const logger_context_storage_1 = require("./logger-context-storage");
|
|
15
|
+
/**
|
|
16
|
+
* Global registry for LoggerService instance
|
|
17
|
+
* Allows factory function to access LoggerService without requiring MisoClient parameter
|
|
18
|
+
*/
|
|
19
|
+
class LoggerServiceRegistry {
|
|
20
|
+
/**
|
|
21
|
+
* Register LoggerService instance
|
|
22
|
+
* Should be called during MisoClient initialization
|
|
23
|
+
* @param loggerService - LoggerService instance to register
|
|
24
|
+
*/
|
|
25
|
+
static register(loggerService) {
|
|
26
|
+
LoggerServiceRegistry.instance = loggerService;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get registered LoggerService instance
|
|
30
|
+
* @returns LoggerService instance or null if not registered
|
|
31
|
+
*/
|
|
32
|
+
static get() {
|
|
33
|
+
return LoggerServiceRegistry.instance;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Clear registered LoggerService instance
|
|
37
|
+
*/
|
|
38
|
+
static clear() {
|
|
39
|
+
LoggerServiceRegistry.instance = null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.LoggerServiceRegistry = LoggerServiceRegistry;
|
|
43
|
+
LoggerServiceRegistry.instance = null;
|
|
44
|
+
/**
|
|
45
|
+
* Get logger instance with automatic context detection from AsyncLocalStorage
|
|
46
|
+
* Returns UnifiedLogger instance that automatically extracts context
|
|
47
|
+
*
|
|
48
|
+
* @param loggerService - Optional LoggerService instance (if not provided, uses registered instance)
|
|
49
|
+
* @returns UnifiedLogger instance
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const logger = getLogger();
|
|
54
|
+
* await logger.info('Message'); // Auto-extracts context from AsyncLocalStorage
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
function getLogger(loggerService) {
|
|
58
|
+
const contextStorage = logger_context_storage_1.LoggerContextStorage.getInstance();
|
|
59
|
+
// Use provided loggerService or get from registry
|
|
60
|
+
const service = loggerService || LoggerServiceRegistry.get();
|
|
61
|
+
if (!service) {
|
|
62
|
+
// If no LoggerService available, throw error with helpful message
|
|
63
|
+
throw new Error("LoggerService not available. Either pass LoggerService to getLogger() or ensure MisoClient is initialized.");
|
|
64
|
+
}
|
|
65
|
+
return new unified_logger_service_1.UnifiedLoggerService(service, contextStorage);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Set logger context for current async execution context
|
|
69
|
+
* Context is automatically available to all code in the same async context
|
|
70
|
+
*
|
|
71
|
+
* @param context - Context to set (partial, will be merged with existing)
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* setLoggerContext({
|
|
76
|
+
* userId: 'user-123',
|
|
77
|
+
* correlationId: 'req-456',
|
|
78
|
+
* ipAddress: '192.168.1.1',
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
function setLoggerContext(context) {
|
|
83
|
+
const contextStorage = logger_context_storage_1.LoggerContextStorage.getInstance();
|
|
84
|
+
contextStorage.setContext(context);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Clear logger context for current async execution context
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* clearLoggerContext();
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
function clearLoggerContext() {
|
|
95
|
+
const contextStorage = logger_context_storage_1.LoggerContextStorage.getInstance();
|
|
96
|
+
contextStorage.clearContext();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Merge additional fields into existing logger context
|
|
100
|
+
*
|
|
101
|
+
* @param additional - Additional context fields to merge
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* mergeLoggerContext({ userId: 'user-123' });
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
function mergeLoggerContext(additional) {
|
|
109
|
+
const contextStorage = logger_context_storage_1.LoggerContextStorage.getInstance();
|
|
110
|
+
contextStorage.mergeContext(additional);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Register LoggerService instance for global access
|
|
114
|
+
* Called automatically by MisoClient during initialization
|
|
115
|
+
* @param loggerService - LoggerService instance to register
|
|
116
|
+
*/
|
|
117
|
+
function registerLoggerService(loggerService) {
|
|
118
|
+
LoggerServiceRegistry.register(loggerService);
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=unified-logger.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-logger.factory.js","sourceRoot":"","sources":["../../../src/services/logger/unified-logger.factory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmDH,8BAcC;AAiBD,4CAGC;AAUD,gDAGC;AAYD,gDAGC;AAOD,sDAEC;AAvHD,qEAA+E;AAC/E,qEAA+E;AAE/E;;;GAGG;AACH,MAAM,qBAAqB;IAGzB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,aAA4B;QAC1C,qBAAqB,CAAC,QAAQ,GAAG,aAAa,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG;QACR,OAAO,qBAAqB,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK;QACV,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxC,CAAC;;AA0FM,sDAAqB;AAlHb,8BAAQ,GAAyB,IAAI,CAAC;AA2BvD;;;;;;;;;;;;GAYG;AACH,SAAgB,SAAS,CAAC,aAA6B;IACrD,MAAM,cAAc,GAAG,6CAAoB,CAAC,WAAW,EAAE,CAAC;IAE1D,kDAAkD;IAClD,MAAM,OAAO,GAAG,aAAa,IAAI,qBAAqB,CAAC,GAAG,EAAE,CAAC;IAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,kEAAkE;QAClE,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,6CAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,gBAAgB,CAAC,OAA+B;IAC9D,MAAM,cAAc,GAAG,6CAAoB,CAAC,WAAW,EAAE,CAAC;IAC1D,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB;IAChC,MAAM,cAAc,GAAG,6CAAoB,CAAC,WAAW,EAAE,CAAC;IAC1D,cAAc,CAAC,YAAY,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAAC,UAAkC;IACnE,MAAM,cAAc,GAAG,6CAAoB,CAAC,WAAW,EAAE,CAAC;IAC1D,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,aAA4B;IAChE,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -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;IA+B3B;;;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,178 @@
|
|
|
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
|
+
// Extract JWT context if token is available
|
|
43
|
+
if (context.token) {
|
|
44
|
+
const jwtContext = (0, logger_context_1.extractJwtContext)(context.token);
|
|
45
|
+
// Merge JWT context, but don't override explicit values
|
|
46
|
+
if (!options.userId && jwtContext.userId) {
|
|
47
|
+
options.userId = jwtContext.userId;
|
|
48
|
+
}
|
|
49
|
+
if (!options.sessionId && jwtContext.sessionId) {
|
|
50
|
+
options.sessionId = jwtContext.sessionId;
|
|
51
|
+
}
|
|
52
|
+
if (!options.applicationId && jwtContext.applicationId) {
|
|
53
|
+
options.applicationId = jwtContext.applicationId;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return options;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Extract error context from error object
|
|
60
|
+
* Extracts stack trace, error name, and error message
|
|
61
|
+
*/
|
|
62
|
+
extractErrorContext(error) {
|
|
63
|
+
if (!error) {
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
66
|
+
if (error instanceof Error) {
|
|
67
|
+
return {
|
|
68
|
+
stackTrace: error.stack,
|
|
69
|
+
errorName: error.name,
|
|
70
|
+
errorMessage: error.message,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (typeof error === "string") {
|
|
74
|
+
return {
|
|
75
|
+
errorMessage: error,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// Try to extract from object
|
|
79
|
+
if (typeof error === "object" && error !== null) {
|
|
80
|
+
const errorObj = error;
|
|
81
|
+
return {
|
|
82
|
+
stackTrace: errorObj.stack,
|
|
83
|
+
errorName: errorObj.name,
|
|
84
|
+
errorMessage: errorObj.message,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return {};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Log info message
|
|
91
|
+
*/
|
|
92
|
+
async info(message) {
|
|
93
|
+
try {
|
|
94
|
+
const context = this.getContext();
|
|
95
|
+
const options = this.buildLoggingOptions(context);
|
|
96
|
+
await this.loggerService.info(message, undefined, options);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
// Error handling in logger should be silent (catch and swallow)
|
|
100
|
+
// Per Logger Chain Pattern
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Log warning message
|
|
105
|
+
* Note: LoggerService doesn't have a warn method, so we use info level
|
|
106
|
+
*/
|
|
107
|
+
async warn(message) {
|
|
108
|
+
try {
|
|
109
|
+
const context = this.getContext();
|
|
110
|
+
const options = this.buildLoggingOptions(context);
|
|
111
|
+
// LoggerService doesn't have warn, use info level
|
|
112
|
+
await this.loggerService.info(message, undefined, options);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
// Error handling in logger should be silent (catch and swallow)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Log debug message
|
|
120
|
+
*/
|
|
121
|
+
async debug(message) {
|
|
122
|
+
try {
|
|
123
|
+
const context = this.getContext();
|
|
124
|
+
const options = this.buildLoggingOptions(context);
|
|
125
|
+
await this.loggerService.debug(message, undefined, options);
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
// Error handling in logger should be silent (catch and swallow)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Log error message with optional error object
|
|
133
|
+
*/
|
|
134
|
+
async error(message, error) {
|
|
135
|
+
try {
|
|
136
|
+
const context = this.getContext();
|
|
137
|
+
const options = this.buildLoggingOptions(context);
|
|
138
|
+
const errorContext = this.extractErrorContext(error);
|
|
139
|
+
// Build context with error details
|
|
140
|
+
const logContext = {};
|
|
141
|
+
if (errorContext.errorName) {
|
|
142
|
+
logContext.errorName = errorContext.errorName;
|
|
143
|
+
}
|
|
144
|
+
if (errorContext.errorMessage) {
|
|
145
|
+
logContext.errorMessage = errorContext.errorMessage;
|
|
146
|
+
}
|
|
147
|
+
await this.loggerService.error(message, logContext, errorContext.stackTrace, options);
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
// Error handling in logger should be silent (catch and swallow)
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Log audit event
|
|
155
|
+
*/
|
|
156
|
+
async audit(action, resource, entityId, oldValues, newValues) {
|
|
157
|
+
try {
|
|
158
|
+
const context = this.getContext();
|
|
159
|
+
const options = this.buildLoggingOptions(context);
|
|
160
|
+
// Build audit context with entityId, oldValues, newValues
|
|
161
|
+
const auditContext = {
|
|
162
|
+
entityId: entityId || "unknown",
|
|
163
|
+
};
|
|
164
|
+
if (oldValues !== undefined) {
|
|
165
|
+
auditContext.oldValues = oldValues;
|
|
166
|
+
}
|
|
167
|
+
if (newValues !== undefined) {
|
|
168
|
+
auditContext.newValues = newValues;
|
|
169
|
+
}
|
|
170
|
+
await this.loggerService.audit(action, resource, auditContext, options);
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
// Error handling in logger should be silent (catch and swallow)
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.UnifiedLoggerService = UnifiedLoggerService;
|
|
178
|
+
//# 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":"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"}
|
|
@@ -16,6 +16,11 @@ export declare class PermissionService {
|
|
|
16
16
|
* Extract userId from JWT token without making API call
|
|
17
17
|
*/
|
|
18
18
|
private extractUserIdFromToken;
|
|
19
|
+
/**
|
|
20
|
+
* Extract environment from client token (server-side)
|
|
21
|
+
* Gets the client token from HttpClient's internal state or config
|
|
22
|
+
*/
|
|
23
|
+
private getEnvironmentFromClientToken;
|
|
19
24
|
/**
|
|
20
25
|
* Get user permissions with caching
|
|
21
26
|
* Optimized to extract userId from token first to check cache before 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;
|
|
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;gBAElB,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAQ7E;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IA+BrC;;;;;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 token_utils_1 = require("../utils/token-utils");
|
|
11
12
|
class PermissionService {
|
|
12
13
|
constructor(httpClient, apiClient, cache) {
|
|
13
14
|
this.config = httpClient.config;
|
|
@@ -34,6 +35,39 @@ class PermissionService {
|
|
|
34
35
|
return null;
|
|
35
36
|
}
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Extract environment from client token (server-side)
|
|
40
|
+
* Gets the client token from HttpClient's internal state or config
|
|
41
|
+
*/
|
|
42
|
+
getEnvironmentFromClientToken() {
|
|
43
|
+
try {
|
|
44
|
+
// Try to get client token from config first (if provided)
|
|
45
|
+
if (this.config.clientToken) {
|
|
46
|
+
const tokenInfo = (0, token_utils_1.extractClientTokenInfo)(this.config.clientToken);
|
|
47
|
+
if (tokenInfo.environment) {
|
|
48
|
+
return tokenInfo.environment;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Try to access from internal client (private property access)
|
|
52
|
+
// This is a workaround since clientToken is private in InternalHttpClient
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
+
const internalClient = this.httpClient.internalClient;
|
|
55
|
+
if (internalClient) {
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
|
+
const clientToken = internalClient.clientToken;
|
|
58
|
+
if (clientToken && typeof clientToken === 'string') {
|
|
59
|
+
const tokenInfo = (0, token_utils_1.extractClientTokenInfo)(clientToken);
|
|
60
|
+
return tokenInfo.environment || null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
// eslint-disable-next-line no-console
|
|
67
|
+
console.warn("Failed to extract environment from client token:", error);
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
37
71
|
/**
|
|
38
72
|
* Get user permissions with caching
|
|
39
73
|
* Optimized to extract userId from token first to check cache before API call
|
|
@@ -70,7 +104,10 @@ class PermissionService {
|
|
|
70
104
|
const authStrategyWithToken = authStrategyToUse
|
|
71
105
|
? { ...authStrategyToUse, bearerToken: token }
|
|
72
106
|
: { methods: ['bearer'], bearerToken: token };
|
|
73
|
-
|
|
107
|
+
// Extract environment from client token for query parameter
|
|
108
|
+
const environment = this.getEnvironmentFromClientToken();
|
|
109
|
+
const queryParams = environment ? { environment } : undefined;
|
|
110
|
+
const permissionResult = await this.apiClient.permissions.getPermissions(queryParams, authStrategyWithToken);
|
|
74
111
|
const permissions = permissionResult.data?.permissions || [];
|
|
75
112
|
// Cache the result (use userId-based key)
|
|
76
113
|
const finalCacheKey = `permissions:${userId}`;
|
|
@@ -131,8 +168,11 @@ class PermissionService {
|
|
|
131
168
|
}
|
|
132
169
|
const userId = userInfo.data.user.id;
|
|
133
170
|
const cacheKey = `permissions:${userId}`;
|
|
171
|
+
// Extract environment from client token for query parameter
|
|
172
|
+
const environment = this.getEnvironmentFromClientToken();
|
|
173
|
+
const queryParams = environment ? { environment } : undefined;
|
|
134
174
|
// Fetch fresh permissions from controller using refresh endpoint via ApiClient
|
|
135
|
-
const permissionResult = await this.apiClient.permissions.refreshPermissions(authStrategyWithToken);
|
|
175
|
+
const permissionResult = await this.apiClient.permissions.refreshPermissions(queryParams, authStrategyWithToken);
|
|
136
176
|
const permissions = permissionResult.data?.permissions || [];
|
|
137
177
|
// Update cache with fresh data
|
|
138
178
|
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":";AAAA;;GAEG;;;;;;AAUH,gEAA+B;
|
|
1
|
+
{"version":3,"file":"permission.service.js","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.service.d.ts","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,WAAW;IAI1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"redis.service.d.ts","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,WAAW;IAI1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAerC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3D,WAAW,IAAI,OAAO;CAGvB"}
|
|
@@ -27,6 +27,8 @@ class RedisService {
|
|
|
27
27
|
keyPrefix: this.config.keyPrefix || "miso:",
|
|
28
28
|
maxRetriesPerRequest: 3,
|
|
29
29
|
lazyConnect: true,
|
|
30
|
+
enableReadyCheck: false, // Disable ready check to avoid this.info error
|
|
31
|
+
disableClientInfo: true, // Disable client info for Redis < 7.2 compatibility
|
|
30
32
|
});
|
|
31
33
|
await this.redis.connect();
|
|
32
34
|
this.connected = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,sDAA4B;AAG5B,MAAa,YAAY;IAKvB,YAAY,MAAoB;QAFxB,cAAS,GAAG,KAAK,CAAC;QAGxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,0DAA0D;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAK,CAAC;gBACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;gBACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO;gBAC3C,oBAAoB,EAAE,CAAC;gBACvB,WAAW,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,sDAA4B;AAG5B,MAAa,YAAY;IAKvB,YAAY,MAAoB;QAFxB,cAAS,GAAG,KAAK,CAAC;QAGxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,0DAA0D;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAK,CAAC;gBACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;gBACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO;gBAC3C,oBAAoB,EAAE,CAAC;gBACvB,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,KAAK,EAAE,+CAA+C;gBACxE,iBAAiB,EAAE,IAAI,EAAE,oDAAoD;aAC9E,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,uDAAuD;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,0DAA0D;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,GAAW;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,KAAa;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AA7GD,oCA6GC"}
|