@aifabrix/miso-client 4.3.1 → 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1253 -1215
- package/README.md +22 -23
- package/dist/api/applications.api.d.ts +42 -0
- package/dist/api/applications.api.d.ts.map +1 -0
- package/dist/api/applications.api.js +91 -0
- package/dist/api/applications.api.js.map +1 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/types/applications.types.d.ts +58 -0
- package/dist/api/types/applications.types.d.ts.map +1 -0
- package/dist/api/types/applications.types.js +7 -0
- package/dist/api/types/applications.types.js.map +1 -0
- package/dist/api/types/encryption.types.d.ts +2 -2
- package/dist/api/types/encryption.types.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.d.ts +2 -2
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +21 -3
- package/dist/express/client-token-endpoint.js.map +1 -1
- package/dist/express/error-handler.d.ts +8 -1
- package/dist/express/error-handler.d.ts.map +1 -1
- package/dist/express/error-handler.js +8 -1
- package/dist/express/error-handler.js.map +1 -1
- package/dist/express/error-response.d.ts +16 -4
- package/dist/express/error-response.d.ts.map +1 -1
- package/dist/express/error-response.js +16 -4
- package/dist/express/error-response.js.map +1 -1
- package/dist/express/error-types.d.ts +13 -0
- package/dist/express/error-types.d.ts.map +1 -1
- package/dist/express/error-types.js +13 -0
- package/dist/express/error-types.js.map +1 -1
- package/dist/express/index.d.ts +8 -4
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/index.js.map +1 -1
- package/dist/express/logger-context.middleware.d.ts +8 -4
- package/dist/express/logger-context.middleware.d.ts.map +1 -1
- package/dist/express/logger-context.middleware.js +9 -4
- package/dist/express/logger-context.middleware.js.map +1 -1
- package/dist/express/response-middleware.d.ts +4 -0
- package/dist/express/response-middleware.d.ts.map +1 -1
- package/dist/express/response-middleware.js +4 -0
- package/dist/express/response-middleware.js.map +1 -1
- package/dist/index.d.ts +207 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +214 -36
- package/dist/index.js.map +1 -1
- package/dist/services/application-context.service.d.ts +0 -1
- package/dist/services/application-context.service.d.ts.map +1 -1
- package/dist/services/application-context.service.js +12 -7
- package/dist/services/application-context.service.js.map +1 -1
- package/dist/services/auth-cache-helpers.d.ts +22 -0
- package/dist/services/auth-cache-helpers.d.ts.map +1 -0
- package/dist/services/auth-cache-helpers.js +85 -0
- package/dist/services/auth-cache-helpers.js.map +1 -0
- package/dist/services/auth-environment-token.d.ts +20 -0
- package/dist/services/auth-environment-token.d.ts.map +1 -0
- package/dist/services/auth-environment-token.js +94 -0
- package/dist/services/auth-environment-token.js.map +1 -0
- package/dist/services/auth-error-handler.d.ts.map +1 -1
- package/dist/services/auth-error-handler.js +1 -1
- package/dist/services/auth-error-handler.js.map +1 -1
- package/dist/services/auth.service.d.ts +16 -28
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +112 -208
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +3 -1
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +44 -9
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +3 -1
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +44 -9
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +8 -2
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/encryption.service.d.ts +1 -1
- package/dist/services/encryption.service.js +2 -2
- package/dist/services/encryption.service.js.map +1 -1
- package/dist/services/logger/index.d.ts +6 -4
- package/dist/services/logger/index.d.ts.map +1 -1
- package/dist/services/logger/index.js +1 -4
- package/dist/services/logger/index.js.map +1 -1
- package/dist/services/logger/logger-chain.d.ts +18 -8
- package/dist/services/logger/logger-chain.d.ts.map +1 -1
- package/dist/services/logger/logger-chain.js +35 -41
- package/dist/services/logger/logger-chain.js.map +1 -1
- package/dist/services/logger/logger-context-storage.d.ts +2 -0
- package/dist/services/logger/logger-context-storage.d.ts.map +1 -1
- package/dist/services/logger/logger-context-storage.js.map +1 -1
- package/dist/services/logger/logger-context.d.ts +0 -22
- package/dist/services/logger/logger-context.d.ts.map +1 -1
- package/dist/services/logger/logger-context.js +2 -50
- package/dist/services/logger/logger-context.js.map +1 -1
- package/dist/services/logger/logger.service.d.ts +37 -14
- package/dist/services/logger/logger.service.d.ts.map +1 -1
- package/dist/services/logger/logger.service.js +157 -133
- package/dist/services/logger/logger.service.js.map +1 -1
- package/dist/services/logger/unified-logger.service.d.ts.map +1 -1
- package/dist/services/logger/unified-logger.service.js +2 -34
- package/dist/services/logger/unified-logger.service.js.map +1 -1
- package/dist/services/permission.service.d.ts +12 -5
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +50 -10
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/redis.service.d.ts +29 -0
- package/dist/services/redis.service.d.ts.map +1 -1
- package/dist/services/redis.service.js +48 -5
- package/dist/services/redis.service.js.map +1 -1
- package/dist/services/role.service.d.ts +12 -5
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +38 -9
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/token-validation.service.d.ts +30 -0
- package/dist/services/token-validation.service.d.ts.map +1 -1
- package/dist/services/token-validation.service.js +30 -0
- package/dist/services/token-validation.service.js.map +1 -1
- package/dist/types/config.types.d.ts +38 -1
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js.map +1 -1
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +3 -0
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/client-token-manager.d.ts.map +1 -1
- package/dist/utils/client-token-manager.js +9 -1
- package/dist/utils/client-token-manager.js.map +1 -1
- package/dist/utils/config-loader.d.ts +3 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +5 -3
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/data-client-audit.d.ts.map +1 -1
- package/dist/utils/data-client-audit.js +15 -2
- package/dist/utils/data-client-audit.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +17 -9
- 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 +110 -119
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-request.d.ts +0 -3
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +148 -97
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client-response.d.ts.map +1 -1
- package/dist/utils/data-client-response.js +93 -63
- package/dist/utils/data-client-response.js.map +1 -1
- package/dist/utils/data-client-utils.d.ts +2 -1
- package/dist/utils/data-client-utils.d.ts.map +1 -1
- package/dist/utils/data-client-utils.js +2 -1
- package/dist/utils/data-client-utils.js.map +1 -1
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +4 -1
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/data-masker.d.ts +3 -0
- package/dist/utils/data-masker.d.ts.map +1 -1
- package/dist/utils/data-masker.js +3 -0
- package/dist/utils/data-masker.js.map +1 -1
- package/dist/utils/filter-schema.utils.d.ts.map +1 -1
- package/dist/utils/filter-schema.utils.js +64 -46
- package/dist/utils/filter-schema.utils.js.map +1 -1
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +59 -75
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client-audit.js +31 -19
- package/dist/utils/http-client-audit.js.map +1 -1
- package/dist/utils/http-client-metadata.d.ts +2 -1
- package/dist/utils/http-client-metadata.d.ts.map +1 -1
- package/dist/utils/http-client-metadata.js +2 -1
- package/dist/utils/http-client-metadata.js.map +1 -1
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +13 -7
- package/dist/utils/internal-http-client.js.map +1 -1
- package/package.json +86 -84
package/README.md
CHANGED
|
@@ -210,7 +210,7 @@ const dataClientWithRefresh = new DataClient({
|
|
|
210
210
|
```
|
|
211
211
|
|
|
212
212
|
→ [DataClient Documentation](docs/data-client.md) - Includes security guide and Client Token Pattern
|
|
213
|
-
→ [DataClient API Reference](docs/
|
|
213
|
+
→ [DataClient API Reference](docs/reference-dataclient.md)
|
|
214
214
|
|
|
215
215
|
---
|
|
216
216
|
|
|
@@ -218,7 +218,7 @@ const dataClientWithRefresh = new DataClient({
|
|
|
218
218
|
|
|
219
219
|
**First time?** You'll need Keycloak and Miso Controller running.
|
|
220
220
|
|
|
221
|
-
Use the [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder
|
|
221
|
+
Use the [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder) (see repository docs for Quick Start):
|
|
222
222
|
|
|
223
223
|
```bash
|
|
224
224
|
# Start infrastructure (Postgres, Redis)
|
|
@@ -235,7 +235,7 @@ aifabrix build miso-controller
|
|
|
235
235
|
aifabrix run miso-controller
|
|
236
236
|
```
|
|
237
237
|
|
|
238
|
-
→ [Infrastructure Guide](https://github.com/esystemsdev/aifabrix-builder
|
|
238
|
+
→ [Infrastructure Guide](https://github.com/esystemsdev/aifabrix-builder) (see repository docs)
|
|
239
239
|
|
|
240
240
|
**Already have Keycloak and Controller?** Use the Quick Start above.
|
|
241
241
|
|
|
@@ -297,7 +297,7 @@ if (isAdmin) {
|
|
|
297
297
|
**Pro tip:** Without Redis, checks go to the controller. Add Redis to cache role lookups (15-minute default TTL).
|
|
298
298
|
|
|
299
299
|
→ [Complete RBAC example](examples/step-4-rbac.ts)
|
|
300
|
-
→ [AI Fabrix Builder
|
|
300
|
+
→ [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder) (Quick Start in repository docs)
|
|
301
301
|
|
|
302
302
|
---
|
|
303
303
|
|
|
@@ -353,8 +353,7 @@ const logContext = extractLoggingContext({
|
|
|
353
353
|
|
|
354
354
|
await client.log
|
|
355
355
|
.withIndexedContext(logContext)
|
|
356
|
-
.
|
|
357
|
-
.addUser(userId)
|
|
356
|
+
.withContext({ correlationId, userId })
|
|
358
357
|
.error('Sync failed');
|
|
359
358
|
```
|
|
360
359
|
|
|
@@ -377,7 +376,7 @@ client.log.on('log', (logEntry: LogEntry) => {
|
|
|
377
376
|
|
|
378
377
|
→ [Complete logging example](examples/step-5-logging.ts)
|
|
379
378
|
→ [Event emission mode example](examples/event-emission-mode.example.ts)
|
|
380
|
-
→ [Logging Reference](docs/
|
|
379
|
+
→ [Logging Reference](docs/reference-services.md#logging-methods)
|
|
381
380
|
→ [Event Emission Mode Guide](docs/configuration.md#event-emission-mode)
|
|
382
381
|
|
|
383
382
|
---
|
|
@@ -533,8 +532,8 @@ ENCRYPTION_KEY=your-32-byte-encryption-key
|
|
|
533
532
|
```
|
|
534
533
|
|
|
535
534
|
→ [Complete encryption & caching example](examples/step-7-encryption-cache.ts)
|
|
536
|
-
→ [API Reference](docs/
|
|
537
|
-
→ [Cache Methods](docs/
|
|
535
|
+
→ [API Reference](docs/reference-services.md#encryption-methods)
|
|
536
|
+
→ [Cache Methods](docs/reference-services.md#cache-methods)
|
|
538
537
|
|
|
539
538
|
---
|
|
540
539
|
|
|
@@ -591,10 +590,10 @@ const response = createPaginatedListResponse(
|
|
|
591
590
|
|
|
592
591
|
**Pro tip:** These utilities are business-logic-free and reusable across applications. Perfect for building query strings, parsing API responses, and testing with mocks. Designed following enterprise best practices for maintainability and compliance.
|
|
593
592
|
|
|
594
|
-
→ [Complete pagination example](docs/examples.md#pagination)
|
|
595
|
-
→ [Complete filter example](docs/examples.md#filtering)
|
|
596
|
-
→ [Complete sort example](docs/examples.md#sorting)
|
|
597
|
-
→ [API Reference](docs/
|
|
593
|
+
→ [Complete pagination example](docs/examples/utilities.md#pagination)
|
|
594
|
+
→ [Complete filter example](docs/examples/utilities.md#filtering)
|
|
595
|
+
→ [Complete sort example](docs/examples/utilities.md#sorting)
|
|
596
|
+
→ [API Reference](docs/reference-utilities.md#pagination-utilities)
|
|
598
597
|
|
|
599
598
|
---
|
|
600
599
|
|
|
@@ -798,7 +797,7 @@ app.get('/users', (req, res) => {
|
|
|
798
797
|
**Note:** For large datasets, always sort at the database level. Use `applySorting()` only for small in-memory datasets or client-side sorting.
|
|
799
798
|
|
|
800
799
|
→ [Complete Express examples](examples/)
|
|
801
|
-
→ [API Reference](docs/
|
|
800
|
+
→ [API Reference](docs/reference-utilities.md#express-utilities)
|
|
802
801
|
|
|
803
802
|
---
|
|
804
803
|
|
|
@@ -853,8 +852,8 @@ MISO_API_KEY=optional-api-key
|
|
|
853
852
|
|
|
854
853
|
**Backward Compatibility:** All existing code continues to work without changes. If no strategy is specified, defaults to `['bearer', 'client-token']` (existing behavior).
|
|
855
854
|
|
|
856
|
-
→ [Complete authentication strategy example](docs/
|
|
857
|
-
→ [API Reference](docs/
|
|
855
|
+
→ [Complete authentication strategy example](docs/reference-authentication.md#authentication-strategy)
|
|
856
|
+
→ [API Reference](docs/reference-authentication.md#authentication-strategy)
|
|
858
857
|
|
|
859
858
|
---
|
|
860
859
|
|
|
@@ -897,7 +896,7 @@ interface AuthStrategy {
|
|
|
897
896
|
- **[Getting Started](docs/getting-started.md)** - Detailed setup guide
|
|
898
897
|
- **[API Reference](docs/api-reference.md)** - Complete API documentation
|
|
899
898
|
- **[Configuration](docs/configuration.md)** - Configuration options
|
|
900
|
-
- **[Examples](docs/examples.md)** - Framework-specific examples
|
|
899
|
+
- **[Examples](docs/examples/README.md)** - Framework-specific examples
|
|
901
900
|
- **[Troubleshooting](docs/troubleshooting.md)** - Common issues and solutions
|
|
902
901
|
|
|
903
902
|
---
|
|
@@ -912,7 +911,7 @@ The SDK consists of five core services:
|
|
|
912
911
|
- **LoggerService** - Centralized logging with API key authentication
|
|
913
912
|
- **RedisService** - Caching and queue management (optional)
|
|
914
913
|
|
|
915
|
-
→ [Architecture Details](docs/api-reference.md#
|
|
914
|
+
→ [Architecture Details](docs/api-reference.md#sdk-structure)
|
|
916
915
|
|
|
917
916
|
---
|
|
918
917
|
|
|
@@ -940,7 +939,7 @@ The SDK consists of five core services:
|
|
|
940
939
|
|
|
941
940
|
4. **Start development** and then deploy to Docker or Azure.
|
|
942
941
|
|
|
943
|
-
→ [Full Quick Start Guide](https://github.com/esystemsdev/aifabrix-builder
|
|
942
|
+
→ [Full Quick Start Guide](https://github.com/esystemsdev/aifabrix-builder) (see repository docs)
|
|
944
943
|
|
|
945
944
|
---
|
|
946
945
|
|
|
@@ -948,10 +947,10 @@ The SDK consists of five core services:
|
|
|
948
947
|
|
|
949
948
|
### Learn More
|
|
950
949
|
|
|
951
|
-
- [Express.js Middleware](docs/examples.md
|
|
952
|
-
- [React Authentication](docs/examples
|
|
953
|
-
- [NestJS Guards](docs/
|
|
954
|
-
- [Error Handling](docs/examples
|
|
950
|
+
- [Express.js Middleware](docs/examples/express-middleware.md) - Protect API routes
|
|
951
|
+
- [React Authentication](docs/examples/react-authentication.md) - Frontend auth
|
|
952
|
+
- [NestJS Guards](docs/reference-authentication.md#nestjs-guards) - Decorator-based auth
|
|
953
|
+
- [Error Handling](docs/examples/error-handling.md) - Best practices
|
|
955
954
|
|
|
956
955
|
### Common Tasks
|
|
957
956
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applications API client
|
|
3
|
+
* Handles application status and URLs endpoints (server-side)
|
|
4
|
+
*/
|
|
5
|
+
import { HttpClient } from '../utils/http-client';
|
|
6
|
+
import { AuthStrategy } from '../types/config.types';
|
|
7
|
+
import { UpdateSelfStatusRequest, UpdateSelfStatusResponse, ApplicationStatusResponse } from './types/applications.types';
|
|
8
|
+
/**
|
|
9
|
+
* Applications API class
|
|
10
|
+
* Handles application status update and fetch endpoints
|
|
11
|
+
*/
|
|
12
|
+
export declare class ApplicationsApi {
|
|
13
|
+
private httpClient;
|
|
14
|
+
private static readonly SELF_STATUS_ENDPOINT;
|
|
15
|
+
private static readonly APPLICATION_STATUS_ENDPOINT;
|
|
16
|
+
constructor(httpClient: HttpClient);
|
|
17
|
+
/**
|
|
18
|
+
* Replace path parameters in endpoint template
|
|
19
|
+
*/
|
|
20
|
+
private buildPath;
|
|
21
|
+
/**
|
|
22
|
+
* Update the current application's status and URLs
|
|
23
|
+
* Uses client credentials (x-client-token) when no authStrategy provided
|
|
24
|
+
*
|
|
25
|
+
* @param envKey - Environment key
|
|
26
|
+
* @param body - Update request body (status, url, internalUrl, port)
|
|
27
|
+
* @param authStrategy - Optional authentication strategy override
|
|
28
|
+
* @returns Update response with success and optional application data
|
|
29
|
+
*/
|
|
30
|
+
updateSelfStatus(envKey: string, body: UpdateSelfStatusRequest, authStrategy?: AuthStrategy): Promise<UpdateSelfStatusResponse>;
|
|
31
|
+
/**
|
|
32
|
+
* Get any application's status and URLs (without configuration)
|
|
33
|
+
* Uses client credentials when no authStrategy provided
|
|
34
|
+
*
|
|
35
|
+
* @param envKey - Environment key
|
|
36
|
+
* @param appKey - Application key
|
|
37
|
+
* @param authStrategy - Optional authentication strategy override
|
|
38
|
+
* @returns Application status response with metadata
|
|
39
|
+
*/
|
|
40
|
+
getApplicationStatus(envKey: string, appKey: string, authStrategy?: AuthStrategy): Promise<ApplicationStatusResponse>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=applications.api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applications.api.d.ts","sourceRoot":"","sources":["../../src/api/applications.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AAIpC;;;GAGG;AACH,qBAAa,eAAe;IAOd,OAAO,CAAC,UAAU;IAL9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CACc;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CACU;gBAEzC,UAAU,EAAE,UAAU;IAE1C;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;;;;;OAQG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,uBAAuB,EAC7B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,wBAAwB,CAAC;IAuCpC;;;;;;;;OAQG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,yBAAyB,CAAC;CAoCtC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Applications API client
|
|
4
|
+
* Handles application status and URLs endpoints (server-side)
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ApplicationsApi = void 0;
|
|
8
|
+
const error_extractor_1 = require("../utils/error-extractor");
|
|
9
|
+
const console_logger_1 = require("../utils/console-logger");
|
|
10
|
+
/**
|
|
11
|
+
* Applications API class
|
|
12
|
+
* Handles application status update and fetch endpoints
|
|
13
|
+
*/
|
|
14
|
+
class ApplicationsApi {
|
|
15
|
+
constructor(httpClient) {
|
|
16
|
+
this.httpClient = httpClient;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Replace path parameters in endpoint template
|
|
20
|
+
*/
|
|
21
|
+
buildPath(template, params) {
|
|
22
|
+
let path = template.replace(':envKey', params.envKey);
|
|
23
|
+
if (params.appKey !== undefined) {
|
|
24
|
+
path = path.replace(':appKey', params.appKey);
|
|
25
|
+
}
|
|
26
|
+
return path;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Update the current application's status and URLs
|
|
30
|
+
* Uses client credentials (x-client-token) when no authStrategy provided
|
|
31
|
+
*
|
|
32
|
+
* @param envKey - Environment key
|
|
33
|
+
* @param body - Update request body (status, url, internalUrl, port)
|
|
34
|
+
* @param authStrategy - Optional authentication strategy override
|
|
35
|
+
* @returns Update response with success and optional application data
|
|
36
|
+
*/
|
|
37
|
+
async updateSelfStatus(envKey, body, authStrategy) {
|
|
38
|
+
const path = this.buildPath(ApplicationsApi.SELF_STATUS_ENDPOINT, { envKey });
|
|
39
|
+
try {
|
|
40
|
+
if (authStrategy?.bearerToken) {
|
|
41
|
+
return await this.httpClient.authenticatedRequest('POST', path, authStrategy.bearerToken, body, undefined, authStrategy);
|
|
42
|
+
}
|
|
43
|
+
if (authStrategy) {
|
|
44
|
+
return await this.httpClient.requestWithAuthStrategy('POST', path, authStrategy, body);
|
|
45
|
+
}
|
|
46
|
+
return await this.httpClient.request('POST', path, body);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
50
|
+
endpoint: path,
|
|
51
|
+
method: 'POST',
|
|
52
|
+
});
|
|
53
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[ApplicationsApi]');
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get any application's status and URLs (without configuration)
|
|
59
|
+
* Uses client credentials when no authStrategy provided
|
|
60
|
+
*
|
|
61
|
+
* @param envKey - Environment key
|
|
62
|
+
* @param appKey - Application key
|
|
63
|
+
* @param authStrategy - Optional authentication strategy override
|
|
64
|
+
* @returns Application status response with metadata
|
|
65
|
+
*/
|
|
66
|
+
async getApplicationStatus(envKey, appKey, authStrategy) {
|
|
67
|
+
const path = this.buildPath(ApplicationsApi.APPLICATION_STATUS_ENDPOINT, { envKey, appKey });
|
|
68
|
+
try {
|
|
69
|
+
if (authStrategy?.bearerToken) {
|
|
70
|
+
return await this.httpClient.authenticatedRequest('GET', path, authStrategy.bearerToken, undefined, undefined, authStrategy);
|
|
71
|
+
}
|
|
72
|
+
if (authStrategy) {
|
|
73
|
+
return await this.httpClient.requestWithAuthStrategy('GET', path, authStrategy);
|
|
74
|
+
}
|
|
75
|
+
return await this.httpClient.request('GET', path);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
|
|
79
|
+
endpoint: path,
|
|
80
|
+
method: 'GET',
|
|
81
|
+
});
|
|
82
|
+
(0, console_logger_1.logErrorWithContext)(errorInfo, '[ApplicationsApi]');
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.ApplicationsApi = ApplicationsApi;
|
|
88
|
+
// Centralize endpoint URLs as constants (align with controller plan 138)
|
|
89
|
+
ApplicationsApi.SELF_STATUS_ENDPOINT = '/api/v1/environments/:envKey/applications/self/status';
|
|
90
|
+
ApplicationsApi.APPLICATION_STATUS_ENDPOINT = '/api/v1/environments/:envKey/applications/:appKey/status';
|
|
91
|
+
//# sourceMappingURL=applications.api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applications.api.js","sourceRoot":"","sources":["../../src/api/applications.api.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { RolesApi } from './roles.api';
|
|
|
9
9
|
import { PermissionsApi } from './permissions.api';
|
|
10
10
|
import { LogsApi } from './logs.api';
|
|
11
11
|
import { EncryptionApi } from './encryption.api';
|
|
12
|
+
import { ApplicationsApi } from './applications.api';
|
|
12
13
|
/**
|
|
13
14
|
* API Client class
|
|
14
15
|
* Wraps HttpClient and provides domain-specific API interfaces
|
|
@@ -35,6 +36,10 @@ export declare class ApiClient {
|
|
|
35
36
|
* Encryption API - Security parameter encryption/decryption
|
|
36
37
|
*/
|
|
37
38
|
readonly encryption: EncryptionApi;
|
|
39
|
+
/**
|
|
40
|
+
* Applications API - Application status and URLs (server-side)
|
|
41
|
+
*/
|
|
42
|
+
readonly applications: ApplicationsApi;
|
|
38
43
|
/**
|
|
39
44
|
* Create API client instance
|
|
40
45
|
* @param httpClient - HttpClient instance to wrap
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IAEvC;;;OAGG;gBACS,UAAU,EAAE,UAAU;CAQnC"}
|
package/dist/api/index.js
CHANGED
|
@@ -11,6 +11,7 @@ const roles_api_1 = require("./roles.api");
|
|
|
11
11
|
const permissions_api_1 = require("./permissions.api");
|
|
12
12
|
const logs_api_1 = require("./logs.api");
|
|
13
13
|
const encryption_api_1 = require("./encryption.api");
|
|
14
|
+
const applications_api_1 = require("./applications.api");
|
|
14
15
|
/**
|
|
15
16
|
* API Client class
|
|
16
17
|
* Wraps HttpClient and provides domain-specific API interfaces
|
|
@@ -27,6 +28,7 @@ class ApiClient {
|
|
|
27
28
|
this.permissions = new permissions_api_1.PermissionsApi(httpClient);
|
|
28
29
|
this.logs = new logs_api_1.LogsApi(httpClient);
|
|
29
30
|
this.encryption = new encryption_api_1.EncryptionApi(httpClient);
|
|
31
|
+
this.applications = new applications_api_1.ApplicationsApi(httpClient);
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
exports.ApiClient = ApiClient;
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,yCAAqC;AACrC,2CAAuC;AACvC,uDAAmD;AACnD,yCAAqC;AACrC,qDAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,yCAAqC;AACrC,2CAAuC;AACvC,uDAAmD;AACnD,yCAAqC;AACrC,qDAAiD;AACjD,yDAAqD;AAErD;;;;GAIG;AACH,MAAa,SAAS;IA+BpB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAO,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAc,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAO,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAa,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,kCAAe,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;CACF;AA3CD,8BA2CC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application status and URLs API types
|
|
3
|
+
* Server-side interfaces for updating and fetching application status
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Request body for updating the current application's status and URLs
|
|
7
|
+
* All fields optional; at least one typically sent
|
|
8
|
+
*/
|
|
9
|
+
export interface UpdateSelfStatusRequest {
|
|
10
|
+
/** Application status (e.g. active, inactive) */
|
|
11
|
+
status?: string;
|
|
12
|
+
/** Public URL of the application */
|
|
13
|
+
url?: string;
|
|
14
|
+
/** Internal URL of the application */
|
|
15
|
+
internalUrl?: string;
|
|
16
|
+
/** Port number (1-65535) */
|
|
17
|
+
port?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Response from updating the current application's status
|
|
21
|
+
*/
|
|
22
|
+
export interface UpdateSelfStatusResponse {
|
|
23
|
+
/** Whether the update succeeded */
|
|
24
|
+
success?: boolean;
|
|
25
|
+
/** Updated application data (when returned by controller) */
|
|
26
|
+
application?: ApplicationStatusResponse;
|
|
27
|
+
/** Optional message */
|
|
28
|
+
message?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Application status and metadata (without configuration)
|
|
32
|
+
* Used for both update response and get status response
|
|
33
|
+
*/
|
|
34
|
+
export interface ApplicationStatusResponse {
|
|
35
|
+
/** Application ID */
|
|
36
|
+
id?: string;
|
|
37
|
+
/** Application key */
|
|
38
|
+
key?: string;
|
|
39
|
+
/** Display name */
|
|
40
|
+
displayName?: string;
|
|
41
|
+
/** Public URL */
|
|
42
|
+
url?: string;
|
|
43
|
+
/** Internal URL */
|
|
44
|
+
internalUrl?: string;
|
|
45
|
+
/** Port number */
|
|
46
|
+
port?: number;
|
|
47
|
+
/** Application status */
|
|
48
|
+
status?: string;
|
|
49
|
+
/** Runtime status */
|
|
50
|
+
runtimeStatus?: string;
|
|
51
|
+
/** Environment ID or reference */
|
|
52
|
+
environmentId?: string;
|
|
53
|
+
/** Creation timestamp */
|
|
54
|
+
createdAt?: string;
|
|
55
|
+
/** Last update timestamp */
|
|
56
|
+
updatedAt?: string;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=applications.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applications.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/applications.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,qBAAqB;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applications.types.js","sourceRoot":"","sources":["../../../src/api/types/applications.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -14,7 +14,7 @@ export interface EncryptRequest {
|
|
|
14
14
|
plaintext: string;
|
|
15
15
|
/** Name identifier for the parameter (alphanumeric, dots, underscores, hyphens, 1-128 chars) */
|
|
16
16
|
parameterName: string;
|
|
17
|
-
/** Encryption key for server-side validation (from
|
|
17
|
+
/** Encryption key for server-side validation (from ENCRYPTION_KEY) */
|
|
18
18
|
encryptionKey: string;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
@@ -34,7 +34,7 @@ export interface DecryptRequest {
|
|
|
34
34
|
value: string;
|
|
35
35
|
/** Name identifier for the parameter (must match encryption) */
|
|
36
36
|
parameterName: string;
|
|
37
|
-
/** Encryption key for server-side validation (from
|
|
37
|
+
/** Encryption key for server-side validation (from ENCRYPTION_KEY) */
|
|
38
38
|
encryptionKey: string;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/encryption.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"encryption.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/encryption.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Provides zero-config server-side setup for DataClient initialization
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { RequestHandler } from "express";
|
|
8
8
|
import { MisoClient } from "../index";
|
|
9
9
|
/**
|
|
10
10
|
* DataClient configuration returned by client-token endpoint
|
|
@@ -60,5 +60,5 @@ export declare function hasConfig(response: ClientTokenResponse): response is Cl
|
|
|
60
60
|
* @param options - Optional configuration
|
|
61
61
|
* @returns Express route handler function
|
|
62
62
|
*/
|
|
63
|
-
export declare function createClientTokenEndpoint(misoClient: MisoClient, options?: ClientTokenEndpointOptions):
|
|
63
|
+
export declare function createClientTokenEndpoint(misoClient: MisoClient, options?: ClientTokenEndpointOptions): RequestHandler;
|
|
64
64
|
//# sourceMappingURL=client-token-endpoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-token-endpoint.d.ts","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"client-token-endpoint.d.ts","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtC;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,qEAAqE;IACrE,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,QAAQ,IAAI,mBAAmB,GAAG;IAAE,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAE/H;AAsED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,0BAA0B,GACnC,cAAc,CAuEhB"}
|
|
@@ -10,6 +10,7 @@ exports.hasConfig = hasConfig;
|
|
|
10
10
|
exports.createClientTokenEndpoint = createClientTokenEndpoint;
|
|
11
11
|
const environment_token_1 = require("../utils/environment-token");
|
|
12
12
|
const controller_url_resolver_1 = require("../utils/controller-url-resolver");
|
|
13
|
+
const async_handler_1 = require("./async-handler");
|
|
13
14
|
const error_response_1 = require("./error-response");
|
|
14
15
|
/**
|
|
15
16
|
* Type guard to check if response includes config
|
|
@@ -104,7 +105,7 @@ function buildConfigResponse(req, misoClient, clientTokenUri) {
|
|
|
104
105
|
*/
|
|
105
106
|
function createClientTokenEndpoint(misoClient, options) {
|
|
106
107
|
const opts = { clientTokenUri: "/api/v1/auth/client-token", expiresIn: 1800, includeConfig: true, ...options };
|
|
107
|
-
|
|
108
|
+
const handler = async (req, res) => {
|
|
108
109
|
const isResponseSent = () => res.headersSent || res.writableEnded;
|
|
109
110
|
try {
|
|
110
111
|
if (!misoClient.isInitialized()) {
|
|
@@ -113,16 +114,30 @@ function createClientTokenEndpoint(misoClient, options) {
|
|
|
113
114
|
return;
|
|
114
115
|
}
|
|
115
116
|
// Fetch token with timeout
|
|
116
|
-
|
|
117
|
+
let timeoutId = null;
|
|
118
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
119
|
+
timeoutId = setTimeout(() => reject(new Error("Request timeout: Failed to get environment token within 5 seconds")), 5000);
|
|
120
|
+
});
|
|
117
121
|
let token;
|
|
118
122
|
try {
|
|
119
|
-
token = await Promise.race([
|
|
123
|
+
token = await Promise.race([
|
|
124
|
+
(0, environment_token_1.getEnvironmentToken)(misoClient, req),
|
|
125
|
+
timeoutPromise,
|
|
126
|
+
]);
|
|
120
127
|
}
|
|
121
128
|
catch (tokenError) {
|
|
122
129
|
if (!isResponseSent())
|
|
123
130
|
handleTokenError(tokenError, req, res, misoClient);
|
|
124
131
|
return;
|
|
125
132
|
}
|
|
133
|
+
finally {
|
|
134
|
+
if (timeoutId) {
|
|
135
|
+
clearTimeout(timeoutId);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (!token) {
|
|
139
|
+
throw new Error("Request timeout: Failed to get environment token");
|
|
140
|
+
}
|
|
126
141
|
// Build response
|
|
127
142
|
const response = { token, expiresIn: opts.expiresIn };
|
|
128
143
|
if (opts.includeConfig) {
|
|
@@ -152,5 +167,8 @@ function createClientTokenEndpoint(misoClient, options) {
|
|
|
152
167
|
(0, error_response_1.sendErrorResponse)(res, (0, error_response_1.createErrorResponse)(errorMessage, 500, req));
|
|
153
168
|
}
|
|
154
169
|
};
|
|
170
|
+
return (0, async_handler_1.asyncHandler)(async (req, res) => {
|
|
171
|
+
await handler(req, res);
|
|
172
|
+
}, "createClientTokenEndpoint");
|
|
155
173
|
}
|
|
156
174
|
//# sourceMappingURL=client-token-endpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-token-endpoint.js","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"client-token-endpoint.js","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAiEH,8BAEC;AA4ED,8DA0EC;AArND,kEAAiE;AACjE,8EAAwE;AACxE,mDAA+C;AAC/C,qDAA0E;AAoD1E;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,QAA6B;IACrD,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;AACvC,CAAC;AAED,kEAAkE;AAClE,SAAS,iBAAiB,CAAC,UAAmB;IAC5C,MAAM,YAAY,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IACxF,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACtJ,IAAI,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,qCAAqC;IACrC,IAAI,YAAY,GAAY,UAAU,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,cAAc,IAAI,YAAY,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;YACpH,MAAM,UAAU,GAAG,YAA0C,CAAC;YAC9D,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAC,MAAM;YAAC,CAAC;YACxE,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAAC,cAAc,GAAG,IAAI,CAAC;gBAAC,MAAM;YAAC,CAAC;QACnF,CAAC;QACD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;YAChF,YAAY,GAAI,YAAoC,CAAC,KAAK,CAAC;QAC7D,CAAC;;YAAM,MAAM;IACf,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACpC,CAAC;AAED,6DAA6D;AAC7D,SAAS,uBAAuB,CAAC,YAAoB,EAAE,mBAA4B;IACjF,MAAM,SAAS,GAAG,mBAAmB,IAAI,mFAAmF,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChJ,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,kDAAkD,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7H,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,6DAA6D;AAC7D,SAAS,gBAAgB,CAAC,UAAmB,EAAE,GAAY,EAAE,GAAa,EAAE,UAAsB;IAChG,MAAM,YAAY,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAExF,IAAI,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACtD,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAAC,OAAO;IAC9E,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,sFAAsF;YACjH,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,YAAY,CAAC;QACrF,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAAC,OAAO;IACxE,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,uBAAuB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACvF,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC;YAAC,aAAa,GAAG,IAAA,8CAAoB,EAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,aAAa,GAAG,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,aAAa,IAAI,gBAAgB,CAAC;QAAC,CAAC;QACxJ,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,mCAAmC,aAAa,GAAG,CAAC,CAAC,CAAC,sCAAsC,aAAa,GAAG,CAAC;QACxI,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,oCAAoC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAAC,OAAO;IAC9G,CAAC;IAED,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,uCAAuC;AACvC,SAAS,mBAAmB,CAAC,GAAY,EAAE,UAAsB,EAAE,cAAsB;IACvF,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,aAAa,CAAC;IACzE,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO;QACL,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE;QAC9D,aAAa,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,OAAoC;IAEpC,MAAM,IAAI,GAAG,EAAE,cAAc,EAAE,2BAA2B,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IAE/G,MAAM,OAAO,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QACnE,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,aAAa,CAAC;QAElE,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,EAAE;oBAAE,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,+BAA+B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9G,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,SAAS,GAAyC,IAAI,CAAC;YAC3D,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtD,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,KAAK,CACP,mEAAmE,CACpE,CACF,EACH,IAAI,CACL,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,KAAa,CAAC;YAClB,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACzB,IAAA,uCAAmB,EAAC,UAAU,EAAE,GAAG,CAAC;oBACpC,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,cAAc,EAAE;oBAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;oBAAS,CAAC;gBACT,IAAI,SAAS,EAAE,CAAC;oBACd,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YAED,iBAAiB;YACjB,MAAM,QAAQ,GAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3E,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjF,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,IAAI,CAAC,cAAc,EAAE;wBAAE,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,+BAA+B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC9G,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,cAAc,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,EAAE;gBAAE,OAAO;YAC7B,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBAAC,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACvI,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAAC,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,oDAAoD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC3J,IAAA,kCAAiB,EAAC,GAAG,EAAE,IAAA,oCAAmB,EAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAA,4BAAY,EACjB,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QACnD,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC,EACD,2BAA2B,CAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -15,6 +15,13 @@ export interface ErrorLogger {
|
|
|
15
15
|
* @param logger - Custom logger implementing ErrorLogger interface, or null to use stderr
|
|
16
16
|
*/
|
|
17
17
|
export declare function setErrorLogger(logger: ErrorLogger | null): void;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Generic route error handler - logs error and sends RFC 7807 compliant response.
|
|
20
|
+
* @param error - Error object or unknown error.
|
|
21
|
+
* @param req - Express request object.
|
|
22
|
+
* @param res - Express response object.
|
|
23
|
+
* @param operation - Optional operation name for logging.
|
|
24
|
+
* @returns Promise that resolves when response is sent.
|
|
25
|
+
*/
|
|
19
26
|
export declare function handleRouteError(error: unknown, req: Request, res: Response, operation?: string): Promise<void>;
|
|
20
27
|
//# sourceMappingURL=error-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAW5C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAE/D;AAqGD
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAW5C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAE/D;AAqGD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarH"}
|
|
@@ -102,7 +102,14 @@ async function logError(error, errorInfo, logMessage, req, correlationId, status
|
|
|
102
102
|
process.stderr.write(`[ERROR] Stack: ${error.stack}\n`);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* Generic route error handler - logs error and sends RFC 7807 compliant response.
|
|
107
|
+
* @param error - Error object or unknown error.
|
|
108
|
+
* @param req - Express request object.
|
|
109
|
+
* @param res - Express response object.
|
|
110
|
+
* @param operation - Optional operation name for logging.
|
|
111
|
+
* @returns Promise that resolves when response is sent.
|
|
112
|
+
*/
|
|
106
113
|
async function handleRouteError(error, req, res, operation) {
|
|
107
114
|
const requestContext = (0, request_context_1.extractRequestContext)(req);
|
|
108
115
|
const correlationId = req.correlationId || requestContext.correlationId || generateCorrelationId();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,wCAEC;
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"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"}
|