@aifabrix/miso-client 3.1.1 → 3.2.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/README.md +1 -1
- package/dist/express/client-token-endpoint.d.ts +76 -0
- package/dist/express/client-token-endpoint.d.ts.map +1 -0
- package/dist/express/client-token-endpoint.js +108 -0
- package/dist/express/client-token-endpoint.js.map +1 -0
- package/dist/express/index.d.ts +2 -1
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/index.js +8 -3
- package/dist/express/index.js.map +1 -1
- package/dist/express/response-middleware.d.ts.map +1 -1
- package/dist/express/response-middleware.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/services/auth.service.js +5 -5
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +60 -0
- package/dist/services/browser-permission.service.d.ts.map +1 -0
- package/dist/services/browser-permission.service.js +159 -0
- package/dist/services/browser-permission.service.js.map +1 -0
- package/dist/services/browser-role.service.d.ts +60 -0
- package/dist/services/browser-role.service.d.ts.map +1 -0
- package/dist/services/browser-role.service.js +159 -0
- package/dist/services/browser-role.service.js.map +1 -0
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +4 -0
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/logger.service.d.ts +4 -0
- package/dist/services/logger.service.d.ts.map +1 -1
- package/dist/services/logger.service.js +21 -0
- package/dist/services/logger.service.js.map +1 -1
- package/dist/types/data-client.types.d.ts +1 -0
- package/dist/types/data-client.types.d.ts.map +1 -1
- package/dist/types/data-client.types.js.map +1 -1
- package/dist/utils/audit-log-queue.d.ts +4 -0
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +22 -2
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/auth-strategy.js +2 -2
- package/dist/utils/browser-jwt-decoder.d.ts +20 -0
- package/dist/utils/browser-jwt-decoder.d.ts.map +1 -0
- package/dist/utils/browser-jwt-decoder.js +75 -0
- package/dist/utils/browser-jwt-decoder.js.map +1 -0
- package/dist/utils/controller-url-resolver.d.ts +16 -0
- package/dist/utils/controller-url-resolver.d.ts.map +1 -1
- package/dist/utils/controller-url-resolver.js +12 -0
- package/dist/utils/controller-url-resolver.js.map +1 -1
- package/dist/utils/data-client-audit.d.ts +24 -0
- package/dist/utils/data-client-audit.d.ts.map +1 -0
- package/dist/utils/data-client-audit.js +138 -0
- package/dist/utils/data-client-audit.js.map +1 -0
- package/dist/utils/data-client-auth.d.ts +59 -0
- package/dist/utils/data-client-auth.d.ts.map +1 -0
- package/dist/utils/data-client-auth.js +427 -0
- package/dist/utils/data-client-auth.js.map +1 -0
- package/dist/utils/data-client-auto-init.d.ts +66 -0
- package/dist/utils/data-client-auto-init.d.ts.map +1 -0
- package/dist/utils/data-client-auto-init.js +215 -0
- package/dist/utils/data-client-auto-init.js.map +1 -0
- package/dist/utils/data-client-cache.d.ts +36 -0
- package/dist/utils/data-client-cache.d.ts.map +1 -0
- package/dist/utils/data-client-cache.js +55 -0
- package/dist/utils/data-client-cache.js.map +1 -0
- package/dist/utils/data-client-redirect.d.ts +22 -0
- package/dist/utils/data-client-redirect.d.ts.map +1 -0
- package/dist/utils/data-client-redirect.js +345 -0
- package/dist/utils/data-client-redirect.js.map +1 -0
- package/dist/utils/data-client-request.d.ts +32 -0
- package/dist/utils/data-client-request.d.ts.map +1 -0
- package/dist/utils/data-client-request.js +309 -0
- package/dist/utils/data-client-request.js.map +1 -0
- package/dist/utils/data-client-utils.d.ts +49 -0
- package/dist/utils/data-client-utils.d.ts.map +1 -0
- package/dist/utils/data-client-utils.js +139 -0
- package/dist/utils/data-client-utils.js.map +1 -0
- package/dist/utils/data-client.d.ts +103 -29
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +321 -774
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +7 -3
- package/dist/utils/internal-http-client.js.map +1 -1
- package/package.json +9 -2
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { DataClientConfig, ApiRequestOptions, InterceptorConfig, RequestMetrics, AuditConfig } from "../types/data-client.types";
|
|
6
6
|
import { ClientTokenInfo } from "./token-utils";
|
|
7
|
+
import { UserInfo } from "../types/config.types";
|
|
7
8
|
export declare class DataClient {
|
|
8
9
|
private config;
|
|
9
10
|
private misoClient;
|
|
@@ -11,6 +12,8 @@ export declare class DataClient {
|
|
|
11
12
|
private pendingRequests;
|
|
12
13
|
private interceptors;
|
|
13
14
|
private metrics;
|
|
15
|
+
private permissionService;
|
|
16
|
+
private roleService;
|
|
14
17
|
constructor(config: DataClientConfig);
|
|
15
18
|
/**
|
|
16
19
|
* Get authentication token from localStorage
|
|
@@ -74,39 +77,10 @@ export declare class DataClient {
|
|
|
74
77
|
* Get request metrics
|
|
75
78
|
*/
|
|
76
79
|
getMetrics(): RequestMetrics;
|
|
77
|
-
/**
|
|
78
|
-
* Check if endpoint should skip audit logging
|
|
79
|
-
*/
|
|
80
|
-
private shouldSkipAudit;
|
|
81
|
-
/**
|
|
82
|
-
* Log audit event (ISO 27001 compliance)
|
|
83
|
-
* Skips audit logging if no authentication token is available (user token OR client token)
|
|
84
|
-
*/
|
|
85
|
-
private logAuditEvent;
|
|
86
80
|
/**
|
|
87
81
|
* Make HTTP request with all features (caching, retry, deduplication, audit)
|
|
88
82
|
*/
|
|
89
83
|
private request;
|
|
90
|
-
/**
|
|
91
|
-
* Execute HTTP request with retry logic
|
|
92
|
-
*/
|
|
93
|
-
private executeRequest;
|
|
94
|
-
/**
|
|
95
|
-
* Make fetch request with timeout and authentication
|
|
96
|
-
*/
|
|
97
|
-
private makeFetchRequest;
|
|
98
|
-
/**
|
|
99
|
-
* Merge AbortSignals
|
|
100
|
-
*/
|
|
101
|
-
private mergeSignals;
|
|
102
|
-
/**
|
|
103
|
-
* Parse response based on content type
|
|
104
|
-
*/
|
|
105
|
-
private parseResponse;
|
|
106
|
-
/**
|
|
107
|
-
* Extract headers from Headers object or Record
|
|
108
|
-
*/
|
|
109
|
-
private extractHeaders;
|
|
110
84
|
/**
|
|
111
85
|
* Handle authentication error
|
|
112
86
|
*/
|
|
@@ -135,6 +109,106 @@ export declare class DataClient {
|
|
|
135
109
|
* DELETE request
|
|
136
110
|
*/
|
|
137
111
|
delete<T>(endpoint: string, options?: ApiRequestOptions): Promise<T>;
|
|
112
|
+
/**
|
|
113
|
+
* Get user permissions (uses token from localStorage if not provided)
|
|
114
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
115
|
+
* @returns Array of permission strings
|
|
116
|
+
*/
|
|
117
|
+
getPermissions(token?: string): Promise<string[]>;
|
|
118
|
+
/**
|
|
119
|
+
* Check if user has specific permission
|
|
120
|
+
* @param permission - Permission to check
|
|
121
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
122
|
+
* @returns True if user has the permission
|
|
123
|
+
*/
|
|
124
|
+
hasPermission(permission: string, token?: string): Promise<boolean>;
|
|
125
|
+
/**
|
|
126
|
+
* Check if user has any of the specified permissions
|
|
127
|
+
* @param permissions - Permissions to check
|
|
128
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
129
|
+
* @returns True if user has any of the permissions
|
|
130
|
+
*/
|
|
131
|
+
hasAnyPermission(permissions: string[], token?: string): Promise<boolean>;
|
|
132
|
+
/**
|
|
133
|
+
* Check if user has all of the specified permissions
|
|
134
|
+
* @param permissions - Permissions to check
|
|
135
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
136
|
+
* @returns True if user has all of the permissions
|
|
137
|
+
*/
|
|
138
|
+
hasAllPermissions(permissions: string[], token?: string): Promise<boolean>;
|
|
139
|
+
/**
|
|
140
|
+
* Force refresh permissions from controller (bypass cache)
|
|
141
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
142
|
+
* @returns Array of permission strings
|
|
143
|
+
*/
|
|
144
|
+
refreshPermissions(token?: string): Promise<string[]>;
|
|
145
|
+
/**
|
|
146
|
+
* Clear cached permissions for a user
|
|
147
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
148
|
+
*/
|
|
149
|
+
clearPermissionsCache(token?: string): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Get user roles (uses token from localStorage if not provided)
|
|
152
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
153
|
+
* @returns Array of role strings
|
|
154
|
+
*/
|
|
155
|
+
getRoles(token?: string): Promise<string[]>;
|
|
156
|
+
/**
|
|
157
|
+
* Check if user has specific role
|
|
158
|
+
* @param role - Role to check
|
|
159
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
160
|
+
* @returns True if user has the role
|
|
161
|
+
*/
|
|
162
|
+
hasRole(role: string, token?: string): Promise<boolean>;
|
|
163
|
+
/**
|
|
164
|
+
* Check if user has any of the specified roles
|
|
165
|
+
* @param roles - Roles to check
|
|
166
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
167
|
+
* @returns True if user has any of the roles
|
|
168
|
+
*/
|
|
169
|
+
hasAnyRole(roles: string[], token?: string): Promise<boolean>;
|
|
170
|
+
/**
|
|
171
|
+
* Check if user has all of the specified roles
|
|
172
|
+
* @param roles - Roles to check
|
|
173
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
174
|
+
* @returns True if user has all of the roles
|
|
175
|
+
*/
|
|
176
|
+
hasAllRoles(roles: string[], token?: string): Promise<boolean>;
|
|
177
|
+
/**
|
|
178
|
+
* Force refresh roles from controller (bypass cache)
|
|
179
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
180
|
+
* @returns Array of role strings
|
|
181
|
+
*/
|
|
182
|
+
refreshRoles(token?: string): Promise<string[]>;
|
|
183
|
+
/**
|
|
184
|
+
* Clear cached roles for a user
|
|
185
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
186
|
+
*/
|
|
187
|
+
clearRolesCache(token?: string): Promise<void>;
|
|
188
|
+
/**
|
|
189
|
+
* Validate token (uses localStorage token if not provided)
|
|
190
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
191
|
+
* @returns True if token is valid
|
|
192
|
+
*/
|
|
193
|
+
validateToken(token?: string): Promise<boolean>;
|
|
194
|
+
/**
|
|
195
|
+
* Get user info from token (uses localStorage token if not provided)
|
|
196
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
197
|
+
* @returns User info or null if not authenticated
|
|
198
|
+
*/
|
|
199
|
+
getUser(token?: string): Promise<UserInfo | null>;
|
|
200
|
+
/**
|
|
201
|
+
* Get user info from API endpoint (uses localStorage token if not provided)
|
|
202
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
203
|
+
* @returns User info or null if not authenticated
|
|
204
|
+
*/
|
|
205
|
+
getUserInfo(token?: string): Promise<UserInfo | null>;
|
|
206
|
+
/**
|
|
207
|
+
* Check if authenticated (alias for validateToken)
|
|
208
|
+
* @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
|
|
209
|
+
* @returns True if authenticated
|
|
210
|
+
*/
|
|
211
|
+
isAuthenticatedAsync(token?: string): Promise<boolean>;
|
|
138
212
|
/**
|
|
139
213
|
* Get environment token (browser-side)
|
|
140
214
|
* Checks localStorage cache first, then calls backend endpoint if needed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client.d.ts","sourceRoot":"","sources":["../../src/utils/data-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EAEd,WAAW,
|
|
1
|
+
{"version":3,"file":"data-client.d.ts","sourceRoot":"","sources":["../../src/utils/data-client.ts"],"names":[],"mappings":"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"}
|