@geekmidas/constructs 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/{AWSLambdaFunction-BF1gJJjG.d.mts → AWSLambdaFunction-CC8gMZhz.d.mts} +3 -3
- package/dist/{AWSLambdaFunction-BF1gJJjG.d.mts.map → AWSLambdaFunction-CC8gMZhz.d.mts.map} +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-OQvj2lKI.d.mts → AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts} +2 -2
- package/dist/{AWSLambdaSubscriberAdaptor-OQvj2lKI.d.mts.map → AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts.map} +1 -1
- package/dist/{AmazonApiGatewayEndpointAdaptor-D7mhDtSL.cjs → AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs} +2 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs.map +1 -0
- package/dist/{AmazonApiGatewayEndpointAdaptor-Cmm9d_Po.mjs → AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs} +2 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs.map +1 -0
- package/dist/{AmazonApiGatewayEndpointAdaptor-CS-m4WZy.d.mts → AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts} +4 -4
- package/dist/{AmazonApiGatewayEndpointAdaptor-CS-m4WZy.d.mts.map → AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts.map} +1 -1
- package/dist/{AmazonApiGatewayEndpointAdaptor-DisDeEF0.d.cts → AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts} +2 -2
- package/dist/{AmazonApiGatewayEndpointAdaptor-DisDeEF0.d.cts.map → AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-DSMe7dZ4.d.mts → AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts} +4 -4
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-DSMe7dZ4.d.mts.map → AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-zrlehWUG.mjs → AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs} +2 -2
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-zrlehWUG.mjs.map → AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-DstIoQBv.cjs → AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs} +2 -2
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-DstIoQBv.cjs.map → AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-D6wNqjth.d.cts → AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts} +3 -3
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-D6wNqjth.d.cts.map → AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DaAHSnqs.cjs → AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs} +2 -2
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DaAHSnqs.cjs.map → AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-PcMFUEF9.d.cts → AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts} +3 -3
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-PcMFUEF9.d.cts.map → AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-ByljgCnY.d.mts → AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts} +4 -4
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-ByljgCnY.d.mts.map → AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-Dj5v-I6S.mjs → AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs} +2 -2
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-Dj5v-I6S.mjs.map → AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs.map} +1 -1
- package/dist/{Authorizer-Dx57psuM.cjs → Authorizer-BZ1LcZFt.cjs} +1 -1
- package/dist/{Authorizer-Dx57psuM.cjs.map → Authorizer-BZ1LcZFt.cjs.map} +1 -1
- package/dist/{Authorizer-DBsrDTuf.d.mts → Authorizer-C5_FC_Rq.d.mts} +1 -1
- package/dist/{Authorizer-DBsrDTuf.d.mts.map → Authorizer-C5_FC_Rq.d.mts.map} +1 -1
- package/dist/{Authorizer-4unKN3Xn.mjs → Authorizer-CZpg1Jqk.mjs} +1 -1
- package/dist/{Authorizer-4unKN3Xn.mjs.map → Authorizer-CZpg1Jqk.mjs.map} +1 -1
- package/dist/{BaseFunctionBuilder-CsvFjzA8.d.mts → BaseFunctionBuilder-Q5qIlF-F.d.mts} +2 -2
- package/dist/{BaseFunctionBuilder-CsvFjzA8.d.mts.map → BaseFunctionBuilder-Q5qIlF-F.d.mts.map} +1 -1
- package/dist/{Construct-C2SyofdS.d.mts → Construct-BjpXFNxy.d.mts} +1 -1
- package/dist/{Construct-C2SyofdS.d.mts.map → Construct-BjpXFNxy.d.mts.map} +1 -1
- package/dist/Construct.d.mts +1 -1
- package/dist/{Cron-CWxjO2Fg.d.mts → Cron-BljK1gsV.d.mts} +2 -2
- package/dist/{Cron-BDxW6fYg.d.cts.map → Cron-BljK1gsV.d.mts.map} +1 -1
- package/dist/{Cron-DEKZg5j4.cjs → Cron-C1vyfJ8B.cjs} +1 -1
- package/dist/{Cron-DEKZg5j4.cjs.map → Cron-C1vyfJ8B.cjs.map} +1 -1
- package/dist/{Cron-B3vrGuaD.mjs → Cron-CjWQEad0.mjs} +1 -1
- package/dist/{Cron-B3vrGuaD.mjs.map → Cron-CjWQEad0.mjs.map} +1 -1
- package/dist/{Cron-BDxW6fYg.d.cts → Cron-CllHkk3z.d.cts} +1 -1
- package/dist/{Cron-CWxjO2Fg.d.mts.map → Cron-CllHkk3z.d.cts.map} +1 -1
- package/dist/{CronBuilder-VXpyNfp2.mjs → CronBuilder-CAJFtnmZ.mjs} +2 -2
- package/dist/{CronBuilder-VXpyNfp2.mjs.map → CronBuilder-CAJFtnmZ.mjs.map} +1 -1
- package/dist/{CronBuilder-DJnXbDGK.d.mts → CronBuilder-CG54f9LM.d.mts} +4 -4
- package/dist/{CronBuilder-CginrW3H.d.cts.map → CronBuilder-CG54f9LM.d.mts.map} +1 -1
- package/dist/{CronBuilder-BHpY6w3b.cjs → CronBuilder-CSMd02lu.cjs} +2 -2
- package/dist/{CronBuilder-BHpY6w3b.cjs.map → CronBuilder-CSMd02lu.cjs.map} +1 -1
- package/dist/{CronBuilder-CginrW3H.d.cts → CronBuilder-i23l40xs.d.cts} +2 -2
- package/dist/{CronBuilder-DJnXbDGK.d.mts.map → CronBuilder-i23l40xs.d.cts.map} +1 -1
- package/dist/{Endpoint-BIvS-rKH.d.mts → Endpoint-BET0JSZK.d.mts} +9 -9
- package/dist/Endpoint-BET0JSZK.d.mts.map +1 -0
- package/dist/Endpoint-BcxvF4F3.cjs.map +1 -1
- package/dist/{Endpoint-BPh52sXZ.d.cts → Endpoint-CGdCGJkC.d.cts} +6 -6
- package/dist/Endpoint-CGdCGJkC.d.cts.map +1 -0
- package/dist/Endpoint-DvY3aqAy.mjs.map +1 -1
- package/dist/{EndpointBuilder-3xH8Gllw.d.mts → EndpointBuilder-6kdrQyIh.d.mts} +7 -7
- package/dist/EndpointBuilder-6kdrQyIh.d.mts.map +1 -0
- package/dist/{EndpointBuilder-BmVTFp1A.d.cts → EndpointBuilder-CSwIguiR.d.cts} +4 -4
- package/dist/EndpointBuilder-CSwIguiR.d.cts.map +1 -0
- package/dist/{EndpointBuilder-QdDf3x87.cjs → EndpointBuilder-EptJojG9.cjs} +3 -3
- package/dist/EndpointBuilder-EptJojG9.cjs.map +1 -0
- package/dist/{EndpointBuilder-CMzbGG2c.mjs → EndpointBuilder-iDpnACRb.mjs} +3 -3
- package/dist/EndpointBuilder-iDpnACRb.mjs.map +1 -0
- package/dist/{EndpointFactory-DKHnUYl8.d.mts → EndpointFactory-CBagQW5j.d.mts} +6 -6
- package/dist/EndpointFactory-CBagQW5j.d.mts.map +1 -0
- package/dist/{EndpointFactory-AsfUsn-v.cjs → EndpointFactory-D2QxeaAh.cjs} +3 -3
- package/dist/EndpointFactory-D2QxeaAh.cjs.map +1 -0
- package/dist/{EndpointFactory-DaDXPRAg.d.cts → EndpointFactory-DQYSH8XK.d.cts} +5 -5
- package/dist/EndpointFactory-DQYSH8XK.d.cts.map +1 -0
- package/dist/{EndpointFactory-CkPaFZA0.mjs → EndpointFactory-wgcqWod-.mjs} +3 -3
- package/dist/EndpointFactory-wgcqWod-.mjs.map +1 -0
- package/dist/{Function-CZw1DRQ6.d.mts → Function-D74HrBnX.d.mts} +2 -2
- package/dist/{Function-CZw1DRQ6.d.mts.map → Function-D74HrBnX.d.mts.map} +1 -1
- package/dist/{FunctionBuilder-m5BNA2Ap.d.mts → FunctionBuilder-C_qPxC8g.d.mts} +4 -4
- package/dist/{FunctionBuilder-m5BNA2Ap.d.mts.map → FunctionBuilder-C_qPxC8g.d.mts.map} +1 -1
- package/dist/{FunctionExecutionWrapper-C7yYXIq-.d.mts → FunctionExecutionWrapper-xbTmBARx.d.mts} +2 -2
- package/dist/{FunctionExecutionWrapper-C7yYXIq-.d.mts.map → FunctionExecutionWrapper-xbTmBARx.d.mts.map} +1 -1
- package/dist/{HonoEndpointAdaptor-Jbptyuxv.cjs → HonoEndpointAdaptor-B5fKdLi7.cjs} +2 -1
- package/dist/HonoEndpointAdaptor-B5fKdLi7.cjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-Cb45sqM9.d.mts → HonoEndpointAdaptor-C2deTEwW.d.mts} +5 -5
- package/dist/{HonoEndpointAdaptor-Cb45sqM9.d.mts.map → HonoEndpointAdaptor-C2deTEwW.d.mts.map} +1 -1
- package/dist/{HonoEndpointAdaptor-VStaYQHr.d.cts → HonoEndpointAdaptor-D3IgM-0B.d.cts} +2 -2
- package/dist/{HonoEndpointAdaptor-VStaYQHr.d.cts.map → HonoEndpointAdaptor-D3IgM-0B.d.cts.map} +1 -1
- package/dist/{HonoEndpointAdaptor-D7N5oiO0.mjs → HonoEndpointAdaptor-DOUODM7n.mjs} +2 -1
- package/dist/HonoEndpointAdaptor-DOUODM7n.mjs.map +1 -0
- package/dist/MswEndpointAdaptor-B41INCc7.mjs +108 -0
- package/dist/MswEndpointAdaptor-B41INCc7.mjs.map +1 -0
- package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs +120 -0
- package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs.map +1 -0
- package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts +101 -0
- package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts.map +1 -0
- package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts +101 -0
- package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts.map +1 -0
- package/dist/{Subscriber-BgB3RRxb.d.mts → Subscriber-9ObcUdcC.d.mts} +2 -2
- package/dist/{Subscriber-BgB3RRxb.d.mts.map → Subscriber-9ObcUdcC.d.mts.map} +1 -1
- package/dist/{Subscriber-BEhOdNQi.mjs → Subscriber-BH76wgkL.mjs} +1 -1
- package/dist/{Subscriber-BEhOdNQi.mjs.map → Subscriber-BH76wgkL.mjs.map} +1 -1
- package/dist/{Subscriber-Scz7hrV6.cjs → Subscriber-BgspJeS4.cjs} +1 -1
- package/dist/{Subscriber-Scz7hrV6.cjs.map → Subscriber-BgspJeS4.cjs.map} +1 -1
- package/dist/{SubscriberBuilder-DlUaG0Ej.mjs → SubscriberBuilder-B4md5wzs.mjs} +2 -2
- package/dist/{SubscriberBuilder-DlUaG0Ej.mjs.map → SubscriberBuilder-B4md5wzs.mjs.map} +1 -1
- package/dist/{SubscriberBuilder-B9uva8fZ.d.cts → SubscriberBuilder-Be7WBbCL.d.cts} +1 -1
- package/dist/{SubscriberBuilder-B9uva8fZ.d.cts.map → SubscriberBuilder-Be7WBbCL.d.cts.map} +1 -1
- package/dist/{SubscriberBuilder-B82h4v-S.cjs → SubscriberBuilder-BtL22ZJ9.cjs} +2 -2
- package/dist/{SubscriberBuilder-B82h4v-S.cjs.map → SubscriberBuilder-BtL22ZJ9.cjs.map} +1 -1
- package/dist/{SubscriberBuilder-DaQkh2Nt.d.mts → SubscriberBuilder-DsfIkgTF.d.mts} +2 -2
- package/dist/{SubscriberBuilder-DaQkh2Nt.d.mts.map → SubscriberBuilder-DsfIkgTF.d.mts.map} +1 -1
- package/dist/{TestEndpointAdaptor-DHVaHmhw.mjs → TestEndpointAdaptor-BFmgf7Fn.mjs} +2 -1
- package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs.map +1 -0
- package/dist/{TestEndpointAdaptor-Bt-uW6SC.d.mts → TestEndpointAdaptor-C79Z-QS4.d.mts} +3 -3
- package/dist/{TestEndpointAdaptor-Bt-uW6SC.d.mts.map → TestEndpointAdaptor-C79Z-QS4.d.mts.map} +1 -1
- package/dist/{TestEndpointAdaptor-BKoJpTGT.cjs → TestEndpointAdaptor-DYLDyAAC.cjs} +2 -1
- package/dist/TestEndpointAdaptor-DYLDyAAC.cjs.map +1 -0
- package/dist/{TestEndpointAdaptor-UKhHj1RR.d.cts → TestEndpointAdaptor-pM8yskbb.d.cts} +2 -2
- package/dist/{TestEndpointAdaptor-UKhHj1RR.d.cts.map → TestEndpointAdaptor-pM8yskbb.d.cts.map} +1 -1
- package/dist/{TestFunctionAdaptor-CH6-gO_B.cjs → TestFunctionAdaptor-B859kIeb.cjs} +1 -1
- package/dist/{TestFunctionAdaptor-CH6-gO_B.cjs.map → TestFunctionAdaptor-B859kIeb.cjs.map} +1 -1
- package/dist/{TestFunctionAdaptor-DzT8GRdR.d.mts → TestFunctionAdaptor-C0A-VqnM.d.mts} +2 -2
- package/dist/{TestFunctionAdaptor-BHk2bDOV.d.cts.map → TestFunctionAdaptor-C0A-VqnM.d.mts.map} +1 -1
- package/dist/{TestFunctionAdaptor-C5CLuR-9.mjs → TestFunctionAdaptor-CqdSlhx1.mjs} +1 -1
- package/dist/{TestFunctionAdaptor-C5CLuR-9.mjs.map → TestFunctionAdaptor-CqdSlhx1.mjs.map} +1 -1
- package/dist/{TestFunctionAdaptor-BHk2bDOV.d.cts → TestFunctionAdaptor-Dbq55dKP.d.cts} +1 -1
- package/dist/{TestFunctionAdaptor-DzT8GRdR.d.mts.map → TestFunctionAdaptor-Dbq55dKP.d.cts.map} +1 -1
- package/dist/{TestSubscriberAdaptor-CPEiqSfE.d.mts → TestSubscriberAdaptor-BEyCFP9G.d.mts} +2 -2
- package/dist/{TestSubscriberAdaptor-CPEiqSfE.d.mts.map → TestSubscriberAdaptor-BEyCFP9G.d.mts.map} +1 -1
- package/dist/{TestSubscriberAdaptor-DQk5xzb0.d.cts → TestSubscriberAdaptor-BknOLRQw.d.cts} +1 -1
- package/dist/{TestSubscriberAdaptor-DQk5xzb0.d.cts.map → TestSubscriberAdaptor-BknOLRQw.d.cts.map} +1 -1
- package/dist/{TestSubscriberAdaptor-CwP3qNJ4.mjs → TestSubscriberAdaptor-CCcviuKa.mjs} +1 -1
- package/dist/{TestSubscriberAdaptor-CwP3qNJ4.mjs.map → TestSubscriberAdaptor-CCcviuKa.mjs.map} +1 -1
- package/dist/{TestSubscriberAdaptor-Dgxr_0vL.cjs → TestSubscriberAdaptor-_69o1d0f.cjs} +1 -1
- package/dist/{TestSubscriberAdaptor-Dgxr_0vL.cjs.map → TestSubscriberAdaptor-_69o1d0f.cjs.map} +1 -1
- package/dist/adaptors/aws.cjs +3 -3
- package/dist/adaptors/aws.d.cts +4 -4
- package/dist/adaptors/aws.d.mts +16 -16
- package/dist/adaptors/aws.mjs +3 -3
- package/dist/adaptors/hono.cjs +1 -1
- package/dist/adaptors/hono.d.cts +2 -2
- package/dist/adaptors/hono.d.mts +9 -9
- package/dist/adaptors/hono.mjs +1 -1
- package/dist/adaptors/testing.cjs +10 -4
- package/dist/adaptors/testing.d.cts +6 -5
- package/dist/adaptors/testing.d.mts +14 -13
- package/dist/adaptors/testing.mjs +8 -4
- package/dist/crons/Cron.cjs +1 -1
- package/dist/crons/Cron.d.cts +1 -1
- package/dist/crons/Cron.d.mts +6 -6
- package/dist/crons/Cron.mjs +1 -1
- package/dist/crons/CronBuilder.cjs +2 -2
- package/dist/crons/CronBuilder.d.cts +2 -2
- package/dist/crons/CronBuilder.d.mts +7 -7
- package/dist/crons/CronBuilder.mjs +2 -2
- package/dist/crons/index.cjs +2 -2
- package/dist/crons/index.d.cts +2 -2
- package/dist/crons/index.d.mts +11 -11
- package/dist/crons/index.mjs +2 -2
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +1 -1
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +2 -2
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +10 -10
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +1 -1
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +2 -2
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +3 -3
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +11 -11
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +2 -2
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +2 -2
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +3 -3
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +11 -11
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +2 -2
- package/dist/endpoints/Authorizer.cjs +1 -1
- package/dist/endpoints/Authorizer.d.mts +1 -1
- package/dist/endpoints/Authorizer.mjs +1 -1
- package/dist/endpoints/Endpoint.d.cts +1 -1
- package/dist/endpoints/Endpoint.d.mts +8 -8
- package/dist/endpoints/EndpointBuilder.cjs +3 -3
- package/dist/endpoints/EndpointBuilder.d.cts +2 -2
- package/dist/endpoints/EndpointBuilder.d.mts +9 -9
- package/dist/endpoints/EndpointBuilder.mjs +3 -3
- package/dist/endpoints/EndpointFactory.cjs +4 -4
- package/dist/endpoints/EndpointFactory.d.cts +3 -3
- package/dist/endpoints/EndpointFactory.d.mts +10 -10
- package/dist/endpoints/EndpointFactory.mjs +4 -4
- package/dist/endpoints/HonoEndpointAdaptor.cjs +1 -1
- package/dist/endpoints/HonoEndpointAdaptor.d.cts +2 -2
- package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/HonoEndpointAdaptor.mjs +1 -1
- package/dist/endpoints/MswEndpointAdaptor.cjs +16 -0
- package/dist/endpoints/MswEndpointAdaptor.d.cts +10 -0
- package/dist/endpoints/MswEndpointAdaptor.d.mts +10 -0
- package/dist/endpoints/MswEndpointAdaptor.mjs +15 -0
- package/dist/endpoints/TestEndpointAdaptor.cjs +1 -1
- package/dist/endpoints/TestEndpointAdaptor.d.cts +2 -2
- package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/TestEndpointAdaptor.mjs +1 -1
- package/dist/endpoints/audit.d.cts +1 -1
- package/dist/endpoints/audit.d.mts +8 -8
- package/dist/endpoints/helpers.d.cts +1 -1
- package/dist/endpoints/helpers.d.mts +8 -8
- package/dist/endpoints/index.cjs +4 -4
- package/dist/endpoints/index.d.cts +7 -7
- package/dist/endpoints/index.d.mts +14 -14
- package/dist/endpoints/index.mjs +4 -4
- package/dist/endpoints/lazyAccessors.d.cts +2 -2
- package/dist/endpoints/lazyAccessors.d.mts +9 -9
- package/dist/endpoints/processAudits.d.cts +1 -1
- package/dist/endpoints/processAudits.d.mts +8 -8
- package/dist/endpoints/rls.cjs +1 -1
- package/dist/endpoints/rls.d.cts +1 -1
- package/dist/endpoints/rls.d.mts +8 -8
- package/dist/endpoints/rls.mjs +1 -1
- package/dist/functions/AWSLambdaFunction.d.mts +4 -4
- package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
- package/dist/functions/Function.d.mts +2 -2
- package/dist/functions/FunctionBuilder.d.mts +4 -4
- package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
- package/dist/functions/TestFunctionAdaptor.cjs +1 -1
- package/dist/functions/TestFunctionAdaptor.d.cts +1 -1
- package/dist/functions/TestFunctionAdaptor.d.mts +3 -3
- package/dist/functions/TestFunctionAdaptor.mjs +1 -1
- package/dist/functions/index.d.mts +5 -5
- package/dist/index-Cg2UDz1r.d.mts +12 -0
- package/dist/{index-CtMNRkV7.d.mts.map → index-Cg2UDz1r.d.mts.map} +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/{lazyAccessors-Ba8HxeIC.d.cts → lazyAccessors-Bxy5DBp4.d.cts} +2 -2
- package/dist/{lazyAccessors-Ba8HxeIC.d.cts.map → lazyAccessors-Bxy5DBp4.d.cts.map} +1 -1
- package/dist/{lazyAccessors-D9tzUZaz.d.mts → lazyAccessors-CWFdtzSR.d.mts} +2 -2
- package/dist/{lazyAccessors-D9tzUZaz.d.mts.map → lazyAccessors-CWFdtzSR.d.mts.map} +1 -1
- package/dist/{publisher-BrzPGnm4.d.cts → publisher-BUDHcaz3.d.cts} +1 -1
- package/dist/{publisher-BrzPGnm4.d.cts.map → publisher-BUDHcaz3.d.cts.map} +1 -1
- package/dist/{publisher-CP4gpv-4.d.mts → publisher-DXglijK_.d.mts} +2 -2
- package/dist/{publisher-CP4gpv-4.d.mts.map → publisher-DXglijK_.d.mts.map} +1 -1
- package/dist/publisher.d.cts +1 -1
- package/dist/publisher.d.mts +2 -2
- package/dist/{rls-7XXX7DvY.mjs → rls-C0r4UKVm.mjs} +1 -1
- package/dist/{rls-7XXX7DvY.mjs.map → rls-C0r4UKVm.mjs.map} +1 -1
- package/dist/{rls-DxFqdIA0.cjs → rls-Cfb6w-tQ.cjs} +1 -1
- package/dist/{rls-DxFqdIA0.cjs.map → rls-Cfb6w-tQ.cjs.map} +1 -1
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
- package/dist/subscribers/Subscriber.cjs +1 -1
- package/dist/subscribers/Subscriber.d.mts +2 -2
- package/dist/subscribers/Subscriber.mjs +1 -1
- package/dist/subscribers/SubscriberBuilder.cjs +2 -2
- package/dist/subscribers/SubscriberBuilder.d.cts +1 -1
- package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
- package/dist/subscribers/SubscriberBuilder.mjs +2 -2
- package/dist/subscribers/TestSubscriberAdaptor.cjs +1 -1
- package/dist/subscribers/TestSubscriberAdaptor.d.cts +1 -1
- package/dist/subscribers/TestSubscriberAdaptor.d.mts +3 -3
- package/dist/subscribers/TestSubscriberAdaptor.mjs +1 -1
- package/dist/subscribers/index.cjs +2 -2
- package/dist/subscribers/index.d.cts +3 -3
- package/dist/subscribers/index.d.cts.map +1 -1
- package/dist/subscribers/index.d.mts +3 -3
- package/dist/subscribers/index.mjs +2 -2
- package/dist/{telemetry-C-kNOW3C.d.mts → telemetry-BJo1gcV1.d.mts} +1 -1
- package/dist/{telemetry-C-kNOW3C.d.mts.map → telemetry-BJo1gcV1.d.mts.map} +1 -1
- package/dist/telemetry.d.mts +1 -1
- package/dist/{types-aFmq5cKh.d.mts → types-BqPOdHEm.d.mts} +1 -1
- package/dist/{types-aFmq5cKh.d.mts.map → types-BqPOdHEm.d.mts.map} +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +12 -7
- package/src/adaptors/testing.ts +7 -0
- package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +3 -0
- package/src/endpoints/Endpoint.ts +15 -5
- package/src/endpoints/EndpointBuilder.ts +5 -2
- package/src/endpoints/EndpointFactory.ts +18 -4
- package/src/endpoints/HonoEndpointAdaptor.ts +2 -1
- package/src/endpoints/MswEndpointAdaptor.ts +226 -0
- package/src/endpoints/TestEndpointAdaptor.ts +2 -1
- package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +219 -0
- package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +54 -0
- package/dist/AmazonApiGatewayEndpointAdaptor-Cmm9d_Po.mjs.map +0 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-D7mhDtSL.cjs.map +0 -1
- package/dist/Endpoint-BIvS-rKH.d.mts.map +0 -1
- package/dist/Endpoint-BPh52sXZ.d.cts.map +0 -1
- package/dist/EndpointBuilder-3xH8Gllw.d.mts.map +0 -1
- package/dist/EndpointBuilder-BmVTFp1A.d.cts.map +0 -1
- package/dist/EndpointBuilder-CMzbGG2c.mjs.map +0 -1
- package/dist/EndpointBuilder-QdDf3x87.cjs.map +0 -1
- package/dist/EndpointFactory-AsfUsn-v.cjs.map +0 -1
- package/dist/EndpointFactory-CkPaFZA0.mjs.map +0 -1
- package/dist/EndpointFactory-DKHnUYl8.d.mts.map +0 -1
- package/dist/EndpointFactory-DaDXPRAg.d.cts.map +0 -1
- package/dist/HonoEndpointAdaptor-D7N5oiO0.mjs.map +0 -1
- package/dist/HonoEndpointAdaptor-Jbptyuxv.cjs.map +0 -1
- package/dist/TestEndpointAdaptor-BKoJpTGT.cjs.map +0 -1
- package/dist/TestEndpointAdaptor-DHVaHmhw.mjs.map +0 -1
- package/dist/index-CtMNRkV7.d.mts +0 -12
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { setupServer } from 'msw/node';
|
|
2
|
+
import {
|
|
3
|
+
afterAll,
|
|
4
|
+
afterEach,
|
|
5
|
+
beforeAll,
|
|
6
|
+
describe,
|
|
7
|
+
expect,
|
|
8
|
+
it,
|
|
9
|
+
vi,
|
|
10
|
+
} from 'vitest';
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { e } from '../EndpointFactory';
|
|
13
|
+
import { createMswHandlers, TEST_CONTEXT_HEADER } from '../MswEndpointAdaptor';
|
|
14
|
+
|
|
15
|
+
const BASE_URL = 'http://localhost:3000';
|
|
16
|
+
|
|
17
|
+
// --- Services ---
|
|
18
|
+
|
|
19
|
+
interface UserDatabase {
|
|
20
|
+
listUsers(): { id: string; name: string }[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const DatabaseService = {
|
|
24
|
+
serviceName: 'database' as const,
|
|
25
|
+
register: () => ({ listUsers: () => [] }) as UserDatabase,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// --- Endpoints ---
|
|
29
|
+
|
|
30
|
+
const listUsers = e
|
|
31
|
+
.get('/users')
|
|
32
|
+
.services([DatabaseService])
|
|
33
|
+
.output(
|
|
34
|
+
z.object({
|
|
35
|
+
users: z.array(z.object({ id: z.string(), name: z.string() })),
|
|
36
|
+
}),
|
|
37
|
+
)
|
|
38
|
+
.handle(async ({ services }) => {
|
|
39
|
+
const users = services.database.listUsers();
|
|
40
|
+
return { users };
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const createUser = e
|
|
44
|
+
.post('/users')
|
|
45
|
+
.body(z.object({ name: z.string().min(1), email: z.string().email() }))
|
|
46
|
+
.output(z.object({ id: z.string(), name: z.string(), email: z.string() }))
|
|
47
|
+
.handle(async ({ body }) => ({
|
|
48
|
+
id: crypto.randomUUID(),
|
|
49
|
+
name: body.name,
|
|
50
|
+
email: body.email,
|
|
51
|
+
}));
|
|
52
|
+
|
|
53
|
+
const getUser = e
|
|
54
|
+
.get('/users/:id')
|
|
55
|
+
.params(z.object({ id: z.string() }))
|
|
56
|
+
.output(z.object({ id: z.string(), name: z.string() }))
|
|
57
|
+
.handle(async ({ params }) => ({
|
|
58
|
+
id: params.id,
|
|
59
|
+
name: 'Test User',
|
|
60
|
+
}));
|
|
61
|
+
|
|
62
|
+
const authorizedEndpoint = e
|
|
63
|
+
.get('/protected')
|
|
64
|
+
.output(z.object({ message: z.string() }))
|
|
65
|
+
.authorize(({ header }) => header('authorization') === 'Bearer valid-token')
|
|
66
|
+
.handle(async () => ({ message: 'secret' }));
|
|
67
|
+
|
|
68
|
+
// --- Setup ---
|
|
69
|
+
|
|
70
|
+
const { handlers, registerContext } = createMswHandlers(
|
|
71
|
+
[listUsers, createUser, getUser, authorizedEndpoint],
|
|
72
|
+
{ baseURL: BASE_URL },
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
const server = setupServer(...handlers);
|
|
76
|
+
|
|
77
|
+
beforeAll(() => server.listen({ onUnhandledRequest: 'bypass' }));
|
|
78
|
+
afterEach(() => server.resetHandlers());
|
|
79
|
+
afterAll(() => server.close());
|
|
80
|
+
|
|
81
|
+
// --- Tests ---
|
|
82
|
+
|
|
83
|
+
describe('MswEndpointAdaptor', () => {
|
|
84
|
+
it('should handle a simple GET request', async () => {
|
|
85
|
+
const contextId = crypto.randomUUID();
|
|
86
|
+
registerContext(contextId, {
|
|
87
|
+
services: {
|
|
88
|
+
database: { listUsers: () => [{ id: '1', name: 'Alice' }] },
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
const response = await fetch(`${BASE_URL}/users`, {
|
|
93
|
+
headers: { [TEST_CONTEXT_HEADER]: contextId },
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
expect(response.status).toBe(200);
|
|
97
|
+
const body = await response.json();
|
|
98
|
+
expect(body.users).toEqual([{ id: '1', name: 'Alice' }]);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it('should handle POST with body validation', async () => {
|
|
102
|
+
const contextId = crypto.randomUUID();
|
|
103
|
+
registerContext(contextId, {});
|
|
104
|
+
|
|
105
|
+
const response = await fetch(`${BASE_URL}/users`, {
|
|
106
|
+
method: 'POST',
|
|
107
|
+
headers: {
|
|
108
|
+
'content-type': 'application/json',
|
|
109
|
+
[TEST_CONTEXT_HEADER]: contextId,
|
|
110
|
+
},
|
|
111
|
+
body: JSON.stringify({ name: 'Bob', email: 'bob@example.com' }),
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
expect(response.status).toBe(200);
|
|
115
|
+
const body = await response.json();
|
|
116
|
+
expect(body.name).toBe('Bob');
|
|
117
|
+
expect(body.email).toBe('bob@example.com');
|
|
118
|
+
expect(body.id).toBeDefined();
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it('should reject invalid body with 422', async () => {
|
|
122
|
+
const contextId = crypto.randomUUID();
|
|
123
|
+
registerContext(contextId, {});
|
|
124
|
+
|
|
125
|
+
const response = await fetch(`${BASE_URL}/users`, {
|
|
126
|
+
method: 'POST',
|
|
127
|
+
headers: {
|
|
128
|
+
'content-type': 'application/json',
|
|
129
|
+
[TEST_CONTEXT_HEADER]: contextId,
|
|
130
|
+
},
|
|
131
|
+
body: JSON.stringify({ name: '', email: 'not-an-email' }),
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
expect(response.status).toBe(422);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
it('should handle path params', async () => {
|
|
138
|
+
const contextId = crypto.randomUUID();
|
|
139
|
+
registerContext(contextId, {});
|
|
140
|
+
|
|
141
|
+
const response = await fetch(`${BASE_URL}/users/user-123`, {
|
|
142
|
+
headers: { [TEST_CONTEXT_HEADER]: contextId },
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
expect(response.status).toBe(200);
|
|
146
|
+
const body = await response.json();
|
|
147
|
+
expect(body.id).toBe('user-123');
|
|
148
|
+
expect(body.name).toBe('Test User');
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
it('should return 401 when authorization fails', async () => {
|
|
152
|
+
const contextId = crypto.randomUUID();
|
|
153
|
+
registerContext(contextId, {});
|
|
154
|
+
|
|
155
|
+
const response = await fetch(`${BASE_URL}/protected`, {
|
|
156
|
+
headers: {
|
|
157
|
+
[TEST_CONTEXT_HEADER]: contextId,
|
|
158
|
+
authorization: 'Bearer wrong-token',
|
|
159
|
+
},
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
expect(response.status).toBe(401);
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
it('should return 200 when authorization passes', async () => {
|
|
166
|
+
const contextId = crypto.randomUUID();
|
|
167
|
+
registerContext(contextId, {});
|
|
168
|
+
|
|
169
|
+
const response = await fetch(`${BASE_URL}/protected`, {
|
|
170
|
+
headers: {
|
|
171
|
+
[TEST_CONTEXT_HEADER]: contextId,
|
|
172
|
+
authorization: 'Bearer valid-token',
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
expect(response.status).toBe(200);
|
|
177
|
+
const body = await response.json();
|
|
178
|
+
expect(body.message).toBe('secret');
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
it('should return 500 when context ID is missing', async () => {
|
|
182
|
+
const response = await fetch(`${BASE_URL}/users`);
|
|
183
|
+
|
|
184
|
+
expect(response.status).toBe(500);
|
|
185
|
+
const body = await response.json();
|
|
186
|
+
expect(body.error).toContain('Missing or unknown test context ID');
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
it('should isolate concurrent contexts', async () => {
|
|
190
|
+
const contextA = crypto.randomUUID();
|
|
191
|
+
const contextB = crypto.randomUUID();
|
|
192
|
+
|
|
193
|
+
registerContext(contextA, {
|
|
194
|
+
services: {
|
|
195
|
+
database: { listUsers: () => [{ id: '1', name: 'From A' }] },
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
registerContext(contextB, {
|
|
199
|
+
services: {
|
|
200
|
+
database: { listUsers: () => [{ id: '2', name: 'From B' }] },
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
const [responseA, responseB] = await Promise.all([
|
|
205
|
+
fetch(`${BASE_URL}/users`, {
|
|
206
|
+
headers: { [TEST_CONTEXT_HEADER]: contextA },
|
|
207
|
+
}),
|
|
208
|
+
fetch(`${BASE_URL}/users`, {
|
|
209
|
+
headers: { [TEST_CONTEXT_HEADER]: contextB },
|
|
210
|
+
}),
|
|
211
|
+
]);
|
|
212
|
+
|
|
213
|
+
const bodyA = await responseA.json();
|
|
214
|
+
const bodyB = await responseB.json();
|
|
215
|
+
|
|
216
|
+
expect(bodyA.users).toEqual([{ id: '1', name: 'From A' }]);
|
|
217
|
+
expect(bodyB.users).toEqual([{ id: '2', name: 'From B' }]);
|
|
218
|
+
});
|
|
219
|
+
});
|
|
@@ -512,6 +512,60 @@ describe('TestEndpointAdaptor', () => {
|
|
|
512
512
|
|
|
513
513
|
expect(result).toEqual({ ok: true });
|
|
514
514
|
});
|
|
515
|
+
|
|
516
|
+
it('should pass db to authorize when database is configured', async () => {
|
|
517
|
+
const mockDb = {
|
|
518
|
+
query: vi.fn().mockResolvedValue([{ allowed: true }]),
|
|
519
|
+
};
|
|
520
|
+
|
|
521
|
+
const DatabaseService = {
|
|
522
|
+
serviceName: 'database' as const,
|
|
523
|
+
register: vi.fn().mockResolvedValue(mockDb),
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
const authorizeSpy = vi.fn(({ db }) => {
|
|
527
|
+
return db.query !== undefined;
|
|
528
|
+
});
|
|
529
|
+
|
|
530
|
+
const endpoint = e
|
|
531
|
+
.get('/protected')
|
|
532
|
+
.database(DatabaseService)
|
|
533
|
+
.output(z.object({ ok: z.boolean() }))
|
|
534
|
+
.authorize(authorizeSpy)
|
|
535
|
+
.handle(() => ({ ok: true }));
|
|
536
|
+
|
|
537
|
+
const adapter = new TestEndpointAdaptor(endpoint);
|
|
538
|
+
|
|
539
|
+
const result = await adapter.request({
|
|
540
|
+
services: mockServices,
|
|
541
|
+
headers: { host: 'example.com' },
|
|
542
|
+
database: mockDb,
|
|
543
|
+
});
|
|
544
|
+
|
|
545
|
+
expect(result).toEqual({ ok: true });
|
|
546
|
+
expect(authorizeSpy).toHaveBeenCalledTimes(1);
|
|
547
|
+
expect(authorizeSpy.mock.calls[0][0]).toHaveProperty('db', mockDb);
|
|
548
|
+
});
|
|
549
|
+
|
|
550
|
+
it('should not include db in authorize when database is not configured', async () => {
|
|
551
|
+
const authorizeSpy = vi.fn(() => true);
|
|
552
|
+
|
|
553
|
+
const endpoint = e
|
|
554
|
+
.get('/public')
|
|
555
|
+
.output(z.object({ ok: z.boolean() }))
|
|
556
|
+
.authorize(authorizeSpy)
|
|
557
|
+
.handle(() => ({ ok: true }));
|
|
558
|
+
|
|
559
|
+
const adapter = new TestEndpointAdaptor(endpoint);
|
|
560
|
+
|
|
561
|
+
await adapter.request({
|
|
562
|
+
services: mockServices,
|
|
563
|
+
headers: { host: 'example.com' },
|
|
564
|
+
});
|
|
565
|
+
|
|
566
|
+
expect(authorizeSpy).toHaveBeenCalledTimes(1);
|
|
567
|
+
expect(authorizeSpy.mock.calls[0][0]).not.toHaveProperty('db');
|
|
568
|
+
});
|
|
515
569
|
});
|
|
516
570
|
|
|
517
571
|
describe('response handling', () => {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AmazonApiGatewayEndpointAdaptor-Cmm9d_Po.mjs","names":["envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction\n\t\t>","options: AmazonApiGatewayEndpointOptions","body: string | undefined | null","isBase64Encoded: boolean | undefined","contentType: string | undefined","e: TEvent","event: Event<TEvent, TInput, TServices, TLogger, TSession>","db: any","metadata","output","trx: any","result","lambdaResponse: AmazonApiGatewayEndpointHandlerResponse","setCookieHeaders: string[]","ctx: any","event: TEvent","context: Context"],"sources":["../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts"],"sourcesContent":["import type { AuditableAction, AuditStorage } from '@geekmidas/audit';\nimport { withRlsContext } from '@geekmidas/db/rls';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { Logger } from '@geekmidas/logger';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type {\n\tAPIGatewayProxyEvent,\n\tAPIGatewayProxyEventV2,\n\tContext,\n} from 'aws-lambda';\nimport set from 'lodash.set';\nimport type { Telemetry } from '../telemetry';\nimport type { HttpMethod } from '../types';\nimport { Endpoint, type EndpointSchemas, ResponseBuilder } from './Endpoint';\n\n/**\n * Telescope integration for request recording.\n * Uses Middy middleware pattern for compatibility with existing telescope package.\n */\nexport interface TelescopeIntegration {\n\tmiddleware: MiddlewareObj<any, any, Error, Context>;\n}\n\nimport {\n\tUnauthorizedError,\n\tUnprocessableEntityError,\n\twrapError,\n} from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type {\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n\trunWithRequestContext,\n\ttype Service,\n\tServiceDiscovery,\n\ttype ServiceRecord,\n} from '@geekmidas/services';\nimport { publishConstructEvents } from '../publisher';\nimport type { MappedAudit } from './audit';\nimport type { CookieFn, HeaderFn } from './Endpoint';\nimport {\n\tcreateAuditContext,\n\texecuteWithAuditTransaction,\n} from './processAudits';\n\n// Helper function to publish events\n\n/**\n * Options for Amazon API Gateway endpoint adaptors\n */\nexport interface AmazonApiGatewayEndpointOptions {\n\t/**\n\t * Telescope integration for request recording and monitoring.\n\t *\n\t * @example\n\t * ```typescript\n\t * import { telescopeMiddleware } from '@geekmidas/telescope/lambda';\n\t *\n\t * const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {\n\t * telescope: { middleware: telescopeMiddleware(telescope) },\n\t * });\n\t * ```\n\t */\n\ttelescope?: TelescopeIntegration;\n\n\t/**\n\t * Telemetry integration for distributed tracing.\n\t * Works with any OpenTelemetry-compatible backend.\n\t *\n\t * @example\n\t * ```typescript\n\t * import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';\n\t *\n\t * const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {\n\t * telemetry: new OTelTelemetry(),\n\t * });\n\t * ```\n\t */\n\ttelemetry?: Telemetry;\n}\n\nexport abstract class AmazonApiGatewayEndpoint<\n\tTHandler extends\n\t\t| AmazonApiGatewayV1EndpointHandler\n\t\t| AmazonApiGatewayV2EndpointHandler,\n\tTEvent extends HandlerEvent<THandler>,\n\tTRoute extends string,\n\tTMethod extends HttpMethod,\n\tTInput extends EndpointSchemas = {},\n\tTOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> {\n\tprotected options: AmazonApiGatewayEndpointOptions;\n\n\tconstructor(\n\t\tprotected envParser: EnvironmentParser<{}>,\n\t\tprotected readonly endpoint: Endpoint<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction\n\t\t>,\n\t\toptions: AmazonApiGatewayEndpointOptions = {},\n\t) {\n\t\tthis.options = options;\n\t}\n\n\tprivate error(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tonError: (req) => {\n\t\t\t\t(req.event.logger || this.endpoint.logger).error(\n\t\t\t\t\treq.error || {},\n\t\t\t\t\t'Error processing request',\n\t\t\t\t);\n\t\t\t\tconst wrappedError = wrapError(req.error);\n\n\t\t\t\t// Set the response with the proper status code from the HttpError\n\t\t\t\treq.response = {\n\t\t\t\t\tstatusCode: wrappedError.statusCode,\n\t\t\t\t\tbody: wrappedError.body,\n\t\t\t\t};\n\t\t\t},\n\t\t};\n\t}\n\tabstract getInput(e: TEvent): GetInputResponse;\n\n\t/**\n\t * Decodes the raw body from an API Gateway event.\n\t * Uses Content-Type to decide parsing strategy (like Express/Fastify/Hono):\n\t * - `application/json` (or missing) → JSON.parse the decoded string\n\t * - Anything else → return decoded string as-is, let the schema handle it\n\t *\n\t * Defaults to JSON when no Content-Type is provided for backwards compatibility.\n\t */\n\tstatic decodeBody(\n\t\tbody: string | undefined | null,\n\t\tisBase64Encoded: boolean | undefined,\n\t\tcontentType: string | undefined,\n\t): any {\n\t\tif (!body) return undefined;\n\n\t\tconst raw = isBase64Encoded\n\t\t\t? Buffer.from(body, 'base64').toString('utf-8')\n\t\t\t: body;\n\n\t\tconst isJson =\n\t\t\t!contentType || contentType.toLowerCase().includes('application/json');\n\t\tif (isJson) {\n\t\t\treturn JSON.parse(raw);\n\t\t}\n\n\t\treturn raw;\n\t}\n\n\tprotected getCookies(e: TEvent): CookieFn {\n\t\tconst headers = e.headers as Record<string, string>;\n\t\treturn Endpoint.createCookies(headers?.cookie);\n\t}\n\n\tprivate input(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst { body, query, params } = this.getInput(req.event);\n\t\t\t\t\tconst headers = req.event.headers as Record<string, string>;\n\t\t\t\t\tconst header = Endpoint.createHeaders(headers);\n\t\t\t\t\tconst cookie = this.getCookies(req.event);\n\n\t\t\t\t\tset(req.event, 'body', await this.endpoint.parseInput(body, 'body'));\n\n\t\t\t\t\tset(\n\t\t\t\t\t\treq.event,\n\t\t\t\t\t\t'query',\n\t\t\t\t\t\tawait this.endpoint.parseInput(query, 'query'),\n\t\t\t\t\t);\n\t\t\t\t\tset(\n\t\t\t\t\t\treq.event,\n\t\t\t\t\t\t'params',\n\t\t\t\t\t\tawait this.endpoint.parseInput(params, 'params'),\n\t\t\t\t\t);\n\t\t\t\t\tset(req.event, 'header', header);\n\t\t\t\t\tset(req.event, 'cookie', cookie);\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// Convert validation errors to 422 Unprocessable Entity\n\t\t\t\t\tif (error && typeof error === 'object' && Array.isArray(error)) {\n\t\t\t\t\t\tthrow new UnprocessableEntityError('Validation failed', error);\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tabstract getLoggerContext(data: TEvent, context: Context): LoggerContext;\n\n\tprivate logger(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: (req) => {\n\t\t\t\treq.event.logger = this.endpoint.logger.child({\n\t\t\t\t\troute: this.endpoint.route,\n\t\t\t\t\thost: req.event.headers?.host,\n\t\t\t\t\tmethod: this.endpoint.method,\n\t\t\t\t\t...this.getLoggerContext(req.event, req.context),\n\t\t\t\t}) as TLogger;\n\t\t\t},\n\t\t};\n\t}\n\tprivate services(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tconst _logger = req.event.logger as TLogger;\n\t\t\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\t\t\tServiceRecord<TServices>\n\t\t\t\t>(this.envParser);\n\n\t\t\t\tconst services = await serviceDiscovery.register(\n\t\t\t\t\tthis.endpoint.services,\n\t\t\t\t);\n\n\t\t\t\treq.event.services = services;\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate authorize(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tconst logger = req.event.logger as TLogger;\n\t\t\t\tconst services = req.event.services;\n\t\t\t\tconst header = req.event.header;\n\t\t\t\tconst cookie = req.event.cookie;\n\t\t\t\tconst session = req.event.session as TSession;\n\n\t\t\t\tconst isAuthorized = await this.endpoint.authorize({\n\t\t\t\t\theader,\n\t\t\t\t\tcookie,\n\t\t\t\t\tservices,\n\t\t\t\t\tlogger,\n\t\t\t\t\tsession,\n\t\t\t\t\tbody: (req.event as any).body,\n\t\t\t\t\tquery: (req.event as any).query,\n\t\t\t\t\tparams: (req.event as any).params,\n\t\t\t\t} as any);\n\n\t\t\t\tif (!isAuthorized) {\n\t\t\t\t\tlogger.warn('Unauthorized access attempt');\n\t\t\t\t\tthrow new UnauthorizedError(\n\t\t\t\t\t\t'Unauthorized access to the endpoint',\n\t\t\t\t\t\t'You do not have permission to access this resource.',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate database(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tif (!this.endpoint.databaseService) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst _logger = req.event.logger as TLogger;\n\t\t\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\t\t\tServiceRecord<TServices>\n\t\t\t\t>(this.envParser);\n\n\t\t\t\tconst db = await serviceDiscovery\n\t\t\t\t\t.register([this.endpoint.databaseService])\n\t\t\t\t\t.then(\n\t\t\t\t\t\t(s) =>\n\t\t\t\t\t\t\ts[this.endpoint.databaseService?.serviceName as keyof typeof s],\n\t\t\t\t\t);\n\n\t\t\t\t(req.event as any).db = db;\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate session(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tconst logger = req.event.logger as TLogger;\n\t\t\t\tconst services = req.event.services;\n\t\t\t\tconst db = (req.event as any).db;\n\t\t\t\treq.event.session = (await this.endpoint.getSession({\n\t\t\t\t\tlogger,\n\t\t\t\t\tservices,\n\t\t\t\t\theader: req.event.header,\n\t\t\t\t\tcookie: req.event.cookie,\n\t\t\t\t\t...(db !== undefined && { db }),\n\t\t\t\t} as any)) as TSession;\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate events(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tafter: async (req) => {\n\t\t\t\tconst event = req.event;\n\t\t\t\tconst response = (event as any)\n\t\t\t\t\t.__response as InferStandardSchema<TOutSchema>;\n\t\t\t\tconst statusCode = req.response?.statusCode ?? this.endpoint.status;\n\n\t\t\t\t// Only publish events on successful responses (2xx status codes)\n\t\t\t\t// Note: Audits are processed inside the handler's transaction\n\t\t\t\tif (Endpoint.isSuccessStatus(statusCode)) {\n\t\t\t\t\tconst logger = event.logger as TLogger;\n\t\t\t\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\t\t\t\tServiceRecord<TServices>\n\t\t\t\t\t>(this.envParser);\n\n\t\t\t\t\t// Publish events\n\t\t\t\t\tawait publishConstructEvents(\n\t\t\t\t\t\tthis.endpoint,\n\t\t\t\t\t\tresponse,\n\t\t\t\t\t\tserviceDiscovery,\n\t\t\t\t\t\tlogger,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate async _handler(\n\t\tevent: Event<TEvent, TInput, TServices, TLogger, TSession>,\n\t) {\n\t\tconst input = this.endpoint.refineInput(event);\n\t\tconst logger = event.logger as TLogger;\n\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\tServiceRecord<TServices>\n\t\t>(this.envParser);\n\n\t\t// Create audit context if audit storage is configured\n\t\tconst auditContext = await createAuditContext(\n\t\t\tthis.endpoint,\n\t\t\tserviceDiscovery,\n\t\t\tlogger,\n\t\t\t{\n\t\t\t\tsession: event.session,\n\t\t\t\theader: event.header,\n\t\t\t\tcookie: event.cookie,\n\t\t\t\tservices: event.services as Record<string, unknown>,\n\t\t\t},\n\t\t);\n\n\t\t// Warn if declarative audits are configured but no audit storage\n\t\tconst audits = this.endpoint.audits as MappedAudit<\n\t\t\tTAuditAction,\n\t\t\tTOutSchema\n\t\t>[];\n\t\tif (!auditContext && audits?.length) {\n\t\t\tlogger.warn('No auditor storage service available');\n\t\t}\n\n\t\t// Get pre-resolved database from middleware\n\t\tconst rawDb = (event as any).db;\n\n\t\t// Extract RLS context if configured and not bypassed\n\t\tconst rlsActive =\n\t\t\tthis.endpoint.rlsConfig &&\n\t\t\t!this.endpoint.rlsBypass &&\n\t\t\trawDb !== undefined;\n\t\tconst rlsContext = rlsActive\n\t\t\t? await this.endpoint.rlsConfig?.extractor({\n\t\t\t\t\tservices: event.services as ServiceRecord<TServices>,\n\t\t\t\t\tsession: event.session,\n\t\t\t\t\theader: event.header,\n\t\t\t\t\tcookie: event.cookie,\n\t\t\t\t\tlogger,\n\t\t\t\t})\n\t\t\t: undefined;\n\n\t\t// Execute handler with automatic audit transaction support\n\t\tconst result = await executeWithAuditTransaction(\n\t\t\tauditContext,\n\t\t\tasync (auditor) => {\n\t\t\t\t// Use audit transaction as db only if the storage uses the same database service\n\t\t\t\tconst sameDatabase =\n\t\t\t\t\tauditContext?.storage?.databaseServiceName &&\n\t\t\t\t\tauditContext.storage.databaseServiceName ===\n\t\t\t\t\t\tthis.endpoint.databaseService?.serviceName;\n\t\t\t\tconst baseDb = sameDatabase\n\t\t\t\t\t? (auditor?.getTransaction?.() ?? rawDb)\n\t\t\t\t\t: rawDb;\n\n\t\t\t\t// Helper to execute handler with given db\n\t\t\t\tconst executeHandler = async (db: any) => {\n\t\t\t\t\tconst responseBuilder = new ResponseBuilder();\n\t\t\t\t\tconst response = await this.endpoint.handler(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\theader: event.header,\n\t\t\t\t\t\t\tcookie: event.cookie,\n\t\t\t\t\t\t\tlogger: event.logger,\n\t\t\t\t\t\t\tservices: event.services,\n\t\t\t\t\t\t\tsession: event.session,\n\t\t\t\t\t\t\tauditor,\n\t\t\t\t\t\t\tdb,\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t} as any,\n\t\t\t\t\t\tresponseBuilder,\n\t\t\t\t\t);\n\n\t\t\t\t\t// Check if response has metadata\n\t\t\t\t\tlet data = response;\n\t\t\t\t\tlet metadata = responseBuilder.getMetadata();\n\n\t\t\t\t\tif (Endpoint.hasMetadata(response)) {\n\t\t\t\t\t\tdata = response.data;\n\t\t\t\t\t\tmetadata = response.metadata;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst output = this.endpoint.outputSchema\n\t\t\t\t\t\t? await this.endpoint.parseOutput(data)\n\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\treturn { output, metadata, responseBuilder };\n\t\t\t\t};\n\n\t\t\t\t// If RLS is active, wrap handler with RLS context\n\t\t\t\tif (rlsActive && rlsContext && baseDb) {\n\t\t\t\t\treturn withRlsContext(\n\t\t\t\t\t\tbaseDb,\n\t\t\t\t\t\trlsContext,\n\t\t\t\t\t\tasync (trx: any) => executeHandler(trx),\n\t\t\t\t\t\t{ prefix: this.endpoint.rlsConfig?.prefix },\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn executeHandler(baseDb);\n\t\t\t},\n\t\t\t// Process declarative audits after handler (inside transaction)\n\t\t\tasync (result, auditor) => {\n\t\t\t\tif (!audits?.length) return;\n\n\t\t\t\tfor (const audit of audits) {\n\t\t\t\t\tif (audit.when && !audit.when(result.output as any)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tconst payload = audit.payload(result.output as any);\n\t\t\t\t\tconst entityId = audit.entityId?.(result.output as any);\n\t\t\t\t\tauditor.audit(audit.type as any, payload as any, {\n\t\t\t\t\t\ttable: audit.table,\n\t\t\t\t\t\tentityId,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Pass rawDb so storage can reuse existing transactions\n\t\t\t{ db: rawDb },\n\t\t);\n\n\t\tconst { output, metadata } = result;\n\t\tconst body = output !== undefined ? JSON.stringify(output) : undefined;\n\n\t\t// Store response for middleware access\n\t\t(event as any).__response = output;\n\n\t\t// Build response with metadata\n\t\tconst lambdaResponse: AmazonApiGatewayEndpointHandlerResponse = {\n\t\t\tstatusCode: metadata.status ?? this.endpoint.status,\n\t\t\tbody,\n\t\t};\n\n\t\t// Add custom headers\n\t\tif (metadata.headers && Object.keys(metadata.headers).length > 0) {\n\t\t\tlambdaResponse.headers = { ...metadata.headers };\n\t\t}\n\n\t\t// Format cookies as Set-Cookie headers\n\t\tif (metadata.cookies && metadata.cookies.size > 0) {\n\t\t\tconst setCookieHeaders: string[] = [];\n\t\t\tfor (const [name, { value, options }] of metadata.cookies) {\n\t\t\t\tsetCookieHeaders.push(\n\t\t\t\t\tEndpoint.formatCookieHeader(name, value, options),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (setCookieHeaders.length > 0) {\n\t\t\t\tlambdaResponse.multiValueHeaders = {\n\t\t\t\t\t...lambdaResponse.multiValueHeaders,\n\t\t\t\t\t'Set-Cookie': setCookieHeaders,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn lambdaResponse;\n\t}\n\n\t/**\n\t * Convert Telemetry interface to Middy middleware\n\t */\n\tprivate telemetry(): Middleware<TEvent, TInput, TServices, TLogger> | null {\n\t\tif (!this.options.telemetry) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst telemetry = this.options.telemetry;\n\t\tlet ctx: any;\n\n\t\treturn {\n\t\t\tbefore: (request) => {\n\t\t\t\tctx = telemetry.onRequestStart({\n\t\t\t\t\tevent: request.event,\n\t\t\t\t\tcontext: request.context,\n\t\t\t\t});\n\t\t\t},\n\t\t\tafter: (request) => {\n\t\t\t\tif (ctx) {\n\t\t\t\t\ttelemetry.onRequestEnd(ctx, {\n\t\t\t\t\t\tstatusCode: request.response?.statusCode ?? 200,\n\t\t\t\t\t\tbody: request.response?.body,\n\t\t\t\t\t\theaders: request.response?.headers,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tonError: (request) => {\n\t\t\t\tif (ctx && request.error) {\n\t\t\t\t\ttelemetry.onRequestError(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\trequest.error instanceof Error\n\t\t\t\t\t\t\t? request.error\n\t\t\t\t\t\t\t: new Error(String(request.error)),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tget handler() {\n\t\tconst handler = this._handler.bind(this);\n\t\tlet chain = middy(handler)\n\t\t\t.use(this.logger())\n\t\t\t.use(this.error())\n\t\t\t.use(this.services())\n\t\t\t.use(this.input())\n\t\t\t.use(this.database())\n\t\t\t.use(this.session())\n\t\t\t.use(this.authorize())\n\t\t\t.use(this.events());\n\n\t\t// Add telemetry middleware if configured (runs early for span creation)\n\t\tconst telemetryMiddleware = this.telemetry();\n\t\tif (telemetryMiddleware) {\n\t\t\tchain = chain.use(telemetryMiddleware);\n\t\t}\n\n\t\t// Add Telescope middleware if configured (runs first/last in chain)\n\t\tif (this.options.telescope?.middleware) {\n\t\t\tchain = chain.use(this.options.telescope.middleware);\n\t\t}\n\n\t\t// Wrap entire Middy chain in request context for service access\n\t\tconst wrappedHandler = async (event: TEvent, context: Context) => {\n\t\t\tconst startTime = Date.now();\n\t\t\tconst requestId = context.awsRequestId;\n\t\t\tconst logger = this.endpoint.logger.child({ requestId }) as TLogger;\n\n\t\t\t// Cast event to any since Middy middlewares enrich the event with\n\t\t\t// services, logger, session, etc. during the middleware chain execution\n\t\t\treturn runWithRequestContext({ logger, requestId, startTime }, () =>\n\t\t\t\tchain(event as unknown as Parameters<typeof chain>[0], context),\n\t\t\t);\n\t\t};\n\n\t\treturn wrappedHandler as unknown as THandler;\n\t}\n}\n\nexport type Event<\n\tTEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\theader: HeaderFn;\n\tcookie: CookieFn;\n\tsession: TSession;\n} & TEvent &\n\tInferComposableStandardSchema<TInput>;\n\ntype Middleware<\n\tTEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n> = MiddlewareObj<Event<TEvent, TInput, TServices, TLogger, TSession>>;\n\nexport type AmazonApiGatewayEndpointHandlerResponse = {\n\tstatusCode: number;\n\tbody: string | undefined;\n\theaders?: Record<string, string>;\n\tmultiValueHeaders?: Record<string, string[]>;\n};\n\nexport type LoggerContext = {\n\tfn: {\n\t\tname: string;\n\t\tversion: string;\n\t};\n\treq: {\n\t\tid: string | undefined;\n\t\tawsRequestId: string;\n\t\tpath: string;\n\t\tip: string | undefined;\n\t\tuserAgent: string | undefined;\n\t};\n};\n\nexport type GetInputResponse = {\n\tbody: any;\n\tquery: any;\n\tparams: any;\n};\n\nexport type AmazonApiGatewayV1EndpointHandler = (\n\tevent: APIGatewayProxyEvent,\n\tcontext: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type AmazonApiGatewayV2EndpointHandler = (\n\tevent: APIGatewayProxyEventV2,\n\tcontext: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type HandlerEvent<T extends Function> = T extends (\n\tevent: infer E,\n\tcontext: Context,\n) => any\n\t? E\n\t: never;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AmazonApiGatewayEndpointAdaptor-D7mhDtSL.cjs","names":["envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction\n\t\t>","options: AmazonApiGatewayEndpointOptions","body: string | undefined | null","isBase64Encoded: boolean | undefined","contentType: string | undefined","e: TEvent","UnprocessableEntityError","UnauthorizedError","event: Event<TEvent, TInput, TServices, TLogger, TSession>","db: any","ResponseBuilder","metadata","output","trx: any","result","lambdaResponse: AmazonApiGatewayEndpointHandlerResponse","setCookieHeaders: string[]","ctx: any","event: TEvent","context: Context"],"sources":["../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts"],"sourcesContent":["import type { AuditableAction, AuditStorage } from '@geekmidas/audit';\nimport { withRlsContext } from '@geekmidas/db/rls';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { Logger } from '@geekmidas/logger';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type {\n\tAPIGatewayProxyEvent,\n\tAPIGatewayProxyEventV2,\n\tContext,\n} from 'aws-lambda';\nimport set from 'lodash.set';\nimport type { Telemetry } from '../telemetry';\nimport type { HttpMethod } from '../types';\nimport { Endpoint, type EndpointSchemas, ResponseBuilder } from './Endpoint';\n\n/**\n * Telescope integration for request recording.\n * Uses Middy middleware pattern for compatibility with existing telescope package.\n */\nexport interface TelescopeIntegration {\n\tmiddleware: MiddlewareObj<any, any, Error, Context>;\n}\n\nimport {\n\tUnauthorizedError,\n\tUnprocessableEntityError,\n\twrapError,\n} from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type {\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n\trunWithRequestContext,\n\ttype Service,\n\tServiceDiscovery,\n\ttype ServiceRecord,\n} from '@geekmidas/services';\nimport { publishConstructEvents } from '../publisher';\nimport type { MappedAudit } from './audit';\nimport type { CookieFn, HeaderFn } from './Endpoint';\nimport {\n\tcreateAuditContext,\n\texecuteWithAuditTransaction,\n} from './processAudits';\n\n// Helper function to publish events\n\n/**\n * Options for Amazon API Gateway endpoint adaptors\n */\nexport interface AmazonApiGatewayEndpointOptions {\n\t/**\n\t * Telescope integration for request recording and monitoring.\n\t *\n\t * @example\n\t * ```typescript\n\t * import { telescopeMiddleware } from '@geekmidas/telescope/lambda';\n\t *\n\t * const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {\n\t * telescope: { middleware: telescopeMiddleware(telescope) },\n\t * });\n\t * ```\n\t */\n\ttelescope?: TelescopeIntegration;\n\n\t/**\n\t * Telemetry integration for distributed tracing.\n\t * Works with any OpenTelemetry-compatible backend.\n\t *\n\t * @example\n\t * ```typescript\n\t * import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';\n\t *\n\t * const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {\n\t * telemetry: new OTelTelemetry(),\n\t * });\n\t * ```\n\t */\n\ttelemetry?: Telemetry;\n}\n\nexport abstract class AmazonApiGatewayEndpoint<\n\tTHandler extends\n\t\t| AmazonApiGatewayV1EndpointHandler\n\t\t| AmazonApiGatewayV2EndpointHandler,\n\tTEvent extends HandlerEvent<THandler>,\n\tTRoute extends string,\n\tTMethod extends HttpMethod,\n\tTInput extends EndpointSchemas = {},\n\tTOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> {\n\tprotected options: AmazonApiGatewayEndpointOptions;\n\n\tconstructor(\n\t\tprotected envParser: EnvironmentParser<{}>,\n\t\tprotected readonly endpoint: Endpoint<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction\n\t\t>,\n\t\toptions: AmazonApiGatewayEndpointOptions = {},\n\t) {\n\t\tthis.options = options;\n\t}\n\n\tprivate error(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tonError: (req) => {\n\t\t\t\t(req.event.logger || this.endpoint.logger).error(\n\t\t\t\t\treq.error || {},\n\t\t\t\t\t'Error processing request',\n\t\t\t\t);\n\t\t\t\tconst wrappedError = wrapError(req.error);\n\n\t\t\t\t// Set the response with the proper status code from the HttpError\n\t\t\t\treq.response = {\n\t\t\t\t\tstatusCode: wrappedError.statusCode,\n\t\t\t\t\tbody: wrappedError.body,\n\t\t\t\t};\n\t\t\t},\n\t\t};\n\t}\n\tabstract getInput(e: TEvent): GetInputResponse;\n\n\t/**\n\t * Decodes the raw body from an API Gateway event.\n\t * Uses Content-Type to decide parsing strategy (like Express/Fastify/Hono):\n\t * - `application/json` (or missing) → JSON.parse the decoded string\n\t * - Anything else → return decoded string as-is, let the schema handle it\n\t *\n\t * Defaults to JSON when no Content-Type is provided for backwards compatibility.\n\t */\n\tstatic decodeBody(\n\t\tbody: string | undefined | null,\n\t\tisBase64Encoded: boolean | undefined,\n\t\tcontentType: string | undefined,\n\t): any {\n\t\tif (!body) return undefined;\n\n\t\tconst raw = isBase64Encoded\n\t\t\t? Buffer.from(body, 'base64').toString('utf-8')\n\t\t\t: body;\n\n\t\tconst isJson =\n\t\t\t!contentType || contentType.toLowerCase().includes('application/json');\n\t\tif (isJson) {\n\t\t\treturn JSON.parse(raw);\n\t\t}\n\n\t\treturn raw;\n\t}\n\n\tprotected getCookies(e: TEvent): CookieFn {\n\t\tconst headers = e.headers as Record<string, string>;\n\t\treturn Endpoint.createCookies(headers?.cookie);\n\t}\n\n\tprivate input(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst { body, query, params } = this.getInput(req.event);\n\t\t\t\t\tconst headers = req.event.headers as Record<string, string>;\n\t\t\t\t\tconst header = Endpoint.createHeaders(headers);\n\t\t\t\t\tconst cookie = this.getCookies(req.event);\n\n\t\t\t\t\tset(req.event, 'body', await this.endpoint.parseInput(body, 'body'));\n\n\t\t\t\t\tset(\n\t\t\t\t\t\treq.event,\n\t\t\t\t\t\t'query',\n\t\t\t\t\t\tawait this.endpoint.parseInput(query, 'query'),\n\t\t\t\t\t);\n\t\t\t\t\tset(\n\t\t\t\t\t\treq.event,\n\t\t\t\t\t\t'params',\n\t\t\t\t\t\tawait this.endpoint.parseInput(params, 'params'),\n\t\t\t\t\t);\n\t\t\t\t\tset(req.event, 'header', header);\n\t\t\t\t\tset(req.event, 'cookie', cookie);\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// Convert validation errors to 422 Unprocessable Entity\n\t\t\t\t\tif (error && typeof error === 'object' && Array.isArray(error)) {\n\t\t\t\t\t\tthrow new UnprocessableEntityError('Validation failed', error);\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tabstract getLoggerContext(data: TEvent, context: Context): LoggerContext;\n\n\tprivate logger(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: (req) => {\n\t\t\t\treq.event.logger = this.endpoint.logger.child({\n\t\t\t\t\troute: this.endpoint.route,\n\t\t\t\t\thost: req.event.headers?.host,\n\t\t\t\t\tmethod: this.endpoint.method,\n\t\t\t\t\t...this.getLoggerContext(req.event, req.context),\n\t\t\t\t}) as TLogger;\n\t\t\t},\n\t\t};\n\t}\n\tprivate services(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tconst _logger = req.event.logger as TLogger;\n\t\t\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\t\t\tServiceRecord<TServices>\n\t\t\t\t>(this.envParser);\n\n\t\t\t\tconst services = await serviceDiscovery.register(\n\t\t\t\t\tthis.endpoint.services,\n\t\t\t\t);\n\n\t\t\t\treq.event.services = services;\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate authorize(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tconst logger = req.event.logger as TLogger;\n\t\t\t\tconst services = req.event.services;\n\t\t\t\tconst header = req.event.header;\n\t\t\t\tconst cookie = req.event.cookie;\n\t\t\t\tconst session = req.event.session as TSession;\n\n\t\t\t\tconst isAuthorized = await this.endpoint.authorize({\n\t\t\t\t\theader,\n\t\t\t\t\tcookie,\n\t\t\t\t\tservices,\n\t\t\t\t\tlogger,\n\t\t\t\t\tsession,\n\t\t\t\t\tbody: (req.event as any).body,\n\t\t\t\t\tquery: (req.event as any).query,\n\t\t\t\t\tparams: (req.event as any).params,\n\t\t\t\t} as any);\n\n\t\t\t\tif (!isAuthorized) {\n\t\t\t\t\tlogger.warn('Unauthorized access attempt');\n\t\t\t\t\tthrow new UnauthorizedError(\n\t\t\t\t\t\t'Unauthorized access to the endpoint',\n\t\t\t\t\t\t'You do not have permission to access this resource.',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate database(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tif (!this.endpoint.databaseService) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst _logger = req.event.logger as TLogger;\n\t\t\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\t\t\tServiceRecord<TServices>\n\t\t\t\t>(this.envParser);\n\n\t\t\t\tconst db = await serviceDiscovery\n\t\t\t\t\t.register([this.endpoint.databaseService])\n\t\t\t\t\t.then(\n\t\t\t\t\t\t(s) =>\n\t\t\t\t\t\t\ts[this.endpoint.databaseService?.serviceName as keyof typeof s],\n\t\t\t\t\t);\n\n\t\t\t\t(req.event as any).db = db;\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate session(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tbefore: async (req) => {\n\t\t\t\tconst logger = req.event.logger as TLogger;\n\t\t\t\tconst services = req.event.services;\n\t\t\t\tconst db = (req.event as any).db;\n\t\t\t\treq.event.session = (await this.endpoint.getSession({\n\t\t\t\t\tlogger,\n\t\t\t\t\tservices,\n\t\t\t\t\theader: req.event.header,\n\t\t\t\t\tcookie: req.event.cookie,\n\t\t\t\t\t...(db !== undefined && { db }),\n\t\t\t\t} as any)) as TSession;\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate events(): Middleware<TEvent, TInput, TServices, TLogger> {\n\t\treturn {\n\t\t\tafter: async (req) => {\n\t\t\t\tconst event = req.event;\n\t\t\t\tconst response = (event as any)\n\t\t\t\t\t.__response as InferStandardSchema<TOutSchema>;\n\t\t\t\tconst statusCode = req.response?.statusCode ?? this.endpoint.status;\n\n\t\t\t\t// Only publish events on successful responses (2xx status codes)\n\t\t\t\t// Note: Audits are processed inside the handler's transaction\n\t\t\t\tif (Endpoint.isSuccessStatus(statusCode)) {\n\t\t\t\t\tconst logger = event.logger as TLogger;\n\t\t\t\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\t\t\t\tServiceRecord<TServices>\n\t\t\t\t\t>(this.envParser);\n\n\t\t\t\t\t// Publish events\n\t\t\t\t\tawait publishConstructEvents(\n\t\t\t\t\t\tthis.endpoint,\n\t\t\t\t\t\tresponse,\n\t\t\t\t\t\tserviceDiscovery,\n\t\t\t\t\t\tlogger,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate async _handler(\n\t\tevent: Event<TEvent, TInput, TServices, TLogger, TSession>,\n\t) {\n\t\tconst input = this.endpoint.refineInput(event);\n\t\tconst logger = event.logger as TLogger;\n\t\tconst serviceDiscovery = ServiceDiscovery.getInstance<\n\t\t\tServiceRecord<TServices>\n\t\t>(this.envParser);\n\n\t\t// Create audit context if audit storage is configured\n\t\tconst auditContext = await createAuditContext(\n\t\t\tthis.endpoint,\n\t\t\tserviceDiscovery,\n\t\t\tlogger,\n\t\t\t{\n\t\t\t\tsession: event.session,\n\t\t\t\theader: event.header,\n\t\t\t\tcookie: event.cookie,\n\t\t\t\tservices: event.services as Record<string, unknown>,\n\t\t\t},\n\t\t);\n\n\t\t// Warn if declarative audits are configured but no audit storage\n\t\tconst audits = this.endpoint.audits as MappedAudit<\n\t\t\tTAuditAction,\n\t\t\tTOutSchema\n\t\t>[];\n\t\tif (!auditContext && audits?.length) {\n\t\t\tlogger.warn('No auditor storage service available');\n\t\t}\n\n\t\t// Get pre-resolved database from middleware\n\t\tconst rawDb = (event as any).db;\n\n\t\t// Extract RLS context if configured and not bypassed\n\t\tconst rlsActive =\n\t\t\tthis.endpoint.rlsConfig &&\n\t\t\t!this.endpoint.rlsBypass &&\n\t\t\trawDb !== undefined;\n\t\tconst rlsContext = rlsActive\n\t\t\t? await this.endpoint.rlsConfig?.extractor({\n\t\t\t\t\tservices: event.services as ServiceRecord<TServices>,\n\t\t\t\t\tsession: event.session,\n\t\t\t\t\theader: event.header,\n\t\t\t\t\tcookie: event.cookie,\n\t\t\t\t\tlogger,\n\t\t\t\t})\n\t\t\t: undefined;\n\n\t\t// Execute handler with automatic audit transaction support\n\t\tconst result = await executeWithAuditTransaction(\n\t\t\tauditContext,\n\t\t\tasync (auditor) => {\n\t\t\t\t// Use audit transaction as db only if the storage uses the same database service\n\t\t\t\tconst sameDatabase =\n\t\t\t\t\tauditContext?.storage?.databaseServiceName &&\n\t\t\t\t\tauditContext.storage.databaseServiceName ===\n\t\t\t\t\t\tthis.endpoint.databaseService?.serviceName;\n\t\t\t\tconst baseDb = sameDatabase\n\t\t\t\t\t? (auditor?.getTransaction?.() ?? rawDb)\n\t\t\t\t\t: rawDb;\n\n\t\t\t\t// Helper to execute handler with given db\n\t\t\t\tconst executeHandler = async (db: any) => {\n\t\t\t\t\tconst responseBuilder = new ResponseBuilder();\n\t\t\t\t\tconst response = await this.endpoint.handler(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\theader: event.header,\n\t\t\t\t\t\t\tcookie: event.cookie,\n\t\t\t\t\t\t\tlogger: event.logger,\n\t\t\t\t\t\t\tservices: event.services,\n\t\t\t\t\t\t\tsession: event.session,\n\t\t\t\t\t\t\tauditor,\n\t\t\t\t\t\t\tdb,\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t} as any,\n\t\t\t\t\t\tresponseBuilder,\n\t\t\t\t\t);\n\n\t\t\t\t\t// Check if response has metadata\n\t\t\t\t\tlet data = response;\n\t\t\t\t\tlet metadata = responseBuilder.getMetadata();\n\n\t\t\t\t\tif (Endpoint.hasMetadata(response)) {\n\t\t\t\t\t\tdata = response.data;\n\t\t\t\t\t\tmetadata = response.metadata;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst output = this.endpoint.outputSchema\n\t\t\t\t\t\t? await this.endpoint.parseOutput(data)\n\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\treturn { output, metadata, responseBuilder };\n\t\t\t\t};\n\n\t\t\t\t// If RLS is active, wrap handler with RLS context\n\t\t\t\tif (rlsActive && rlsContext && baseDb) {\n\t\t\t\t\treturn withRlsContext(\n\t\t\t\t\t\tbaseDb,\n\t\t\t\t\t\trlsContext,\n\t\t\t\t\t\tasync (trx: any) => executeHandler(trx),\n\t\t\t\t\t\t{ prefix: this.endpoint.rlsConfig?.prefix },\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn executeHandler(baseDb);\n\t\t\t},\n\t\t\t// Process declarative audits after handler (inside transaction)\n\t\t\tasync (result, auditor) => {\n\t\t\t\tif (!audits?.length) return;\n\n\t\t\t\tfor (const audit of audits) {\n\t\t\t\t\tif (audit.when && !audit.when(result.output as any)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tconst payload = audit.payload(result.output as any);\n\t\t\t\t\tconst entityId = audit.entityId?.(result.output as any);\n\t\t\t\t\tauditor.audit(audit.type as any, payload as any, {\n\t\t\t\t\t\ttable: audit.table,\n\t\t\t\t\t\tentityId,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Pass rawDb so storage can reuse existing transactions\n\t\t\t{ db: rawDb },\n\t\t);\n\n\t\tconst { output, metadata } = result;\n\t\tconst body = output !== undefined ? JSON.stringify(output) : undefined;\n\n\t\t// Store response for middleware access\n\t\t(event as any).__response = output;\n\n\t\t// Build response with metadata\n\t\tconst lambdaResponse: AmazonApiGatewayEndpointHandlerResponse = {\n\t\t\tstatusCode: metadata.status ?? this.endpoint.status,\n\t\t\tbody,\n\t\t};\n\n\t\t// Add custom headers\n\t\tif (metadata.headers && Object.keys(metadata.headers).length > 0) {\n\t\t\tlambdaResponse.headers = { ...metadata.headers };\n\t\t}\n\n\t\t// Format cookies as Set-Cookie headers\n\t\tif (metadata.cookies && metadata.cookies.size > 0) {\n\t\t\tconst setCookieHeaders: string[] = [];\n\t\t\tfor (const [name, { value, options }] of metadata.cookies) {\n\t\t\t\tsetCookieHeaders.push(\n\t\t\t\t\tEndpoint.formatCookieHeader(name, value, options),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (setCookieHeaders.length > 0) {\n\t\t\t\tlambdaResponse.multiValueHeaders = {\n\t\t\t\t\t...lambdaResponse.multiValueHeaders,\n\t\t\t\t\t'Set-Cookie': setCookieHeaders,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn lambdaResponse;\n\t}\n\n\t/**\n\t * Convert Telemetry interface to Middy middleware\n\t */\n\tprivate telemetry(): Middleware<TEvent, TInput, TServices, TLogger> | null {\n\t\tif (!this.options.telemetry) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst telemetry = this.options.telemetry;\n\t\tlet ctx: any;\n\n\t\treturn {\n\t\t\tbefore: (request) => {\n\t\t\t\tctx = telemetry.onRequestStart({\n\t\t\t\t\tevent: request.event,\n\t\t\t\t\tcontext: request.context,\n\t\t\t\t});\n\t\t\t},\n\t\t\tafter: (request) => {\n\t\t\t\tif (ctx) {\n\t\t\t\t\ttelemetry.onRequestEnd(ctx, {\n\t\t\t\t\t\tstatusCode: request.response?.statusCode ?? 200,\n\t\t\t\t\t\tbody: request.response?.body,\n\t\t\t\t\t\theaders: request.response?.headers,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tonError: (request) => {\n\t\t\t\tif (ctx && request.error) {\n\t\t\t\t\ttelemetry.onRequestError(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\trequest.error instanceof Error\n\t\t\t\t\t\t\t? request.error\n\t\t\t\t\t\t\t: new Error(String(request.error)),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tget handler() {\n\t\tconst handler = this._handler.bind(this);\n\t\tlet chain = middy(handler)\n\t\t\t.use(this.logger())\n\t\t\t.use(this.error())\n\t\t\t.use(this.services())\n\t\t\t.use(this.input())\n\t\t\t.use(this.database())\n\t\t\t.use(this.session())\n\t\t\t.use(this.authorize())\n\t\t\t.use(this.events());\n\n\t\t// Add telemetry middleware if configured (runs early for span creation)\n\t\tconst telemetryMiddleware = this.telemetry();\n\t\tif (telemetryMiddleware) {\n\t\t\tchain = chain.use(telemetryMiddleware);\n\t\t}\n\n\t\t// Add Telescope middleware if configured (runs first/last in chain)\n\t\tif (this.options.telescope?.middleware) {\n\t\t\tchain = chain.use(this.options.telescope.middleware);\n\t\t}\n\n\t\t// Wrap entire Middy chain in request context for service access\n\t\tconst wrappedHandler = async (event: TEvent, context: Context) => {\n\t\t\tconst startTime = Date.now();\n\t\t\tconst requestId = context.awsRequestId;\n\t\t\tconst logger = this.endpoint.logger.child({ requestId }) as TLogger;\n\n\t\t\t// Cast event to any since Middy middlewares enrich the event with\n\t\t\t// services, logger, session, etc. during the middleware chain execution\n\t\t\treturn runWithRequestContext({ logger, requestId, startTime }, () =>\n\t\t\t\tchain(event as unknown as Parameters<typeof chain>[0], context),\n\t\t\t);\n\t\t};\n\n\t\treturn wrappedHandler as unknown as THandler;\n\t}\n}\n\nexport type Event<\n\tTEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\theader: HeaderFn;\n\tcookie: CookieFn;\n\tsession: TSession;\n} & TEvent &\n\tInferComposableStandardSchema<TInput>;\n\ntype Middleware<\n\tTEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n> = MiddlewareObj<Event<TEvent, TInput, TServices, TLogger, TSession>>;\n\nexport type AmazonApiGatewayEndpointHandlerResponse = {\n\tstatusCode: number;\n\tbody: string | undefined;\n\theaders?: Record<string, string>;\n\tmultiValueHeaders?: Record<string, string[]>;\n};\n\nexport type LoggerContext = {\n\tfn: {\n\t\tname: string;\n\t\tversion: string;\n\t};\n\treq: {\n\t\tid: string | undefined;\n\t\tawsRequestId: string;\n\t\tpath: string;\n\t\tip: string | undefined;\n\t\tuserAgent: string | undefined;\n\t};\n};\n\nexport type GetInputResponse = {\n\tbody: any;\n\tquery: any;\n\tparams: any;\n};\n\nexport type AmazonApiGatewayV1EndpointHandler = (\n\tevent: APIGatewayProxyEvent,\n\tcontext: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type AmazonApiGatewayV2EndpointHandler = (\n\tevent: APIGatewayProxyEventV2,\n\tcontext: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type HandlerEvent<T extends Function> = T extends (\n\tevent: infer E,\n\tcontext: Context,\n) => any\n\t? E\n\t: never;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Endpoint-BIvS-rKH.d.mts","names":[],"sources":["../src/endpoints/audit.ts","../src/endpoints/rls.ts","../src/endpoints/Endpoint.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Endpoint-BPh52sXZ.d.cts","names":[],"sources":["../src/endpoints/audit.ts","../src/endpoints/rls.ts","../src/endpoints/Endpoint.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EndpointBuilder-3xH8Gllw.d.mts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA2B4B,cAAf,eAAe,CAAA,eAAA,MAAA,EAAA,gBAEX,UAFW,EAAA,eAGZ,eAHY,GAAA,CAAA,CAAA,EAAA,kBAIT,OAJS,EAAA,GAAA,EAAA,EAAA,gBAKX,MALW,GAKF,MALE,EAAA,kBAMT,gBANS,GAAA,SAAA,GAAA,SAAA,EAAA,WAAA,OAAA,EAAA,wBAQH,cARG,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,mCAAA,MAAA,GAAA,MAAA,EAAA,qBAAA,SAAA,MAAA,EAAA,GAAA,SAAA,MAAA,EAAA,EAAA,sBAWL,YAXK,GAAA,SAAA,GAAA,SAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,qBAaN,eAbM,CAAA,MAAA,EAAA,OAAA,CAAA,GAa6B,eAb7B,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,YAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,CAAA,SAmBlB,mBAnBkB,CAoB3B,MApB2B,EAqB3B,SArB2B,EAsB3B,SAtB2B,EAuB3B,OAvB2B,EAwB3B,eAxB2B,EAyB3B,0BAzB2B,EA0B3B,aA1B2B,EA2B3B,wBA3B2B,EA4B3B,SA5B2B,EA6B3B,oBA7B2B,CAAA,CAAA;EAAA,SAEX,KAAA,EA+CC,MA/CD;EAAU,SACX,MAAA,EA+CG,OA/CH;EAAe,UACZ,OAAA,EA2BC,MA3BD;EAAO,UACT,YAAA,CAAA,EAAA,MAAA;EAAM,UAAG,OAAA,CAAA,EA4BL,aA5BK;EAAM,UACb,KAAA,CAAA,EAAA,MAAA,EAAA;EAAgB,UAEV,WAAA,CAAA,EAAA,MAAA;EAAc,WAGhB,EAyBT,SAzBS,CAyBC,SAzBD,EAyBY,OAzBZ,EAyBqB,QAzBrB,EAyB+B,SAzB/B,CAAA;EAAY,UAEb,EAyBT,WAzBS,CAyBG,SAzBH,EAyBc,OAzBd,EAyBuB,QAzBvB,EAyBiC,MAzBjC,CAAA;EAAe,UAAoB,CAAA,EA0B3C,eA1B2C;EAAe,qBAOvE,EAoBuB,UApBvB,EAAA;EAAM,eACN,CAAA,EAoBkB,YApBlB,CAAA,MAAA,CAAA;EAAS,eACT,CAAA,EAoBkB,cApBlB,CAoBiC,SApBjC,EAoB4C,QApB5C,EAoBsD,OApBtD,CAAA;EAAS,OACT,EAoBS,WApBT,CAoBqB,YApBrB,EAoBmC,SApBnC,CAAA,EAAA;EAAO,sBACP,EAoBwB,MApBxB,CAAA,MAAA,EAoBuC,cApBvC,CAAA;EAAe,UACf,CAAA,EAoBa,SApBb,CAoBuB,SApBvB,EAoBkC,QApBlC,EAoB4C,OApB5C,CAAA;EAA0B,UAC1B,CAAA,EAAA,OAAA;EAAa,WACb,CAAA,KAAA,EAsBiB,MAtBjB,EAAA,MAAA,EAuBkB,OAvBlB;EAAwB,aACxB,CAAA,SAAA,EA6BY,OA7BZ,CA6BoB,0BA7BpB,EA6BgD,eA7BhD,CAAA,CAAA,EAAA,IAAA;EAAS,kBACT,CAAA,OAAA,EAmCU,OAnCV,CAmCkB,wBAnClB,EAmC4C,aAnC5C,CAAA,CAAA,EAAA,IAAA;EAAoB,mBAoBH,CAAA,OAAA,EAqBY,OArBZ,CAqBoB,oBArBpB,EAqB0C,SArB1C,CAAA,CAAA,EAAA,IAAA;EAAM,WACL,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAO,MAnBN,CAAA,MAAA,EAgDJ,aAhDI,CAAA,EAAA,IAAA;EAAM,KAEL,CAAA,eAmDU,WAnDV,CAmDsB,eAnDtB,EAmDuC,SAnDvC,CAAA,CAAA,CAAA,KAAA,EAoDZ,MApDY,CAAA,EAAA,IAAA;EAAa,IAGV,CAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA;EAAS,UAAE,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAO,SAAE,CAAA,UAiEd,cAjEc,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,SAAA,EAkE/B,OAlE+B,CAkEvB,KAlEuB,EAkEhB,CAlEgB,CAAA,CAAA,EAmExC,eAnEwC,CAoE1C,MApE0C,EAqE1C,OArE0C,EAsE1C,MAtE0C,EAuE1C,SAvE0C,EAwE1C,OAxE0C,EAyE1C,SAzE0C,EA0E1C,QA1E0C,EA2E1C,CA3E0C,EA4E1C,KA5E0C,EA6E1C,YA7E0C,EA8E1C,aA9E0C,EA+E1C,wBA/E0C,EAgF1C,YAhF0C,EAiF1C,SAjF0C,EAkF1C,oBAlF0C,CAAA;EAAQ,IAAE,CAAA,UA4GtC,gBA5GsC,CAAA,CAAA,MAAA,EA6G5C,CA7G4C,CAAA,EA8GlD,eA9GkD,CA+GpD,MA/GoD,EAgHpD,OAhHoD,EAiHpD,IAjHoD,CAiH/C,MAjH+C,EAAA,MAAA,CAAA,GAAA;IAAxC,IAAA,EAiHmB,CAjHnB;EAAS,CAAA,EAkHrB,SAhHuB,EAiHvB,OAjHuB,EAkHvB,SAlHuB,EAmHvB,QAnHuB,EAoHvB,eApHuB,EAqHvB,0BArHuB,EAsHvB,YAtHuB,EAuHvB,aAvHuB,EAwHvB,wBAxHuB,EAyHvB,YAzHuB,EA0HvB,SA1HuB,EA2HvB,oBA3HuB,CAAA;EAAS,MAAE,CAAA,UAkIlB,gBAlIkB,CAAA,CAAA,MAAA,EAmI1B,CAnI0B,CAAA,EAoIhC,eApIgC,CAqIlC,MArIkC,EAsIlC,OAtIkC,EAuIlC,IAvIkC,CAuI7B,MAvI6B,EAAA,OAAA,CAAA,GAAA;IAAS,KAAA,EAuIV,CAvIU;EAAQ,CAAA,EAwInD,SAxIqD,EAyIrD,OAzIqD,EA0IrD,SA1IqD,EA2IrD,QA3IqD,EA4IrD,eA5IqD,EA6IrD,0BA7IqD,EA8IrD,YA9IqD,EA+IrD,aA/IqD,EAgJrD,wBAhJqD,EAiJrD,YAjJqD,EAkJrD,SAlJqD,EAmJrD,oBAnJqD,CAAA;EAAM,KAAhD,CAAA,UA0JI,gBA1JJ,CAAA,CAAA,MAAA,EA2JH,CA3JG,CAAA,EA4JT,eA5JS,CA6JX,MA7JW,EA8JX,OA9JW,EA+JX,IA/JW,CA+JN,MA/JM,EAAA,OAAA,CAAA,GAAA;IACC,KAAA,EA8JqB,CA9JrB;EAAe,CAAA,EA+J3B,SA9JsB,EA+JtB,OA/JsB,EAgKtB,SAhKsB,EAiKtB,QAjKsB,EAkKtB,eAlKsB,EAmKtB,0BAnKsB,EAoKtB,YApKsB,EAqKtB,aArKsB,EAsKtB,wBAtKsB,EAuKtB,YAvKsB,EAwKtB,SAxKsB,EAyKtB,oBAzKsB,CAAA;EAAU,MACf,CAAA,UA6KD,gBA7KC,CAAA,CAAA,MAAA,EA8KT,CA9KS,CAAA,EA+Kf,eA/Ke,CAgLjB,MAhLiB,EAiLjB,OAjLiB,EAkLjB,IAlLiB,CAkLZ,MAlLY,EAAA,QAAA,CAAA,GAAA;IACe,MAAA,EAiLG,CAjLH;EAAS,CAAA,EAkLzC,SAlL2C,EAmL3C,OAnL2C,EAoL3C,SApL2C,EAqL3C,QArL2C,EAsL3C,eAtL2C,EAuL3C,0BAvL2C,EAwL3C,YAxL2C,EAyL3C,aAzL2C,EA0L3C,wBA1L2C,EA2L3C,YA3L2C,EA4L3C,SA5L2C,EA6L3C,oBA7L2C,CAAA;EAAQ,SAAE,CAAA,EAAA,EAoMxC,WApMwC,CAoM5B,SApM4B,EAoMjB,OApMiB,EAoMR,QApMQ,EAoME,MApMF,CAAA,CAAA,EAAA,IAAA;EAAO,SAA3C,CAAA,MAAA,EAyMA,eAzMA,CAAA,EAAA,IAAA;EAAc,UACX,CAAA,IAAA,EA8Md,YA9Mc,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA,EA+MlB,eA/MkB,CAgNpB,MAhNoB,EAiNpB,OAjNoB,EAkNpB,MAlNoB,EAmNpB,SAnNoB,EAoNpB,OApNoB,EAqNpB,SArNoB,EAsNpB,QAtNoB,EAuNpB,eAvNoB,EAwNpB,0BAxNoB,EAyNpB,YAzNoB,EA0NpB,aA1NoB,EA2NpB,wBA3NoB,EA4NpB,YA5NoB,EA6NpB,SA7NoB,EA8NpB,oBA9NoB,CAAA;EAAY,QAAE,CAAA,UAsPhB,OAtPgB,EAAA,CAAA,CAAA,QAAA,EAuPxB,CAvPwB,CAAA,EAwPhC,eAxPgC,CAyPlC,MAzPkC,EA0PlC,OA1PkC,EA2PlC,MA3PkC,EAAA,CAA1B,GA4PJ,SA5PI,EAC8B,GA2PpB,CA3PoB,CAAc,EA4PpD,OA5PuB,EA6PvB,SA7PuB,EA8PvB,QA9PuB,EA+PvB,eA/PuB,EAgQvB,0BAhQuB,EAiQvB,YAjQuB,EAkQvB,aAlQuB,EAmQvB,wBAnQuB,EAoQvB,YApQuB,EAqQvB,SArQuB,EAsQvB,oBAtQuB,CAAA;EAAM,MACP,CAAA,UA+RN,MA/RM,CAAA,CAAA,MAAA,EAgSd,CAhSc,CAAA,EAiSpB,eAjSoB,CAkStB,MAlSsB,EAmStB,OAnSsB,EAoStB,MApSsB,EAqStB,SArSsB,EAsStB,CAtSsB,EAuStB,SAvSsB,EAwStB,QAxSsB,EAyStB,eAzSsB,EA0StB,0BA1SsB,EA2StB,YA3SsB,EA4StB,aA5SsB,EA6StB,wBA7SsB,EA8StB,YA9SsB,EA+StB,SA/SsB,EAgTtB,oBAhTsB,CAAA;EAAS,MAAE,CAAA,UAuUjB,gBAvUiB,CAAA,CAAA,MAAA,EAwUzB,CAxUyB,CAAA,EAyU/B,eAzU+B,CA0UjC,MA1UiC,EA2UjC,OA3UiC,EA4UjC,MA5UiC,EA6UjC,SA7UiC,EA8UjC,OA9UiC,EA+UjC,CA/UiC,EAgVjC,QAhViC,EAiVjC,eAjViC,EAkVjC,0BAlViC,EAmVjC,YAnViC,EAoVjC,aApViC,EAqVjC,wBArViC,EAsVjC,YAtViC,EAuVjC,SAvViC,EAwVjC,oBAxViC,CAAA;EAAQ;;;;;EAYI,OAAE,CAAA,UAwWrB,YAxWqB,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAyWtC,OAzWsC,CAyW9B,KAzW8B,EAyWvB,CAzWuB,CAAA,CAAA,EA0W7C,eA1W6C,CA2W/C,MA3W+C,EA4W/C,OA5W+C,EA6W/C,MA7W+C,EA8W/C,SA9W+C,EA+W/C,OA/W+C,EAgX/C,SAhX+C,EAiX/C,QAjX+C,EAkX/C,eAlX+C,EAmX/C,0BAnX+C,EAoX/C,YApX+C,EAqX/C,CArX+C,EAsX/C,KAtX+C,EAuX/C,yBAvX+C,CAuXrB,CAvXqB,CAAA,EAwX/C,SAxX+C,EAyX/C,oBAzX+C,CAAA;EAAe;;;;EAO9C,KAMoB,CAAA,SAAA,EA2YzB,cA3YyB,CA2YV,SA3YU,EA2YC,QA3YD,EA2YW,OA3YX,CAAA,CAAA,EA4YlC,eA5YkC,CA6YpC,MA7YoC,EA8YpC,OA9YoC,EA+YpC,MA/YoC,EAgZpC,SAhZoC,EAiZpC,OAjZoC,EAkZpC,SAlZoC,EAmZpC,QAnZoC,EAoZpC,eApZoC,EAqZpC,0BArZoC,EAsZpC,YAtZoC,EAuZpC,aAvZoC,EAwZpC,wBAxZoC,EAyZpC,YAzZoC,EA0ZpC,SA1ZoC,EA2ZpC,oBA3ZoC,CAAA;EAAoB;;;;;;;;;;;;;;;;;EAuC/C,KACT,CAAA,MAAA,EA0Ya,WA1Yb,CA0YyB,YA1YzB,EA0YuC,SA1YvC,CAAA,EAAA,CAAA,EAAA,IAAA;EAAQ;;;;;;;;;;;;;;;EAuCJ,QAA2B,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAwXtB,OAxXsB,CAwXd,KAxXc,EAwXP,CAxXO,CAAA,CAAA,EAyX7B,eAzX6B,CA0X/B,MA1X+B,EA2X/B,OA3X+B,EA4X/B,MA5X+B,EA6X/B,SA7X+B,EA8X/B,OA9X+B,EA+X/B,SA/X+B,EAgY/B,QAhY+B,EAiY/B,eAjY+B,EAkY/B,0BAlY+B,EAmY/B,YAnY+B,EAoY/B,aApY+B,EAqY/B,wBArY+B,EAsY/B,YAtY+B,EAuY/B,CAvY+B,EAwY/B,KAxY+B,CAAA;EAAC;;;;;;;;;;;;;;;;;;;EAwB5B,GAA6B,CAAA,MAAA,EA8ZzB,SA9ZyB,CA8Zf,SA9Ze,EA8ZJ,QA9ZI,EA8ZM,OA9ZN,CAAA,GAAA,KAAA,GA8ZyB,SA9ZzB,CAAA,EAAA,IAAA;EAAC;;;;;;;;;;;;;EAHjB,SAsBF,CAAA,CAAA,EAAA,IAAA;EAAgB,KACvB,CAAA,OAAA,EAAA,GAAA,CAAA,EAAA,GAAA;EAAC,MAET,CAAA,EAAA,EA+aI,eA/aJ,CAgbC,MAhbD,EAibC,SAjbD,EAkbC,OAlbD,EAmbC,SAnbD,EAobC,QApbD,EAqbC,SArbD,EAsbC,aAtbD,EAubC,YAvbD,CAAA,CAAA,EAybE,QAzbF,CA0bA,MA1bA,EA2bA,OA3bA,EA4bA,MA5bA,EA6bA,SA7bA,EA8bA,SA9bA,EA+bA,OA/bA,EAgcA,QAhcA,EAicA,eAjcA,EAkcA,0BAlcA,EAmcA,aAncA,EAocA,wBApcA,EAqcA,YArcA,EAscA,SAtcA,EAucA,oBAvcA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EndpointBuilder-BmVTFp1A.d.cts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EndpointBuilder-CMzbGG2c.mjs","names":["route: TRoute","method: TMethod","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","fn: AuthorizeFn<TServices, TLogger, TSession, TInput>","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","_schema: any","fn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>","authorizer: Authorizer | undefined"],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type {\n\tAuthorizeFn,\n\tEndpointHandler,\n\tSessionFn,\n\tSuccessStatus,\n} from './Endpoint';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n\tTRoute extends string,\n\tTMethod extends HttpMethod,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected schemas: TInput = {} as TInput;\n\tprotected _description?: string;\n\tprotected _status?: SuccessStatus;\n\tprotected _tags?: string[];\n\tprotected _memorySize?: number;\n\t_getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n\t\t({}) as TSession;\n\t_authorize: AuthorizeFn<TServices, TLogger, TSession, TInput> = () => true;\n\t_rateLimit?: RateLimitConfig;\n\t_availableAuthorizers: Authorizer[] = [];\n\t_authorizerName?: TAuthorizers[number];\n\t_actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\t_audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n\t_customSecuritySchemes: Record<string, SecurityScheme> = {};\n\t_rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n\t_rlsBypass?: boolean;\n\n\tconstructor(\n\t\treadonly route: TRoute,\n\t\treadonly method: TMethod,\n\t) {\n\t\tsuper(ConstructType.Endpoint);\n\t}\n\n\t// Internal setter for EndpointFactory to set default publisher\n\t_setPublisher(\n\t\tpublisher: Service<TEventPublisherServiceName, TEventPublisher>,\n\t) {\n\t\tthis._publisher = publisher;\n\t}\n\n\t// Internal setter for EndpointFactory to set default auditor storage\n\t_setAuditorStorage(\n\t\tstorage: Service<TAuditStorageServiceName, TAuditStorage>,\n\t) {\n\t\tthis._auditorStorage = storage;\n\t}\n\n\t// Internal setter for EndpointFactory to set default database service\n\t_setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n\t\tthis._databaseService = service;\n\t}\n\n\tdescription(description: string): this {\n\t\tthis._description = description;\n\t\treturn this;\n\t}\n\n\tstatus(status: SuccessStatus): this {\n\t\tthis._status = status;\n\t\treturn this;\n\t}\n\n\toverride event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n\t\tevent: TEvent,\n\t): this {\n\t\tthis._events.push(event);\n\t\treturn this;\n\t}\n\n\ttags(tags: string[]): this {\n\t\tthis._tags = tags;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tT,\n\t\tTName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tbody<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'body'> & { body: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.body = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tsearch<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.query = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tquery<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn this.search(schema);\n\t}\n\n\tparams<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'params'> & { params: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.params = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tauthorize(fn: AuthorizeFn<TServices, TLogger, TSession, TInput>): this {\n\t\tthis._authorize = fn;\n\t\treturn this;\n\t}\n\n\trateLimit(config: RateLimitConfig): this {\n\t\tthis._rateLimit = config;\n\t\treturn this;\n\t}\n\n\tauthorizer(\n\t\tname: TAuthorizers[number] | 'none',\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Special case: 'none' explicitly marks endpoint as having no authorizer\n\t\tif (name === 'none') {\n\t\t\tthis._authorizerName = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\t// Validate that the authorizer exists in available authorizers\n\t\tconst authorizerExists = this._availableAuthorizers.some(\n\t\t\t(a) => a.name === name,\n\t\t);\n\t\tif (!authorizerExists && this._availableAuthorizers.length > 0) {\n\t\t\tconst available = this._availableAuthorizers\n\t\t\t\t.map((a) => a.name)\n\t\t\t\t.join(', ');\n\t\t\tthrow new Error(\n\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t);\n\t\t}\n\t\tthis._authorizerName = name;\n\t\treturn this;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the auditor storage service for this endpoint.\n\t * This enables audit functionality and makes `auditor` available in the handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\toverride auditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the actor extractor function for audit records.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._actorExtractor = extractor;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Add declarative audit definitions that are processed after the handler executes.\n\t * Similar to `.event()` for events, but for audits.\n\t *\n\t * @example\n\t * ```typescript\n\t * .audit<AppAuditAction>([\n\t * {\n\t * type: 'user.created',\n\t * payload: (response) => ({ userId: response.id, email: response.email }),\n\t * when: (response) => response.active,\n\t * entityId: (response) => response.id,\n\t * table: 'users',\n\t * },\n\t * ])\n\t * ```\n\t */\n\taudit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n\t\tthis._audits = audits;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Set the database service for this endpoint.\n\t * The database will be available in the handler context as `db`.\n\t * When audit storage is configured and uses the same database,\n\t * `db` will automatically be the transaction for ACID compliance.\n\t *\n\t * @example\n\t * ```typescript\n\t * .database(databaseService)\n\t * .handle(async ({ db }) => {\n\t * // db is the raw database or transaction (when auditor uses same db)\n\t * return await db.selectFrom('users').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n\n\t/**\n\t * Configure RLS (Row-Level Security) context for this endpoint.\n\t * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n\t *\n\t * @example\n\t * ```typescript\n\t * // Custom RLS config for this endpoint\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * })\n\t *\n\t * // Bypass RLS (for admin endpoints)\n\t * .rls(false)\n\t * ```\n\t */\n\trls(\n\t\tconfig: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n\t): this {\n\t\tif (config === false || config === RLS_BYPASS) {\n\t\t\tthis._rlsBypass = true;\n\t\t\tthis._rlsConfig = undefined;\n\t\t} else {\n\t\t\tthis._rlsConfig = config;\n\t\t\tthis._rlsBypass = false;\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Explicitly bypass RLS for this endpoint.\n\t * Useful for admin operations that need unrestricted database access.\n\t *\n\t * @example\n\t * ```typescript\n\t * .rlsBypass()\n\t * .handle(async ({ db }) => {\n\t * // Full access, no RLS filtering\n\t * return db.selectFrom('orders').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\trlsBypass(): this {\n\t\tthis._rlsBypass = true;\n\t\tthis._rlsConfig = undefined;\n\t\treturn this;\n\t}\n\n\t// EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n\tinput(_schema: any): any {\n\t\tthrow new Error(\n\t\t\t'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n\t\t);\n\t}\n\n\thandle(\n\t\tfn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Endpoint<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Find authorizer metadata if name is set\n\t\t// If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n\t\tlet authorizer: Authorizer | undefined;\n\t\tif (this._authorizerName) {\n\t\t\tconst existingAuthorizer = this._availableAuthorizers.find(\n\t\t\t\t(a) => a.name === this._authorizerName,\n\t\t\t);\n\n\t\t\tif (existingAuthorizer) {\n\t\t\t\tauthorizer = existingAuthorizer;\n\t\t\t} else {\n\t\t\t\t// Create authorizer with security scheme if available (built-in or custom)\n\t\t\t\tconst securityScheme = getSecurityScheme(\n\t\t\t\t\tthis._authorizerName as string,\n\t\t\t\t\tthis._customSecuritySchemes,\n\t\t\t\t);\n\t\t\t\tauthorizer = {\n\t\t\t\t\tname: this._authorizerName as string,\n\t\t\t\t\tsecurityScheme,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn new Endpoint({\n\t\t\tfn,\n\t\t\tmethod: this.method,\n\t\t\troute: this.route,\n\t\t\tdescription: this._description,\n\t\t\ttags: this._tags,\n\t\t\tinput: this.schemas,\n\t\t\toutput: this.outputSchema,\n\t\t\tservices: this._services,\n\t\t\tlogger: this._logger,\n\t\t\ttimeout: this._timeout,\n\t\t\tmemorySize: this._memorySize,\n\t\t\tauthorize: this._authorize,\n\t\t\tstatus: this._status,\n\t\t\tgetSession: this._getSession,\n\t\t\trateLimit: this._rateLimit,\n\t\t\tpublisherService: this._publisher,\n\t\t\tevents: this._events,\n\t\t\tauthorizer,\n\t\t\tauditorStorageService: this._auditorStorage,\n\t\t\tactorExtractor: this._actorExtractor,\n\t\t\taudits: this._audits,\n\t\t\tdatabaseService: this._databaseService,\n\t\t\trlsConfig: this._rlsConfig,\n\t\t\trlsBypass: this._rlsBypass,\n\t\t});\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EndpointBuilder-QdDf3x87.cjs","names":["BaseFunctionBuilder","route: TRoute","method: TMethod","ConstructType","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","fn: AuthorizeFn<TServices, TLogger, TSession, TInput>","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","RLS_BYPASS","_schema: any","fn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>","authorizer: Authorizer | undefined","Endpoint"],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type {\n\tAuthorizeFn,\n\tEndpointHandler,\n\tSessionFn,\n\tSuccessStatus,\n} from './Endpoint';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n\tTRoute extends string,\n\tTMethod extends HttpMethod,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected schemas: TInput = {} as TInput;\n\tprotected _description?: string;\n\tprotected _status?: SuccessStatus;\n\tprotected _tags?: string[];\n\tprotected _memorySize?: number;\n\t_getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n\t\t({}) as TSession;\n\t_authorize: AuthorizeFn<TServices, TLogger, TSession, TInput> = () => true;\n\t_rateLimit?: RateLimitConfig;\n\t_availableAuthorizers: Authorizer[] = [];\n\t_authorizerName?: TAuthorizers[number];\n\t_actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\t_audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n\t_customSecuritySchemes: Record<string, SecurityScheme> = {};\n\t_rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n\t_rlsBypass?: boolean;\n\n\tconstructor(\n\t\treadonly route: TRoute,\n\t\treadonly method: TMethod,\n\t) {\n\t\tsuper(ConstructType.Endpoint);\n\t}\n\n\t// Internal setter for EndpointFactory to set default publisher\n\t_setPublisher(\n\t\tpublisher: Service<TEventPublisherServiceName, TEventPublisher>,\n\t) {\n\t\tthis._publisher = publisher;\n\t}\n\n\t// Internal setter for EndpointFactory to set default auditor storage\n\t_setAuditorStorage(\n\t\tstorage: Service<TAuditStorageServiceName, TAuditStorage>,\n\t) {\n\t\tthis._auditorStorage = storage;\n\t}\n\n\t// Internal setter for EndpointFactory to set default database service\n\t_setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n\t\tthis._databaseService = service;\n\t}\n\n\tdescription(description: string): this {\n\t\tthis._description = description;\n\t\treturn this;\n\t}\n\n\tstatus(status: SuccessStatus): this {\n\t\tthis._status = status;\n\t\treturn this;\n\t}\n\n\toverride event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n\t\tevent: TEvent,\n\t): this {\n\t\tthis._events.push(event);\n\t\treturn this;\n\t}\n\n\ttags(tags: string[]): this {\n\t\tthis._tags = tags;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tT,\n\t\tTName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tbody<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'body'> & { body: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.body = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tsearch<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.query = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tquery<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn this.search(schema);\n\t}\n\n\tparams<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'params'> & { params: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.params = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tauthorize(fn: AuthorizeFn<TServices, TLogger, TSession, TInput>): this {\n\t\tthis._authorize = fn;\n\t\treturn this;\n\t}\n\n\trateLimit(config: RateLimitConfig): this {\n\t\tthis._rateLimit = config;\n\t\treturn this;\n\t}\n\n\tauthorizer(\n\t\tname: TAuthorizers[number] | 'none',\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Special case: 'none' explicitly marks endpoint as having no authorizer\n\t\tif (name === 'none') {\n\t\t\tthis._authorizerName = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\t// Validate that the authorizer exists in available authorizers\n\t\tconst authorizerExists = this._availableAuthorizers.some(\n\t\t\t(a) => a.name === name,\n\t\t);\n\t\tif (!authorizerExists && this._availableAuthorizers.length > 0) {\n\t\t\tconst available = this._availableAuthorizers\n\t\t\t\t.map((a) => a.name)\n\t\t\t\t.join(', ');\n\t\t\tthrow new Error(\n\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t);\n\t\t}\n\t\tthis._authorizerName = name;\n\t\treturn this;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the auditor storage service for this endpoint.\n\t * This enables audit functionality and makes `auditor` available in the handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\toverride auditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the actor extractor function for audit records.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._actorExtractor = extractor;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Add declarative audit definitions that are processed after the handler executes.\n\t * Similar to `.event()` for events, but for audits.\n\t *\n\t * @example\n\t * ```typescript\n\t * .audit<AppAuditAction>([\n\t * {\n\t * type: 'user.created',\n\t * payload: (response) => ({ userId: response.id, email: response.email }),\n\t * when: (response) => response.active,\n\t * entityId: (response) => response.id,\n\t * table: 'users',\n\t * },\n\t * ])\n\t * ```\n\t */\n\taudit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n\t\tthis._audits = audits;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Set the database service for this endpoint.\n\t * The database will be available in the handler context as `db`.\n\t * When audit storage is configured and uses the same database,\n\t * `db` will automatically be the transaction for ACID compliance.\n\t *\n\t * @example\n\t * ```typescript\n\t * .database(databaseService)\n\t * .handle(async ({ db }) => {\n\t * // db is the raw database or transaction (when auditor uses same db)\n\t * return await db.selectFrom('users').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n\n\t/**\n\t * Configure RLS (Row-Level Security) context for this endpoint.\n\t * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n\t *\n\t * @example\n\t * ```typescript\n\t * // Custom RLS config for this endpoint\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * })\n\t *\n\t * // Bypass RLS (for admin endpoints)\n\t * .rls(false)\n\t * ```\n\t */\n\trls(\n\t\tconfig: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n\t): this {\n\t\tif (config === false || config === RLS_BYPASS) {\n\t\t\tthis._rlsBypass = true;\n\t\t\tthis._rlsConfig = undefined;\n\t\t} else {\n\t\t\tthis._rlsConfig = config;\n\t\t\tthis._rlsBypass = false;\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Explicitly bypass RLS for this endpoint.\n\t * Useful for admin operations that need unrestricted database access.\n\t *\n\t * @example\n\t * ```typescript\n\t * .rlsBypass()\n\t * .handle(async ({ db }) => {\n\t * // Full access, no RLS filtering\n\t * return db.selectFrom('orders').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\trlsBypass(): this {\n\t\tthis._rlsBypass = true;\n\t\tthis._rlsConfig = undefined;\n\t\treturn this;\n\t}\n\n\t// EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n\tinput(_schema: any): any {\n\t\tthrow new Error(\n\t\t\t'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n\t\t);\n\t}\n\n\thandle(\n\t\tfn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Endpoint<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Find authorizer metadata if name is set\n\t\t// If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n\t\tlet authorizer: Authorizer | undefined;\n\t\tif (this._authorizerName) {\n\t\t\tconst existingAuthorizer = this._availableAuthorizers.find(\n\t\t\t\t(a) => a.name === this._authorizerName,\n\t\t\t);\n\n\t\t\tif (existingAuthorizer) {\n\t\t\t\tauthorizer = existingAuthorizer;\n\t\t\t} else {\n\t\t\t\t// Create authorizer with security scheme if available (built-in or custom)\n\t\t\t\tconst securityScheme = getSecurityScheme(\n\t\t\t\t\tthis._authorizerName as string,\n\t\t\t\t\tthis._customSecuritySchemes,\n\t\t\t\t);\n\t\t\t\tauthorizer = {\n\t\t\t\t\tname: this._authorizerName as string,\n\t\t\t\t\tsecurityScheme,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn new Endpoint({\n\t\t\tfn,\n\t\t\tmethod: this.method,\n\t\t\troute: this.route,\n\t\t\tdescription: this._description,\n\t\t\ttags: this._tags,\n\t\t\tinput: this.schemas,\n\t\t\toutput: this.outputSchema,\n\t\t\tservices: this._services,\n\t\t\tlogger: this._logger,\n\t\t\ttimeout: this._timeout,\n\t\t\tmemorySize: this._memorySize,\n\t\t\tauthorize: this._authorize,\n\t\t\tstatus: this._status,\n\t\t\tgetSession: this._getSession,\n\t\t\trateLimit: this._rateLimit,\n\t\t\tpublisherService: this._publisher,\n\t\t\tevents: this._events,\n\t\t\tauthorizer,\n\t\t\tauditorStorageService: this._auditorStorage,\n\t\t\tactorExtractor: this._actorExtractor,\n\t\t\taudits: this._audits,\n\t\t\tdatabaseService: this._databaseService,\n\t\t\trlsConfig: this._rlsConfig,\n\t\t\trlsBypass: this._rlsBypass,\n\t\t});\n\t}\n}\n"],"mappings":"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"}
|