@breadstone/archipel-mcp 0.0.38 → 0.0.40
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/application-bootstrap.md +181 -0
- package/data/guides/email-templates.md +4 -0
- package/data/guides/index.md +1 -2
- package/data/guides/openapi-and-feature-discovery.md +26 -1
- package/data/packages/platform-bootstrap/api/Class.PlatformApplication.md +41 -0
- package/data/packages/platform-bootstrap/api/Class.PlatformApplicationBuilder.md +164 -0
- package/data/packages/platform-bootstrap/api/Class.PlatformBootstrapContext.md +164 -0
- package/data/packages/platform-bootstrap/api/Class.PlatformBootstrapError.md +130 -0
- package/data/packages/platform-bootstrap/api/Function.createPlatformTestApplication.md +26 -0
- package/data/packages/platform-bootstrap/api/Function.useApi.md +32 -0
- package/data/packages/platform-bootstrap/api/Function.useExpressServer.md +32 -0
- package/data/packages/platform-bootstrap/api/Function.useOpenApi.md +32 -0
- package/data/packages/platform-bootstrap/api/Function.useSecurity.md +32 -0
- package/data/packages/platform-bootstrap/api/Function.useSession.md +32 -0
- package/data/packages/platform-bootstrap/api/Interface.IApiStepOptions.md +58 -0
- package/data/packages/platform-bootstrap/api/Interface.IApiValidationOptions.md +58 -0
- package/data/packages/platform-bootstrap/api/Interface.IExpressServerStepOptions.md +46 -0
- package/data/packages/platform-bootstrap/api/Interface.IOpenApiStepOptions.md +34 -0
- package/data/packages/platform-bootstrap/api/Interface.IPlatformApplicationOptions.md +22 -0
- package/data/packages/platform-bootstrap/api/Interface.IPlatformListenOptions.md +46 -0
- package/data/packages/platform-bootstrap/api/Interface.IPlatformTestApplication.md +211 -0
- package/data/packages/platform-bootstrap/api/Interface.ISecurityStepOptions.md +63 -0
- package/data/packages/platform-bootstrap/api/Interface.ISessionStepOptions.md +118 -0
- package/data/packages/platform-bootstrap/api/TypeAlias.PlatformBootstrapNext.md +18 -0
- package/data/packages/platform-bootstrap/api/TypeAlias.PlatformBootstrapStep.md +31 -0
- package/data/packages/platform-bootstrap/api/TypeAlias.PlatformContentSecurityPolicyMode.md +14 -0
- package/data/packages/platform-bootstrap/api/TypeAlias.PlatformCorsOptions.md +14 -0
- package/data/packages/platform-bootstrap/api/TypeAlias.SecurityRateLimitOptions.md +28 -0
- package/data/packages/platform-bootstrap/api/Variable.APP_CORS_ORIGIN.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.APP_RATE_LIMIT_MAX_REQUESTS.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.APP_RATE_LIMIT_WINDOW_MS.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.AUTH_SESSION_MAX_AGE.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.AUTH_SESSION_SECRET.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.AUTH_SESSION_SECURE.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.PLATFORM_SECURITY_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.PLATFORM_SERVER_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.PLATFORM_SESSION_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-bootstrap/api/Variable.PORT.md +14 -0
- package/data/packages/platform-bootstrap/api/index.md +65 -0
- package/data/packages/platform-bootstrap/index.md +162 -0
- package/data/packages/platform-core/api/Class.ProblemDetailResponse.md +115 -0
- package/data/packages/platform-core/api/index.md +1 -0
- package/data/packages/platform-openapi/api/Function.Api.md +1 -1
- package/data/patterns/bootstrap-pattern.md +145 -0
- package/data/patterns/index.md +21 -0
- package/package.json +1 -1
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Interface: IPlatformTestApplication'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Interface: IPlatformTestApplication
|
|
7
|
+
|
|
8
|
+
Defined in: [testing/IPlatformTestApplication.ts:9](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L9)
|
|
9
|
+
|
|
10
|
+
In-memory application contract used by platform bootstrap tests.
|
|
11
|
+
|
|
12
|
+
## Properties
|
|
13
|
+
|
|
14
|
+
### calls
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
readonly calls: readonly string[];
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Defined in: [testing/IPlatformTestApplication.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L11)
|
|
21
|
+
|
|
22
|
+
Registered middleware and pipes/filters in execution order.
|
|
23
|
+
|
|
24
|
+
***
|
|
25
|
+
|
|
26
|
+
### configService
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
readonly configService: ConfigService;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Defined in: [testing/IPlatformTestApplication.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L14)
|
|
33
|
+
|
|
34
|
+
Config service used by the test application.
|
|
35
|
+
|
|
36
|
+
## Methods
|
|
37
|
+
|
|
38
|
+
### enableCors()
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
enableCors(...args): void;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Defined in: [testing/IPlatformTestApplication.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L17)
|
|
45
|
+
|
|
46
|
+
Enables CORS on the test application.
|
|
47
|
+
|
|
48
|
+
#### Parameters
|
|
49
|
+
|
|
50
|
+
| Parameter | Type |
|
|
51
|
+
| ------ | ------ |
|
|
52
|
+
| ...`args` | readonly `unknown`[] |
|
|
53
|
+
|
|
54
|
+
#### Returns
|
|
55
|
+
|
|
56
|
+
`void`
|
|
57
|
+
|
|
58
|
+
***
|
|
59
|
+
|
|
60
|
+
### get()
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
get<TService>(token, ...args): TService;
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Defined in: [testing/IPlatformTestApplication.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L20)
|
|
67
|
+
|
|
68
|
+
Resolves a provider from the test application.
|
|
69
|
+
|
|
70
|
+
#### Type Parameters
|
|
71
|
+
|
|
72
|
+
| Type Parameter |
|
|
73
|
+
| ------ |
|
|
74
|
+
| `TService` |
|
|
75
|
+
|
|
76
|
+
#### Parameters
|
|
77
|
+
|
|
78
|
+
| Parameter | Type |
|
|
79
|
+
| ------ | ------ |
|
|
80
|
+
| `token` | `string` \| `symbol` \| `Type`\<`TService`\> |
|
|
81
|
+
| ...`args` | readonly `unknown`[] |
|
|
82
|
+
|
|
83
|
+
#### Returns
|
|
84
|
+
|
|
85
|
+
`TService`
|
|
86
|
+
|
|
87
|
+
***
|
|
88
|
+
|
|
89
|
+
### init()
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
init(): Promise<void>;
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Defined in: [testing/IPlatformTestApplication.ts:23](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L23)
|
|
96
|
+
|
|
97
|
+
Initializes the test application.
|
|
98
|
+
|
|
99
|
+
#### Returns
|
|
100
|
+
|
|
101
|
+
`Promise`\<`void`\>
|
|
102
|
+
|
|
103
|
+
***
|
|
104
|
+
|
|
105
|
+
### listen()
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
listen(...args): Promise<void>;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Defined in: [testing/IPlatformTestApplication.ts:26](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L26)
|
|
112
|
+
|
|
113
|
+
Starts the test application listener.
|
|
114
|
+
|
|
115
|
+
#### Parameters
|
|
116
|
+
|
|
117
|
+
| Parameter | Type |
|
|
118
|
+
| ------ | ------ |
|
|
119
|
+
| ...`args` | readonly `unknown`[] |
|
|
120
|
+
|
|
121
|
+
#### Returns
|
|
122
|
+
|
|
123
|
+
`Promise`\<`void`\>
|
|
124
|
+
|
|
125
|
+
***
|
|
126
|
+
|
|
127
|
+
### setGlobalPrefix()
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
setGlobalPrefix(prefix): void;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Defined in: [testing/IPlatformTestApplication.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L29)
|
|
134
|
+
|
|
135
|
+
Sets the global test route prefix.
|
|
136
|
+
|
|
137
|
+
#### Parameters
|
|
138
|
+
|
|
139
|
+
| Parameter | Type |
|
|
140
|
+
| ------ | ------ |
|
|
141
|
+
| `prefix` | `string` |
|
|
142
|
+
|
|
143
|
+
#### Returns
|
|
144
|
+
|
|
145
|
+
`void`
|
|
146
|
+
|
|
147
|
+
***
|
|
148
|
+
|
|
149
|
+
### use()
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
use(...args): void;
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Defined in: [testing/IPlatformTestApplication.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L32)
|
|
156
|
+
|
|
157
|
+
Registers middleware on the test application.
|
|
158
|
+
|
|
159
|
+
#### Parameters
|
|
160
|
+
|
|
161
|
+
| Parameter | Type |
|
|
162
|
+
| ------ | ------ |
|
|
163
|
+
| ...`args` | readonly `unknown`[] |
|
|
164
|
+
|
|
165
|
+
#### Returns
|
|
166
|
+
|
|
167
|
+
`void`
|
|
168
|
+
|
|
169
|
+
***
|
|
170
|
+
|
|
171
|
+
### useGlobalFilters()
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
useGlobalFilters(...args): void;
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Defined in: [testing/IPlatformTestApplication.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L35)
|
|
178
|
+
|
|
179
|
+
Registers global filters on the test application.
|
|
180
|
+
|
|
181
|
+
#### Parameters
|
|
182
|
+
|
|
183
|
+
| Parameter | Type |
|
|
184
|
+
| ------ | ------ |
|
|
185
|
+
| ...`args` | readonly `unknown`[] |
|
|
186
|
+
|
|
187
|
+
#### Returns
|
|
188
|
+
|
|
189
|
+
`void`
|
|
190
|
+
|
|
191
|
+
***
|
|
192
|
+
|
|
193
|
+
### useGlobalPipes()
|
|
194
|
+
|
|
195
|
+
```ts
|
|
196
|
+
useGlobalPipes(...args): void;
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Defined in: [testing/IPlatformTestApplication.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/testing/IPlatformTestApplication.ts#L38)
|
|
200
|
+
|
|
201
|
+
Registers global pipes on the test application.
|
|
202
|
+
|
|
203
|
+
#### Parameters
|
|
204
|
+
|
|
205
|
+
| Parameter | Type |
|
|
206
|
+
| ------ | ------ |
|
|
207
|
+
| ...`args` | readonly `unknown`[] |
|
|
208
|
+
|
|
209
|
+
#### Returns
|
|
210
|
+
|
|
211
|
+
`void`
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Interface: ISecurityStepOptions'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Interface: ISecurityStepOptions
|
|
7
|
+
|
|
8
|
+
Defined in: [security/ISecurityStepOptions.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/ISecurityStepOptions.ts#L11)
|
|
9
|
+
|
|
10
|
+
Options for the generic security bootstrap step.
|
|
11
|
+
|
|
12
|
+
## Properties
|
|
13
|
+
|
|
14
|
+
### contentSecurityPolicy?
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
readonly optional contentSecurityPolicy?:
|
|
18
|
+
| boolean
|
|
19
|
+
| PlatformContentSecurityPolicyMode
|
|
20
|
+
| ContentSecurityPolicyOptions;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Defined in: [security/ISecurityStepOptions.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/ISecurityStepOptions.ts#L19)
|
|
24
|
+
|
|
25
|
+
Content-security-policy mode used when Helmet is enabled.
|
|
26
|
+
|
|
27
|
+
***
|
|
28
|
+
|
|
29
|
+
### cors?
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
readonly optional cors?: boolean | PlatformCorsOptions;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Defined in: [security/ISecurityStepOptions.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/ISecurityStepOptions.ts#L13)
|
|
36
|
+
|
|
37
|
+
CORS options, or `false` to skip CORS setup.
|
|
38
|
+
|
|
39
|
+
***
|
|
40
|
+
|
|
41
|
+
### headers?
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
readonly optional headers?: boolean | HelmetOptions;
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Defined in: [security/ISecurityStepOptions.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/ISecurityStepOptions.ts#L16)
|
|
48
|
+
|
|
49
|
+
Helmet options, or `false` to skip security headers.
|
|
50
|
+
|
|
51
|
+
***
|
|
52
|
+
|
|
53
|
+
### rateLimit?
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
readonly optional rateLimit?:
|
|
57
|
+
| boolean
|
|
58
|
+
| SecurityRateLimitOptions;
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Defined in: [security/ISecurityStepOptions.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/ISecurityStepOptions.ts#L22)
|
|
62
|
+
|
|
63
|
+
Rate-limit options, or `false` to skip rate limiting.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Interface: ISessionStepOptions'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Interface: ISessionStepOptions
|
|
7
|
+
|
|
8
|
+
Defined in: [session/ISessionStepOptions.ts:9](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L9)
|
|
9
|
+
|
|
10
|
+
Options for the Express-compatible session bootstrap step.
|
|
11
|
+
|
|
12
|
+
## Properties
|
|
13
|
+
|
|
14
|
+
### cookie?
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
readonly optional cookie?: CookieOptions | ((req) => CookieOptions);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Defined in: [session/ISessionStepOptions.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L35)
|
|
21
|
+
|
|
22
|
+
Cookie options merged into the generated session cookie settings.
|
|
23
|
+
|
|
24
|
+
***
|
|
25
|
+
|
|
26
|
+
### enabled?
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
readonly optional enabled?: boolean;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Defined in: [session/ISessionStepOptions.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L11)
|
|
33
|
+
|
|
34
|
+
Whether the session middleware should be registered.
|
|
35
|
+
|
|
36
|
+
***
|
|
37
|
+
|
|
38
|
+
### maxAgeConfigKey?
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
readonly optional maxAgeConfigKey?: IConfigKey<string | number>;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Defined in: [session/ISessionStepOptions.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L20)
|
|
45
|
+
|
|
46
|
+
Config key containing the session lifetime.
|
|
47
|
+
|
|
48
|
+
***
|
|
49
|
+
|
|
50
|
+
### name?
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
readonly optional name?: string;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Defined in: [session/ISessionStepOptions.ts:23](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L23)
|
|
57
|
+
|
|
58
|
+
Session cookie name.
|
|
59
|
+
|
|
60
|
+
***
|
|
61
|
+
|
|
62
|
+
### resave?
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
readonly optional resave?: boolean;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Defined in: [session/ISessionStepOptions.ts:26](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L26)
|
|
69
|
+
|
|
70
|
+
Express-session `resave` option.
|
|
71
|
+
|
|
72
|
+
***
|
|
73
|
+
|
|
74
|
+
### saveUninitialized?
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
readonly optional saveUninitialized?: boolean;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Defined in: [session/ISessionStepOptions.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L29)
|
|
81
|
+
|
|
82
|
+
Express-session `saveUninitialized` option.
|
|
83
|
+
|
|
84
|
+
***
|
|
85
|
+
|
|
86
|
+
### secretConfigKey?
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
readonly optional secretConfigKey?: IConfigKey<string>;
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Defined in: [session/ISessionStepOptions.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L14)
|
|
93
|
+
|
|
94
|
+
Config key containing the session secret.
|
|
95
|
+
|
|
96
|
+
***
|
|
97
|
+
|
|
98
|
+
### secureConfigKey?
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
readonly optional secureConfigKey?: IConfigKey<boolean>;
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Defined in: [session/ISessionStepOptions.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L17)
|
|
105
|
+
|
|
106
|
+
Config key containing the secure-cookie flag.
|
|
107
|
+
|
|
108
|
+
***
|
|
109
|
+
|
|
110
|
+
### store?
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
readonly optional store?: Store;
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Defined in: [session/ISessionStepOptions.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/session/ISessionStepOptions.ts#L32)
|
|
117
|
+
|
|
118
|
+
Optional persistent session store.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Type Alias: PlatformBootstrapNext'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Type Alias: PlatformBootstrapNext
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
type PlatformBootstrapNext = () => Promise<void>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [types/PlatformBootstrapNext.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/types/PlatformBootstrapNext.ts#L6)
|
|
13
|
+
|
|
14
|
+
Continues execution with the next platform bootstrap step.
|
|
15
|
+
|
|
16
|
+
## Returns
|
|
17
|
+
|
|
18
|
+
`Promise`\<`void`\>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Type Alias: PlatformBootstrapStep\<TApplication\>'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Type Alias: PlatformBootstrapStep\<TApplication\>
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
type PlatformBootstrapStep<TApplication> = (context, next) => Promise<void> | void;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [types/PlatformBootstrapStep.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/types/PlatformBootstrapStep.ts#L10)
|
|
13
|
+
|
|
14
|
+
A composable bootstrap step in the platform application pipeline.
|
|
15
|
+
|
|
16
|
+
## Type Parameters
|
|
17
|
+
|
|
18
|
+
| Type Parameter | Default type |
|
|
19
|
+
| ------ | ------ |
|
|
20
|
+
| `TApplication` *extends* `INestApplication` | `INestApplication` |
|
|
21
|
+
|
|
22
|
+
## Parameters
|
|
23
|
+
|
|
24
|
+
| Parameter | Type |
|
|
25
|
+
| ------ | ------ |
|
|
26
|
+
| `context` | [`PlatformBootstrapContext`](Class.PlatformBootstrapContext)\<`TApplication`\> |
|
|
27
|
+
| `next` | [`PlatformBootstrapNext`](TypeAlias.PlatformBootstrapNext) |
|
|
28
|
+
|
|
29
|
+
## Returns
|
|
30
|
+
|
|
31
|
+
`Promise`\<`void`\> \| `void`
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Type Alias: PlatformContentSecurityPolicyMode'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Type Alias: PlatformContentSecurityPolicyMode
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
type PlatformContentSecurityPolicyMode = "default" | "swagger-compatible";
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [security/PlatformContentSecurityPolicyMode.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/PlatformContentSecurityPolicyMode.ts#L6)
|
|
13
|
+
|
|
14
|
+
Named content-security-policy modes supported by `platform-bootstrap/security`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Type Alias: PlatformCorsOptions'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Type Alias: PlatformCorsOptions
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
type PlatformCorsOptions = CorsOptions | CorsOptionsDelegate<unknown>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [security/PlatformCorsOptions.ts:8](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/PlatformCorsOptions.ts#L8)
|
|
13
|
+
|
|
14
|
+
CORS options accepted by the security bootstrap step.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Type Alias: SecurityRateLimitOptions'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Type Alias: SecurityRateLimitOptions
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
type SecurityRateLimitOptions = Partial<RateLimitOptions> & {
|
|
10
|
+
fallbackLimit?: number;
|
|
11
|
+
fallbackWindowMs?: number;
|
|
12
|
+
limitConfigKey?: IConfigKey<string | number | undefined>;
|
|
13
|
+
windowMsConfigKey?: IConfigKey<string | number | undefined>;
|
|
14
|
+
};
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Defined in: [security/SecurityRateLimitOptions.ts:9](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/SecurityRateLimitOptions.ts#L9)
|
|
18
|
+
|
|
19
|
+
Rate-limit options accepted by the security bootstrap step.
|
|
20
|
+
|
|
21
|
+
## Type Declaration
|
|
22
|
+
|
|
23
|
+
| Name | Type | Description | Defined in |
|
|
24
|
+
| ------ | ------ | ------ | ------ |
|
|
25
|
+
| `fallbackLimit?` | `number` | Fallback request limit. | [security/SecurityRateLimitOptions.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/SecurityRateLimitOptions.ts#L20) |
|
|
26
|
+
| `fallbackWindowMs?` | `number` | Fallback rate-limit window in milliseconds. | [security/SecurityRateLimitOptions.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/SecurityRateLimitOptions.ts#L17) |
|
|
27
|
+
| `limitConfigKey?` | `IConfigKey`\<`string` \| `number` \| `undefined`\> | Config key used for the request limit. | [security/SecurityRateLimitOptions.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/SecurityRateLimitOptions.ts#L14) |
|
|
28
|
+
| `windowMsConfigKey?` | `IConfigKey`\<`string` \| `number` \| `undefined`\> | Config key used for the rate-limit window duration. | [security/SecurityRateLimitOptions.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/security/SecurityRateLimitOptions.ts#L11) |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: APP\_CORS\_ORIGIN'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: APP\_CORS\_ORIGIN
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const APP_CORS_ORIGIN: IConfigKey<string>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:7](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L7)
|
|
13
|
+
|
|
14
|
+
Comma-separated list of allowed CORS origins.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: APP\_RATE\_LIMIT\_MAX\_REQUESTS'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: APP\_RATE\_LIMIT\_MAX\_REQUESTS
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const APP_RATE_LIMIT_MAX_REQUESTS: IConfigKey<number>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L13)
|
|
13
|
+
|
|
14
|
+
Maximum requests accepted within the rate-limit window.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: APP\_RATE\_LIMIT\_WINDOW\_MS'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: APP\_RATE\_LIMIT\_WINDOW\_MS
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const APP_RATE_LIMIT_WINDOW_MS: IConfigKey<number>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L10)
|
|
13
|
+
|
|
14
|
+
Rate-limit window in milliseconds.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: AUTH\_SESSION\_MAX\_AGE'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: AUTH\_SESSION\_MAX\_AGE
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const AUTH_SESSION_MAX_AGE: IConfigKey<string>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L22)
|
|
13
|
+
|
|
14
|
+
Session cookie lifetime, for example `30d` or `86400000`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: AUTH\_SESSION\_SECRET'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: AUTH\_SESSION\_SECRET
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const AUTH_SESSION_SECRET: IConfigKey<string>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L16)
|
|
13
|
+
|
|
14
|
+
Secret used by Express-compatible session middleware.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: AUTH\_SESSION\_SECURE'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: AUTH\_SESSION\_SECURE
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const AUTH_SESSION_SECURE: IConfigKey<boolean>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L19)
|
|
13
|
+
|
|
14
|
+
Whether session cookies should be marked secure.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: PLATFORM\_SECURITY\_CONFIG\_ENTRIES'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: PLATFORM\_SECURITY\_CONFIG\_ENTRIES
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const PLATFORM_SECURITY_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L30)
|
|
13
|
+
|
|
14
|
+
Security step configuration entries provided by `platform-bootstrap/security`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: PLATFORM\_SERVER\_CONFIG\_ENTRIES'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: PLATFORM\_SERVER\_CONFIG\_ENTRIES
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const PLATFORM_SERVER_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L25)
|
|
13
|
+
|
|
14
|
+
Server bootstrap configuration entries provided by `platform-bootstrap`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: PLATFORM\_SESSION\_CONFIG\_ENTRIES'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: PLATFORM\_SESSION\_CONFIG\_ENTRIES
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const PLATFORM_SESSION_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L37)
|
|
13
|
+
|
|
14
|
+
Session step configuration entries provided by `platform-bootstrap/session`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Variable: PORT'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Variable: PORT
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const PORT: IConfigKey<number>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [env.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-bootstrap/src/env.ts#L4)
|
|
13
|
+
|
|
14
|
+
HTTP port exposed by serverless hosts such as Vercel.
|