@geekmidas/constructs 0.0.11 → 0.0.13
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 +448 -0
- package/dist/AWSLambdaFunction-B-Oxr8qt.d.cts +30 -0
- package/dist/{AWSLambdaFunction-DcI_77u8.cjs → AWSLambdaFunction-C-fuCLA3.cjs} +28 -5
- package/dist/AWSLambdaFunction-C-fuCLA3.cjs.map +1 -0
- package/dist/AWSLambdaFunction-CAm9r5ZX.d.mts +30 -0
- package/dist/{AWSLambdaFunction-BTSGYZSx.mjs → AWSLambdaFunction-H65WfXLt.mjs} +28 -5
- package/dist/AWSLambdaFunction-H65WfXLt.mjs.map +1 -0
- package/dist/{AWSLambdaSubscriberAdaptor-mLOpS63x.d.mts → AWSLambdaSubscriberAdaptor-Cknp_nn1.d.cts} +4 -4
- package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs} +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs.map → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs.map} +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-DX5NFdWf.d.cts → AWSLambdaSubscriberAdaptor-DpHzp-AM.d.mts} +4 -4
- package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs} +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs.map → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayEndpointAdaptor-CATWBIJo.d.mts → AmazonApiGatewayEndpointAdaptor-4hPy5vty.d.mts} +9 -8
- package/dist/{AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs → AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs} +51 -16
- package/dist/AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs.map +1 -0
- package/dist/{AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs → AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs} +51 -16
- package/dist/AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs.map +1 -0
- package/dist/{AmazonApiGatewayEndpointAdaptor-BwtDtS-i.d.cts → AmazonApiGatewayEndpointAdaptor-ro0RMLzr.d.cts} +8 -7
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs → AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs} +3 -3
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs.map → AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-B1AVk2MM.d.cts → AmazonApiGatewayV1EndpointAdaptor-BWJWKqQT.d.cts} +3 -3
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs → AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs} +3 -3
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs.map → AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-2Rd0LLz4.d.mts → AmazonApiGatewayV1EndpointAdaptor-hyR-WwyP.d.mts} +4 -4
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs → AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs} +3 -3
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs.map → AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs → AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs} +3 -3
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs.map → AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DmY_QfjO.d.cts → AmazonApiGatewayV2EndpointAdaptor-D1Irdggp.d.cts} +3 -3
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-cBDfwdBx.d.mts → AmazonApiGatewayV2EndpointAdaptor-DX3SuI5S.d.mts} +4 -4
- package/dist/{Authorizer-Bbk9ziuG.d.mts → Authorizer-BTmly8ps.d.cts} +1 -1
- package/dist/{Authorizer-iXsSB600.d.cts → Authorizer-pmPvIVgv.d.mts} +1 -1
- package/dist/{BaseFunctionBuilder-DSqF1r3a.mjs → BaseFunctionBuilder-B5gkW0Kt.mjs} +16 -2
- package/dist/BaseFunctionBuilder-B5gkW0Kt.mjs.map +1 -0
- package/dist/{BaseFunctionBuilder-bTDKP7bd.cjs → BaseFunctionBuilder-C5Se7pdL.cjs} +16 -2
- package/dist/BaseFunctionBuilder-C5Se7pdL.cjs.map +1 -0
- package/dist/{BaseFunctionBuilder-DOcm1heZ.d.mts → BaseFunctionBuilder-CbDnPZpD.d.mts} +13 -4
- package/dist/{BaseFunctionBuilder-hWNVKXQB.d.cts → BaseFunctionBuilder-DUZMbEr3.d.cts} +13 -4
- package/dist/{Construct-XCGKof_O.cjs → Construct-BYSPikVm.cjs} +8 -3
- package/dist/Construct-BYSPikVm.cjs.map +1 -0
- package/dist/{Construct-rZQg2yus.mjs → Construct-LWeB1rSQ.mjs} +8 -3
- package/dist/Construct-LWeB1rSQ.mjs.map +1 -0
- package/dist/{Construct-iDmbkZ3o.d.mts → Construct-ZPqE0vhn.d.mts} +5 -3
- package/dist/{Construct-zc8BkRSp.d.cts → Construct-dI_rgdSp.d.cts} +5 -3
- package/dist/Construct.cjs +1 -1
- package/dist/Construct.d.cts +1 -1
- package/dist/Construct.d.mts +1 -1
- package/dist/Construct.mjs +1 -1
- package/dist/{Cron-CYIhd0VE.cjs → Cron-Bi3QOge_.cjs} +5 -5
- package/dist/Cron-Bi3QOge_.cjs.map +1 -0
- package/dist/{Cron-D5HGEt6g.d.mts → Cron-COdfP0Jd.d.cts} +5 -5
- package/dist/{Cron-DbJNPTbP.d.cts → Cron-D8cn_ahj.d.mts} +5 -5
- package/dist/{Cron-BnO1uXhh.mjs → Cron-Dy_HW2Vv.mjs} +5 -5
- package/dist/Cron-Dy_HW2Vv.mjs.map +1 -0
- package/dist/{CronBuilder-BxKwHCdJ.mjs → CronBuilder-Bl3A2Zp4.mjs} +15 -6
- package/dist/CronBuilder-Bl3A2Zp4.mjs.map +1 -0
- package/dist/{CronBuilder-D-546XtP.d.cts → CronBuilder-DntF6H3A.d.cts} +17 -12
- package/dist/{CronBuilder-vRiZb1_N.d.mts → CronBuilder-DoMnSs_0.d.mts} +17 -12
- package/dist/{CronBuilder-D_3AiPFO.cjs → CronBuilder-Dv_w7Yri.cjs} +15 -6
- package/dist/CronBuilder-Dv_w7Yri.cjs.map +1 -0
- package/dist/{Endpoint-DqZkc6ft.d.mts → Endpoint-Bbs_sFvg.d.mts} +120 -23
- package/dist/{Endpoint-BpTSQn7W.d.cts → Endpoint-Bu8Phz6y.d.cts} +120 -23
- package/dist/{Endpoint-BdIGWw1H.cjs → Endpoint-DDpF7NO1.cjs} +22 -10
- package/dist/Endpoint-DDpF7NO1.cjs.map +1 -0
- package/dist/{Endpoint-ChzcIFdV.mjs → Endpoint-S6Yh2_PN.mjs} +22 -10
- package/dist/Endpoint-S6Yh2_PN.mjs.map +1 -0
- package/dist/EndpointBuilder-CPxmF_w7.d.cts +103 -0
- package/dist/EndpointBuilder-Csfyfjd7.d.mts +103 -0
- package/dist/{EndpointBuilder-dmMiNRm9.cjs → EndpointBuilder-DpGmObMb.cjs} +68 -5
- package/dist/EndpointBuilder-DpGmObMb.cjs.map +1 -0
- package/dist/{EndpointBuilder-yo40Qkf_.mjs → EndpointBuilder-aE2E6WTx.mjs} +68 -5
- package/dist/EndpointBuilder-aE2E6WTx.mjs.map +1 -0
- package/dist/{EndpointFactory-D_mmO7Gu.d.mts → EndpointFactory-Bf9JSWzI.d.cts} +12 -11
- package/dist/{EndpointFactory-CNbcr8u_.cjs → EndpointFactory-BfH6mjJ3.cjs} +3 -3
- package/dist/EndpointFactory-BfH6mjJ3.cjs.map +1 -0
- package/dist/{EndpointFactory-JPhk0Qom.d.cts → EndpointFactory-Cgk1R0oO.d.mts} +12 -11
- package/dist/{EndpointFactory-LD3upVQK.mjs → EndpointFactory-D4leYk1N.mjs} +3 -3
- package/dist/EndpointFactory-D4leYk1N.mjs.map +1 -0
- package/dist/{Function-DDaSfL_E.cjs → Function-DagDbeXo.cjs} +7 -6
- package/dist/Function-DagDbeXo.cjs.map +1 -0
- package/dist/{Function-Cl9fiR3a.mjs → Function-DfKsM5Kx.mjs} +7 -6
- package/dist/Function-DfKsM5Kx.mjs.map +1 -0
- package/dist/{Function-C-5_23Wi.d.mts → Function-V9M9UVHp.d.mts} +25 -7
- package/dist/{Function-CW-WcZTu.d.cts → Function-VI1TB3Mh.d.cts} +25 -7
- package/dist/{FunctionBuilder-vW12WFOw.mjs → FunctionBuilder-CVT7bG2o.mjs} +27 -6
- package/dist/FunctionBuilder-CVT7bG2o.mjs.map +1 -0
- package/dist/FunctionBuilder-CjVEFTYC.d.cts +38 -0
- package/dist/FunctionBuilder-D1ofSeMd.d.mts +38 -0
- package/dist/{FunctionBuilder-LQuBiqRc.cjs → FunctionBuilder-DXvG_XD-.cjs} +27 -6
- package/dist/FunctionBuilder-DXvG_XD-.cjs.map +1 -0
- package/dist/FunctionExecutionWrapper-Bubnr0zA.mjs +101 -0
- package/dist/FunctionExecutionWrapper-Bubnr0zA.mjs.map +1 -0
- package/dist/FunctionExecutionWrapper-CwtwYozd.d.cts +48 -0
- package/dist/FunctionExecutionWrapper-DkNycmOh.cjs +107 -0
- package/dist/FunctionExecutionWrapper-DkNycmOh.cjs.map +1 -0
- package/dist/FunctionExecutionWrapper-rhbIYT0Q.d.mts +48 -0
- package/dist/{HonoEndpointAdaptor-BVQtyvna.d.cts → HonoEndpointAdaptor-B34kNobH.d.cts} +8 -7
- package/dist/{HonoEndpointAdaptor-W-disJnm.d.mts → HonoEndpointAdaptor-BDpi32mH.d.mts} +9 -8
- package/dist/{HonoEndpointAdaptor-Bc61IS6Q.cjs → HonoEndpointAdaptor-CfLRHHFw.cjs} +55 -20
- package/dist/HonoEndpointAdaptor-CfLRHHFw.cjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-NR3h5gml.mjs → HonoEndpointAdaptor-DuyE06nH.mjs} +55 -20
- package/dist/HonoEndpointAdaptor-DuyE06nH.mjs.map +1 -0
- package/dist/{Subscriber-C2OPATI8.cjs → Subscriber-Bdh8rMSL.cjs} +2 -2
- package/dist/{Subscriber-C2OPATI8.cjs.map → Subscriber-Bdh8rMSL.cjs.map} +1 -1
- package/dist/{Subscriber-BVq3ST4C.d.cts → Subscriber-BhzqUzs-.d.cts} +2 -2
- package/dist/{Subscriber-BKftCzwT.mjs → Subscriber-CJOWwaw1.mjs} +2 -2
- package/dist/{Subscriber-BKftCzwT.mjs.map → Subscriber-CJOWwaw1.mjs.map} +1 -1
- package/dist/{Subscriber-BuHaqWo4.d.mts → Subscriber-s6yfjeOc.d.mts} +2 -2
- package/dist/{SubscriberBuilder-2asHtGbl.d.mts → SubscriberBuilder-BCVkp-ga.d.cts} +3 -3
- package/dist/{SubscriberBuilder-yDfpHPZE.mjs → SubscriberBuilder-BWQmiYd8.mjs} +2 -2
- package/dist/{SubscriberBuilder-yDfpHPZE.mjs.map → SubscriberBuilder-BWQmiYd8.mjs.map} +1 -1
- package/dist/{SubscriberBuilder-yikoQ8ND.cjs → SubscriberBuilder-DieD_60p.cjs} +2 -2
- package/dist/{SubscriberBuilder-yikoQ8ND.cjs.map → SubscriberBuilder-DieD_60p.cjs.map} +1 -1
- package/dist/{SubscriberBuilder-CHIRyNjy.d.cts → SubscriberBuilder-aCua5_wA.d.mts} +3 -3
- package/dist/{TestEndpointAdaptor-DpmNXp7G.mjs → TestEndpointAdaptor-BEyZa0Yg.mjs} +51 -18
- package/dist/TestEndpointAdaptor-BEyZa0Yg.mjs.map +1 -0
- package/dist/{TestEndpointAdaptor-DA1D6l-U.cjs → TestEndpointAdaptor-C8425RJ0.cjs} +51 -18
- package/dist/TestEndpointAdaptor-C8425RJ0.cjs.map +1 -0
- package/dist/{TestEndpointAdaptor-BrE5Rs4U.d.cts → TestEndpointAdaptor-H5To8PH7.d.cts} +6 -5
- package/dist/{TestEndpointAdaptor-B10J-cI-.d.mts → TestEndpointAdaptor-jxn68ayg.d.mts} +7 -6
- package/dist/adaptors/aws.cjs +14 -13
- package/dist/adaptors/aws.d.cts +14 -14
- package/dist/adaptors/aws.d.mts +15 -15
- package/dist/adaptors/aws.mjs +14 -13
- package/dist/adaptors/hono.cjs +10 -9
- package/dist/adaptors/hono.d.cts +8 -8
- package/dist/adaptors/hono.d.mts +9 -9
- package/dist/adaptors/hono.mjs +10 -9
- package/dist/adaptors/testing.cjs +8 -7
- package/dist/adaptors/testing.d.cts +8 -8
- package/dist/adaptors/testing.d.mts +9 -9
- package/dist/adaptors/testing.mjs +8 -7
- package/dist/crons/Cron.cjs +6 -6
- package/dist/crons/Cron.d.cts +6 -6
- package/dist/crons/Cron.d.mts +6 -6
- package/dist/crons/Cron.mjs +6 -6
- package/dist/crons/CronBuilder.cjs +7 -7
- package/dist/crons/CronBuilder.d.cts +7 -7
- package/dist/crons/CronBuilder.d.mts +7 -7
- package/dist/crons/CronBuilder.mjs +7 -7
- package/dist/crons/index.cjs +7 -7
- package/dist/crons/index.d.cts +11 -11
- package/dist/crons/index.d.mts +8 -8
- package/dist/crons/index.mjs +7 -7
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +8 -7
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +8 -8
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +8 -7
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +10 -9
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +9 -9
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +10 -10
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +10 -9
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +10 -9
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +9 -9
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +10 -10
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +10 -9
- package/dist/endpoints/Authorizer.d.cts +1 -1
- package/dist/endpoints/Authorizer.d.mts +1 -1
- package/dist/endpoints/Endpoint.cjs +6 -6
- package/dist/endpoints/Endpoint.d.cts +7 -7
- package/dist/endpoints/Endpoint.d.mts +8 -8
- package/dist/endpoints/Endpoint.mjs +6 -6
- package/dist/endpoints/EndpointBuilder.cjs +7 -7
- package/dist/endpoints/EndpointBuilder.d.cts +8 -8
- package/dist/endpoints/EndpointBuilder.d.mts +9 -9
- package/dist/endpoints/EndpointBuilder.mjs +7 -7
- package/dist/endpoints/EndpointFactory.cjs +8 -8
- package/dist/endpoints/EndpointFactory.d.cts +9 -9
- package/dist/endpoints/EndpointFactory.d.mts +10 -10
- package/dist/endpoints/EndpointFactory.mjs +8 -8
- package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
- package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -8
- package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
- package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
- package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -8
- package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
- package/dist/endpoints/audit.cjs +0 -0
- package/dist/endpoints/audit.d.cts +9 -0
- package/dist/endpoints/audit.d.mts +9 -0
- package/dist/endpoints/audit.mjs +0 -0
- package/dist/endpoints/helpers.cjs +7 -7
- package/dist/endpoints/helpers.d.cts +7 -7
- package/dist/endpoints/helpers.d.mts +8 -8
- package/dist/endpoints/helpers.mjs +7 -7
- package/dist/endpoints/index.cjs +8 -8
- package/dist/endpoints/index.cjs.map +1 -1
- package/dist/endpoints/index.d.cts +12 -12
- package/dist/endpoints/index.d.mts +13 -13
- package/dist/endpoints/index.mjs +8 -8
- package/dist/endpoints/index.mjs.map +1 -1
- package/dist/endpoints/parseHonoQuery.cjs +1 -1
- package/dist/endpoints/parseHonoQuery.mjs +1 -1
- package/dist/endpoints/parseQueryParams.cjs +1 -1
- package/dist/endpoints/parseQueryParams.mjs +1 -1
- package/dist/endpoints/processAudits.cjs +5 -0
- package/dist/endpoints/processAudits.d.cts +74 -0
- package/dist/endpoints/processAudits.d.mts +74 -0
- package/dist/endpoints/processAudits.mjs +3 -0
- package/dist/functions/AWSLambdaFunction.cjs +6 -6
- package/dist/functions/AWSLambdaFunction.d.cts +4 -4
- package/dist/functions/AWSLambdaFunction.d.mts +4 -4
- package/dist/functions/AWSLambdaFunction.mjs +6 -6
- package/dist/functions/BaseFunctionBuilder.cjs +2 -2
- package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
- package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
- package/dist/functions/BaseFunctionBuilder.mjs +2 -2
- package/dist/functions/Function.cjs +2 -2
- package/dist/functions/Function.d.cts +2 -2
- package/dist/functions/Function.d.mts +2 -2
- package/dist/functions/Function.mjs +2 -2
- package/dist/functions/FunctionBuilder.cjs +4 -4
- package/dist/functions/FunctionBuilder.d.cts +4 -4
- package/dist/functions/FunctionBuilder.d.mts +4 -4
- package/dist/functions/FunctionBuilder.mjs +4 -4
- package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
- package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
- package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
- package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
- package/dist/functions/TestFunctionAdaptor.cjs +38 -5
- package/dist/functions/TestFunctionAdaptor.cjs.map +1 -1
- package/dist/functions/TestFunctionAdaptor.d.cts +10 -7
- package/dist/functions/TestFunctionAdaptor.d.mts +10 -7
- package/dist/functions/TestFunctionAdaptor.mjs +38 -5
- package/dist/functions/TestFunctionAdaptor.mjs.map +1 -1
- package/dist/functions/index.cjs +5 -5
- package/dist/functions/index.d.cts +5 -5
- package/dist/functions/index.d.mts +5 -5
- package/dist/functions/index.mjs +5 -5
- package/dist/{functions-yg097ymU.cjs → functions-FCb-wWFC.cjs} +2 -2
- package/dist/{functions-yg097ymU.cjs.map → functions-FCb-wWFC.cjs.map} +1 -1
- package/dist/functions-JhRsNoAZ.mjs +8 -0
- package/dist/{functions-HCoZ4YKF.mjs.map → functions-JhRsNoAZ.mjs.map} +1 -1
- package/dist/{helpers-CHsIWAEx.mjs → helpers-2CLKTnRm.mjs} +2 -2
- package/dist/{helpers-CHsIWAEx.mjs.map → helpers-2CLKTnRm.mjs.map} +1 -1
- package/dist/{helpers-Cq6wjo7s.cjs → helpers-Khuhi_Qx.cjs} +2 -2
- package/dist/{helpers-Cq6wjo7s.cjs.map → helpers-Khuhi_Qx.cjs.map} +1 -1
- package/dist/index-Bomy7R9z.d.mts +10 -0
- package/dist/index-DRYfZHb3.d.cts +10 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{parseHonoQuery-DopC24vB.cjs → parseHonoQuery-CT8Cvin-.cjs} +1 -1
- package/dist/{parseHonoQuery-DopC24vB.cjs.map → parseHonoQuery-CT8Cvin-.cjs.map} +1 -1
- package/dist/{parseHonoQuery-znDKBhdE.mjs → parseHonoQuery-CwFKw2ua.mjs} +1 -1
- package/dist/{parseHonoQuery-znDKBhdE.mjs.map → parseHonoQuery-CwFKw2ua.mjs.map} +1 -1
- package/dist/{parseQueryParams-BJaRh3OB.mjs → parseQueryParams-CHINupbZ.mjs} +1 -1
- package/dist/{parseQueryParams-BJaRh3OB.mjs.map → parseQueryParams-CHINupbZ.mjs.map} +1 -1
- package/dist/{parseQueryParams-BzPop4I1.cjs → parseQueryParams-CwvXXwkW.cjs} +1 -1
- package/dist/{parseQueryParams-BzPop4I1.cjs.map → parseQueryParams-CwvXXwkW.cjs.map} +1 -1
- package/dist/processAudits-BFokHhCO.cjs +174 -0
- package/dist/processAudits-BFokHhCO.cjs.map +1 -0
- package/dist/processAudits-DfcB-X-4.mjs +156 -0
- package/dist/processAudits-DfcB-X-4.mjs.map +1 -0
- package/dist/publisher-Bw4770Hi.mjs.map +1 -1
- package/dist/publisher-lFQleddL.cjs.map +1 -1
- package/dist/publisher.d.cts +3 -2
- package/dist/publisher.d.mts +3 -2
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
- package/dist/subscribers/Subscriber.cjs +2 -2
- package/dist/subscribers/Subscriber.d.cts +2 -2
- package/dist/subscribers/Subscriber.d.mts +2 -2
- package/dist/subscribers/Subscriber.mjs +2 -2
- package/dist/subscribers/SubscriberBuilder.cjs +3 -3
- package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
- package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
- package/dist/subscribers/SubscriberBuilder.mjs +3 -3
- package/dist/subscribers/index.cjs +3 -3
- package/dist/subscribers/index.d.cts +5 -5
- package/dist/subscribers/index.d.mts +5 -5
- package/dist/subscribers/index.mjs +3 -3
- package/dist/{types-CVq20-fE.d.mts → types-DKf0juBf.d.mts} +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +15 -11
- package/src/Construct.ts +8 -0
- package/src/crons/Cron.ts +12 -3
- package/src/crons/CronBuilder.ts +85 -13
- package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +2 -2
- package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +112 -20
- package/src/endpoints/Endpoint.ts +208 -39
- package/src/endpoints/EndpointBuilder.ts +291 -21
- package/src/endpoints/EndpointFactory.ts +5 -1
- package/src/endpoints/HonoEndpointAdaptor.ts +144 -33
- package/src/endpoints/TestEndpointAdaptor.ts +116 -21
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +8 -0
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +29 -0
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +626 -0
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +9 -0
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +757 -0
- package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +3 -1
- package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +1 -1
- package/src/endpoints/__tests__/Endpoint.spec.ts +19 -0
- package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +448 -0
- package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +51 -14
- package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +8 -8
- package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +11 -11
- package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +703 -0
- package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +632 -0
- package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +8 -0
- package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +1063 -0
- package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +4 -0
- package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +25 -0
- package/src/endpoints/audit.ts +87 -0
- package/src/endpoints/index.ts +1 -0
- package/src/endpoints/processAudits.ts +348 -0
- package/src/functions/AWSLambdaFunction.ts +125 -12
- package/src/functions/BaseFunctionBuilder.ts +98 -7
- package/src/functions/Function.ts +83 -15
- package/src/functions/FunctionBuilder.ts +217 -17
- package/src/functions/FunctionExecutionWrapper.ts +133 -2
- package/src/functions/TestFunctionAdaptor.ts +94 -8
- package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +82 -0
- package/src/functions/__tests__/Function.audits.spec.ts +393 -0
- package/src/functions/__tests__/Function.spec.ts +76 -0
- package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +54 -7
- package/src/publisher.ts +12 -1
- package/dist/AWSLambdaFunction-BTSGYZSx.mjs.map +0 -1
- package/dist/AWSLambdaFunction-Bel0NFTl.d.mts +0 -27
- package/dist/AWSLambdaFunction-DcI_77u8.cjs.map +0 -1
- package/dist/AWSLambdaFunction-xyCenuD7.d.cts +0 -27
- package/dist/AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs.map +0 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs.map +0 -1
- package/dist/BaseFunctionBuilder-DSqF1r3a.mjs.map +0 -1
- package/dist/BaseFunctionBuilder-bTDKP7bd.cjs.map +0 -1
- package/dist/Construct-XCGKof_O.cjs.map +0 -1
- package/dist/Construct-rZQg2yus.mjs.map +0 -1
- package/dist/Cron-BnO1uXhh.mjs.map +0 -1
- package/dist/Cron-CYIhd0VE.cjs.map +0 -1
- package/dist/CronBuilder-BxKwHCdJ.mjs.map +0 -1
- package/dist/CronBuilder-D_3AiPFO.cjs.map +0 -1
- package/dist/Endpoint-BdIGWw1H.cjs.map +0 -1
- package/dist/Endpoint-ChzcIFdV.mjs.map +0 -1
- package/dist/EndpointBuilder-Cx6pUcCn.d.mts +0 -55
- package/dist/EndpointBuilder-Xka8ULR1.d.cts +0 -55
- package/dist/EndpointBuilder-dmMiNRm9.cjs.map +0 -1
- package/dist/EndpointBuilder-yo40Qkf_.mjs.map +0 -1
- package/dist/EndpointFactory-CNbcr8u_.cjs.map +0 -1
- package/dist/EndpointFactory-LD3upVQK.mjs.map +0 -1
- package/dist/Function-Cl9fiR3a.mjs.map +0 -1
- package/dist/Function-DDaSfL_E.cjs.map +0 -1
- package/dist/FunctionBuilder-LQuBiqRc.cjs.map +0 -1
- package/dist/FunctionBuilder-fU1H7tFN.d.cts +0 -26
- package/dist/FunctionBuilder-udObIGV0.d.mts +0 -26
- package/dist/FunctionBuilder-vW12WFOw.mjs.map +0 -1
- package/dist/FunctionExecutionWrapper-BBIoHUt6.cjs +0 -42
- package/dist/FunctionExecutionWrapper-BBIoHUt6.cjs.map +0 -1
- package/dist/FunctionExecutionWrapper-DYBy9OP3.d.mts +0 -24
- package/dist/FunctionExecutionWrapper-Dtyhid1Q.mjs +0 -36
- package/dist/FunctionExecutionWrapper-Dtyhid1Q.mjs.map +0 -1
- package/dist/FunctionExecutionWrapper-Dwr2ZKzC.d.cts +0 -24
- package/dist/HonoEndpointAdaptor-Bc61IS6Q.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-NR3h5gml.mjs.map +0 -1
- package/dist/TestEndpointAdaptor-DA1D6l-U.cjs.map +0 -1
- package/dist/TestEndpointAdaptor-DpmNXp7G.mjs.map +0 -1
- package/dist/functions-HCoZ4YKF.mjs +0 -8
- package/dist/index-RtxMVjUZ.d.mts +0 -9
- package/dist/index-fiIGH95t.d.cts +0 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cron-Bi3QOge_.cjs","names":["Function","obj: any","ConstructType","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/crons/Cron.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\n\nexport class Cron<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n TEventPublisher,\n TEventPublisherServiceName,\n undefined,\n string,\n TDatabase,\n TDatabaseServiceName\n> {\n static isCron(obj: any): obj is Cron<any, any, any, any> {\n return Boolean(\n obj &&\n (obj as Function).__IS_FUNCTION__ === true &&\n obj.type === ConstructType.Cron,\n );\n }\n\n constructor(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n timeout?: number,\n protected _schedule?: ScheduleExpression,\n input?: TInput,\n outputSchema?: OutSchema,\n services: TServices = [] as unknown as TServices,\n logger?: TLogger,\n publisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n events: any[] = [],\n memorySize?: number,\n databaseService?: Service<TDatabaseServiceName, TDatabase>,\n ) {\n super(\n fn,\n timeout,\n ConstructType.Cron,\n input,\n outputSchema,\n services,\n logger,\n publisherService,\n events,\n memorySize,\n undefined, // auditorStorageService\n databaseService,\n );\n }\n\n get schedule(): ScheduleExpression | undefined {\n return this._schedule;\n }\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronHour =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronDay =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronMonth =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'JAN'\n | 'FEB'\n | 'MAR'\n | 'APR'\n | 'MAY'\n | 'JUN'\n | 'JUL'\n | 'AUG'\n | 'SEP'\n | 'OCT'\n | 'NOV'\n | 'DEC'\n | string; // Allow more complex patterns\n\ntype CronWeekday =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'SUN'\n | 'MON'\n | 'TUE'\n | 'WED'\n | 'THU'\n | 'FRI'\n | 'SAT'\n | `${string}-${string}` // Allow patterns like MON-FRI\n | string; // Allow more complex patterns\n\nexport type CronExpression =\n `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n"],"mappings":";;;;AAUA,IAAa,OAAb,cASUA,0BAYR;CACA,OAAO,OAAOC,KAA2C;AACvD,SAAO,QACL,OACG,IAAiB,oBAAoB,QACtC,IAAI,SAASC,gCAAc,KAC9B;CACF;CAED,YACEC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACAC,iBACA;AACA,QACE,IACA,SACAX,gCAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,oBAEA,gBACD;EAvBS;CAwBX;CAED,IAAI,WAA2C;AAC7C,SAAO,KAAK;CACb;AACF"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Function, FunctionHandler } from "./Function-
|
|
2
|
-
import { Service } from "@geekmidas/services";
|
|
1
|
+
import { Function, FunctionHandler } from "./Function-VI1TB3Mh.cjs";
|
|
3
2
|
import { EventPublisher } from "@geekmidas/events";
|
|
4
3
|
import { Logger } from "@geekmidas/logger";
|
|
4
|
+
import { Service } from "@geekmidas/services";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
6
|
import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
7
7
|
|
|
8
8
|
//#region src/crons/Cron.d.ts
|
|
9
|
-
declare class Cron<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName> {
|
|
9
|
+
declare class Cron<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
|
|
10
10
|
protected _schedule?: ScheduleExpression | undefined;
|
|
11
11
|
static isCron(obj: any): obj is Cron<any, any, any, any>;
|
|
12
|
-
constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number);
|
|
12
|
+
constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number, databaseService?: Service<TDatabaseServiceName, TDatabase>);
|
|
13
13
|
get schedule(): ScheduleExpression | undefined;
|
|
14
14
|
}
|
|
15
15
|
type RateExpression = `rate(${string})`;
|
|
@@ -22,4 +22,4 @@ type CronExpression = `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${
|
|
|
22
22
|
type ScheduleExpression = RateExpression | CronExpression;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { Cron, CronExpression, RateExpression, ScheduleExpression };
|
|
25
|
-
//# sourceMappingURL=Cron-
|
|
25
|
+
//# sourceMappingURL=Cron-COdfP0Jd.d.cts.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Function, FunctionHandler } from "./Function-
|
|
1
|
+
import { Function, FunctionHandler } from "./Function-V9M9UVHp.mjs";
|
|
2
|
+
import { Service } from "@geekmidas/services";
|
|
2
3
|
import { EventPublisher } from "@geekmidas/events";
|
|
3
4
|
import { Logger } from "@geekmidas/logger";
|
|
4
|
-
import { Service } from "@geekmidas/services";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
6
|
import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
7
7
|
|
|
8
8
|
//#region src/crons/Cron.d.ts
|
|
9
|
-
declare class Cron<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName> {
|
|
9
|
+
declare class Cron<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
|
|
10
10
|
protected _schedule?: ScheduleExpression | undefined;
|
|
11
11
|
static isCron(obj: any): obj is Cron<any, any, any, any>;
|
|
12
|
-
constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number);
|
|
12
|
+
constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number, databaseService?: Service<TDatabaseServiceName, TDatabase>);
|
|
13
13
|
get schedule(): ScheduleExpression | undefined;
|
|
14
14
|
}
|
|
15
15
|
type RateExpression = `rate(${string})`;
|
|
@@ -22,4 +22,4 @@ type CronExpression = `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${
|
|
|
22
22
|
type ScheduleExpression = RateExpression | CronExpression;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { Cron, CronExpression, RateExpression, ScheduleExpression };
|
|
25
|
-
//# sourceMappingURL=Cron-
|
|
25
|
+
//# sourceMappingURL=Cron-D8cn_ahj.d.mts.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ConstructType } from "./Construct-
|
|
2
|
-
import { Function } from "./Function-
|
|
1
|
+
import { ConstructType } from "./Construct-LWeB1rSQ.mjs";
|
|
2
|
+
import { Function } from "./Function-DfKsM5Kx.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/crons/Cron.ts
|
|
5
5
|
var Cron = class extends Function {
|
|
6
6
|
static isCron(obj) {
|
|
7
7
|
return Boolean(obj && obj.__IS_FUNCTION__ === true && obj.type === ConstructType.Cron);
|
|
8
8
|
}
|
|
9
|
-
constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = [], memorySize) {
|
|
10
|
-
super(fn, timeout, ConstructType.Cron, input, outputSchema, services, logger, publisherService, events, memorySize);
|
|
9
|
+
constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = [], memorySize, databaseService) {
|
|
10
|
+
super(fn, timeout, ConstructType.Cron, input, outputSchema, services, logger, publisherService, events, memorySize, void 0, databaseService);
|
|
11
11
|
this._schedule = _schedule;
|
|
12
12
|
}
|
|
13
13
|
get schedule() {
|
|
@@ -17,4 +17,4 @@ var Cron = class extends Function {
|
|
|
17
17
|
|
|
18
18
|
//#endregion
|
|
19
19
|
export { Cron };
|
|
20
|
-
//# sourceMappingURL=Cron-
|
|
20
|
+
//# sourceMappingURL=Cron-Dy_HW2Vv.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cron-Dy_HW2Vv.mjs","names":["obj: any","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/crons/Cron.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\n\nexport class Cron<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n TEventPublisher,\n TEventPublisherServiceName,\n undefined,\n string,\n TDatabase,\n TDatabaseServiceName\n> {\n static isCron(obj: any): obj is Cron<any, any, any, any> {\n return Boolean(\n obj &&\n (obj as Function).__IS_FUNCTION__ === true &&\n obj.type === ConstructType.Cron,\n );\n }\n\n constructor(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n timeout?: number,\n protected _schedule?: ScheduleExpression,\n input?: TInput,\n outputSchema?: OutSchema,\n services: TServices = [] as unknown as TServices,\n logger?: TLogger,\n publisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n events: any[] = [],\n memorySize?: number,\n databaseService?: Service<TDatabaseServiceName, TDatabase>,\n ) {\n super(\n fn,\n timeout,\n ConstructType.Cron,\n input,\n outputSchema,\n services,\n logger,\n publisherService,\n events,\n memorySize,\n undefined, // auditorStorageService\n databaseService,\n );\n }\n\n get schedule(): ScheduleExpression | undefined {\n return this._schedule;\n }\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronHour =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronDay =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronMonth =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'JAN'\n | 'FEB'\n | 'MAR'\n | 'APR'\n | 'MAY'\n | 'JUN'\n | 'JUL'\n | 'AUG'\n | 'SEP'\n | 'OCT'\n | 'NOV'\n | 'DEC'\n | string; // Allow more complex patterns\n\ntype CronWeekday =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'SUN'\n | 'MON'\n | 'TUE'\n | 'WED'\n | 'THU'\n | 'FRI'\n | 'SAT'\n | `${string}-${string}` // Allow patterns like MON-FRI\n | string; // Allow more complex patterns\n\nexport type CronExpression =\n `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n"],"mappings":";;;;AAUA,IAAa,OAAb,cASU,SAYR;CACA,OAAO,OAAOA,KAA2C;AACvD,SAAO,QACL,OACG,IAAiB,oBAAoB,QACtC,IAAI,SAAS,cAAc,KAC9B;CACF;CAED,YACEC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACAC,iBACA;AACA,QACE,IACA,SACA,cAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,oBAEA,gBACD;EAvBS;CAwBX;CAED,IAAI,WAA2C;AAC7C,SAAO,KAAK;CACb;AACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ConstructType } from "./Construct-
|
|
2
|
-
import { FunctionBuilder } from "./FunctionBuilder-
|
|
3
|
-
import { Cron } from "./Cron-
|
|
4
|
-
import uniqBy from "lodash.uniqby";
|
|
1
|
+
import { ConstructType } from "./Construct-LWeB1rSQ.mjs";
|
|
2
|
+
import { FunctionBuilder } from "./FunctionBuilder-CVT7bG2o.mjs";
|
|
3
|
+
import { Cron } from "./Cron-Dy_HW2Vv.mjs";
|
|
5
4
|
import { ConsoleLogger } from "@geekmidas/logger/console";
|
|
5
|
+
import uniqBy from "lodash.uniqby";
|
|
6
6
|
|
|
7
7
|
//#region src/crons/CronBuilder.ts
|
|
8
8
|
const DEFAULT_LOGGER$1 = new ConsoleLogger();
|
|
@@ -39,12 +39,21 @@ var CronBuilder = class extends FunctionBuilder {
|
|
|
39
39
|
this._publisher = publisher;
|
|
40
40
|
return this;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Set the database service for this cron job.
|
|
44
|
+
* The database will be available in the handler context as `db`.
|
|
45
|
+
*/
|
|
46
|
+
database(service) {
|
|
47
|
+
this._databaseService = service;
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
42
50
|
handle(fn) {
|
|
43
|
-
const cron = new Cron(fn, this._timeout, this._schedule, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize);
|
|
51
|
+
const cron = new Cron(fn, this._timeout, this._schedule, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize, this._databaseService);
|
|
44
52
|
this._services = [];
|
|
45
53
|
this._logger = DEFAULT_LOGGER$1;
|
|
46
54
|
this._events = [];
|
|
47
55
|
this._publisher = void 0;
|
|
56
|
+
this._databaseService = void 0;
|
|
48
57
|
this._schedule = void 0;
|
|
49
58
|
this.inputSchema = void 0;
|
|
50
59
|
this.outputSchema = void 0;
|
|
@@ -56,4 +65,4 @@ var CronBuilder = class extends FunctionBuilder {
|
|
|
56
65
|
|
|
57
66
|
//#endregion
|
|
58
67
|
export { CronBuilder };
|
|
59
|
-
//# sourceMappingURL=CronBuilder-
|
|
68
|
+
//# sourceMappingURL=CronBuilder-Bl3A2Zp4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CronBuilder-Bl3A2Zp4.mjs","names":["DEFAULT_LOGGER","memorySize: number","_expression: ScheduleExpression","schema: T","services: T","logger: T","publisher: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>"],"sources":["../src/crons/CronBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { FunctionBuilder, type FunctionHandler } from '../functions';\nimport { Cron, type ScheduleExpression } from './Cron';\n\nimport type { EventPublisher } from '@geekmidas/events';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class CronBuilder<\n TInput extends ComposableStandardSchema,\n TServices extends Service[],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n undefined,\n string,\n TDatabase,\n TDatabaseServiceName\n> {\n private _schedule?: ScheduleExpression;\n\n constructor() {\n super(ConstructType.Cron);\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n schedule(\n _expression: ScheduleExpression,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._schedule = _expression;\n return this;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): CronBuilder<\n T,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as CronBuilder<\n T,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n TLogger,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): CronBuilder<\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as CronBuilder<\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): CronBuilder<\n TInput,\n TServices,\n T,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n T,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the database service for this cron job.\n * The database will be available in the handler context as `db`.\n */\n database<T, TName extends string>(\n service: Service<TName, T>,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n >;\n }\n\n handle(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n ): Cron<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n const cron = new Cron(\n fn,\n this._timeout,\n this._schedule,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n this._databaseService,\n );\n\n // Reset builder state after creating the cron to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this._databaseService = undefined;\n this._schedule = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return cron;\n }\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,cAAb,cASU,gBAWR;CACA,AAAQ;CAER,cAAc;AACZ,QAAM,cAAc,KAAK;CAC1B;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,SACEC,aAUA;AACA,OAAK,YAAY;AACjB,SAAO;CACR;CAED,MACEC,QAUA;AACA,OAAK,cAAc;AAEnB,SAAO;CAUR;CAED,OACEA,QAUA;AACA,OAAK,eAAe;AAEpB,SAAO;CAUR;CAED,SACEC,UAUA;AACA,OAAK,YAAY,OACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAUR;CAED,OACEC,QAUA;AACA,OAAK,UAAU;AAEf,SAAO;CAUR;CAED,UACEC,WAUA;AACA,OAAK,aAAa;AAKlB,SAAO;CAUR;;;;;CAMD,SACEC,SAUA;AACA,OAAK,mBAAmB;AAKxB,SAAO;CAUR;CAED,OACEC,IAUA;EACA,MAAM,OAAO,IAAI,KACf,IACA,KAAK,UACL,KAAK,WACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUR;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FunctionHandler } from "./Function-
|
|
2
|
-
import { FunctionBuilder } from "./FunctionBuilder-
|
|
3
|
-
import { Cron, ScheduleExpression } from "./Cron-
|
|
1
|
+
import { FunctionHandler } from "./Function-VI1TB3Mh.cjs";
|
|
2
|
+
import { FunctionBuilder } from "./FunctionBuilder-CjVEFTYC.cjs";
|
|
3
|
+
import { Cron, ScheduleExpression } from "./Cron-COdfP0Jd.cjs";
|
|
4
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
5
5
|
import { Logger } from "@geekmidas/logger";
|
|
6
6
|
import { Service } from "@geekmidas/services";
|
|
@@ -8,18 +8,23 @@ import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
|
8
8
|
import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
9
9
|
|
|
10
10
|
//#region src/crons/CronBuilder.d.ts
|
|
11
|
-
declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
|
|
11
|
+
declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
|
|
12
12
|
private _schedule?;
|
|
13
13
|
constructor();
|
|
14
14
|
memorySize(memorySize: number): this;
|
|
15
|
-
schedule(_expression: ScheduleExpression): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
16
|
-
input<T extends ComposableStandardSchema>(schema: T): CronBuilder<T, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
17
|
-
output<T extends StandardSchemaV1>(schema: T): CronBuilder<TInput, TServices, TLogger, T, TEventPublisher, TEventPublisherServiceName>;
|
|
18
|
-
services<T extends Service[]>(services: T): CronBuilder<TInput, [...TServices, ...T], TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
19
|
-
logger<T extends Logger>(logger: T): CronBuilder<TInput, TServices, T, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
20
|
-
publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, T, TName>;
|
|
21
|
-
|
|
15
|
+
schedule(_expression: ScheduleExpression): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
16
|
+
input<T extends ComposableStandardSchema>(schema: T): CronBuilder<T, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
17
|
+
output<T extends StandardSchemaV1>(schema: T): CronBuilder<TInput, TServices, TLogger, T, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
18
|
+
services<T extends Service[]>(services: T): CronBuilder<TInput, [...TServices, ...T], TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
19
|
+
logger<T extends Logger>(logger: T): CronBuilder<TInput, TServices, T, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
20
|
+
publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, T, TName, TDatabase, TDatabaseServiceName>;
|
|
21
|
+
/**
|
|
22
|
+
* Set the database service for this cron job.
|
|
23
|
+
* The database will be available in the handler context as `db`.
|
|
24
|
+
*/
|
|
25
|
+
database<T, TName extends string>(service: Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, T, TName>;
|
|
26
|
+
handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>): Cron<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
22
27
|
}
|
|
23
28
|
//#endregion
|
|
24
29
|
export { CronBuilder };
|
|
25
|
-
//# sourceMappingURL=CronBuilder-
|
|
30
|
+
//# sourceMappingURL=CronBuilder-DntF6H3A.d.cts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FunctionHandler } from "./Function-
|
|
2
|
-
import { FunctionBuilder } from "./FunctionBuilder-
|
|
3
|
-
import { Cron, ScheduleExpression } from "./Cron-
|
|
1
|
+
import { FunctionHandler } from "./Function-V9M9UVHp.mjs";
|
|
2
|
+
import { FunctionBuilder } from "./FunctionBuilder-D1ofSeMd.mjs";
|
|
3
|
+
import { Cron, ScheduleExpression } from "./Cron-D8cn_ahj.mjs";
|
|
4
4
|
import { Service } from "@geekmidas/services";
|
|
5
5
|
import { EventPublisher } from "@geekmidas/events";
|
|
6
6
|
import { Logger } from "@geekmidas/logger";
|
|
@@ -8,18 +8,23 @@ import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
|
8
8
|
import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
9
9
|
|
|
10
10
|
//#region src/crons/CronBuilder.d.ts
|
|
11
|
-
declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
|
|
11
|
+
declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
|
|
12
12
|
private _schedule?;
|
|
13
13
|
constructor();
|
|
14
14
|
memorySize(memorySize: number): this;
|
|
15
|
-
schedule(_expression: ScheduleExpression): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
16
|
-
input<T extends ComposableStandardSchema>(schema: T): CronBuilder<T, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
17
|
-
output<T extends StandardSchemaV1>(schema: T): CronBuilder<TInput, TServices, TLogger, T, TEventPublisher, TEventPublisherServiceName>;
|
|
18
|
-
services<T extends Service[]>(services: T): CronBuilder<TInput, [...TServices, ...T], TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
19
|
-
logger<T extends Logger>(logger: T): CronBuilder<TInput, TServices, T, OutSchema, TEventPublisher, TEventPublisherServiceName>;
|
|
20
|
-
publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, T, TName>;
|
|
21
|
-
|
|
15
|
+
schedule(_expression: ScheduleExpression): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
16
|
+
input<T extends ComposableStandardSchema>(schema: T): CronBuilder<T, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
17
|
+
output<T extends StandardSchemaV1>(schema: T): CronBuilder<TInput, TServices, TLogger, T, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
18
|
+
services<T extends Service[]>(services: T): CronBuilder<TInput, [...TServices, ...T], TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
19
|
+
logger<T extends Logger>(logger: T): CronBuilder<TInput, TServices, T, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
20
|
+
publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, T, TName, TDatabase, TDatabaseServiceName>;
|
|
21
|
+
/**
|
|
22
|
+
* Set the database service for this cron job.
|
|
23
|
+
* The database will be available in the handler context as `db`.
|
|
24
|
+
*/
|
|
25
|
+
database<T, TName extends string>(service: Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, T, TName>;
|
|
26
|
+
handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>): Cron<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
22
27
|
}
|
|
23
28
|
//#endregion
|
|
24
29
|
export { CronBuilder };
|
|
25
|
-
//# sourceMappingURL=CronBuilder-
|
|
30
|
+
//# sourceMappingURL=CronBuilder-DoMnSs_0.d.mts.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
const require_Construct = require('./Construct-
|
|
3
|
-
const require_FunctionBuilder = require('./FunctionBuilder-
|
|
4
|
-
const require_Cron = require('./Cron-
|
|
5
|
-
const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
|
|
2
|
+
const require_Construct = require('./Construct-BYSPikVm.cjs');
|
|
3
|
+
const require_FunctionBuilder = require('./FunctionBuilder-DXvG_XD-.cjs');
|
|
4
|
+
const require_Cron = require('./Cron-Bi3QOge_.cjs');
|
|
6
5
|
const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
|
|
6
|
+
const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
|
|
7
7
|
|
|
8
8
|
//#region src/crons/CronBuilder.ts
|
|
9
9
|
const DEFAULT_LOGGER = new __geekmidas_logger_console.ConsoleLogger();
|
|
@@ -40,12 +40,21 @@ var CronBuilder = class extends require_FunctionBuilder.FunctionBuilder {
|
|
|
40
40
|
this._publisher = publisher;
|
|
41
41
|
return this;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Set the database service for this cron job.
|
|
45
|
+
* The database will be available in the handler context as `db`.
|
|
46
|
+
*/
|
|
47
|
+
database(service) {
|
|
48
|
+
this._databaseService = service;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
43
51
|
handle(fn) {
|
|
44
|
-
const cron = new require_Cron.Cron(fn, this._timeout, this._schedule, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize);
|
|
52
|
+
const cron = new require_Cron.Cron(fn, this._timeout, this._schedule, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize, this._databaseService);
|
|
45
53
|
this._services = [];
|
|
46
54
|
this._logger = DEFAULT_LOGGER;
|
|
47
55
|
this._events = [];
|
|
48
56
|
this._publisher = void 0;
|
|
57
|
+
this._databaseService = void 0;
|
|
49
58
|
this._schedule = void 0;
|
|
50
59
|
this.inputSchema = void 0;
|
|
51
60
|
this.outputSchema = void 0;
|
|
@@ -62,4 +71,4 @@ Object.defineProperty(exports, 'CronBuilder', {
|
|
|
62
71
|
return CronBuilder;
|
|
63
72
|
}
|
|
64
73
|
});
|
|
65
|
-
//# sourceMappingURL=CronBuilder-
|
|
74
|
+
//# sourceMappingURL=CronBuilder-Dv_w7Yri.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CronBuilder-Dv_w7Yri.cjs","names":["ConsoleLogger","FunctionBuilder","ConstructType","memorySize: number","_expression: ScheduleExpression","schema: T","services: T","logger: T","publisher: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","Cron"],"sources":["../src/crons/CronBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { FunctionBuilder, type FunctionHandler } from '../functions';\nimport { Cron, type ScheduleExpression } from './Cron';\n\nimport type { EventPublisher } from '@geekmidas/events';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class CronBuilder<\n TInput extends ComposableStandardSchema,\n TServices extends Service[],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n undefined,\n string,\n TDatabase,\n TDatabaseServiceName\n> {\n private _schedule?: ScheduleExpression;\n\n constructor() {\n super(ConstructType.Cron);\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n schedule(\n _expression: ScheduleExpression,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._schedule = _expression;\n return this;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): CronBuilder<\n T,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as CronBuilder<\n T,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n TLogger,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): CronBuilder<\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as CronBuilder<\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): CronBuilder<\n TInput,\n TServices,\n T,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n T,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the database service for this cron job.\n * The database will be available in the handler context as `db`.\n */\n database<T, TName extends string>(\n service: Service<TName, T>,\n ): CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as CronBuilder<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n >;\n }\n\n handle(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n ): Cron<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TDatabaseServiceName\n > {\n const cron = new Cron(\n fn,\n this._timeout,\n this._schedule,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n this._databaseService,\n );\n\n // Reset builder state after creating the cron to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this._databaseService = undefined;\n this._schedule = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return cron;\n }\n}\n"],"mappings":";;;;;;;;AAYA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,cAAb,cASUC,wCAWR;CACA,AAAQ;CAER,cAAc;AACZ,QAAMC,gCAAc,KAAK;CAC1B;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,SACEC,aAUA;AACA,OAAK,YAAY;AACjB,SAAO;CACR;CAED,MACEC,QAUA;AACA,OAAK,cAAc;AAEnB,SAAO;CAUR;CAED,OACEA,QAUA;AACA,OAAK,eAAe;AAEpB,SAAO;CAUR;CAED,SACEC,UAUA;AACA,OAAK,YAAY,2BACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAUR;CAED,OACEC,QAUA;AACA,OAAK,UAAU;AAEf,SAAO;CAUR;CAED,UACEC,WAUA;AACA,OAAK,aAAa;AAKlB,SAAO;CAUR;;;;;CAMD,SACEC,SAUA;AACA,OAAK,mBAAmB;AAKxB,SAAO;CAUR;CAED,OACEC,IAUA;EACA,MAAM,OAAO,IAAIC,kBACf,IACA,KAAK,UACL,KAAK,WACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAU;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}
|
|
@@ -1,17 +1,63 @@
|
|
|
1
|
-
import { HttpMethod, LowerHttpMethod, RemoveUndefined } from "./types-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { HttpMethod, LowerHttpMethod, RemoveUndefined } from "./types-DKf0juBf.mjs";
|
|
2
|
+
import { Function, FunctionHandler } from "./Function-V9M9UVHp.mjs";
|
|
3
|
+
import { Authorizer } from "./Authorizer-pmPvIVgv.mjs";
|
|
4
4
|
import { ComponentCollector, OpenApiSchemaOptions } from "@geekmidas/schema/openapi";
|
|
5
5
|
import { Service, ServiceRecord } from "@geekmidas/services";
|
|
6
|
+
import { AuditActor, AuditStorage, AuditableAction, Auditor, ExtractAuditPayload, ExtractAuditType } from "@geekmidas/audit";
|
|
6
7
|
import { RateLimitConfig } from "@geekmidas/rate-limit";
|
|
7
8
|
import { EventPublisher, ExtractPublisherMessage, MappedEvent } from "@geekmidas/events";
|
|
8
9
|
import { Logger } from "@geekmidas/logger";
|
|
9
10
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
10
|
-
import { OpenAPIV3_1 } from "openapi-types";
|
|
11
11
|
import { InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
|
|
12
|
+
import { OpenAPIV3_1 } from "openapi-types";
|
|
12
13
|
|
|
14
|
+
//#region src/endpoints/audit.d.ts
|
|
15
|
+
/**
|
|
16
|
+
* Defines how to map an endpoint response to an audit record.
|
|
17
|
+
* Similar to MappedEvent for events.
|
|
18
|
+
*
|
|
19
|
+
* @template TAuditAction - Union of all allowed audit action types
|
|
20
|
+
* @template TOutput - The output schema of the endpoint
|
|
21
|
+
*/
|
|
22
|
+
interface MappedAudit<TAuditAction extends AuditableAction<string, unknown>, TOutput extends StandardSchemaV1 | undefined, TType extends ExtractAuditType<TAuditAction> = ExtractAuditType<TAuditAction>> {
|
|
23
|
+
/** The audit type (must be a valid type from TAuditAction) */
|
|
24
|
+
type: TType;
|
|
25
|
+
/** Function to extract payload from the endpoint response */
|
|
26
|
+
payload: (response: TOutput extends StandardSchemaV1 ? InferStandardSchema<TOutput> : unknown) => ExtractAuditPayload<TAuditAction, TType>;
|
|
27
|
+
/** Optional condition to determine if audit should be recorded */
|
|
28
|
+
when?: (response: TOutput extends StandardSchemaV1 ? InferStandardSchema<TOutput> : unknown) => boolean;
|
|
29
|
+
/** Optional function to extract entity ID for easier querying */
|
|
30
|
+
entityId?: (response: TOutput extends StandardSchemaV1 ? InferStandardSchema<TOutput> : unknown) => string | Record<string, unknown>;
|
|
31
|
+
/** Optional table name for the audit record */
|
|
32
|
+
table?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Function type for extracting actor information from request context.
|
|
36
|
+
*
|
|
37
|
+
* @template TServices - Available service dependencies
|
|
38
|
+
* @template TSession - Session data type
|
|
39
|
+
* @template TLogger - Logger type
|
|
40
|
+
*/
|
|
41
|
+
type ActorExtractor<TServices extends Service[] = [], TSession = unknown, TLogger extends Logger = Logger> = (ctx: {
|
|
42
|
+
services: ServiceRecord<TServices>;
|
|
43
|
+
session: TSession;
|
|
44
|
+
header: HeaderFn;
|
|
45
|
+
cookie: CookieFn;
|
|
46
|
+
logger: TLogger;
|
|
47
|
+
}) => AuditActor | Promise<AuditActor>;
|
|
48
|
+
/**
|
|
49
|
+
* Configuration for the auditor on an endpoint.
|
|
50
|
+
*/
|
|
51
|
+
interface EndpointAuditorConfig<TAuditStorage extends AuditStorage, TAuditStorageServiceName extends string, TServices extends Service[], TSession, TLogger extends Logger, TAuditAction extends AuditableAction<string, unknown>, TOutput extends StandardSchemaV1 | undefined> {
|
|
52
|
+
/** The audit storage service */
|
|
53
|
+
storageService: Service<TAuditStorageServiceName, TAuditStorage>;
|
|
54
|
+
/** Optional actor extractor function */
|
|
55
|
+
actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;
|
|
56
|
+
/** Declarative audit definitions */
|
|
57
|
+
audits: MappedAudit<TAuditAction, TOutput>[];
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
13
60
|
//#region src/endpoints/Endpoint.d.ts
|
|
14
|
-
|
|
15
61
|
/**
|
|
16
62
|
* Represents an HTTP endpoint that can handle requests with type-safe input/output validation,
|
|
17
63
|
* dependency injection, session management, and authorization.
|
|
@@ -37,7 +83,7 @@ import { InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/s
|
|
|
37
83
|
* });
|
|
38
84
|
* ```
|
|
39
85
|
*/
|
|
40
|
-
declare class Endpoint<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema
|
|
86
|
+
declare class Endpoint<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction>> {
|
|
41
87
|
operationId?: string;
|
|
42
88
|
/** The route path pattern with parameter placeholders */
|
|
43
89
|
route: TRoute;
|
|
@@ -59,6 +105,12 @@ declare class Endpoint<TRoute extends string, TMethod extends HttpMethod, TInput
|
|
|
59
105
|
rateLimit?: RateLimitConfig;
|
|
60
106
|
/** Optional authorizer for this endpoint */
|
|
61
107
|
authorizer?: Authorizer;
|
|
108
|
+
/** Optional actor extractor for audit records */
|
|
109
|
+
actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;
|
|
110
|
+
/** Declarative audit definitions */
|
|
111
|
+
audits: MappedAudit<TAuditAction, OutSchema>[];
|
|
112
|
+
/** Database service for this endpoint */
|
|
113
|
+
databaseService?: Service<TDatabaseServiceName, TDatabase>;
|
|
62
114
|
/** The endpoint handler function */
|
|
63
115
|
private endpointFn;
|
|
64
116
|
/**
|
|
@@ -159,7 +211,7 @@ declare class Endpoint<TRoute extends string, TMethod extends HttpMethod, TInput
|
|
|
159
211
|
* @internal
|
|
160
212
|
*/
|
|
161
213
|
refineInput(ctx: EndpointContext<TInput, TServices, TLogger, TSession>): InferComposableStandardSchema<TInput>;
|
|
162
|
-
handler: (ctx: EndpointContext<TInput, TServices, TLogger, TSession>, response: ResponseBuilder) => OutSchema extends StandardSchemaV1 ? InferStandardSchema<OutSchema> | ResponseWithMetadata<InferStandardSchema<OutSchema>> | Promise<InferStandardSchema<OutSchema>> | Promise<ResponseWithMetadata<InferStandardSchema<OutSchema>>> : any | ResponseWithMetadata<any> | Promise<any> | Promise<ResponseWithMetadata<any>>;
|
|
214
|
+
handler: (ctx: EndpointContext<TInput, TServices, TLogger, TSession, TAuditAction, TDatabase, TAuditStorage>, response: ResponseBuilder) => OutSchema extends StandardSchemaV1 ? InferStandardSchema<OutSchema> | ResponseWithMetadata<InferStandardSchema<OutSchema>> | Promise<InferStandardSchema<OutSchema>> | Promise<ResponseWithMetadata<InferStandardSchema<OutSchema>>> : any | ResponseWithMetadata<any> | Promise<any> | Promise<ResponseWithMetadata<any>>;
|
|
163
215
|
/**
|
|
164
216
|
* Type guard to check if an object is an Endpoint instance.
|
|
165
217
|
*
|
|
@@ -219,8 +271,12 @@ declare class Endpoint<TRoute extends string, TMethod extends HttpMethod, TInput
|
|
|
219
271
|
status,
|
|
220
272
|
publisherService,
|
|
221
273
|
events,
|
|
222
|
-
authorizer
|
|
223
|
-
|
|
274
|
+
authorizer,
|
|
275
|
+
auditorStorageService,
|
|
276
|
+
actorExtractor,
|
|
277
|
+
audits,
|
|
278
|
+
databaseService
|
|
279
|
+
}: EndpointOptions<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, OutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>);
|
|
224
280
|
}
|
|
225
281
|
/**
|
|
226
282
|
* Defines the input schema structure for an endpoint.
|
|
@@ -254,13 +310,13 @@ type EndpointInput<TBody extends StandardSchemaV1 | undefined = undefined, TSear
|
|
|
254
310
|
* @template TLogger - Logger type
|
|
255
311
|
* @template TSession - Session data type
|
|
256
312
|
*/
|
|
257
|
-
interface EndpointOptions<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutput extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> {
|
|
313
|
+
interface EndpointOptions<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutput extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> {
|
|
258
314
|
/** The route path with parameter placeholders */
|
|
259
315
|
route: TRoute;
|
|
260
316
|
/** The HTTP method for this endpoint */
|
|
261
317
|
method: TMethod;
|
|
262
318
|
/** The handler function that implements the endpoint logic */
|
|
263
|
-
fn: EndpointHandler<TInput, TServices, TLogger, TOutput, TSession>;
|
|
319
|
+
fn: EndpointHandler<TInput, TServices, TLogger, TOutput, TSession, TDatabase, TAuditStorage, TAuditAction>;
|
|
264
320
|
/** Optional authorization check function */
|
|
265
321
|
authorize: AuthorizeFn<TServices, TLogger, TSession> | undefined;
|
|
266
322
|
/** Optional description for documentation */
|
|
@@ -292,6 +348,16 @@ interface EndpointOptions<TRoute extends string, TMethod extends HttpMethod, TIn
|
|
|
292
348
|
events?: MappedEvent<TEventPublisher, OutSchema>[];
|
|
293
349
|
/** Optional authorizer configuration */
|
|
294
350
|
authorizer?: Authorizer;
|
|
351
|
+
/**
|
|
352
|
+
* Auditor storage service for persisting audit records from this endpoint
|
|
353
|
+
*/
|
|
354
|
+
auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>;
|
|
355
|
+
/** Optional actor extractor function for audit records */
|
|
356
|
+
actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;
|
|
357
|
+
/** Declarative audit definitions */
|
|
358
|
+
audits?: MappedAudit<TAuditAction, OutSchema>[];
|
|
359
|
+
/** Database service for this endpoint */
|
|
360
|
+
databaseService?: Service<TDatabaseServiceName, TDatabase>;
|
|
295
361
|
}
|
|
296
362
|
/**
|
|
297
363
|
* Defines the possible input schema types for an endpoint.
|
|
@@ -472,15 +538,9 @@ declare class ResponseBuilder {
|
|
|
472
538
|
getMetadata(): ResponseMetadata;
|
|
473
539
|
}
|
|
474
540
|
/**
|
|
475
|
-
*
|
|
476
|
-
* Contains all parsed input data, services, logger, headers, cookies, and session.
|
|
477
|
-
*
|
|
478
|
-
* @template Input - The input schemas (body, query, params)
|
|
479
|
-
* @template TServices - Available service dependencies
|
|
480
|
-
* @template TLogger - Logger type
|
|
481
|
-
* @template TSession - Session data type
|
|
541
|
+
* Base context properties that are always available
|
|
482
542
|
*/
|
|
483
|
-
type
|
|
543
|
+
type BaseEndpointContext<TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown> = {
|
|
484
544
|
/** Injected service instances */
|
|
485
545
|
services: ServiceRecord<TServices>;
|
|
486
546
|
/** Logger instance for this request */
|
|
@@ -491,7 +551,44 @@ type EndpointContext<Input extends EndpointSchemas | undefined = undefined, TSer
|
|
|
491
551
|
cookie: CookieFn;
|
|
492
552
|
/** Session data extracted by getSession */
|
|
493
553
|
session: TSession;
|
|
494
|
-
}
|
|
554
|
+
};
|
|
555
|
+
/**
|
|
556
|
+
* Conditional auditor context - only present when audit storage is configured
|
|
557
|
+
*/
|
|
558
|
+
type AuditorContext<TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TAuditStorage = undefined> = TAuditStorage extends undefined ? {} : {
|
|
559
|
+
/**
|
|
560
|
+
* Auditor instance for recording audit events.
|
|
561
|
+
* Only present when audit storage is configured on the endpoint.
|
|
562
|
+
* When a transactional database is used for audit storage,
|
|
563
|
+
* the auditor is pre-configured with the transaction context.
|
|
564
|
+
*/
|
|
565
|
+
auditor: Auditor<TAuditAction>;
|
|
566
|
+
};
|
|
567
|
+
/**
|
|
568
|
+
* Conditional database context - only present when database service is configured
|
|
569
|
+
*/
|
|
570
|
+
type DatabaseContext<TDatabase = undefined> = TDatabase extends undefined ? {} : {
|
|
571
|
+
/**
|
|
572
|
+
* Database instance for this request.
|
|
573
|
+
* When audit storage is configured and uses the same database,
|
|
574
|
+
* this will be the transaction for ACID compliance.
|
|
575
|
+
* Otherwise, it's the raw database connection.
|
|
576
|
+
*/
|
|
577
|
+
db: TDatabase;
|
|
578
|
+
};
|
|
579
|
+
/**
|
|
580
|
+
* The execution context provided to endpoint handlers.
|
|
581
|
+
* Contains all parsed input data, services, logger, headers, cookies, and session.
|
|
582
|
+
*
|
|
583
|
+
* @template Input - The input schemas (body, query, params)
|
|
584
|
+
* @template TServices - Available service dependencies
|
|
585
|
+
* @template TLogger - Logger type
|
|
586
|
+
* @template TSession - Session data type
|
|
587
|
+
* @template TAuditAction - Audit action types (when auditor is configured)
|
|
588
|
+
* @template TDatabase - Database type (when database service is configured)
|
|
589
|
+
* @template TAuditStorage - Audit storage type (determines if auditor is present)
|
|
590
|
+
*/
|
|
591
|
+
type EndpointContext<Input extends EndpointSchemas | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TAuditStorage = undefined> = BaseEndpointContext<TServices, TLogger, TSession> & InferComposableStandardSchema<Input> & AuditorContext<TAuditAction, TAuditStorage> & DatabaseContext<TDatabase>;
|
|
495
592
|
/**
|
|
496
593
|
* Handler function type for endpoint implementations.
|
|
497
594
|
*
|
|
@@ -521,7 +618,7 @@ type EndpointContext<Input extends EndpointSchemas | undefined = undefined, TSer
|
|
|
521
618
|
* };
|
|
522
619
|
* ```
|
|
523
620
|
*/
|
|
524
|
-
type EndpointHandler<TInput extends EndpointSchemas | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TSession = unknown> = (ctx: EndpointContext<TInput, TServices, TLogger, TSession>, response: ResponseBuilder) => OutSchema extends StandardSchemaV1 ? InferStandardSchema<OutSchema> | ResponseWithMetadata<InferStandardSchema<OutSchema>> | Promise<InferStandardSchema<OutSchema>> | Promise<ResponseWithMetadata<InferStandardSchema<OutSchema>>> : unknown | ResponseWithMetadata<unknown> | Promise<unknown> | Promise<ResponseWithMetadata<unknown>>;
|
|
621
|
+
type EndpointHandler<TInput extends EndpointSchemas | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TSession = unknown, TDatabase = undefined, TAuditStorage = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = (ctx: EndpointContext<TInput, TServices, TLogger, TSession, TAuditAction, TDatabase, TAuditStorage>, response: ResponseBuilder) => OutSchema extends StandardSchemaV1 ? InferStandardSchema<OutSchema> | ResponseWithMetadata<InferStandardSchema<OutSchema>> | Promise<InferStandardSchema<OutSchema>> | Promise<ResponseWithMetadata<InferStandardSchema<OutSchema>>> : unknown | ResponseWithMetadata<unknown> | Promise<unknown> | Promise<ResponseWithMetadata<unknown>>;
|
|
525
622
|
/**
|
|
526
623
|
* HTTP success status codes that can be returned by endpoints.
|
|
527
624
|
*/
|
|
@@ -542,5 +639,5 @@ declare enum SuccessStatus {
|
|
|
542
639
|
type EndpointOutput<T> = T extends Endpoint<any, any, any, infer OutSchema, any, any, any, any> ? InferStandardSchema<OutSchema> : never;
|
|
543
640
|
type EndpointEvent<T> = T extends Endpoint<any, any, any, any, any, any, any, infer TEventPublisher> ? ExtractPublisherMessage<TEventPublisher> : never;
|
|
544
641
|
//#endregion
|
|
545
|
-
export { AuthorizeContext, AuthorizeFn, ConvertRouteParams, CookieFn, CookieOptions, Endpoint, EndpointContext, EndpointEvent, EndpointHandler, EndpointHeaders, EndpointInput, EndpointOpenApiSchema, EndpointOptions, EndpointOutput, EndpointSchemas, HeaderFn, MultiHeaderFn, ResponseBuilder, ResponseMetadata, ResponseWithMetadata, SessionContext, SessionFn, SingleHeaderFn, SuccessStatus };
|
|
546
|
-
//# sourceMappingURL=Endpoint-
|
|
642
|
+
export { ActorExtractor, AuthorizeContext, AuthorizeFn, ConvertRouteParams, CookieFn, CookieOptions, Endpoint, EndpointAuditorConfig, EndpointContext, EndpointEvent, EndpointHandler, EndpointHeaders, EndpointInput, EndpointOpenApiSchema, EndpointOptions, EndpointOutput, EndpointSchemas, HeaderFn, MappedAudit, MultiHeaderFn, ResponseBuilder, ResponseMetadata, ResponseWithMetadata, SessionContext, SessionFn, SingleHeaderFn, SuccessStatus };
|
|
643
|
+
//# sourceMappingURL=Endpoint-Bbs_sFvg.d.mts.map
|