@aifabrix/miso-client 3.8.2 → 3.9.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/index.d.ts +30 -157
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +33 -163
  5. package/dist/index.js.map +1 -1
  6. package/dist/services/auth-error-handler.d.ts +21 -0
  7. package/dist/services/auth-error-handler.d.ts.map +1 -0
  8. package/dist/services/auth-error-handler.js +68 -0
  9. package/dist/services/auth-error-handler.js.map +1 -0
  10. package/dist/services/auth.service.d.ts +0 -1
  11. package/dist/services/auth.service.d.ts.map +1 -1
  12. package/dist/services/auth.service.js +31 -298
  13. package/dist/services/auth.service.js.map +1 -1
  14. package/dist/services/logger/logger.service.d.ts +8 -80
  15. package/dist/services/logger/logger.service.d.ts.map +1 -1
  16. package/dist/services/logger/logger.service.js +8 -80
  17. package/dist/services/logger/logger.service.js.map +1 -1
  18. package/dist/types/filter-schema.types.d.ts +104 -0
  19. package/dist/types/filter-schema.types.d.ts.map +1 -0
  20. package/dist/types/filter-schema.types.js +40 -0
  21. package/dist/types/filter-schema.types.js.map +1 -0
  22. package/dist/types/filter.types.d.ts +1 -1
  23. package/dist/types/filter.types.d.ts.map +1 -1
  24. package/dist/types/filter.types.js.map +1 -1
  25. package/dist/utils/data-client-auth.d.ts +5 -37
  26. package/dist/utils/data-client-auth.d.ts.map +1 -1
  27. package/dist/utils/data-client-auth.js +98 -377
  28. package/dist/utils/data-client-auth.js.map +1 -1
  29. package/dist/utils/data-client-init.d.ts +46 -0
  30. package/dist/utils/data-client-init.d.ts.map +1 -0
  31. package/dist/utils/data-client-init.js +128 -0
  32. package/dist/utils/data-client-init.js.map +1 -0
  33. package/dist/utils/data-client-oauth.d.ts +20 -0
  34. package/dist/utils/data-client-oauth.d.ts.map +1 -0
  35. package/dist/utils/data-client-oauth.js +138 -0
  36. package/dist/utils/data-client-oauth.js.map +1 -0
  37. package/dist/utils/data-client-permissions.d.ts +63 -0
  38. package/dist/utils/data-client-permissions.d.ts.map +1 -0
  39. package/dist/utils/data-client-permissions.js +123 -0
  40. package/dist/utils/data-client-permissions.js.map +1 -0
  41. package/dist/utils/data-client-request.d.ts +1 -1
  42. package/dist/utils/data-client-request.d.ts.map +1 -1
  43. package/dist/utils/data-client-request.js +27 -235
  44. package/dist/utils/data-client-request.js.map +1 -1
  45. package/dist/utils/data-client-response.d.ts +40 -0
  46. package/dist/utils/data-client-response.d.ts.map +1 -0
  47. package/dist/utils/data-client-response.js +144 -0
  48. package/dist/utils/data-client-response.js.map +1 -0
  49. package/dist/utils/data-client-roles.d.ts +63 -0
  50. package/dist/utils/data-client-roles.d.ts.map +1 -0
  51. package/dist/utils/data-client-roles.js +123 -0
  52. package/dist/utils/data-client-roles.js.map +1 -0
  53. package/dist/utils/data-client.d.ts +0 -185
  54. package/dist/utils/data-client.d.ts.map +1 -1
  55. package/dist/utils/data-client.js +66 -505
  56. package/dist/utils/data-client.js.map +1 -1
  57. package/dist/utils/filter-colon.utils.d.ts +26 -0
  58. package/dist/utils/filter-colon.utils.d.ts.map +1 -0
  59. package/dist/utils/filter-colon.utils.js +112 -0
  60. package/dist/utils/filter-colon.utils.js.map +1 -0
  61. package/dist/utils/filter-schema.utils.d.ts +84 -0
  62. package/dist/utils/filter-schema.utils.d.ts.map +1 -0
  63. package/dist/utils/filter-schema.utils.js +381 -0
  64. package/dist/utils/filter-schema.utils.js.map +1 -0
  65. package/dist/utils/filter.utils.d.ts +9 -85
  66. package/dist/utils/filter.utils.d.ts.map +1 -1
  67. package/dist/utils/filter.utils.js +79 -138
  68. package/dist/utils/filter.utils.js.map +1 -1
  69. package/dist/utils/http-error-handler.d.ts +22 -0
  70. package/dist/utils/http-error-handler.d.ts.map +1 -0
  71. package/dist/utils/http-error-handler.js +84 -0
  72. package/dist/utils/http-error-handler.js.map +1 -0
  73. package/dist/utils/http-response-validator.d.ts +15 -0
  74. package/dist/utils/http-response-validator.d.ts.map +1 -0
  75. package/dist/utils/http-response-validator.js +42 -0
  76. package/dist/utils/http-response-validator.js.map +1 -0
  77. package/dist/utils/internal-http-client.d.ts +4 -22
  78. package/dist/utils/internal-http-client.d.ts.map +1 -1
  79. package/dist/utils/internal-http-client.js +53 -337
  80. package/dist/utils/internal-http-client.js.map +1 -1
  81. package/dist/utils/token-utils.d.ts.map +1 -1
  82. package/dist/utils/token-utils.js +1 -29
  83. package/dist/utils/token-utils.js.map +1 -1
  84. package/package.json +1 -1
