@breadstone/archipel-mcp 0.0.28 → 0.0.31
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/data/guides/queue-infrastructure.md +62 -0
- package/data/packages/platform-analytics/index.md +2 -0
- package/data/packages/platform-authentication/api/Class.AuthModule.md +3 -3
- package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +37 -5
- package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +12 -12
- package/data/packages/platform-authentication/api/index.md +1 -2
- package/data/packages/platform-authentication/index.md +2 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/index.md +2 -0
- package/data/packages/platform-caching/index.md +2 -0
- package/data/packages/platform-configuration/index.md +2 -0
- package/data/packages/platform-core/index.md +2 -0
- package/data/packages/platform-cryptography/index.md +2 -0
- package/data/packages/platform-database/index.md +2 -0
- package/data/packages/platform-documents/index.md +2 -0
- package/data/packages/platform-esigning/index.md +2 -0
- package/data/packages/platform-health/index.md +2 -0
- package/data/packages/platform-intelligence/index.md +2 -0
- package/data/packages/platform-logging/index.md +2 -0
- package/data/packages/platform-mailing/index.md +2 -0
- package/data/packages/platform-mapping/index.md +2 -0
- package/data/packages/platform-mcp/index.md +2 -0
- package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +54 -3
- package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +7 -5
- package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +24 -7
- package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +18 -6
- package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +9 -2
- package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +8 -5
- package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +33 -7
- package/data/packages/platform-openapi/api/Interface.ISwaggerThemeConfig.md +59 -0
- package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +4 -1
- package/data/packages/platform-openapi/api/index.md +6 -5
- package/data/packages/platform-openapi/index.md +2 -0
- package/data/packages/platform-payments/index.md +2 -0
- package/data/packages/platform-queue/api/Class.VercelQueue.md +234 -0
- package/data/packages/platform-queue/api/Interface.IVercelQueueOptions.md +91 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_CONSUMER_GROUP.md +14 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_DEPLOYMENT_ID.md +14 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_REGION.md +14 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_TOKEN.md +16 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS.md +23 -0
- package/data/packages/platform-queue/api/index.md +8 -0
- package/data/packages/platform-queue/index.md +27 -3
- package/data/packages/platform-reporting/index.md +2 -0
- package/data/packages/platform-resources/index.md +2 -0
- package/data/packages/platform-telemetry/index.md +2 -0
- package/package.json +1 -1
- package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +0 -40
|
@@ -28,6 +28,12 @@ For Azure Service Bus:
|
|
|
28
28
|
yarn add @azure/service-bus
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
+
For Vercel Queues:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
yarn add @vercel/queue
|
|
35
|
+
```
|
|
36
|
+
|
|
31
37
|
---
|
|
32
38
|
|
|
33
39
|
## Configuration
|
|
@@ -58,6 +64,18 @@ AZURE_RECEIVE_WAIT_MS=5000
|
|
|
58
64
|
|
|
59
65
|
`AZURE_CONNECTION_STRING` is required when using `AzureQueue`. `AZURE_RECEIVE_WAIT_MS` is optional (defaults to `5000`).
|
|
60
66
|
|
|
67
|
+
### Vercel Queues Variables
|
|
68
|
+
|
|
69
|
+
```env
|
|
70
|
+
VERCEL_QUEUE_REGION=iad1
|
|
71
|
+
VERCEL_QUEUE_CONSUMER_GROUP=my-consumer
|
|
72
|
+
VERCEL_QUEUE_TOKEN=
|
|
73
|
+
VERCEL_QUEUE_DEPLOYMENT_ID=
|
|
74
|
+
VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS=300
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
`VERCEL_QUEUE_REGION` and `VERCEL_QUEUE_CONSUMER_GROUP` are required when using `VercelQueue`. `VERCEL_QUEUE_TOKEN` is auto-fetched via OIDC when omitted. `VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS` defaults to `300`.
|
|
78
|
+
|
|
61
79
|
### Using Config Keys
|
|
62
80
|
|
|
63
81
|
Import the typed config keys and pass them to your module registration:
|
|
@@ -66,6 +84,7 @@ Import the typed config keys and pass them to your module registration:
|
|
|
66
84
|
import { PLATFORM_QUEUE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue';
|
|
67
85
|
import { BULLMQ_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/bullmq';
|
|
68
86
|
import { AZURE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/azure';
|
|
87
|
+
import { VERCEL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/vercel';
|
|
69
88
|
```
|
|
70
89
|
|
|
71
90
|
---
|
|
@@ -79,6 +98,7 @@ import { AZURE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/azure'
|
|
|
79
98
|
| `MemoryQueue` | In-memory | No | Development, testing, single-instance apps |
|
|
80
99
|
| `BullMqQueue` | Redis via BullMQ | Yes | Multi-instance deployments, distributed jobs|
|
|
81
100
|
| `AzureQueue` | Azure Service Bus | Yes | Enterprise cloud messaging, peek-lock |
|
|
101
|
+
| `VercelQueue` | Vercel Queues | Yes | Serverless Vercel deployments |
|
|
82
102
|
|
|
83
103
|
All implementations share the same `IQueue` contract, so switching providers requires only changing the import and constructor options — no business logic changes.
|
|
84
104
|
|
|
@@ -200,6 +220,48 @@ Senders and receivers are lazily created per queue name and cached for the lifet
|
|
|
200
220
|
|
|
201
221
|
---
|
|
202
222
|
|
|
223
|
+
## Vercel Queues
|
|
224
|
+
|
|
225
|
+
### Basic Setup
|
|
226
|
+
|
|
227
|
+
`VercelQueue` uses the official `@vercel/queue` SDK (`PollingQueueClient`) for durable, serverless message streaming on Vercel:
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
import { Module } from '@nestjs/common';
|
|
231
|
+
import { VercelQueue } from '@breadstone/archipel-platform-queue/vercel';
|
|
232
|
+
|
|
233
|
+
@Module({
|
|
234
|
+
providers: [
|
|
235
|
+
{
|
|
236
|
+
provide: 'IQueue',
|
|
237
|
+
useFactory: () =>
|
|
238
|
+
new VercelQueue({
|
|
239
|
+
region: 'iad1',
|
|
240
|
+
consumerGroup: 'my-consumer',
|
|
241
|
+
}),
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
exports: ['IQueue'],
|
|
245
|
+
})
|
|
246
|
+
export class QueueModule {}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### How It Works
|
|
250
|
+
|
|
251
|
+
`enqueue()` calls `send()` on the SDK to publish a message to the given topic. `dequeue()` calls `receive()`, which invokes a handler callback when a message is available. The handler is suspended via an internal gate promise until `markCompleted()` or `markFailed()` is called, at which point the handler completes and the SDK auto-acknowledges the message.
|
|
252
|
+
|
|
253
|
+
Both `markCompleted()` and `markFailed()` acknowledge (remove) the message. If retry behaviour is desired, re-enqueue the job explicitly.
|
|
254
|
+
|
|
255
|
+
### Authentication
|
|
256
|
+
|
|
257
|
+
When deployed on Vercel, the SDK auto-fetches an OIDC token. For local development, provide a `token` in the constructor options.
|
|
258
|
+
|
|
259
|
+
### Graceful Shutdown
|
|
260
|
+
|
|
261
|
+
`VercelQueue` implements `OnModuleDestroy` and releases all pending gates, causing in-flight SDK handlers to complete normally and acknowledge their messages.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
203
265
|
## Usage in Services
|
|
204
266
|
|
|
205
267
|
Inject the `IQueue` token and use the same API regardless of the underlying provider:
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: AuthModule
|
|
7
7
|
|
|
8
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
8
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:145](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L145)
|
|
9
9
|
|
|
10
10
|
The `AuthModule` handles JWT-based authentication,
|
|
11
11
|
including token creation and validation.
|
|
@@ -39,7 +39,7 @@ new AuthModule(): AuthModule;
|
|
|
39
39
|
configure(consumer): void;
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
42
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:265](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L265)
|
|
43
43
|
|
|
44
44
|
#### Parameters
|
|
45
45
|
|
|
@@ -59,7 +59,7 @@ Defined in: [libs/platform-authentication/src/AuthModule.ts:268](https://github.
|
|
|
59
59
|
static register(options): DynamicModule;
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
62
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:155](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L155)
|
|
63
63
|
|
|
64
64
|
Registers the auth module with the provided port implementations.
|
|
65
65
|
|
|
@@ -5,9 +5,12 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: JwtAuthGuard
|
|
7
7
|
|
|
8
|
-
Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:
|
|
8
|
+
Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/JwtAuthGuard.ts#L19)
|
|
9
9
|
|
|
10
10
|
The `JwtAuthGuard` protects routes using JWT-based authentication.
|
|
11
|
+
It checks for the `@Public()` decorator metadata.
|
|
12
|
+
When registered as `APP_GUARD`, all routes require JWT authentication by default.
|
|
13
|
+
Routes decorated with `@Public()` are exempt.
|
|
11
14
|
|
|
12
15
|
## Extends
|
|
13
16
|
|
|
@@ -18,23 +21,52 @@ The `JwtAuthGuard` protects routes using JWT-based authentication.
|
|
|
18
21
|
### Constructor
|
|
19
22
|
|
|
20
23
|
```ts
|
|
21
|
-
new JwtAuthGuard(
|
|
24
|
+
new JwtAuthGuard(reflector): JwtAuthGuard;
|
|
22
25
|
```
|
|
23
26
|
|
|
24
|
-
Defined in:
|
|
27
|
+
Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/JwtAuthGuard.ts#L22)
|
|
25
28
|
|
|
26
29
|
#### Parameters
|
|
27
30
|
|
|
28
31
|
| Parameter | Type |
|
|
29
32
|
| ------ | ------ |
|
|
30
|
-
|
|
|
33
|
+
| `reflector` | `Reflector` |
|
|
31
34
|
|
|
32
35
|
#### Returns
|
|
33
36
|
|
|
34
37
|
`JwtAuthGuard`
|
|
35
38
|
|
|
36
|
-
####
|
|
39
|
+
#### Overrides
|
|
37
40
|
|
|
38
41
|
```ts
|
|
39
42
|
AuthGuard('jwt').constructor
|
|
40
43
|
```
|
|
44
|
+
|
|
45
|
+
## Methods
|
|
46
|
+
|
|
47
|
+
### canActivate()
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
canActivate(context): boolean | Promise<boolean> | Observable<boolean>;
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/JwtAuthGuard.ts#L30)
|
|
54
|
+
|
|
55
|
+
#### Parameters
|
|
56
|
+
|
|
57
|
+
| Parameter | Type | Description |
|
|
58
|
+
| ------ | ------ | ------ |
|
|
59
|
+
| `context` | `ExecutionContext` | Current execution context. Provides access to details about the current request pipeline. |
|
|
60
|
+
|
|
61
|
+
#### Returns
|
|
62
|
+
|
|
63
|
+
`boolean` \| `Promise`\<`boolean`\> \| `Observable`\<`boolean`\>
|
|
64
|
+
|
|
65
|
+
Value indicating whether or not the current request is allowed to
|
|
66
|
+
proceed.
|
|
67
|
+
|
|
68
|
+
#### Overrides
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
AuthGuard('jwt').canActivate
|
|
72
|
+
```
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Interface: IAuthModuleOptions
|
|
7
7
|
|
|
8
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
8
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:56](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L56)
|
|
9
9
|
|
|
10
10
|
Options for configuring the `AuthModule`.
|
|
11
11
|
|
|
@@ -17,7 +17,7 @@ Options for configuring the `AuthModule`.
|
|
|
17
17
|
optional additionalConfigEntries?: readonly Omit<IConfigRegistryEntry<unknown>, "module">[];
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
20
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:96](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L96)
|
|
21
21
|
|
|
22
22
|
Optional additional configuration entries to register (e.g. provider-specific OAuth keys).
|
|
23
23
|
Import them from the provider-specific sub-paths
|
|
@@ -31,7 +31,7 @@ Import them from the provider-specific sub-paths
|
|
|
31
31
|
optional additionalProviders?: Provider[];
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
34
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:118](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L118)
|
|
35
35
|
|
|
36
36
|
Optional additional providers required by optional features (e.g. TOTP MFA).
|
|
37
37
|
Import them from the provider-specific sub-paths
|
|
@@ -45,7 +45,7 @@ Import them from the provider-specific sub-paths
|
|
|
45
45
|
authSubject: Type<AuthSubjectPort>;
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
48
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:60](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L60)
|
|
49
49
|
|
|
50
50
|
Implementation of the auth subject port (user lookup for JWT/Local/Anonymous connectors).
|
|
51
51
|
|
|
@@ -57,7 +57,7 @@ Implementation of the auth subject port (user lookup for JWT/Local/Anonymous con
|
|
|
57
57
|
optional challengeStore?: Type<ChallengeStorePort>;
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
60
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:125](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L125)
|
|
61
61
|
|
|
62
62
|
Optional implementation of the challenge store port.
|
|
63
63
|
Defaults to an in-memory store suitable for single-instance deployments.
|
|
@@ -71,7 +71,7 @@ For multi-instance deployments, provide a Redis-backed implementation.
|
|
|
71
71
|
optional mfaChannels?: Type<any>[];
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
74
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:111](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L111)
|
|
75
75
|
|
|
76
76
|
Optional array of additional MFA channel types to register (e.g. `TotpMfaChannel`).
|
|
77
77
|
Import them from the provider-specific sub-paths
|
|
@@ -87,7 +87,7 @@ Built-in channels (SMS, Email, Push) are always registered.
|
|
|
87
87
|
mfaSubject: Type<MfaSubjectPort>;
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
90
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L65)
|
|
91
91
|
|
|
92
92
|
Implementation of the MFA subject port (MFA state persistence).
|
|
93
93
|
|
|
@@ -99,7 +99,7 @@ Implementation of the MFA subject port (MFA state persistence).
|
|
|
99
99
|
sessionPersistence: Type<SessionPersistencePort>;
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
102
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:70](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L70)
|
|
103
103
|
|
|
104
104
|
Implementation of the session persistence port.
|
|
105
105
|
|
|
@@ -111,7 +111,7 @@ Implementation of the session persistence port.
|
|
|
111
111
|
optional socialAuth?: Type<SocialAuthPort>;
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
114
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L81)
|
|
115
115
|
|
|
116
116
|
Optional implementation of the social auth port (OAuth connectors).
|
|
117
117
|
When provided together with `socialConnectors`, the social auth flow is enabled.
|
|
@@ -124,7 +124,7 @@ When provided together with `socialConnectors`, the social auth flow is enabled.
|
|
|
124
124
|
optional socialConnectors?: Type<any>[];
|
|
125
125
|
```
|
|
126
126
|
|
|
127
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
127
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:89](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L89)
|
|
128
128
|
|
|
129
129
|
Optional array of social connector types to register (e.g. `AppleConnector`, `GithubConnector`).
|
|
130
130
|
Import them from the provider-specific sub-paths
|
|
@@ -139,7 +139,7 @@ Requires `socialAuth` to be set.
|
|
|
139
139
|
optional tokenEnricher?: Type<TokenEnricherPort>;
|
|
140
140
|
```
|
|
141
141
|
|
|
142
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
142
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:102](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L102)
|
|
143
143
|
|
|
144
144
|
Optional implementation of the token enricher port.
|
|
145
145
|
When provided, additional claims are added to JWT tokens.
|
|
@@ -152,6 +152,6 @@ When provided, additional claims are added to JWT tokens.
|
|
|
152
152
|
verificationSubject: Type<VerificationSubjectPort>;
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
-
Defined in: [libs/platform-authentication/src/AuthModule.ts:
|
|
155
|
+
Defined in: [libs/platform-authentication/src/AuthModule.ts:75](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L75)
|
|
156
156
|
|
|
157
157
|
Implementation of the verification subject port (email/pin verification).
|
|
@@ -17,10 +17,9 @@ editUrl: false
|
|
|
17
17
|
| [AuthTokenService](Class.AuthTokenService) | Generic service responsible for creating JWT access tokens. Builds a base payload from [IAuthSubject](Interface.IAuthSubject) and optionally enriches it via the [TokenEnricherPort](Class.TokenEnricherPort) with product-specific claims. |
|
|
18
18
|
| [ChallengeService](Class.ChallengeService) | Stores and validates MFA login challenges. |
|
|
19
19
|
| [ChallengeStorePort](Class.ChallengeStorePort) | Abstract port for persisting MFA challenge state. |
|
|
20
|
-
| [GithubAuthGuard](Class.GithubAuthGuard) | The `GithubAuthGuard` protects routes using GitHub authentication. |
|
|
21
20
|
| [GithubConnector](Class.GithubConnector) | - |
|
|
22
21
|
| [GoogleConnector](Class.GoogleConnector) | The `GoogleConnector` integrates Google OAuth authentication. |
|
|
23
|
-
| [JwtAuthGuard](Class.JwtAuthGuard) | The `JwtAuthGuard` protects routes using JWT-based authentication. |
|
|
22
|
+
| [JwtAuthGuard](Class.JwtAuthGuard) | The `JwtAuthGuard` protects routes using JWT-based authentication. It checks for the `@Public()` decorator metadata. When registered as `APP_GUARD`, all routes require JWT authentication by default. Routes decorated with `@Public()` are exempt. |
|
|
24
23
|
| [JwtPayloadBase](Class.JwtPayloadBase) | Abstract base class for JWT payloads. Products extend this to add their own claims (e.g. `profileId`, `isPro`). Used as both a serialization contract and NestJS injection token. |
|
|
25
24
|
| [LastActiveMiddleware](Class.LastActiveMiddleware) | Middleware to automatically update the lastActive timestamp for authenticated sessions. Extracts the JWT token from the Authorization header and updates the session asynchronously. |
|
|
26
25
|
| [LocalAuthGuard](Class.LocalAuthGuard) | The `LocalAuthGuard` protects routes using local authentication. |
|
|
@@ -9,4 +9,4 @@ editUrl: false
|
|
|
9
9
|
const AWS_S3_PROVIDER_OPTIONS: typeof AWS_S3_PROVIDER_OPTIONS;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [BlobStorageTokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L6)
|
|
12
|
+
Defined in: [tokens/BlobStorageTokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/BlobStorageTokens.ts#L6)
|
|
@@ -9,4 +9,4 @@ editUrl: false
|
|
|
9
9
|
const AZURE_BLOB_PROVIDER_OPTIONS: typeof AZURE_BLOB_PROVIDER_OPTIONS;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [BlobStorageTokens.ts:5](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L5)
|
|
12
|
+
Defined in: [tokens/BlobStorageTokens.ts:5](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/BlobStorageTokens.ts#L5)
|
|
@@ -9,4 +9,4 @@ editUrl: false
|
|
|
9
9
|
const BLOB_PROVIDER: typeof BLOB_PROVIDER;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [BlobStorageTokens.ts:3](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L3)
|
|
12
|
+
Defined in: [tokens/BlobStorageTokens.ts:3](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/BlobStorageTokens.ts#L3)
|
|
@@ -9,4 +9,4 @@ editUrl: false
|
|
|
9
9
|
const VERCEL_BLOB_PROVIDER_OPTIONS: typeof VERCEL_BLOB_PROVIDER_OPTIONS;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [BlobStorageTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L4)
|
|
12
|
+
Defined in: [tokens/BlobStorageTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/BlobStorageTokens.ts#L4)
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: SwaggerFeatureDiscovery
|
|
7
7
|
|
|
8
|
-
Defined in: [discovery/SwaggerFeatureDiscovery.ts:
|
|
8
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L19)
|
|
9
9
|
|
|
10
10
|
Centralizes the discovery of Swagger features declared across backend modules.
|
|
11
11
|
|
|
@@ -29,7 +29,7 @@ new SwaggerFeatureDiscovery(): SwaggerFeatureDiscovery;
|
|
|
29
29
|
registerDefaultFeatures(featureRegistry): this;
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
Defined in: [discovery/SwaggerFeatureDiscovery.ts:
|
|
32
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L51)
|
|
33
33
|
|
|
34
34
|
Registers the default composite Swagger documents that aggregate the complete API.
|
|
35
35
|
|
|
@@ -53,7 +53,7 @@ The discovery instance for chaining.
|
|
|
53
53
|
registerDiscoveredFeatures(featureRegistry): this;
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
Defined in: [discovery/SwaggerFeatureDiscovery.ts:
|
|
56
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L29)
|
|
57
57
|
|
|
58
58
|
Registers all discovered feature modules in the provided Swagger registry.
|
|
59
59
|
|
|
@@ -68,3 +68,54 @@ Registers all discovered feature modules in the provided Swagger registry.
|
|
|
68
68
|
`this`
|
|
69
69
|
|
|
70
70
|
The discovery instance for chaining.
|
|
71
|
+
|
|
72
|
+
***
|
|
73
|
+
|
|
74
|
+
### setupMultiDocumentSwagger()
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
static setupMultiDocumentSwagger(
|
|
78
|
+
app,
|
|
79
|
+
config,
|
|
80
|
+
host,
|
|
81
|
+
resource,
|
|
82
|
+
content,
|
|
83
|
+
themeConfig?): Promise<void>;
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:90](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L90)
|
|
87
|
+
|
|
88
|
+
Auto-discovers and sets up multi-document Swagger in a single call.
|
|
89
|
+
Handles feature discovery, registry setup, and service initialization.
|
|
90
|
+
|
|
91
|
+
#### Parameters
|
|
92
|
+
|
|
93
|
+
| Parameter | Type | Description |
|
|
94
|
+
| ------ | ------ | ------ |
|
|
95
|
+
| `app` | `INestApplication` | The NestJS application instance |
|
|
96
|
+
| `config` | `ConfigService` | Configuration service for reading app settings |
|
|
97
|
+
| `host` | `HostService` | Host service for determining base URL |
|
|
98
|
+
| `resource` | `ResourceManager` | Resource manager for loading theme assets |
|
|
99
|
+
| `content` | `ContentTemplateEngine` | Content template engine for rendering HTML |
|
|
100
|
+
| `themeConfig?` | [`ISwaggerThemeConfig`](Interface.ISwaggerThemeConfig) | Optional theme configuration for branding colors |
|
|
101
|
+
|
|
102
|
+
#### Returns
|
|
103
|
+
|
|
104
|
+
`Promise`\<`void`\>
|
|
105
|
+
|
|
106
|
+
Promise resolving when setup is complete
|
|
107
|
+
|
|
108
|
+
#### Static
|
|
109
|
+
|
|
110
|
+
#### Example
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
await SwaggerFeatureDiscovery.setupMultiDocumentSwagger(
|
|
114
|
+
app,
|
|
115
|
+
config,
|
|
116
|
+
host,
|
|
117
|
+
resource,
|
|
118
|
+
content,
|
|
119
|
+
{ primary: '#0066cc', secondary: '#003d99' }
|
|
120
|
+
);
|
|
121
|
+
```
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: SwaggerMultiDocumentService
|
|
7
7
|
|
|
8
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
8
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L16)
|
|
9
9
|
|
|
10
10
|
## Constructors
|
|
11
11
|
|
|
@@ -18,10 +18,11 @@ new SwaggerMultiDocumentService(
|
|
|
18
18
|
hostService,
|
|
19
19
|
featureRegistry,
|
|
20
20
|
resourceManager,
|
|
21
|
-
contentTemplateEngine
|
|
21
|
+
contentTemplateEngine,
|
|
22
|
+
themeConfig?): SwaggerMultiDocumentService;
|
|
22
23
|
```
|
|
23
24
|
|
|
24
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
25
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L32)
|
|
25
26
|
|
|
26
27
|
#### Parameters
|
|
27
28
|
|
|
@@ -33,6 +34,7 @@ Defined in: [services/SwaggerMultiDocumentService.ts:31](https://github.com/RueD
|
|
|
33
34
|
| `featureRegistry` | [`SwaggerFeatureRegistry`](Class.SwaggerFeatureRegistry) |
|
|
34
35
|
| `resourceManager` | `ResourceManager` |
|
|
35
36
|
| `contentTemplateEngine` | `ContentTemplateEngine` |
|
|
37
|
+
| `themeConfig?` | [`ISwaggerThemeConfig`](Interface.ISwaggerThemeConfig) |
|
|
36
38
|
|
|
37
39
|
#### Returns
|
|
38
40
|
|
|
@@ -49,7 +51,7 @@ generateOpenApiDocuments(): {
|
|
|
49
51
|
}[];
|
|
50
52
|
```
|
|
51
53
|
|
|
52
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
54
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L81)
|
|
53
55
|
|
|
54
56
|
Generates OpenAPI documents for every registered feature without wiring HTTP routes.
|
|
55
57
|
|
|
@@ -68,7 +70,7 @@ Generates OpenAPI documents for every registered feature without wiring HTTP rou
|
|
|
68
70
|
setupMultipleSwaggerDocuments(): Promise<void>;
|
|
69
71
|
```
|
|
70
72
|
|
|
71
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
73
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L57)
|
|
72
74
|
|
|
73
75
|
Setup multiple Swagger documents for different features
|
|
74
76
|
|