@geekmidas/constructs 9.0.2 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/dist/{AWSScheduledFunction-Bn99MceY.d.cts → AWSScheduledFunction-BHHlWlfV.d.cts} +2 -2
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts.map → AWSScheduledFunction-BHHlWlfV.d.cts.map} +1 -1
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts → AWSScheduledFunction-BzGCUbkk.d.mts} +2 -2
- package/dist/{AWSScheduledFunction-Bn99MceY.d.cts.map → AWSScheduledFunction-BzGCUbkk.d.mts.map} +1 -1
- package/dist/{AWSScheduledFunction-DbkDr8CA.cjs → AWSScheduledFunction-C42adp8A.cjs} +16 -5
- package/dist/AWSScheduledFunction-C42adp8A.cjs.map +1 -0
- package/dist/{AWSScheduledFunction-CufMMhGB.mjs → AWSScheduledFunction-KP6lqbsW.mjs} +15 -4
- package/dist/AWSScheduledFunction-KP6lqbsW.mjs.map +1 -0
- package/dist/{Construct-r0U2zBwW.mjs → Construct-BWF5HxaM.mjs} +5 -2
- package/dist/Construct-BWF5HxaM.mjs.map +1 -0
- package/dist/{Construct-_1wX7p_Y.d.cts → Construct-JlyQkBkv.d.cts} +39 -4
- package/dist/Construct-JlyQkBkv.d.cts.map +1 -0
- package/dist/{Construct-vXMZJgRp.cjs → Construct-TGIM_E4o.cjs} +5 -2
- package/dist/Construct-TGIM_E4o.cjs.map +1 -0
- package/dist/{Construct-DCMuYOox.d.mts → Construct-pxwC6fDD.d.mts} +39 -4
- package/dist/Construct-pxwC6fDD.d.mts.map +1 -0
- package/dist/{Endpoint-CLPSIl6S.d.mts → Endpoint-B0P_pEMr.d.mts} +3 -3
- package/dist/{Endpoint-CLPSIl6S.d.mts.map → Endpoint-B0P_pEMr.d.mts.map} +1 -1
- package/dist/{Endpoint-DgfRslct.d.cts → Endpoint-Cwjhc1Hl.d.cts} +2 -2
- package/dist/Endpoint-Cwjhc1Hl.d.cts.map +1 -0
- package/dist/{HonoEndpointAdaptor-DJDT3PMx.mjs → HonoEndpointAdaptor-BMVwx2cz.mjs} +18 -11
- package/dist/HonoEndpointAdaptor-BMVwx2cz.mjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-CkJENANP.cjs → HonoEndpointAdaptor-DPDsDi-D.cjs} +19 -12
- package/dist/HonoEndpointAdaptor-DPDsDi-D.cjs.map +1 -0
- package/dist/{Queue-HBDf0fqz.d.mts → Queue-BL68oDJ-.d.mts} +2 -2
- package/dist/{Queue-DaxjwmOQ.d.cts.map → Queue-BL68oDJ-.d.mts.map} +1 -1
- package/dist/{Queue-DaxjwmOQ.d.cts → Queue-DxJ6btRE.d.cts} +2 -2
- package/dist/{Queue-HBDf0fqz.d.mts.map → Queue-DxJ6btRE.d.cts.map} +1 -1
- package/dist/{Subscriber-B69ngPwl.d.cts → Subscriber-BpVhcGhX.d.cts} +2 -2
- package/dist/{Subscriber-B69ngPwl.d.cts.map → Subscriber-BpVhcGhX.d.cts.map} +1 -1
- package/dist/{Subscriber-D8Xm-86W.d.mts → Subscriber-DF6xsBAJ.d.mts} +2 -2
- package/dist/{Subscriber-D8Xm-86W.d.mts.map → Subscriber-DF6xsBAJ.d.mts.map} +1 -1
- package/dist/{Topic-DT10AqHk.d.mts → Topic-DJXoDeMP.d.cts} +3 -3
- package/dist/{Topic-C5ZMfveW.d.cts.map → Topic-DJXoDeMP.d.cts.map} +1 -1
- package/dist/{Topic-C5ZMfveW.d.cts → Topic-DxWQBgMN.d.mts} +3 -3
- package/dist/{Topic-DT10AqHk.d.mts.map → Topic-DxWQBgMN.d.mts.map} +1 -1
- package/dist/adaptors/aws.cjs +14 -7
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +6 -6
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +8 -8
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +14 -7
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +7 -6
- package/dist/adaptors/hono.d.cts +3 -3
- package/dist/adaptors/hono.d.cts.map +1 -1
- package/dist/adaptors/hono.d.mts +4 -4
- package/dist/adaptors/hono.d.mts.map +1 -1
- package/dist/adaptors/hono.mjs +7 -6
- package/dist/adaptors/testing.cjs +161 -126
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +7 -5
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +8 -6
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +162 -127
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/clone-I_WIpiFf.cjs +45 -0
- package/dist/clone-I_WIpiFf.cjs.map +1 -0
- package/dist/clone-pdXxc0t3.mjs +39 -0
- package/dist/clone-pdXxc0t3.mjs.map +1 -0
- package/dist/crons/index.cjs +14 -32
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +7 -7
- package/dist/crons/index.d.cts.map +1 -1
- package/dist/crons/index.d.mts +3 -3
- package/dist/crons/index.d.mts.map +1 -1
- package/dist/crons/index.mjs +14 -32
- package/dist/crons/index.mjs.map +1 -1
- package/dist/endpoints/index.cjs +74 -61
- package/dist/endpoints/index.cjs.map +1 -1
- package/dist/endpoints/index.d.cts +14 -6
- package/dist/endpoints/index.d.cts.map +1 -1
- package/dist/endpoints/index.d.mts +13 -5
- package/dist/endpoints/index.d.mts.map +1 -1
- package/dist/endpoints/index.mjs +74 -61
- package/dist/endpoints/index.mjs.map +1 -1
- package/dist/functions/index.cjs +3 -2
- package/dist/functions/index.d.cts +2 -2
- package/dist/functions/index.d.mts +2 -2
- package/dist/functions/index.mjs +3 -2
- package/dist/{functions-B-qt91O7.mjs → functions-EqTloHjo.mjs} +107 -46
- package/dist/functions-EqTloHjo.mjs.map +1 -0
- package/dist/{functions-C8i1kCMM.cjs → functions-SqtCDc9c.cjs} +118 -45
- package/dist/functions-SqtCDc9c.cjs.map +1 -0
- package/dist/{index-DP6fqv0I.d.mts → index-C7iynzLI.d.mts} +8 -2
- package/dist/index-C7iynzLI.d.mts.map +1 -0
- package/dist/{index-BVs9DvIj.d.cts → index-DdgJRm4q.d.cts} +12 -6
- package/dist/index-DdgJRm4q.d.cts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +4 -4
- package/dist/index.mjs +1 -1
- package/dist/{lazyAccessors-DfqZR6C4.mjs → lazyAccessors-CCTK19xj.mjs} +3 -3
- package/dist/{lazyAccessors-DfqZR6C4.mjs.map → lazyAccessors-CCTK19xj.mjs.map} +1 -1
- package/dist/{lazyAccessors-DmTG8sQH.cjs → lazyAccessors-D04oftGw.cjs} +3 -3
- package/dist/{lazyAccessors-DmTG8sQH.cjs.map → lazyAccessors-D04oftGw.cjs.map} +1 -1
- package/dist/monitors/index.cjs +49 -0
- package/dist/monitors/index.cjs.map +1 -0
- package/dist/monitors/index.d.cts +45 -0
- package/dist/monitors/index.d.cts.map +1 -0
- package/dist/monitors/index.d.mts +45 -0
- package/dist/monitors/index.d.mts.map +1 -0
- package/dist/monitors/index.mjs +48 -0
- package/dist/monitors/index.mjs.map +1 -0
- package/dist/{processAudits-CKjjivyz.cjs → processAudits-BJZT5gmy.cjs} +2 -2
- package/dist/{processAudits-CKjjivyz.cjs.map → processAudits-BJZT5gmy.cjs.map} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs → processAudits-CwyaaSQc.mjs} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs.map → processAudits-CwyaaSQc.mjs.map} +1 -1
- package/dist/{publisher-lFQleddL.cjs → publisher-BZgcrVPy.cjs} +1 -1
- package/dist/{publisher-lFQleddL.cjs.map → publisher-BZgcrVPy.cjs.map} +1 -1
- package/dist/{publisher-BrFOF847.mjs → publisher-CnpeMv-r.mjs} +1 -1
- package/dist/{publisher-BrFOF847.mjs.map → publisher-CnpeMv-r.mjs.map} +1 -1
- package/dist/queue/index.cjs +9 -22
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.d.cts +4 -4
- package/dist/queue/index.d.cts.map +1 -1
- package/dist/queue/index.d.mts +2 -2
- package/dist/queue/index.d.mts.map +1 -1
- package/dist/queue/index.mjs +9 -22
- package/dist/queue/index.mjs.map +1 -1
- package/dist/subscribers/index.cjs +9 -22
- package/dist/subscribers/index.cjs.map +1 -1
- package/dist/subscribers/index.d.cts +5 -5
- package/dist/subscribers/index.d.cts.map +1 -1
- package/dist/subscribers/index.d.mts +3 -3
- package/dist/subscribers/index.d.mts.map +1 -1
- package/dist/subscribers/index.mjs +9 -22
- package/dist/subscribers/index.mjs.map +1 -1
- package/dist/{telemetry-3vdxGn4q.d.mts → telemetry-C--EgYVr.d.mts} +1 -1
- package/dist/{telemetry-3vdxGn4q.d.mts.map → telemetry-C--EgYVr.d.mts.map} +1 -1
- package/dist/topic/index.cjs +4 -7
- package/dist/topic/index.cjs.map +1 -1
- package/dist/topic/index.d.cts +2 -2
- package/dist/topic/index.d.cts.map +1 -1
- package/dist/topic/index.d.mts +2 -2
- package/dist/topic/index.d.mts.map +1 -1
- package/dist/topic/index.mjs +4 -7
- package/dist/topic/index.mjs.map +1 -1
- package/dist/{types-BDNGr7pv.d.mts → types-DNngH0fX.d.mts} +1 -1
- package/dist/{types-BDNGr7pv.d.mts.map → types-DNngH0fX.d.mts.map} +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +32 -22
- package/src/Construct.ts +5 -0
- package/src/__tests__/builder-reuse.spec.ts +587 -0
- package/src/__tests__/monitor.spec.ts +636 -0
- package/src/clone.ts +38 -0
- package/src/crons/CronBuilder.ts +35 -45
- package/src/crons/__tests__/Cron.spec.ts +10 -2
- package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +64 -18
- package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +23 -2
- package/src/endpoints/EndpointBuilder.ts +61 -70
- package/src/endpoints/EndpointFactory.ts +31 -0
- package/src/endpoints/HonoEndpointAdaptor.ts +16 -1
- package/src/endpoints/TestEndpointAdaptor.ts +194 -150
- package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +6 -3
- package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +4 -1
- package/src/endpoints/__tests__/EndpointBuilder.spec.ts +16 -8
- package/src/functions/AWSLambdaFunction.ts +28 -2
- package/src/functions/BaseFunctionBuilder.ts +33 -22
- package/src/functions/FunctionBuilder.ts +41 -51
- package/src/functions/TestFunctionAdaptor.ts +66 -31
- package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +55 -12
- package/src/index.ts +6 -0
- package/src/monitor.ts +145 -0
- package/src/monitors/heartbeat.ts +86 -0
- package/src/monitors/index.ts +6 -0
- package/src/queue/QueueBuilder.ts +22 -22
- package/src/subscribers/SubscriberBuilder.ts +19 -22
- package/src/topic/TopicBuilder.ts +9 -7
- package/tsdown.config.ts +1 -0
- package/dist/AWSScheduledFunction-CufMMhGB.mjs.map +0 -1
- package/dist/AWSScheduledFunction-DbkDr8CA.cjs.map +0 -1
- package/dist/Construct-DCMuYOox.d.mts.map +0 -1
- package/dist/Construct-_1wX7p_Y.d.cts.map +0 -1
- package/dist/Construct-r0U2zBwW.mjs.map +0 -1
- package/dist/Construct-vXMZJgRp.cjs.map +0 -1
- package/dist/Endpoint-DgfRslct.d.cts.map +0 -1
- package/dist/HonoEndpointAdaptor-CkJENANP.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-DJDT3PMx.mjs.map +0 -1
- package/dist/functions-B-qt91O7.mjs.map +0 -1
- package/dist/functions-C8i1kCMM.cjs.map +0 -1
- package/dist/index-BVs9DvIj.d.cts.map +0 -1
- package/dist/index-DP6fqv0I.d.mts.map +0 -1
package/dist/endpoints/index.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
const require_Construct = require('../Construct-
|
|
2
|
-
const require_functions = require('../functions-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
1
|
+
const require_Construct = require('../Construct-TGIM_E4o.cjs');
|
|
2
|
+
const require_functions = require('../functions-SqtCDc9c.cjs');
|
|
3
|
+
const require_clone = require('../clone-I_WIpiFf.cjs');
|
|
4
|
+
const require_publisher = require('../publisher-BZgcrVPy.cjs');
|
|
5
|
+
const require_lazyAccessors = require('../lazyAccessors-D04oftGw.cjs');
|
|
5
6
|
const __geekmidas_logger_console = require_Construct.__toESM(require("@geekmidas/logger/console"));
|
|
6
7
|
|
|
7
8
|
//#region src/endpoints/Authorizer.ts
|
|
@@ -111,24 +112,19 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
111
112
|
this._databaseService = service;
|
|
112
113
|
}
|
|
113
114
|
description(description) {
|
|
114
|
-
this
|
|
115
|
-
return this;
|
|
115
|
+
return require_clone.cloneWith(this, { _description: description });
|
|
116
116
|
}
|
|
117
117
|
status(status) {
|
|
118
|
-
this
|
|
119
|
-
return this;
|
|
118
|
+
return require_clone.cloneWith(this, { _status: status });
|
|
120
119
|
}
|
|
121
120
|
event(event) {
|
|
122
|
-
this._events
|
|
123
|
-
return this;
|
|
121
|
+
return require_clone.cloneWith(this, { _events: [...this._events, event] });
|
|
124
122
|
}
|
|
125
123
|
tags(tags) {
|
|
126
|
-
this
|
|
127
|
-
return this;
|
|
124
|
+
return require_clone.cloneWith(this, { _tags: tags });
|
|
128
125
|
}
|
|
129
126
|
memorySize(memorySize) {
|
|
130
|
-
this
|
|
131
|
-
return this;
|
|
127
|
+
return require_clone.cloneWith(this, { _memorySize: memorySize });
|
|
132
128
|
}
|
|
133
129
|
/**
|
|
134
130
|
* Set the response content type for this endpoint.
|
|
@@ -149,60 +145,55 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
149
145
|
* ```
|
|
150
146
|
*/
|
|
151
147
|
responseType(type) {
|
|
152
|
-
this
|
|
153
|
-
return this;
|
|
148
|
+
return require_clone.cloneWith(this, { _responseType: type });
|
|
154
149
|
}
|
|
155
150
|
publisher(publisher) {
|
|
156
|
-
this
|
|
157
|
-
return this;
|
|
151
|
+
return require_clone.cloneWith(this, { _publisher: publisher });
|
|
158
152
|
}
|
|
159
153
|
body(schema) {
|
|
160
|
-
this
|
|
161
|
-
|
|
154
|
+
return require_clone.cloneWith(this, { schemas: {
|
|
155
|
+
...this.schemas,
|
|
156
|
+
body: schema
|
|
157
|
+
} });
|
|
162
158
|
}
|
|
163
159
|
search(schema) {
|
|
164
|
-
this
|
|
165
|
-
|
|
160
|
+
return require_clone.cloneWith(this, { schemas: {
|
|
161
|
+
...this.schemas,
|
|
162
|
+
query: schema
|
|
163
|
+
} });
|
|
166
164
|
}
|
|
167
165
|
query(schema) {
|
|
168
166
|
return this.search(schema);
|
|
169
167
|
}
|
|
170
168
|
params(schema) {
|
|
171
|
-
this
|
|
172
|
-
|
|
169
|
+
return require_clone.cloneWith(this, { schemas: {
|
|
170
|
+
...this.schemas,
|
|
171
|
+
params: schema
|
|
172
|
+
} });
|
|
173
173
|
}
|
|
174
174
|
authorize(fn) {
|
|
175
|
-
this
|
|
176
|
-
return this;
|
|
175
|
+
return require_clone.cloneWith(this, { _authorize: fn });
|
|
177
176
|
}
|
|
178
177
|
rateLimit(config) {
|
|
179
|
-
this
|
|
180
|
-
return this;
|
|
178
|
+
return require_clone.cloneWith(this, { _rateLimit: config });
|
|
181
179
|
}
|
|
182
180
|
authorizer(name) {
|
|
183
|
-
if (name === "none") {
|
|
184
|
-
this._authorizerName = void 0;
|
|
185
|
-
return this;
|
|
186
|
-
}
|
|
181
|
+
if (name === "none") return require_clone.cloneWith(this, { _authorizerName: void 0 });
|
|
187
182
|
const authorizerExists = this._availableAuthorizers.some((a) => a.name === name);
|
|
188
183
|
if (!authorizerExists && this._availableAuthorizers.length > 0) {
|
|
189
184
|
const available = this._availableAuthorizers.map((a) => a.name).join(", ");
|
|
190
185
|
throw new Error(`Authorizer "${name}" not found in available authorizers: ${available}`);
|
|
191
186
|
}
|
|
192
|
-
this
|
|
193
|
-
return this;
|
|
187
|
+
return require_clone.cloneWith(this, { _authorizerName: name });
|
|
194
188
|
}
|
|
195
189
|
services(services) {
|
|
196
|
-
this
|
|
197
|
-
return this;
|
|
190
|
+
return require_clone.cloneWith(this, { _services: (0, import_lodash$1.default)([...this._services, ...services], (s) => s.serviceName) });
|
|
198
191
|
}
|
|
199
192
|
logger(logger) {
|
|
200
|
-
this
|
|
201
|
-
return this;
|
|
193
|
+
return require_clone.cloneWith(this, { _logger: logger });
|
|
202
194
|
}
|
|
203
195
|
output(schema) {
|
|
204
|
-
this
|
|
205
|
-
return this;
|
|
196
|
+
return require_clone.cloneWith(this, { outputSchema: schema });
|
|
206
197
|
}
|
|
207
198
|
/**
|
|
208
199
|
* Set the auditor storage service for this endpoint.
|
|
@@ -210,16 +201,14 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
210
201
|
* The audit action type is automatically inferred from the storage's generic parameter.
|
|
211
202
|
*/
|
|
212
203
|
auditor(storage) {
|
|
213
|
-
this
|
|
214
|
-
return this;
|
|
204
|
+
return require_clone.cloneWith(this, { _auditorStorage: storage });
|
|
215
205
|
}
|
|
216
206
|
/**
|
|
217
207
|
* Set the actor extractor function for audit records.
|
|
218
208
|
* The actor is extracted from the request context and attached to all audits.
|
|
219
209
|
*/
|
|
220
210
|
actor(extractor) {
|
|
221
|
-
this
|
|
222
|
-
return this;
|
|
211
|
+
return require_clone.cloneWith(this, { _actorExtractor: extractor });
|
|
223
212
|
}
|
|
224
213
|
/**
|
|
225
214
|
* Add declarative audit definitions that are processed after the handler executes.
|
|
@@ -239,8 +228,7 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
239
228
|
* ```
|
|
240
229
|
*/
|
|
241
230
|
audit(audits) {
|
|
242
|
-
this
|
|
243
|
-
return this;
|
|
231
|
+
return require_clone.cloneWith(this, { _audits: audits });
|
|
244
232
|
}
|
|
245
233
|
/**
|
|
246
234
|
* Set the database service for this endpoint.
|
|
@@ -258,8 +246,7 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
258
246
|
* ```
|
|
259
247
|
*/
|
|
260
248
|
database(service) {
|
|
261
|
-
this
|
|
262
|
-
return this;
|
|
249
|
+
return require_clone.cloneWith(this, { _databaseService: service });
|
|
263
250
|
}
|
|
264
251
|
/**
|
|
265
252
|
* Configure RLS (Row-Level Security) context for this endpoint.
|
|
@@ -281,14 +268,14 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
281
268
|
* ```
|
|
282
269
|
*/
|
|
283
270
|
rls(config) {
|
|
284
|
-
if (config === false || config === RLS_BYPASS) {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
271
|
+
if (config === false || config === RLS_BYPASS) return require_clone.cloneWith(this, {
|
|
272
|
+
_rlsBypass: true,
|
|
273
|
+
_rlsConfig: void 0
|
|
274
|
+
});
|
|
275
|
+
return require_clone.cloneWith(this, {
|
|
276
|
+
_rlsConfig: config,
|
|
277
|
+
_rlsBypass: false
|
|
278
|
+
});
|
|
292
279
|
}
|
|
293
280
|
/**
|
|
294
281
|
* Explicitly bypass RLS for this endpoint.
|
|
@@ -304,9 +291,10 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
304
291
|
* ```
|
|
305
292
|
*/
|
|
306
293
|
rlsBypass() {
|
|
307
|
-
this
|
|
308
|
-
|
|
309
|
-
|
|
294
|
+
return require_clone.cloneWith(this, {
|
|
295
|
+
_rlsBypass: true,
|
|
296
|
+
_rlsConfig: void 0
|
|
297
|
+
});
|
|
310
298
|
}
|
|
311
299
|
input(_schema) {
|
|
312
300
|
throw new Error("EndpointBuilder does not support generic input. Use body(), query(), or params() instead.");
|
|
@@ -324,7 +312,7 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
324
312
|
};
|
|
325
313
|
}
|
|
326
314
|
}
|
|
327
|
-
|
|
315
|
+
const endpoint = new require_lazyAccessors.Endpoint({
|
|
328
316
|
fn,
|
|
329
317
|
method: this.method,
|
|
330
318
|
route: this.route,
|
|
@@ -351,6 +339,8 @@ var EndpointBuilder = class extends require_functions.BaseFunctionBuilder {
|
|
|
351
339
|
rlsBypass: this._rlsBypass,
|
|
352
340
|
responseType: this._responseType
|
|
353
341
|
});
|
|
342
|
+
endpoint.monitors = this._monitors;
|
|
343
|
+
return endpoint;
|
|
354
344
|
}
|
|
355
345
|
};
|
|
356
346
|
|
|
@@ -372,7 +362,8 @@ var EndpointFactory = class EndpointFactory {
|
|
|
372
362
|
defaultActorExtractor;
|
|
373
363
|
customSecuritySchemes = {};
|
|
374
364
|
defaultRlsConfig;
|
|
375
|
-
|
|
365
|
+
defaultMonitors = [];
|
|
366
|
+
constructor({ basePath, defaultAuthorizeFn, defaultLogger, defaultSessionExtractor, defaultServices = [], defaultEventPublisher, availableAuthorizers = [], defaultAuthorizerName, defaultAuditorStorage, defaultDatabaseService, defaultActorExtractor, customSecuritySchemes = {}, defaultRlsConfig, defaultMonitors = [] } = {}) {
|
|
376
367
|
this.defaultServices = (0, import_lodash.default)(defaultServices, (s) => s.serviceName);
|
|
377
368
|
this.basePath = basePath || "";
|
|
378
369
|
this.defaultAuthorizeFn = defaultAuthorizeFn;
|
|
@@ -386,6 +377,14 @@ var EndpointFactory = class EndpointFactory {
|
|
|
386
377
|
this.defaultActorExtractor = defaultActorExtractor;
|
|
387
378
|
this.customSecuritySchemes = customSecuritySchemes;
|
|
388
379
|
this.defaultRlsConfig = defaultRlsConfig;
|
|
380
|
+
this.defaultMonitors = defaultMonitors;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Report every endpoint's requests to a monitor. Endpoints built from this
|
|
384
|
+
* factory inherit it, and can add their own with `.monitor()`.
|
|
385
|
+
*/
|
|
386
|
+
monitor(monitor) {
|
|
387
|
+
return require_clone.cloneWith(this, { defaultMonitors: require_functions.addMonitor(this.defaultMonitors, monitor) });
|
|
389
388
|
}
|
|
390
389
|
static joinPaths(path, basePath = "") {
|
|
391
390
|
if (!basePath && !path) return "/";
|
|
@@ -411,6 +410,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
411
410
|
defaultLogger: this.defaultLogger,
|
|
412
411
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
413
412
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
413
|
+
defaultMonitors: this.defaultMonitors,
|
|
414
414
|
availableAuthorizers: authorizerConfigs,
|
|
415
415
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
416
416
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -444,6 +444,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
444
444
|
defaultLogger: this.defaultLogger,
|
|
445
445
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
446
446
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
447
|
+
defaultMonitors: this.defaultMonitors,
|
|
447
448
|
availableAuthorizers: this.availableAuthorizers,
|
|
448
449
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
449
450
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -481,6 +482,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
481
482
|
defaultLogger: this.defaultLogger,
|
|
482
483
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
483
484
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
485
|
+
defaultMonitors: this.defaultMonitors,
|
|
484
486
|
availableAuthorizers: this.availableAuthorizers,
|
|
485
487
|
defaultAuthorizerName: name === "none" ? void 0 : name,
|
|
486
488
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -499,6 +501,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
499
501
|
defaultLogger: this.defaultLogger,
|
|
500
502
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
501
503
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
504
|
+
defaultMonitors: this.defaultMonitors,
|
|
502
505
|
availableAuthorizers: this.availableAuthorizers,
|
|
503
506
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
504
507
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -516,6 +519,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
516
519
|
defaultLogger: this.defaultLogger,
|
|
517
520
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
518
521
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
522
|
+
defaultMonitors: this.defaultMonitors,
|
|
519
523
|
availableAuthorizers: this.availableAuthorizers,
|
|
520
524
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
521
525
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -533,6 +537,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
533
537
|
defaultLogger: this.defaultLogger,
|
|
534
538
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
535
539
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
540
|
+
defaultMonitors: this.defaultMonitors,
|
|
536
541
|
availableAuthorizers: this.availableAuthorizers,
|
|
537
542
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
538
543
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -550,6 +555,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
550
555
|
defaultLogger: logger,
|
|
551
556
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
552
557
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
558
|
+
defaultMonitors: this.defaultMonitors,
|
|
553
559
|
availableAuthorizers: this.availableAuthorizers,
|
|
554
560
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
555
561
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -567,6 +573,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
567
573
|
defaultLogger: this.defaultLogger,
|
|
568
574
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
569
575
|
defaultEventPublisher: publisher,
|
|
576
|
+
defaultMonitors: this.defaultMonitors,
|
|
570
577
|
availableAuthorizers: this.availableAuthorizers,
|
|
571
578
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
572
579
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -584,6 +591,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
584
591
|
defaultLogger: this.defaultLogger,
|
|
585
592
|
defaultSessionExtractor: session,
|
|
586
593
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
594
|
+
defaultMonitors: this.defaultMonitors,
|
|
587
595
|
availableAuthorizers: this.availableAuthorizers,
|
|
588
596
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
589
597
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -605,6 +613,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
605
613
|
defaultLogger: this.defaultLogger,
|
|
606
614
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
607
615
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
616
|
+
defaultMonitors: this.defaultMonitors,
|
|
608
617
|
availableAuthorizers: this.availableAuthorizers,
|
|
609
618
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
610
619
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -626,6 +635,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
626
635
|
defaultLogger: this.defaultLogger,
|
|
627
636
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
628
637
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
638
|
+
defaultMonitors: this.defaultMonitors,
|
|
629
639
|
availableAuthorizers: this.availableAuthorizers,
|
|
630
640
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
631
641
|
defaultAuditorStorage: storage,
|
|
@@ -647,6 +657,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
647
657
|
defaultLogger: this.defaultLogger,
|
|
648
658
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
649
659
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
660
|
+
defaultMonitors: this.defaultMonitors,
|
|
650
661
|
availableAuthorizers: this.availableAuthorizers,
|
|
651
662
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
652
663
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -682,6 +693,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
682
693
|
defaultLogger: this.defaultLogger,
|
|
683
694
|
defaultSessionExtractor: this.defaultSessionExtractor,
|
|
684
695
|
defaultEventPublisher: this.defaultEventPublisher,
|
|
696
|
+
defaultMonitors: this.defaultMonitors,
|
|
685
697
|
availableAuthorizers: this.availableAuthorizers,
|
|
686
698
|
defaultAuthorizerName: this.defaultAuthorizerName,
|
|
687
699
|
defaultAuditorStorage: this.defaultAuditorStorage,
|
|
@@ -699,6 +711,7 @@ var EndpointFactory = class EndpointFactory {
|
|
|
699
711
|
if (this.defaultLogger) builder._logger = this.defaultLogger;
|
|
700
712
|
if (this.defaultSessionExtractor) builder._getSession = this.defaultSessionExtractor;
|
|
701
713
|
if (this.defaultEventPublisher) builder._setPublisher(this.defaultEventPublisher);
|
|
714
|
+
builder._monitors = [...this.defaultMonitors];
|
|
702
715
|
builder._availableAuthorizers = this.availableAuthorizers;
|
|
703
716
|
if (this.defaultAuthorizerName) builder._authorizerName = this.defaultAuthorizerName;
|
|
704
717
|
if (this.defaultAuditorStorage) builder._setAuditorStorage(this.defaultAuditorStorage);
|