@geekmidas/constructs 9.0.2 → 10.0.0-alpha.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/README.md +71 -44
- package/dist/{AWSScheduledFunction-Bn99MceY.d.cts → AWSScheduledFunction-BvFvBsBN.d.cts} +8 -3
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts.map → AWSScheduledFunction-BvFvBsBN.d.cts.map} +1 -1
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts → AWSScheduledFunction-CVccZO-L.d.mts} +9 -4
- package/dist/{AWSScheduledFunction-Bn99MceY.d.cts.map → AWSScheduledFunction-CVccZO-L.d.mts.map} +1 -1
- package/dist/{AWSScheduledFunction-CufMMhGB.mjs → AWSScheduledFunction-Db1lttJH.mjs} +3 -3
- package/dist/{AWSScheduledFunction-CufMMhGB.mjs.map → AWSScheduledFunction-Db1lttJH.mjs.map} +1 -1
- package/dist/{AWSScheduledFunction-DbkDr8CA.cjs → AWSScheduledFunction-qu4ieRZR.cjs} +9 -9
- package/dist/{AWSScheduledFunction-DbkDr8CA.cjs.map → AWSScheduledFunction-qu4ieRZR.cjs.map} +1 -1
- package/dist/{Construct-_1wX7p_Y.d.cts → Construct-B-xc0SE9.d.mts} +27 -5
- package/dist/Construct-B-xc0SE9.d.mts.map +1 -0
- package/dist/{Construct-r0U2zBwW.mjs → Construct-HmWM6YYu.mjs} +4 -3
- package/dist/Construct-HmWM6YYu.mjs.map +1 -0
- package/dist/{Construct-DCMuYOox.d.mts → Construct-WhCXIOPV.d.cts} +29 -7
- package/dist/Construct-WhCXIOPV.d.cts.map +1 -0
- package/dist/{Construct-vXMZJgRp.cjs → Construct-roId57cU.cjs} +7 -43
- package/dist/Construct-roId57cU.cjs.map +1 -0
- package/dist/{lazyAccessors-DmTG8sQH.cjs → Endpoint-BBkV6l0k.cjs} +869 -1079
- package/dist/Endpoint-BBkV6l0k.cjs.map +1 -0
- package/dist/{lazyAccessors-DfqZR6C4.mjs → Endpoint-BGwpNEX4.mjs} +840 -1003
- package/dist/Endpoint-BGwpNEX4.mjs.map +1 -0
- package/dist/{Endpoint-DgfRslct.d.cts → Endpoint-BnxZqIX-.d.cts} +53 -4
- package/dist/Endpoint-BnxZqIX-.d.cts.map +1 -0
- package/dist/{Endpoint-CLPSIl6S.d.mts → Endpoint-ROcXU-eH.d.mts} +55 -6
- package/dist/Endpoint-ROcXU-eH.d.mts.map +1 -0
- package/dist/EndpointFactory-DYoGLaIT.cjs +850 -0
- package/dist/EndpointFactory-DYoGLaIT.cjs.map +1 -0
- package/dist/EndpointFactory-Di0X9AWp.mjs +808 -0
- package/dist/EndpointFactory-Di0X9AWp.mjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-DJDT3PMx.mjs → HonoEndpointAdaptor-DFKIIG2o.mjs} +5 -4
- package/dist/HonoEndpointAdaptor-DFKIIG2o.mjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-CkJENANP.cjs → HonoEndpointAdaptor-wMsCyMgt.cjs} +24 -23
- package/dist/HonoEndpointAdaptor-wMsCyMgt.cjs.map +1 -0
- package/dist/{Queue-DaxjwmOQ.d.cts → Queue-D6WeziRD.d.cts} +43 -4
- package/dist/Queue-D6WeziRD.d.cts.map +1 -0
- package/dist/{Queue-HBDf0fqz.d.mts → Queue-DpUeqdC8.d.mts} +43 -4
- package/dist/Queue-DpUeqdC8.d.mts.map +1 -0
- package/dist/{Subscriber-B69ngPwl.d.cts → Subscriber-4rBJgDKI.d.mts} +9 -4
- package/dist/{Subscriber-B69ngPwl.d.cts.map → Subscriber-4rBJgDKI.d.mts.map} +1 -1
- package/dist/{Subscriber-D8Xm-86W.d.mts → Subscriber-DVQowdyj.d.cts} +11 -6
- package/dist/Subscriber-DVQowdyj.d.cts.map +1 -0
- package/dist/{Topic-C5ZMfveW.d.cts → Topic-Ohx9dvWr.d.cts} +33 -2
- package/dist/Topic-Ohx9dvWr.d.cts.map +1 -0
- package/dist/{Topic-DT10AqHk.d.mts → Topic-cmy2jOUy.d.mts} +33 -2
- package/dist/Topic-cmy2jOUy.d.mts.map +1 -0
- package/dist/adaptors/aws.cjs +39 -26
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +24 -16
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +25 -17
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +26 -14
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +9 -6
- package/dist/adaptors/hono.d.cts +7 -6
- package/dist/adaptors/hono.d.cts.map +1 -1
- package/dist/adaptors/hono.d.mts +8 -7
- package/dist/adaptors/hono.d.mts.map +1 -1
- package/dist/adaptors/hono.mjs +9 -6
- package/dist/adaptors/testing.cjs +18 -14
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +7 -6
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +11 -10
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +10 -7
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/auth.cjs +165 -0
- package/dist/auth.cjs.map +1 -0
- package/dist/auth.d.cts +108 -0
- package/dist/auth.d.cts.map +1 -0
- package/dist/auth.d.mts +108 -0
- package/dist/auth.d.mts.map +1 -0
- package/dist/auth.mjs +164 -0
- package/dist/auth.mjs.map +1 -0
- package/dist/cache-0ANvRQnD.mjs +51 -0
- package/dist/cache-0ANvRQnD.mjs.map +1 -0
- package/dist/cache-3WSvAulx.cjs +57 -0
- package/dist/cache-3WSvAulx.cjs.map +1 -0
- package/dist/cache-CdQ7OLpR.d.cts +47 -0
- package/dist/cache-CdQ7OLpR.d.cts.map +1 -0
- package/dist/cache-DYoJFcfd.d.mts +47 -0
- package/dist/cache-DYoJFcfd.d.mts.map +1 -0
- package/dist/cache.cjs +3 -0
- package/dist/cache.d.cts +3 -0
- package/dist/cache.d.mts +3 -0
- package/dist/cache.mjs +3 -0
- package/dist/chunk-DWy1uDak.cjs +39 -0
- package/dist/clone-DblgEZZa.mjs +39 -0
- package/dist/clone-DblgEZZa.mjs.map +1 -0
- package/dist/clone-Dy0cR2SZ.cjs +45 -0
- package/dist/clone-Dy0cR2SZ.cjs.map +1 -0
- package/dist/construct-interface-BfjcOD_E.cjs +117 -0
- package/dist/construct-interface-BfjcOD_E.cjs.map +1 -0
- package/dist/construct-interface-BqwRNYA2.d.mts +131 -0
- package/dist/construct-interface-BqwRNYA2.d.mts.map +1 -0
- package/dist/construct-interface-D2nNkHUN.d.cts +131 -0
- package/dist/construct-interface-D2nNkHUN.d.cts.map +1 -0
- package/dist/construct-interface-Z4CpS8tK.mjs +81 -0
- package/dist/construct-interface-Z4CpS8tK.mjs.map +1 -0
- package/dist/construct-interface.cjs +8 -0
- package/dist/construct-interface.d.cts +2 -0
- package/dist/construct-interface.d.mts +2 -0
- package/dist/construct-interface.mjs +3 -0
- package/dist/credential.cjs +96 -0
- package/dist/credential.cjs.map +1 -0
- package/dist/credential.d.cts +61 -0
- package/dist/credential.d.cts.map +1 -0
- package/dist/credential.d.mts +61 -0
- package/dist/credential.d.mts.map +1 -0
- package/dist/credential.mjs +94 -0
- package/dist/credential.mjs.map +1 -0
- package/dist/crons/index.cjs +39 -37
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +21 -8
- package/dist/crons/index.d.cts.map +1 -1
- package/dist/crons/index.d.mts +29 -13
- package/dist/crons/index.d.mts.map +1 -1
- package/dist/crons/index.mjs +37 -36
- package/dist/crons/index.mjs.map +1 -1
- package/dist/database/kysely.cjs +181 -0
- package/dist/database/kysely.cjs.map +1 -0
- package/dist/database/kysely.d.cts +152 -0
- package/dist/database/kysely.d.cts.map +1 -0
- package/dist/database/kysely.d.mts +152 -0
- package/dist/database/kysely.d.mts.map +1 -0
- package/dist/database/kysely.mjs +180 -0
- package/dist/database/kysely.mjs.map +1 -0
- package/dist/email.cjs +59 -0
- package/dist/email.cjs.map +1 -0
- package/dist/email.d.cts +50 -0
- package/dist/email.d.cts.map +1 -0
- package/dist/email.d.mts +50 -0
- package/dist/email.d.mts.map +1 -0
- package/dist/email.mjs +58 -0
- package/dist/email.mjs.map +1 -0
- package/dist/endpoints/index.cjs +21 -747
- package/dist/endpoints/index.d.cts +7 -343
- package/dist/endpoints/index.d.mts +7 -342
- package/dist/endpoints/index.mjs +11 -738
- package/dist/file-server.cjs +154 -0
- package/dist/file-server.cjs.map +1 -0
- package/dist/file-server.d.cts +156 -0
- package/dist/file-server.d.cts.map +1 -0
- package/dist/file-server.d.mts +156 -0
- package/dist/file-server.d.mts.map +1 -0
- package/dist/file-server.mjs +152 -0
- package/dist/file-server.mjs.map +1 -0
- package/dist/functions/index.cjs +4 -2
- package/dist/functions/index.d.cts +3 -2
- package/dist/functions/index.d.mts +3 -2
- package/dist/functions/index.mjs +4 -2
- package/dist/{functions-B-qt91O7.mjs → functions-CvT_q7Y4.mjs} +55 -51
- package/dist/functions-CvT_q7Y4.mjs.map +1 -0
- package/dist/{functions-C8i1kCMM.cjs → functions-DukjG8ov.cjs} +62 -57
- package/dist/functions-DukjG8ov.cjs.map +1 -0
- package/dist/index-7OcOWe75.d.cts +419 -0
- package/dist/index-7OcOWe75.d.cts.map +1 -0
- package/dist/index-Bt-F7u8L.d.mts +419 -0
- package/dist/index-Bt-F7u8L.d.mts.map +1 -0
- package/dist/{index-DP6fqv0I.d.mts → index-CPeqtKgq.d.mts} +48 -19
- package/dist/index-CPeqtKgq.d.mts.map +1 -0
- package/dist/{index-BVs9DvIj.d.cts → index-Dadljnh_.d.cts} +36 -9
- package/dist/index-Dadljnh_.d.cts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -1
- package/dist/lazyAccessors-DM6HcXQk.mjs +175 -0
- package/dist/lazyAccessors-DM6HcXQk.mjs.map +1 -0
- package/dist/lazyAccessors-DrJj8NpA.cjs +223 -0
- package/dist/lazyAccessors-DrJj8NpA.cjs.map +1 -0
- package/dist/object-storage.cjs +48 -0
- package/dist/object-storage.cjs.map +1 -0
- package/dist/object-storage.d.cts +36 -0
- package/dist/object-storage.d.cts.map +1 -0
- package/dist/object-storage.d.mts +36 -0
- package/dist/object-storage.d.mts.map +1 -0
- package/dist/object-storage.mjs +47 -0
- package/dist/object-storage.mjs.map +1 -0
- package/dist/{processAudits-CKjjivyz.cjs → processAudits-Bc8rz6Ev.cjs} +3 -3
- package/dist/{processAudits-CKjjivyz.cjs.map → processAudits-Bc8rz6Ev.cjs.map} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs → processAudits-D89tICM4.mjs} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs.map → processAudits-D89tICM4.mjs.map} +1 -1
- package/dist/{publisher-BrFOF847.mjs → publisher-CGEo8UKD.mjs} +1 -1
- package/dist/{publisher-BrFOF847.mjs.map → publisher-CGEo8UKD.mjs.map} +1 -1
- package/dist/{publisher-lFQleddL.cjs → publisher-CqGsXB2X.cjs} +1 -1
- package/dist/{publisher-lFQleddL.cjs.map → publisher-CqGsXB2X.cjs.map} +1 -1
- package/dist/queue/index.cjs +92 -30
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.d.cts +19 -4
- package/dist/queue/index.d.cts.map +1 -1
- package/dist/queue/index.d.mts +22 -6
- package/dist/queue/index.d.mts.map +1 -1
- package/dist/queue/index.mjs +90 -29
- package/dist/queue/index.mjs.map +1 -1
- package/dist/rest-api.cjs +187 -0
- package/dist/rest-api.cjs.map +1 -0
- package/dist/rest-api.d.cts +221 -0
- package/dist/rest-api.d.cts.map +1 -0
- package/dist/rest-api.d.mts +221 -0
- package/dist/rest-api.d.mts.map +1 -0
- package/dist/rest-api.mjs +186 -0
- package/dist/rest-api.mjs.map +1 -0
- package/dist/site.cjs +48 -0
- package/dist/site.cjs.map +1 -0
- package/dist/site.d.cts +101 -0
- package/dist/site.d.cts.map +1 -0
- package/dist/site.d.mts +101 -0
- package/dist/site.d.mts.map +1 -0
- package/dist/site.mjs +47 -0
- package/dist/site.mjs.map +1 -0
- package/dist/subscribers/index.cjs +35 -27
- package/dist/subscribers/index.cjs.map +1 -1
- package/dist/subscribers/index.d.cts +20 -5
- package/dist/subscribers/index.d.cts.map +1 -1
- package/dist/subscribers/index.d.mts +23 -7
- package/dist/subscribers/index.d.mts.map +1 -1
- package/dist/subscribers/index.mjs +34 -27
- package/dist/subscribers/index.mjs.map +1 -1
- package/dist/surfaceEnv-BFXEms2f.cjs +39 -0
- package/dist/surfaceEnv-BFXEms2f.cjs.map +1 -0
- package/dist/surfaceEnv-C3Ktahea.mjs +27 -0
- package/dist/surfaceEnv-C3Ktahea.mjs.map +1 -0
- package/dist/{telemetry-3vdxGn4q.d.mts → telemetry-C3L0iS28.d.cts} +2 -2
- package/dist/{telemetry-3vdxGn4q.d.mts.map → telemetry-C3L0iS28.d.cts.map} +1 -1
- package/dist/{telemetry-Dqx-D3F7.d.cts → telemetry-D7bVFLGi.d.mts} +2 -2
- package/dist/{telemetry-Dqx-D3F7.d.cts.map → telemetry-D7bVFLGi.d.mts.map} +1 -1
- package/dist/topic/index.cjs +56 -13
- 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 +54 -12
- package/dist/topic/index.mjs.map +1 -1
- package/dist/{types-BDNGr7pv.d.mts → types-BlAkSuGI.d.cts} +1 -1
- package/dist/{types-BDNGr7pv.d.mts.map → types-BlAkSuGI.d.cts.map} +1 -1
- package/dist/{types-BdAaYDvd.d.cts → types-aKksMEWL.d.mts} +1 -1
- package/dist/{types-BdAaYDvd.d.cts.map → types-aKksMEWL.d.mts.map} +1 -1
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +155 -23
- package/CHANGELOG.md +0 -396
- 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-CLPSIl6S.d.mts.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/Queue-DaxjwmOQ.d.cts.map +0 -1
- package/dist/Queue-HBDf0fqz.d.mts.map +0 -1
- package/dist/Subscriber-D8Xm-86W.d.mts.map +0 -1
- package/dist/Topic-C5ZMfveW.d.cts.map +0 -1
- package/dist/Topic-DT10AqHk.d.mts.map +0 -1
- package/dist/endpoints/index.cjs.map +0 -1
- package/dist/endpoints/index.d.cts.map +0 -1
- package/dist/endpoints/index.d.mts.map +0 -1
- package/dist/endpoints/index.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/lazyAccessors-DfqZR6C4.mjs.map +0 -1
- package/dist/lazyAccessors-DmTG8sQH.cjs.map +0 -1
- package/src/Construct.ts +0 -204
- package/src/__benchmarks__/build-time-optimization.bench.ts +0 -274
- package/src/__benchmarks__/endpoint.bench.ts +0 -494
- package/src/__benchmarks__/fixtures.ts +0 -241
- package/src/__benchmarks__/hono-adaptor.bench.ts +0 -533
- package/src/__benchmarks__/hono-server.bench.ts +0 -249
- package/src/__benchmarks__/response-builder.bench.ts +0 -428
- package/src/__benchmarks__/strategies/strategy-a-lazy-services.ts +0 -319
- package/src/__benchmarks__/strategies/strategy-c-middleware.ts +0 -530
- package/src/__benchmarks__/strategies/strategy-d-opt-in-events.ts +0 -567
- package/src/__tests__/Construct.environment.spec.ts +0 -704
- package/src/__tests__/publisher.setting.spec.ts +0 -508
- package/src/__tests__/publisher.spec.ts +0 -452
- package/src/adaptors/aws.ts +0 -6
- package/src/adaptors/hono.ts +0 -1
- package/src/adaptors/testing.ts +0 -11
- package/src/crons/AWSScheduledFunction.ts +0 -73
- package/src/crons/Cron.ts +0 -149
- package/src/crons/CronBuilder.ts +0 -271
- package/src/crons/__tests__/AWSScheduledFunction.spec.ts +0 -152
- package/src/crons/__tests__/Cron.spec.ts +0 -464
- package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +0 -227
- package/src/crons/index.ts +0 -12
- package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +0 -677
- package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +0 -105
- package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +0 -97
- package/src/endpoints/Authorizer.ts +0 -152
- package/src/endpoints/Endpoint.ts +0 -1287
- package/src/endpoints/EndpointBuilder.ts +0 -758
- package/src/endpoints/EndpointFactory.ts +0 -1148
- package/src/endpoints/HonoEndpointAdaptor.ts +0 -677
- package/src/endpoints/MswEndpointAdaptor.ts +0 -226
- package/src/endpoints/TestEndpointAdaptor.ts +0 -422
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.audits.spec.ts +0 -499
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +0 -560
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +0 -1304
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +0 -626
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +0 -732
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.factory-publisher.spec.ts +0 -296
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +0 -951
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.responseType.spec.ts +0 -111
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.rls.spec.ts +0 -307
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +0 -629
- package/src/endpoints/__tests__/Authorizer.spec.ts +0 -286
- package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +0 -207
- package/src/endpoints/__tests__/Endpoint.headers.spec.ts +0 -187
- package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +0 -175
- package/src/endpoints/__tests__/Endpoint.spec.ts +0 -857
- package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +0 -448
- package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +0 -47
- package/src/endpoints/__tests__/EndpointBuilder.spec.ts +0 -523
- package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +0 -492
- package/src/endpoints/__tests__/EndpointFactory.database-auditor.spec.ts +0 -509
- package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +0 -190
- package/src/endpoints/__tests__/EndpointFactory.spec.ts +0 -479
- package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +0 -155
- package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +0 -703
- package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +0 -632
- package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +0 -577
- package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +0 -1067
- package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +0 -317
- package/src/endpoints/__tests__/HonoEndpointAdaptor.pgboss-publisher.spec.ts +0 -289
- package/src/endpoints/__tests__/HonoEndpointAdaptor.responseType.spec.ts +0 -128
- package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +0 -1207
- package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +0 -211
- package/src/endpoints/__tests__/ResponseBuilder.spec.ts +0 -235
- package/src/endpoints/__tests__/TestEndpointAdaptor.audits.spec.ts +0 -602
- package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +0 -1044
- package/src/endpoints/__tests__/__snapshots__/HonoEndpointAdaptor.spec.ts.snap +0 -54
- package/src/endpoints/__tests__/endpoint-types.test.ts +0 -88
- package/src/endpoints/__tests__/helpers.spec.ts +0 -37
- package/src/endpoints/__tests__/lazyAccessors.spec.ts +0 -330
- package/src/endpoints/__tests__/processAudits.spec.ts +0 -631
- package/src/endpoints/audit.ts +0 -87
- package/src/endpoints/helpers.ts +0 -98
- package/src/endpoints/index.ts +0 -42
- package/src/endpoints/lazyAccessors.ts +0 -241
- package/src/endpoints/parseHonoQuery.ts +0 -16
- package/src/endpoints/parseQueryParams.ts +0 -32
- package/src/endpoints/processAudits.ts +0 -371
- package/src/endpoints/rls.ts +0 -67
- package/src/functions/AWSLambdaFunction.ts +0 -348
- package/src/functions/BaseFunctionBuilder.ts +0 -201
- package/src/functions/Function.ts +0 -238
- package/src/functions/FunctionBuilder.ts +0 -391
- package/src/functions/FunctionExecutionWrapper.ts +0 -216
- package/src/functions/TestFunctionAdaptor.ts +0 -217
- package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +0 -513
- package/src/functions/__tests__/Function.audits.spec.ts +0 -393
- package/src/functions/__tests__/Function.spec.ts +0 -477
- package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +0 -207
- package/src/functions/__tests__/TestFunctionAdaptor.spec.ts +0 -480
- package/src/functions/index.ts +0 -12
- package/src/index.ts +0 -23
- package/src/publisher.ts +0 -93
- package/src/queue/AWSLambdaQueueAdaptor.ts +0 -162
- package/src/queue/Queue.ts +0 -128
- package/src/queue/QueueBuilder.ts +0 -115
- package/src/queue/TestQueueAdaptor.ts +0 -63
- package/src/queue/__tests__/QueueBuilder.spec.ts +0 -137
- package/src/queue/index.ts +0 -12
- package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +0 -342
- package/src/subscribers/Subscriber.ts +0 -117
- package/src/subscribers/SubscriberBuilder.ts +0 -186
- package/src/subscribers/TestSubscriberAdaptor.ts +0 -133
- package/src/subscribers/__tests__/AWSLambdaSubscriberAdaptor.spec.ts +0 -1018
- package/src/subscribers/__tests__/Subscriber.spec.ts +0 -430
- package/src/subscribers/__tests__/TestSubscriberAdaptor.spec.ts +0 -652
- package/src/subscribers/index.ts +0 -6
- package/src/telemetry.ts +0 -103
- package/src/topic/Topic.ts +0 -103
- package/src/topic/TopicBuilder.ts +0 -51
- package/src/topic/__tests__/TopicBuilder.spec.ts +0 -82
- package/src/topic/index.ts +0 -11
- package/src/types.ts +0 -13
- package/test.ts +0 -91
- package/tsconfig.json +0 -9
- package/tsdown.config.ts +0 -34
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';
|
|
2
|
-
import { UnprocessableEntityError } from '@geekmidas/errors';
|
|
3
|
-
import type { EventPublisher, MappedEvent } from '@geekmidas/events';
|
|
4
|
-
import type { Logger } from '@geekmidas/logger';
|
|
5
|
-
import { ConsoleLogger } from '@geekmidas/logger/console';
|
|
6
|
-
import type {
|
|
7
|
-
ComposableStandardSchema,
|
|
8
|
-
InferComposableStandardSchema,
|
|
9
|
-
InferStandardSchema,
|
|
10
|
-
} from '@geekmidas/schema';
|
|
11
|
-
import { parseSchema } from '@geekmidas/schema/parser';
|
|
12
|
-
import type { Service, ServiceRecord } from '@geekmidas/services';
|
|
13
|
-
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
14
|
-
import uniqBy from 'lodash.uniqby';
|
|
15
|
-
import { Construct, ConstructType } from '../Construct';
|
|
16
|
-
|
|
17
|
-
const DEFAULT_LOGGER = new ConsoleLogger() as any;
|
|
18
|
-
|
|
19
|
-
export class FunctionFactory<
|
|
20
|
-
TServices extends Service[] = [],
|
|
21
|
-
TLogger extends Logger = Logger,
|
|
22
|
-
> {
|
|
23
|
-
private defaultServices: TServices;
|
|
24
|
-
constructor(
|
|
25
|
-
defaultServices: TServices,
|
|
26
|
-
private defaultLogger: TLogger = DEFAULT_LOGGER,
|
|
27
|
-
) {
|
|
28
|
-
// Initialize default services
|
|
29
|
-
this.defaultServices = uniqBy(
|
|
30
|
-
defaultServices,
|
|
31
|
-
(s) => s.serviceName,
|
|
32
|
-
) as TServices;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// Create a new factory with services
|
|
36
|
-
services<S extends Service[]>(
|
|
37
|
-
services: S,
|
|
38
|
-
): FunctionFactory<[...S, ...TServices], TLogger> {
|
|
39
|
-
return new FunctionFactory<[...S, ...TServices], TLogger>(
|
|
40
|
-
[...services, ...this.defaultServices],
|
|
41
|
-
this.defaultLogger,
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
logger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {
|
|
46
|
-
return new FunctionFactory<TServices, L>(this.defaultServices, logger);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export class Function<
|
|
51
|
-
TInput extends ComposableStandardSchema | undefined = undefined,
|
|
52
|
-
TServices extends Service[] = [],
|
|
53
|
-
TLogger extends Logger = Logger,
|
|
54
|
-
OutSchema extends StandardSchemaV1 | undefined = undefined,
|
|
55
|
-
TEventPublisher extends EventPublisher<any> | undefined = undefined,
|
|
56
|
-
TEventPublisherServiceName extends string = string,
|
|
57
|
-
TAuditStorage extends AuditStorage | undefined = undefined,
|
|
58
|
-
TAuditStorageServiceName extends string = string,
|
|
59
|
-
TDatabase = undefined,
|
|
60
|
-
TDatabaseServiceName extends string = string,
|
|
61
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
62
|
-
string,
|
|
63
|
-
unknown
|
|
64
|
-
>,
|
|
65
|
-
Fn extends FunctionHandler<
|
|
66
|
-
TInput,
|
|
67
|
-
TServices,
|
|
68
|
-
TLogger,
|
|
69
|
-
OutSchema,
|
|
70
|
-
TDatabase,
|
|
71
|
-
TAuditStorage,
|
|
72
|
-
TAuditAction
|
|
73
|
-
> = FunctionHandler<
|
|
74
|
-
TInput,
|
|
75
|
-
TServices,
|
|
76
|
-
TLogger,
|
|
77
|
-
OutSchema,
|
|
78
|
-
TDatabase,
|
|
79
|
-
TAuditStorage,
|
|
80
|
-
TAuditAction
|
|
81
|
-
>,
|
|
82
|
-
> extends Construct<
|
|
83
|
-
TLogger,
|
|
84
|
-
TEventPublisherServiceName,
|
|
85
|
-
TEventPublisher,
|
|
86
|
-
OutSchema,
|
|
87
|
-
TServices,
|
|
88
|
-
TAuditStorageServiceName,
|
|
89
|
-
TAuditStorage
|
|
90
|
-
> {
|
|
91
|
-
__IS_FUNCTION__ = true;
|
|
92
|
-
|
|
93
|
-
static isFunction(obj: any): obj is Function<any, any, any, any, any> {
|
|
94
|
-
return Boolean(
|
|
95
|
-
obj &&
|
|
96
|
-
obj.__IS_FUNCTION__ === true &&
|
|
97
|
-
obj.type === ConstructType.Function,
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Validates data against a StandardSchema.
|
|
103
|
-
*
|
|
104
|
-
* @param schema - The StandardSchema to validate against
|
|
105
|
-
* @param data - The data to validate
|
|
106
|
-
* @returns Validation result with value or issues
|
|
107
|
-
*/
|
|
108
|
-
static validate<T extends StandardSchemaV1>(schema: T, data: unknown) {
|
|
109
|
-
return schema['~standard'].validate(data);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Parses and validates data against a schema, throwing an error if validation fails.
|
|
114
|
-
*
|
|
115
|
-
* @param schema - The StandardSchema to validate against
|
|
116
|
-
* @param data - The data to parse and validate
|
|
117
|
-
* @returns The validated data with proper typing
|
|
118
|
-
* @throws {UnprocessableEntityError} When validation fails
|
|
119
|
-
*/
|
|
120
|
-
static async parseSchema<T extends StandardSchemaV1>(
|
|
121
|
-
schema: T,
|
|
122
|
-
data: unknown,
|
|
123
|
-
): Promise<InferStandardSchema<T>> {
|
|
124
|
-
try {
|
|
125
|
-
return await parseSchema(schema, data);
|
|
126
|
-
} catch (issues) {
|
|
127
|
-
throw new UnprocessableEntityError('Validation failed', issues);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Parses and validates the endpoint output against the output schema.
|
|
133
|
-
*
|
|
134
|
-
* @param output - The raw output data to validate
|
|
135
|
-
* @returns The validated output data
|
|
136
|
-
* @throws {UnprocessableEntityError} When output validation fails
|
|
137
|
-
*/
|
|
138
|
-
async parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {
|
|
139
|
-
return Function.parseSchema(
|
|
140
|
-
this.outputSchema as StandardSchemaV1,
|
|
141
|
-
output,
|
|
142
|
-
) as Promise<InferStandardSchema<OutSchema>>;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
constructor(
|
|
146
|
-
public readonly fn: Fn,
|
|
147
|
-
timeout = 30000, // Default timeout of 30 seconds
|
|
148
|
-
type: ConstructType = ConstructType.Function,
|
|
149
|
-
public input?: TInput,
|
|
150
|
-
outputSchema?: OutSchema,
|
|
151
|
-
services: TServices = [] as unknown as TServices,
|
|
152
|
-
logger: TLogger = DEFAULT_LOGGER,
|
|
153
|
-
publisherService?: Service<TEventPublisherServiceName, TEventPublisher>,
|
|
154
|
-
events: MappedEvent<TEventPublisher, OutSchema>[] = [],
|
|
155
|
-
memorySize?: number,
|
|
156
|
-
auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,
|
|
157
|
-
public override databaseService?: Service<TDatabaseServiceName, TDatabase>,
|
|
158
|
-
) {
|
|
159
|
-
super(
|
|
160
|
-
type,
|
|
161
|
-
logger,
|
|
162
|
-
services,
|
|
163
|
-
events,
|
|
164
|
-
publisherService,
|
|
165
|
-
outputSchema,
|
|
166
|
-
timeout,
|
|
167
|
-
memorySize,
|
|
168
|
-
auditorStorageService,
|
|
169
|
-
);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
export type FunctionHandler<
|
|
174
|
-
TInput extends ComposableStandardSchema | undefined = undefined,
|
|
175
|
-
TServices extends Service[] = [],
|
|
176
|
-
TLogger extends Logger = Logger,
|
|
177
|
-
OutSchema extends StandardSchemaV1 | undefined = undefined,
|
|
178
|
-
TDatabase = undefined,
|
|
179
|
-
TAuditStorage extends AuditStorage | undefined = undefined,
|
|
180
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
181
|
-
string,
|
|
182
|
-
unknown
|
|
183
|
-
>,
|
|
184
|
-
> = (
|
|
185
|
-
ctx: FunctionContext<
|
|
186
|
-
TInput,
|
|
187
|
-
TServices,
|
|
188
|
-
TLogger,
|
|
189
|
-
TDatabase,
|
|
190
|
-
TAuditStorage,
|
|
191
|
-
TAuditAction
|
|
192
|
-
>,
|
|
193
|
-
) => OutSchema extends StandardSchemaV1
|
|
194
|
-
? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>
|
|
195
|
-
: any | Promise<any>;
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* Conditional type that adds `db` property only when TDatabase is configured.
|
|
199
|
-
*/
|
|
200
|
-
type DatabaseContext<TDatabase> = TDatabase extends undefined
|
|
201
|
-
? {}
|
|
202
|
-
: { db: TDatabase };
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Conditional auditor context - only present when audit storage is configured.
|
|
206
|
-
*/
|
|
207
|
-
type AuditorContext<
|
|
208
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
209
|
-
string,
|
|
210
|
-
unknown
|
|
211
|
-
>,
|
|
212
|
-
TAuditStorage = undefined,
|
|
213
|
-
> = TAuditStorage extends undefined
|
|
214
|
-
? {}
|
|
215
|
-
: {
|
|
216
|
-
/**
|
|
217
|
-
* Auditor instance for recording audit events.
|
|
218
|
-
* Only present when audit storage is configured on the function.
|
|
219
|
-
*/
|
|
220
|
-
auditor: Auditor<TAuditAction>;
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
export type FunctionContext<
|
|
224
|
-
Input extends ComposableStandardSchema | undefined = undefined,
|
|
225
|
-
TServices extends Service[] = [],
|
|
226
|
-
TLogger extends Logger = Logger,
|
|
227
|
-
TDatabase = undefined,
|
|
228
|
-
TAuditStorage extends AuditStorage | undefined = undefined,
|
|
229
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
230
|
-
string,
|
|
231
|
-
unknown
|
|
232
|
-
>,
|
|
233
|
-
> = {
|
|
234
|
-
services: ServiceRecord<TServices>;
|
|
235
|
-
logger: TLogger;
|
|
236
|
-
input: InferComposableStandardSchema<Input>;
|
|
237
|
-
} & DatabaseContext<TDatabase> &
|
|
238
|
-
AuditorContext<TAuditAction, TAuditStorage>;
|
|
@@ -1,391 +0,0 @@
|
|
|
1
|
-
import type { AuditableAction, AuditStorage } from '@geekmidas/audit';
|
|
2
|
-
import type { EventPublisher } from '@geekmidas/events';
|
|
3
|
-
import type { Logger } from '@geekmidas/logger';
|
|
4
|
-
import { ConsoleLogger } from '@geekmidas/logger/console';
|
|
5
|
-
import type { ComposableStandardSchema } from '@geekmidas/schema';
|
|
6
|
-
import type { Service } from '@geekmidas/services';
|
|
7
|
-
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
8
|
-
import uniqBy from 'lodash.uniqby';
|
|
9
|
-
import { ConstructType } from '../Construct';
|
|
10
|
-
import { BaseFunctionBuilder } from './BaseFunctionBuilder';
|
|
11
|
-
import { Function, type FunctionHandler } from './Function';
|
|
12
|
-
|
|
13
|
-
const DEFAULT_LOGGER = new ConsoleLogger() as any;
|
|
14
|
-
|
|
15
|
-
export class FunctionBuilder<
|
|
16
|
-
TInput extends ComposableStandardSchema,
|
|
17
|
-
OutSchema extends StandardSchemaV1 | undefined = undefined,
|
|
18
|
-
TServices extends Service[] = [],
|
|
19
|
-
TLogger extends Logger = Logger,
|
|
20
|
-
TEventPublisher extends EventPublisher<any> | undefined = undefined,
|
|
21
|
-
TEventPublisherServiceName extends string = string,
|
|
22
|
-
TAuditStorage extends AuditStorage | undefined = undefined,
|
|
23
|
-
TAuditStorageServiceName extends string = string,
|
|
24
|
-
TDatabase = undefined,
|
|
25
|
-
TDatabaseServiceName extends string = string,
|
|
26
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
27
|
-
string,
|
|
28
|
-
unknown
|
|
29
|
-
>,
|
|
30
|
-
> extends BaseFunctionBuilder<
|
|
31
|
-
TInput,
|
|
32
|
-
OutSchema,
|
|
33
|
-
TServices,
|
|
34
|
-
TLogger,
|
|
35
|
-
TEventPublisher,
|
|
36
|
-
TEventPublisherServiceName,
|
|
37
|
-
TAuditStorage,
|
|
38
|
-
TAuditStorageServiceName,
|
|
39
|
-
TDatabase,
|
|
40
|
-
TDatabaseServiceName
|
|
41
|
-
> {
|
|
42
|
-
protected _memorySize?: number;
|
|
43
|
-
|
|
44
|
-
constructor(public override type = ConstructType.Function) {
|
|
45
|
-
super(type);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
override timeout(timeout: number): this {
|
|
49
|
-
this._timeout = timeout;
|
|
50
|
-
return this;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
memorySize(memorySize: number): this {
|
|
54
|
-
this._memorySize = memorySize;
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
output<T extends StandardSchemaV1>(
|
|
59
|
-
schema: T,
|
|
60
|
-
): FunctionBuilder<
|
|
61
|
-
TInput,
|
|
62
|
-
T,
|
|
63
|
-
TServices,
|
|
64
|
-
TLogger,
|
|
65
|
-
TEventPublisher,
|
|
66
|
-
TEventPublisherServiceName,
|
|
67
|
-
TAuditStorage,
|
|
68
|
-
TAuditStorageServiceName,
|
|
69
|
-
TDatabase,
|
|
70
|
-
TDatabaseServiceName,
|
|
71
|
-
TAuditAction
|
|
72
|
-
> {
|
|
73
|
-
this.outputSchema = schema as unknown as OutSchema;
|
|
74
|
-
|
|
75
|
-
return this as unknown as FunctionBuilder<
|
|
76
|
-
TInput,
|
|
77
|
-
T,
|
|
78
|
-
TServices,
|
|
79
|
-
TLogger,
|
|
80
|
-
TEventPublisher,
|
|
81
|
-
TEventPublisherServiceName,
|
|
82
|
-
TAuditStorage,
|
|
83
|
-
TAuditStorageServiceName,
|
|
84
|
-
TDatabase,
|
|
85
|
-
TDatabaseServiceName,
|
|
86
|
-
TAuditAction
|
|
87
|
-
>;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
input<T extends ComposableStandardSchema>(
|
|
91
|
-
schema: T,
|
|
92
|
-
): FunctionBuilder<
|
|
93
|
-
T,
|
|
94
|
-
OutSchema,
|
|
95
|
-
TServices,
|
|
96
|
-
TLogger,
|
|
97
|
-
TEventPublisher,
|
|
98
|
-
TEventPublisherServiceName,
|
|
99
|
-
TAuditStorage,
|
|
100
|
-
TAuditStorageServiceName,
|
|
101
|
-
TDatabase,
|
|
102
|
-
TDatabaseServiceName,
|
|
103
|
-
TAuditAction
|
|
104
|
-
> {
|
|
105
|
-
this.inputSchema = schema as unknown as TInput;
|
|
106
|
-
|
|
107
|
-
return this as unknown as FunctionBuilder<
|
|
108
|
-
T,
|
|
109
|
-
OutSchema,
|
|
110
|
-
TServices,
|
|
111
|
-
TLogger,
|
|
112
|
-
TEventPublisher,
|
|
113
|
-
TEventPublisherServiceName,
|
|
114
|
-
TAuditStorage,
|
|
115
|
-
TAuditStorageServiceName,
|
|
116
|
-
TDatabase,
|
|
117
|
-
TDatabaseServiceName,
|
|
118
|
-
TAuditAction
|
|
119
|
-
>;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
services<T extends Service[]>(
|
|
123
|
-
services: T,
|
|
124
|
-
): FunctionBuilder<
|
|
125
|
-
TInput,
|
|
126
|
-
OutSchema,
|
|
127
|
-
[...TServices, ...T],
|
|
128
|
-
TLogger,
|
|
129
|
-
TEventPublisher,
|
|
130
|
-
TEventPublisherServiceName,
|
|
131
|
-
TAuditStorage,
|
|
132
|
-
TAuditStorageServiceName,
|
|
133
|
-
TDatabase,
|
|
134
|
-
TDatabaseServiceName,
|
|
135
|
-
TAuditAction
|
|
136
|
-
> {
|
|
137
|
-
this._services = uniqBy(
|
|
138
|
-
[...this._services, ...services],
|
|
139
|
-
(s) => s.serviceName,
|
|
140
|
-
) as TServices;
|
|
141
|
-
|
|
142
|
-
return this as unknown as FunctionBuilder<
|
|
143
|
-
TInput,
|
|
144
|
-
OutSchema,
|
|
145
|
-
[...TServices, ...T],
|
|
146
|
-
TLogger,
|
|
147
|
-
TEventPublisher,
|
|
148
|
-
TEventPublisherServiceName,
|
|
149
|
-
TAuditStorage,
|
|
150
|
-
TAuditStorageServiceName,
|
|
151
|
-
TDatabase,
|
|
152
|
-
TDatabaseServiceName,
|
|
153
|
-
TAuditAction
|
|
154
|
-
>;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
logger<T extends Logger>(
|
|
158
|
-
logger: T,
|
|
159
|
-
): FunctionBuilder<
|
|
160
|
-
TInput,
|
|
161
|
-
OutSchema,
|
|
162
|
-
TServices,
|
|
163
|
-
T,
|
|
164
|
-
TEventPublisher,
|
|
165
|
-
TEventPublisherServiceName,
|
|
166
|
-
TAuditStorage,
|
|
167
|
-
TAuditStorageServiceName,
|
|
168
|
-
TDatabase,
|
|
169
|
-
TDatabaseServiceName,
|
|
170
|
-
TAuditAction
|
|
171
|
-
> {
|
|
172
|
-
this._logger = logger as unknown as TLogger;
|
|
173
|
-
|
|
174
|
-
return this as unknown as FunctionBuilder<
|
|
175
|
-
TInput,
|
|
176
|
-
OutSchema,
|
|
177
|
-
TServices,
|
|
178
|
-
T,
|
|
179
|
-
TEventPublisher,
|
|
180
|
-
TEventPublisherServiceName,
|
|
181
|
-
TAuditStorage,
|
|
182
|
-
TAuditStorageServiceName,
|
|
183
|
-
TDatabase,
|
|
184
|
-
TDatabaseServiceName,
|
|
185
|
-
TAuditAction
|
|
186
|
-
>;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
override publisher<T extends EventPublisher<any>, TName extends string>(
|
|
190
|
-
publisher: Service<TName, T>,
|
|
191
|
-
): FunctionBuilder<
|
|
192
|
-
TInput,
|
|
193
|
-
OutSchema,
|
|
194
|
-
TServices,
|
|
195
|
-
TLogger,
|
|
196
|
-
T,
|
|
197
|
-
TName,
|
|
198
|
-
TAuditStorage,
|
|
199
|
-
TAuditStorageServiceName,
|
|
200
|
-
TDatabase,
|
|
201
|
-
TDatabaseServiceName,
|
|
202
|
-
TAuditAction
|
|
203
|
-
> {
|
|
204
|
-
this._publisher = publisher as unknown as Service<
|
|
205
|
-
TEventPublisherServiceName,
|
|
206
|
-
TEventPublisher
|
|
207
|
-
>;
|
|
208
|
-
|
|
209
|
-
return this as unknown as FunctionBuilder<
|
|
210
|
-
TInput,
|
|
211
|
-
OutSchema,
|
|
212
|
-
TServices,
|
|
213
|
-
TLogger,
|
|
214
|
-
T,
|
|
215
|
-
TName,
|
|
216
|
-
TAuditStorage,
|
|
217
|
-
TAuditStorageServiceName,
|
|
218
|
-
TDatabase,
|
|
219
|
-
TDatabaseServiceName,
|
|
220
|
-
TAuditAction
|
|
221
|
-
>;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
override auditor<T extends AuditStorage, TName extends string>(
|
|
225
|
-
storage: Service<TName, T>,
|
|
226
|
-
): FunctionBuilder<
|
|
227
|
-
TInput,
|
|
228
|
-
OutSchema,
|
|
229
|
-
TServices,
|
|
230
|
-
TLogger,
|
|
231
|
-
TEventPublisher,
|
|
232
|
-
TEventPublisherServiceName,
|
|
233
|
-
T,
|
|
234
|
-
TName,
|
|
235
|
-
TDatabase,
|
|
236
|
-
TDatabaseServiceName,
|
|
237
|
-
TAuditAction
|
|
238
|
-
> {
|
|
239
|
-
this._auditorStorage = storage as unknown as Service<
|
|
240
|
-
TAuditStorageServiceName,
|
|
241
|
-
TAuditStorage
|
|
242
|
-
>;
|
|
243
|
-
|
|
244
|
-
return this as unknown as FunctionBuilder<
|
|
245
|
-
TInput,
|
|
246
|
-
OutSchema,
|
|
247
|
-
TServices,
|
|
248
|
-
TLogger,
|
|
249
|
-
TEventPublisher,
|
|
250
|
-
TEventPublisherServiceName,
|
|
251
|
-
T,
|
|
252
|
-
TName,
|
|
253
|
-
TDatabase,
|
|
254
|
-
TDatabaseServiceName,
|
|
255
|
-
TAuditAction
|
|
256
|
-
>;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* Set the audit action types for this function.
|
|
261
|
-
* This provides type-safety for the auditor in the handler context.
|
|
262
|
-
*/
|
|
263
|
-
actions<T extends AuditableAction<string, unknown>>(): FunctionBuilder<
|
|
264
|
-
TInput,
|
|
265
|
-
OutSchema,
|
|
266
|
-
TServices,
|
|
267
|
-
TLogger,
|
|
268
|
-
TEventPublisher,
|
|
269
|
-
TEventPublisherServiceName,
|
|
270
|
-
TAuditStorage,
|
|
271
|
-
TAuditStorageServiceName,
|
|
272
|
-
TDatabase,
|
|
273
|
-
TDatabaseServiceName,
|
|
274
|
-
T
|
|
275
|
-
> {
|
|
276
|
-
return this as unknown as FunctionBuilder<
|
|
277
|
-
TInput,
|
|
278
|
-
OutSchema,
|
|
279
|
-
TServices,
|
|
280
|
-
TLogger,
|
|
281
|
-
TEventPublisher,
|
|
282
|
-
TEventPublisherServiceName,
|
|
283
|
-
TAuditStorage,
|
|
284
|
-
TAuditStorageServiceName,
|
|
285
|
-
TDatabase,
|
|
286
|
-
TDatabaseServiceName,
|
|
287
|
-
T
|
|
288
|
-
>;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* Set the database service for this function.
|
|
293
|
-
* The database will be available in the handler context as `db`.
|
|
294
|
-
*/
|
|
295
|
-
override database<T, TName extends string>(
|
|
296
|
-
service: Service<TName, T>,
|
|
297
|
-
): FunctionBuilder<
|
|
298
|
-
TInput,
|
|
299
|
-
OutSchema,
|
|
300
|
-
TServices,
|
|
301
|
-
TLogger,
|
|
302
|
-
TEventPublisher,
|
|
303
|
-
TEventPublisherServiceName,
|
|
304
|
-
TAuditStorage,
|
|
305
|
-
TAuditStorageServiceName,
|
|
306
|
-
T,
|
|
307
|
-
TName,
|
|
308
|
-
TAuditAction
|
|
309
|
-
> {
|
|
310
|
-
this._databaseService = service as unknown as Service<
|
|
311
|
-
TDatabaseServiceName,
|
|
312
|
-
TDatabase
|
|
313
|
-
>;
|
|
314
|
-
|
|
315
|
-
return this as unknown as FunctionBuilder<
|
|
316
|
-
TInput,
|
|
317
|
-
OutSchema,
|
|
318
|
-
TServices,
|
|
319
|
-
TLogger,
|
|
320
|
-
TEventPublisher,
|
|
321
|
-
TEventPublisherServiceName,
|
|
322
|
-
TAuditStorage,
|
|
323
|
-
TAuditStorageServiceName,
|
|
324
|
-
T,
|
|
325
|
-
TName,
|
|
326
|
-
TAuditAction
|
|
327
|
-
>;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
handle(
|
|
331
|
-
fn: FunctionHandler<
|
|
332
|
-
TInput,
|
|
333
|
-
TServices,
|
|
334
|
-
TLogger,
|
|
335
|
-
OutSchema,
|
|
336
|
-
TDatabase,
|
|
337
|
-
TAuditStorage,
|
|
338
|
-
TAuditAction
|
|
339
|
-
>,
|
|
340
|
-
): Function<
|
|
341
|
-
TInput,
|
|
342
|
-
TServices,
|
|
343
|
-
TLogger,
|
|
344
|
-
OutSchema,
|
|
345
|
-
TEventPublisher,
|
|
346
|
-
TEventPublisherServiceName,
|
|
347
|
-
TAuditStorage,
|
|
348
|
-
TAuditStorageServiceName,
|
|
349
|
-
TDatabase,
|
|
350
|
-
TDatabaseServiceName,
|
|
351
|
-
TAuditAction,
|
|
352
|
-
FunctionHandler<
|
|
353
|
-
TInput,
|
|
354
|
-
TServices,
|
|
355
|
-
TLogger,
|
|
356
|
-
OutSchema,
|
|
357
|
-
TDatabase,
|
|
358
|
-
TAuditStorage,
|
|
359
|
-
TAuditAction
|
|
360
|
-
>
|
|
361
|
-
> {
|
|
362
|
-
const func = new Function(
|
|
363
|
-
fn,
|
|
364
|
-
this._timeout,
|
|
365
|
-
this.type,
|
|
366
|
-
this.inputSchema,
|
|
367
|
-
this.outputSchema,
|
|
368
|
-
this._services,
|
|
369
|
-
this._logger,
|
|
370
|
-
this._publisher,
|
|
371
|
-
this._events,
|
|
372
|
-
this._memorySize,
|
|
373
|
-
this._auditorStorage,
|
|
374
|
-
this._databaseService,
|
|
375
|
-
);
|
|
376
|
-
|
|
377
|
-
// Reset builder state after creating the function to prevent pollution
|
|
378
|
-
this._services = [] as Service[] as TServices;
|
|
379
|
-
this._logger = DEFAULT_LOGGER;
|
|
380
|
-
this._events = [];
|
|
381
|
-
this._publisher = undefined;
|
|
382
|
-
this._auditorStorage = undefined;
|
|
383
|
-
this._databaseService = undefined;
|
|
384
|
-
this.inputSchema = undefined;
|
|
385
|
-
this.outputSchema = undefined;
|
|
386
|
-
this._timeout = undefined;
|
|
387
|
-
this._memorySize = undefined;
|
|
388
|
-
|
|
389
|
-
return func;
|
|
390
|
-
}
|
|
391
|
-
}
|