@@ -0,0 +1,63 @@
1
+ /**
2
+ * DataClient role methods - extracted for code organization
3
+ * These methods wrap BrowserRoleService for the DataClient facade
4
+ */
5
+ import { BrowserRoleService } from "../services/browser-role.service";
6
+ import { MisoClient } from "../index";
7
+ /**
8
+ * Get user roles (uses token from localStorage if not provided)
9
+ * @param roleService - Browser role service instance
10
+ * @param misoClient - MisoClient instance (for availability check)
11
+ * @param getTokenFn - Function to get user token
12
+ * @param token - Optional user authentication token
13
+ * @returns Array of role strings
14
+ */
15
+ export declare function getRoles(roleService: BrowserRoleService | null, misoClient: MisoClient | null, getTokenFn: () => string | null, token?: string): Promise<string[]>;
16
+ /**
17
+ * Check if user has specific role
18
+ * @param roleService - Browser role service instance
19
+ * @param misoClient - MisoClient instance (for availability check)
20
+ * @param getTokenFn - Function to get user token
21
+ * @param role - Role to check
22
+ * @param token - Optional user authentication token
23
+ * @returns True if user has the role
24
+ */
25
+ export declare function hasRole(roleService: BrowserRoleService | null, misoClient: MisoClient | null, getTokenFn: () => string | null, role: string, token?: string): Promise<boolean>;
26
+ /**
27
+ * Check if user has any of the specified roles
28
+ * @param roleService - Browser role service instance
29
+ * @param misoClient - MisoClient instance (for availability check)
30
+ * @param getTokenFn - Function to get user token
31
+ * @param roles - Roles to check
32
+ * @param token - Optional user authentication token
33
+ * @returns True if user has any of the roles
34
+ */
35
+ export declare function hasAnyRole(roleService: BrowserRoleService | null, misoClient: MisoClient | null, getTokenFn: () => string | null, roles: string[], token?: string): Promise<boolean>;
36
+ /**
37
+ * Check if user has all of the specified roles
38
+ * @param roleService - Browser role service instance
39
+ * @param misoClient - MisoClient instance (for availability check)
40
+ * @param getTokenFn - Function to get user token
41
+ * @param roles - Roles to check
42
+ * @param token - Optional user authentication token
43
+ * @returns True if user has all of the roles
44
+ */
45
+ export declare function hasAllRoles(roleService: BrowserRoleService | null, misoClient: MisoClient | null, getTokenFn: () => string | null, roles: string[], token?: string): Promise<boolean>;
46
+ /**
47
+ * Force refresh roles from controller (bypass cache)
48
+ * @param roleService - Browser role service instance
49
+ * @param misoClient - MisoClient instance (for availability check)
50
+ * @param getTokenFn - Function to get user token
51
+ * @param token - Optional user authentication token
52
+ * @returns Array of role strings
53
+ */
54
+ export declare function refreshRoles(roleService: BrowserRoleService | null, misoClient: MisoClient | null, getTokenFn: () => string | null, token?: string): Promise<string[]>;
55
+ /**
56
+ * Clear cached roles for a user
57
+ * @param roleService - Browser role service instance
58
+ * @param misoClient - MisoClient instance (for availability check)
59
+ * @param getTokenFn - Function to get user token
60
+ * @param token - Optional user authentication token
61
+ */
62
+ export declare function clearRolesCache(roleService: BrowserRoleService | null, misoClient: MisoClient | null, getTokenFn: () => string | null, token?: string): Promise<void>;
63
+ //# sourceMappingURL=data-client-roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-client-roles.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-roles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,kBAAkB,GAAG,IAAI,EACtC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,WAAW,EAAE,kBAAkB,GAAG,IAAI,EACtC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,EAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,kBAAkB,GAAG,IAAI,EACtC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,EAC/B,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,kBAAkB,GAAG,IAAI,EACtC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,EAC/B,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,kBAAkB,GAAG,IAAI,EACtC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,kBAAkB,GAAG,IAAI,EACtC,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ /**
3
+ * DataClient role methods - extracted for code organization
4
+ * These methods wrap BrowserRoleService for the DataClient facade
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getRoles = getRoles;
8
+ exports.hasRole = hasRole;
9
+ exports.hasAnyRole = hasAnyRole;
10
+ exports.hasAllRoles = hasAllRoles;
11
+ exports.refreshRoles = refreshRoles;
12
+ exports.clearRolesCache = clearRolesCache;
13
+ /**
14
+ * Get user roles (uses token from localStorage if not provided)
15
+ * @param roleService - Browser role service instance
16
+ * @param misoClient - MisoClient instance (for availability check)
17
+ * @param getTokenFn - Function to get user token
18
+ * @param token - Optional user authentication token
19
+ * @returns Array of role strings
20
+ */
21
+ async function getRoles(roleService, misoClient, getTokenFn, token) {
22
+ if (!misoClient || !roleService) {
23
+ return [];
24
+ }
25
+ const userToken = token || getTokenFn();
26
+ if (!userToken) {
27
+ return [];
28
+ }
29
+ return roleService.getRoles(userToken);
30
+ }
31
+ /**
32
+ * Check if user has specific role
33
+ * @param roleService - Browser role service instance
34
+ * @param misoClient - MisoClient instance (for availability check)
35
+ * @param getTokenFn - Function to get user token
36
+ * @param role - Role to check
37
+ * @param token - Optional user authentication token
38
+ * @returns True if user has the role
39
+ */
40
+ async function hasRole(roleService, misoClient, getTokenFn, role, token) {
41
+ if (!misoClient || !roleService) {
42
+ return false;
43
+ }
44
+ const userToken = token || getTokenFn();
45
+ if (!userToken) {
46
+ return false;
47
+ }
48
+ return roleService.hasRole(userToken, role);
49
+ }
50
+ /**
51
+ * Check if user has any of the specified roles
52
+ * @param roleService - Browser role service instance
53
+ * @param misoClient - MisoClient instance (for availability check)
54
+ * @param getTokenFn - Function to get user token
55
+ * @param roles - Roles to check
56
+ * @param token - Optional user authentication token
57
+ * @returns True if user has any of the roles
58
+ */
59
+ async function hasAnyRole(roleService, misoClient, getTokenFn, roles, token) {
60
+ if (!misoClient || !roleService) {
61
+ return false;
62
+ }
63
+ const userToken = token || getTokenFn();
64
+ if (!userToken) {
65
+ return false;
66
+ }
67
+ return roleService.hasAnyRole(userToken, roles);
68
+ }
69
+ /**
70
+ * Check if user has all of the specified roles
71
+ * @param roleService - Browser role service instance
72
+ * @param misoClient - MisoClient instance (for availability check)
73
+ * @param getTokenFn - Function to get user token
74
+ * @param roles - Roles to check
75
+ * @param token - Optional user authentication token
76
+ * @returns True if user has all of the roles
77
+ */
78
+ async function hasAllRoles(roleService, misoClient, getTokenFn, roles, token) {
79
+ if (!misoClient || !roleService) {
80
+ return false;
81
+ }
82
+ const userToken = token || getTokenFn();
83
+ if (!userToken) {
84
+ return false;
85
+ }
86
+ return roleService.hasAllRoles(userToken, roles);
87
+ }
88
+ /**
89
+ * Force refresh roles from controller (bypass cache)
90
+ * @param roleService - Browser role service instance
91
+ * @param misoClient - MisoClient instance (for availability check)
92
+ * @param getTokenFn - Function to get user token
93
+ * @param token - Optional user authentication token
94
+ * @returns Array of role strings
95
+ */
96
+ async function refreshRoles(roleService, misoClient, getTokenFn, token) {
97
+ if (!misoClient || !roleService) {
98
+ return [];
99
+ }
100
+ const userToken = token || getTokenFn();
101
+ if (!userToken) {
102
+ return [];
103
+ }
104
+ return roleService.refreshRoles(userToken);
105
+ }
106
+ /**
107
+ * Clear cached roles for a user
108
+ * @param roleService - Browser role service instance
109
+ * @param misoClient - MisoClient instance (for availability check)
110
+ * @param getTokenFn - Function to get user token
111
+ * @param token - Optional user authentication token
112
+ */
113
+ async function clearRolesCache(roleService, misoClient, getTokenFn, token) {
114
+ if (!misoClient || !roleService) {
115
+ return;
116
+ }
117
+ const userToken = token || getTokenFn();
118
+ if (!userToken) {
119
+ return;
120
+ }
121
+ return roleService.clearRolesCache(userToken);
122
+ }
123
+ //# sourceMappingURL=data-client-roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-client-roles.js","sourceRoot":"","sources":["../../src/utils/data-client-roles.ts"],"names":[],"mappings":"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"}
@@ -16,232 +16,47 @@ export declare class DataClient {
16
16
  private permissionService;
17
17
  private roleService;
18
18
  constructor(config: DataClientConfig);
19
- /**
20
- * Get authentication token from localStorage
21
- */
22
19
  private getToken;
23
- /**
24
- * Check if client token is available (from localStorage cache or config)
25
- */
26
20
  private hasClientToken;
27
- /**
28
- * Check if any authentication token is available (user token OR client token)
29
- */
30
21
  private hasAnyToken;
31
- /**
32
- * Get client token for requests
33
- * Checks localStorage cache first, then config, then calls getEnvironmentToken() if needed
34
- * @returns Client token string or null if unavailable
35
- */
36
22
  private getClientToken;
37
- /**
38
- * Build controller URL from configuration
39
- * Uses controllerPublicUrl (browser) or controllerUrl (fallback)
40
- * @returns Controller base URL or null if not configured
41
- */
42
23
  private getControllerUrl;
43
- /**
44
- * Check if user is authenticated
45
- */
46
24
  isAuthenticated(): boolean;
47
- /**
48
- * Handle OAuth callback from authentication redirect
49
- * Extracts token from URL hash fragment and stores securely
50
- * ISO 27001 compliant with immediate cleanup and validation
51
- *
52
- * @returns Extracted token or null if not found/invalid
53
- */
54
25
  handleOAuthCallback(): string | null;
55
- /**
56
- * Redirect to login page via controller
57
- * Calls the controller login endpoint with redirect parameter and x-client-token header
58
- * @param redirectUrl - Optional redirect URL to return to after login (defaults to current page URL)
59
- */
60
26
  redirectToLogin(redirectUrl?: string): Promise<void>;
61
- /**
62
- * Logout user and redirect
63
- * Calls logout API with x-client-token header, clears tokens from localStorage, clears cache, and redirects
64
- * @param redirectUrl - Optional redirect URL after logout (defaults to logoutUrl or loginUrl)
65
- */
66
27
  logout(redirectUrl?: string): Promise<void>;
67
- /**
68
- * Set interceptors
69
- */
70
28
  setInterceptors(config: InterceptorConfig): void;
71
- /**
72
- * Set audit configuration
73
- */
74
29
  setAuditConfig(config: Partial<AuditConfig>): void;
75
- /**
76
- * Set log level for MisoClient logger
77
- * Note: This updates the MisoClient config logLevel if MisoClient is initialized
78
- * @param level - Log level ('debug' | 'info' | 'warn' | 'error')
79
- */
80
30
  setLogLevel(level: "debug" | "info" | "warn" | "error"): void;
81
- /**
82
- * Clear all cached responses
83
- */
84
31
  clearCache(): void;
85
- /**
86
- * Get request metrics
87
- */
88
32
  getMetrics(): RequestMetrics;
89
- /**
90
- * Make HTTP request with all features (caching, retry, deduplication, audit)
91
- */
92
33
  private request;
93
- /**
94
- * Refresh user token using onTokenRefresh callback
95
- * @returns New token and expiration, or null if refresh failed
96
- */
97
34
  private refreshUserToken;
98
- /**
99
- * Handle authentication error
100
- */
101
35
  private handleAuthError;
102
- /**
103
- * Apply request interceptor
104
- */
105
36
  private applyRequestInterceptor;
106
- /**
107
- * GET request
108
- */
109
37
  get<T>(endpoint: string, options?: ApiRequestOptions): Promise<T>;
110
- /**
111
- * POST request
112
- */
113
38
  post<T>(endpoint: string, data?: unknown, options?: ApiRequestOptions): Promise<T>;
114
- /**
115
- * PUT request
116
- */
117
39
  put<T>(endpoint: string, data?: unknown, options?: ApiRequestOptions): Promise<T>;
118
- /**
119
- * PATCH request (uses fetch fallback since MisoClient doesn't support PATCH)
120
- */
121
40
  patch<T>(endpoint: string, data?: unknown, options?: ApiRequestOptions): Promise<T>;
122
- /**
123
- * DELETE request
124
- */
125
41
  delete<T>(endpoint: string, options?: ApiRequestOptions): Promise<T>;
126
- /**
127
- * Get user permissions (uses token from localStorage if not provided)
128
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
129
- * @returns Array of permission strings
130
- */
131
42
  getPermissions(token?: string): Promise<string[]>;
132
- /**
133
- * Check if user has specific permission
134
- * @param permission - Permission to check
135
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
136
- * @returns True if user has the permission
137
- */
138
43
  hasPermission(permission: string, token?: string): Promise<boolean>;
139
- /**
140
- * Check if user has any of the specified permissions
141
- * @param permissions - Permissions to check
142
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
143
- * @returns True if user has any of the permissions
144
- */
145
44
  hasAnyPermission(permissions: string[], token?: string): Promise<boolean>;
146
- /**
147
- * Check if user has all of the specified permissions
148
- * @param permissions - Permissions to check
149
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
150
- * @returns True if user has all of the permissions
151
- */
152
45
  hasAllPermissions(permissions: string[], token?: string): Promise<boolean>;
153
- /**
154
- * Force refresh permissions from controller (bypass cache)
155
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
156
- * @returns Array of permission strings
157
- */
158
46
  refreshPermissions(token?: string): Promise<string[]>;
159
- /**
160
- * Clear cached permissions for a user
161
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
162
- */
163
47
  clearPermissionsCache(token?: string): Promise<void>;
164
- /**
165
- * Get user roles (uses token from localStorage if not provided)
166
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
167
- * @returns Array of role strings
168
- */
169
48
  getRoles(token?: string): Promise<string[]>;
170
- /**
171
- * Check if user has specific role
172
- * @param role - Role to check
173
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
174
- * @returns True if user has the role
175
- */
176
49
  hasRole(role: string, token?: string): Promise<boolean>;
177
- /**
178
- * Check if user has any of the specified roles
179
- * @param roles - Roles to check
180
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
181
- * @returns True if user has any of the roles
182
- */
183
50
  hasAnyRole(roles: string[], token?: string): Promise<boolean>;
184
- /**
185
- * Check if user has all of the specified roles
186
- * @param roles - Roles to check
187
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
188
- * @returns True if user has all of the roles
189
- */
190
51
  hasAllRoles(roles: string[], token?: string): Promise<boolean>;
191
- /**
192
- * Force refresh roles from controller (bypass cache)
193
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
194
- * @returns Array of role strings
195
- */
196
52
  refreshRoles(token?: string): Promise<string[]>;
197
- /**
198
- * Clear cached roles for a user
199
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
200
- */
201
53
  clearRolesCache(token?: string): Promise<void>;
202
- /**
203
- * Validate token (uses localStorage token if not provided)
204
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
205
- * @returns True if token is valid
206
- */
207
54
  validateToken(token?: string): Promise<boolean>;
208
- /**
209
- * Get user info from token (uses localStorage token if not provided)
210
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
211
- * @returns User info or null if not authenticated
212
- */
213
55
  getUser(token?: string): Promise<UserInfo | null>;
214
- /**
215
- * Get user info from API endpoint (uses localStorage token if not provided)
216
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
217
- * @returns User info or null if not authenticated
218
- */
219
56
  getUserInfo(token?: string): Promise<UserInfo | null>;
220
- /**
221
- * Check if authenticated (alias for validateToken)
222
- * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
223
- * @returns True if authenticated
224
- */
225
57
  isAuthenticatedAsync(token?: string): Promise<boolean>;
226
- /**
227
- * Get environment token (browser-side)
228
- * Checks localStorage cache first, then calls backend endpoint if needed
229
- * Uses clientTokenUri from config or defaults to /api/v1/auth/client-token
230
- *
231
- * @returns Client token string
232
- * @throws Error if token fetch fails
233
- */
234
58
  getEnvironmentToken(): Promise<string>;
235
- /**
236
- * Get client token information (browser-side)
237
- * Extracts application and environment info from client token
238
- *
239
- * @returns Client token info or null if token not available
240
- */
241
59
  getClientTokenInfo(): ClientTokenInfo | null;
242
60
  }
243
- /**
244
- * Get or create default DataClient instance
245
- */
246
61
  export declare function dataClient(config?: DataClientConfig): DataClient;
247
62
  //# sourceMappingURL=data-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-client.d.ts","sourceRoot":"","sources":["../../src/utils/data-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-client.d.ts","sourceRoot":"","sources":["../../src/utils/data-client.ts"],"names":[],"mappings":"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"}