@geekmidas/constructs 0.0.20 → 0.0.21

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.
Files changed (204) hide show
  1. package/dist/{AWSLambdaFunction-B-Oxr8qt.d.cts → AWSLambdaFunction-gpqm7UBb.d.cts} +3 -3
  2. package/dist/{AWSLambdaFunction-CAm9r5ZX.d.mts → AWSLambdaFunction-qWpalqfr.d.mts} +3 -3
  3. package/dist/{AWSLambdaSubscriberAdaptor-Cknp_nn1.d.cts → AWSLambdaSubscriberAdaptor-CWbBNRz3.d.mts} +4 -4
  4. package/dist/{AWSLambdaSubscriberAdaptor-DpHzp-AM.d.mts → AWSLambdaSubscriberAdaptor-DT8icDRf.d.cts} +4 -4
  5. package/dist/{AmazonApiGatewayEndpointAdaptor-4hPy5vty.d.mts → AmazonApiGatewayEndpointAdaptor-BQ0IJdaI.d.mts} +3 -2
  6. package/dist/{AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs → AmazonApiGatewayEndpointAdaptor-CacGag6F.mjs} +16 -5
  7. package/dist/AmazonApiGatewayEndpointAdaptor-CacGag6F.mjs.map +1 -0
  8. package/dist/{AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs → AmazonApiGatewayEndpointAdaptor-DXssXsJi.cjs} +16 -5
  9. package/dist/AmazonApiGatewayEndpointAdaptor-DXssXsJi.cjs.map +1 -0
  10. package/dist/{AmazonApiGatewayEndpointAdaptor-ro0RMLzr.d.cts → AmazonApiGatewayEndpointAdaptor-Da9BR5On.d.cts} +3 -2
  11. package/dist/{AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs → AmazonApiGatewayV1EndpointAdaptor-BpnG55R7.mjs} +2 -2
  12. package/dist/{AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs.map → AmazonApiGatewayV1EndpointAdaptor-BpnG55R7.mjs.map} +1 -1
  13. package/dist/{AmazonApiGatewayV1EndpointAdaptor-hyR-WwyP.d.mts → AmazonApiGatewayV1EndpointAdaptor-C4_AZ1ek.d.mts} +3 -3
  14. package/dist/{AmazonApiGatewayV1EndpointAdaptor-BWJWKqQT.d.cts → AmazonApiGatewayV1EndpointAdaptor-CSm3NsWz.d.cts} +3 -3
  15. package/dist/{AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs → AmazonApiGatewayV1EndpointAdaptor-Df4kszio.cjs} +2 -2
  16. package/dist/{AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs.map → AmazonApiGatewayV1EndpointAdaptor-Df4kszio.cjs.map} +1 -1
  17. package/dist/{AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs → AmazonApiGatewayV2EndpointAdaptor-5SIvqPby.cjs} +2 -2
  18. package/dist/{AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs.map → AmazonApiGatewayV2EndpointAdaptor-5SIvqPby.cjs.map} +1 -1
  19. package/dist/{AmazonApiGatewayV2EndpointAdaptor-D1Irdggp.d.cts → AmazonApiGatewayV2EndpointAdaptor-6hsBFVLf.d.cts} +3 -3
  20. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DX3SuI5S.d.mts → AmazonApiGatewayV2EndpointAdaptor-DdM8Tr1X.d.mts} +3 -3
  21. package/dist/{AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs → AmazonApiGatewayV2EndpointAdaptor-ZORzMEET.mjs} +2 -2
  22. package/dist/{AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs.map → AmazonApiGatewayV2EndpointAdaptor-ZORzMEET.mjs.map} +1 -1
  23. package/dist/{BaseFunctionBuilder-CbDnPZpD.d.mts → BaseFunctionBuilder-Ct6zY6Jq.d.mts} +2 -2
  24. package/dist/{BaseFunctionBuilder-DUZMbEr3.d.cts → BaseFunctionBuilder-DaQA0uKE.d.cts} +2 -2
  25. package/dist/{Construct-ZPqE0vhn.d.mts → Construct-DDR0295I.d.mts} +7 -7
  26. package/dist/{Construct-dI_rgdSp.d.cts → Construct-Dkd8Kvc9.d.cts} +7 -7
  27. package/dist/Construct.d.cts +1 -1
  28. package/dist/Construct.d.mts +1 -1
  29. package/dist/{Cron-COdfP0Jd.d.cts → Cron-7VPR2cNR.d.cts} +6 -5
  30. package/dist/Cron-Bi3QOge_.cjs.map +1 -1
  31. package/dist/{Cron-D8cn_ahj.d.mts → Cron-DnMRWPFR.d.mts} +6 -5
  32. package/dist/Cron-Dy_HW2Vv.mjs.map +1 -1
  33. package/dist/{CronBuilder-DntF6H3A.d.cts → CronBuilder-290th4zF.d.cts} +4 -4
  34. package/dist/{CronBuilder-DoMnSs_0.d.mts → CronBuilder-RLDitFmP.d.mts} +4 -4
  35. package/dist/{Endpoint-DDpF7NO1.cjs → Endpoint-CA-byrDr.cjs} +1 -3
  36. package/dist/Endpoint-CA-byrDr.cjs.map +1 -0
  37. package/dist/{Endpoint-Bu8Phz6y.d.cts → Endpoint-D2Imgihs.d.cts} +31 -7
  38. package/dist/{Endpoint-S6Yh2_PN.mjs → Endpoint-DbPsw13b.mjs} +1 -3
  39. package/dist/Endpoint-DbPsw13b.mjs.map +1 -0
  40. package/dist/{Endpoint-Bbs_sFvg.d.mts → Endpoint-PtQ-wLIS.d.mts} +31 -7
  41. package/dist/{EndpointBuilder-D47py-H1.mjs → EndpointBuilder-B5QPf5Wd.mjs} +2 -2
  42. package/dist/EndpointBuilder-B5QPf5Wd.mjs.map +1 -0
  43. package/dist/{EndpointBuilder-D02Qo4Ha.d.mts → EndpointBuilder-BPHpUekp.d.mts} +4 -4
  44. package/dist/{EndpointBuilder-vxy3s960.cjs → EndpointBuilder-DrJbIf3Z.cjs} +2 -2
  45. package/dist/EndpointBuilder-DrJbIf3Z.cjs.map +1 -0
  46. package/dist/{EndpointBuilder-DHPOWw0B.d.cts → EndpointBuilder-TApJQhtG.d.cts} +4 -4
  47. package/dist/{EndpointFactory-DSTXeokM.cjs → EndpointFactory-CSeDcWYn.cjs} +2 -2
  48. package/dist/EndpointFactory-CSeDcWYn.cjs.map +1 -0
  49. package/dist/{EndpointFactory-DFFXRU-l.d.cts → EndpointFactory-D94AFjIc.d.cts} +5 -5
  50. package/dist/{EndpointFactory-HOCnoBNT.mjs → EndpointFactory-DNwMexc7.mjs} +2 -2
  51. package/dist/EndpointFactory-DNwMexc7.mjs.map +1 -0
  52. package/dist/{EndpointFactory-g84YJjGf.d.mts → EndpointFactory-TJ6gtM0W.d.mts} +5 -5
  53. package/dist/{Function-V9M9UVHp.d.mts → Function-CD3rXWfa.d.mts} +5 -5
  54. package/dist/{Function-VI1TB3Mh.d.cts → Function-DHD1V9QW.d.cts} +5 -5
  55. package/dist/{FunctionBuilder-CjVEFTYC.d.cts → FunctionBuilder-FV6r3I7X.d.cts} +4 -4
  56. package/dist/{FunctionBuilder-D1ofSeMd.d.mts → FunctionBuilder-j2VkwuGf.d.mts} +4 -4
  57. package/dist/{FunctionExecutionWrapper-CwtwYozd.d.cts → FunctionExecutionWrapper-B0WP-Vec.d.mts} +4 -4
  58. package/dist/{FunctionExecutionWrapper-rhbIYT0Q.d.mts → FunctionExecutionWrapper-DYt3C8b9.d.cts} +4 -4
  59. package/dist/{HonoEndpointAdaptor-CdWWj3EJ.cjs → HonoEndpointAdaptor-B_gJPWGD.cjs} +6 -5
  60. package/dist/HonoEndpointAdaptor-B_gJPWGD.cjs.map +1 -0
  61. package/dist/{HonoEndpointAdaptor-BI0tA0Fg.mjs → HonoEndpointAdaptor-Bg_vTyA5.mjs} +6 -5
  62. package/dist/HonoEndpointAdaptor-Bg_vTyA5.mjs.map +1 -0
  63. package/dist/{HonoEndpointAdaptor-BTwjymKt.d.mts → HonoEndpointAdaptor-D99d4b-Z.d.mts} +5 -5
  64. package/dist/{HonoEndpointAdaptor-CDL4pkMO.d.cts → HonoEndpointAdaptor-DB_DdiJr.d.cts} +5 -5
  65. package/dist/{Subscriber-CJOWwaw1.mjs → Subscriber-CGb8LjZa.mjs} +1 -1
  66. package/dist/{Subscriber-CJOWwaw1.mjs.map → Subscriber-CGb8LjZa.mjs.map} +1 -1
  67. package/dist/{Subscriber-Bdh8rMSL.cjs → Subscriber-D-FPWts6.cjs} +1 -1
  68. package/dist/{Subscriber-Bdh8rMSL.cjs.map → Subscriber-D-FPWts6.cjs.map} +1 -1
  69. package/dist/{Subscriber-BhzqUzs-.d.cts → Subscriber-DMSzvO_J.d.cts} +6 -6
  70. package/dist/{Subscriber-s6yfjeOc.d.mts → Subscriber-itwm7ugy.d.mts} +6 -6
  71. package/dist/{SubscriberBuilder-BCVkp-ga.d.cts → SubscriberBuilder-9j3JCu8-.d.mts} +3 -3
  72. package/dist/{SubscriberBuilder-BWQmiYd8.mjs → SubscriberBuilder-BcAspHv9.mjs} +2 -2
  73. package/dist/{SubscriberBuilder-BWQmiYd8.mjs.map → SubscriberBuilder-BcAspHv9.mjs.map} +1 -1
  74. package/dist/{SubscriberBuilder-DieD_60p.cjs → SubscriberBuilder-BfE2cL1q.cjs} +2 -2
  75. package/dist/{SubscriberBuilder-DieD_60p.cjs.map → SubscriberBuilder-BfE2cL1q.cjs.map} +1 -1
  76. package/dist/{SubscriberBuilder-aCua5_wA.d.mts → SubscriberBuilder-BxJM3Hz_.d.cts} +3 -3
  77. package/dist/{TestEndpointAdaptor-ByXqQufk.d.cts → TestEndpointAdaptor-BYCwwiYk.d.cts} +2 -2
  78. package/dist/{TestEndpointAdaptor-C5qwQSnQ.cjs → TestEndpointAdaptor-Bew9lWsx.cjs} +5 -4
  79. package/dist/TestEndpointAdaptor-Bew9lWsx.cjs.map +1 -0
  80. package/dist/{TestEndpointAdaptor-Bl2ic-yr.d.mts → TestEndpointAdaptor-C-c8v7VI.d.mts} +2 -2
  81. package/dist/{TestEndpointAdaptor-DFDT9m8q.mjs → TestEndpointAdaptor-JONQJeXc.mjs} +5 -4
  82. package/dist/TestEndpointAdaptor-JONQJeXc.mjs.map +1 -0
  83. package/dist/adaptors/aws.cjs +4 -4
  84. package/dist/adaptors/aws.d.cts +13 -13
  85. package/dist/adaptors/aws.d.mts +13 -13
  86. package/dist/adaptors/aws.mjs +4 -4
  87. package/dist/adaptors/hono.cjs +3 -3
  88. package/dist/adaptors/hono.d.cts +7 -7
  89. package/dist/adaptors/hono.d.mts +7 -7
  90. package/dist/adaptors/hono.mjs +3 -3
  91. package/dist/adaptors/testing.cjs +2 -2
  92. package/dist/adaptors/testing.d.cts +7 -7
  93. package/dist/adaptors/testing.d.mts +7 -7
  94. package/dist/adaptors/testing.mjs +2 -2
  95. package/dist/crons/Cron.d.cts +6 -6
  96. package/dist/crons/Cron.d.mts +6 -6
  97. package/dist/crons/CronBuilder.d.cts +7 -7
  98. package/dist/crons/CronBuilder.d.mts +7 -7
  99. package/dist/crons/index.d.cts +11 -11
  100. package/dist/crons/index.d.mts +11 -11
  101. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +2 -2
  102. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +7 -7
  103. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +7 -7
  104. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +2 -2
  105. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +3 -3
  106. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +8 -8
  107. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +8 -8
  108. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +3 -3
  109. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +3 -3
  110. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +8 -8
  111. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +8 -8
  112. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +3 -3
  113. package/dist/endpoints/Endpoint.cjs +1 -1
  114. package/dist/endpoints/Endpoint.d.cts +6 -6
  115. package/dist/endpoints/Endpoint.d.mts +6 -6
  116. package/dist/endpoints/Endpoint.mjs +1 -1
  117. package/dist/endpoints/EndpointBuilder.cjs +2 -2
  118. package/dist/endpoints/EndpointBuilder.d.cts +7 -7
  119. package/dist/endpoints/EndpointBuilder.d.mts +7 -7
  120. package/dist/endpoints/EndpointBuilder.mjs +2 -2
  121. package/dist/endpoints/EndpointFactory.cjs +3 -3
  122. package/dist/endpoints/EndpointFactory.d.cts +8 -8
  123. package/dist/endpoints/EndpointFactory.d.mts +8 -8
  124. package/dist/endpoints/EndpointFactory.mjs +3 -3
  125. package/dist/endpoints/HonoEndpointAdaptor.cjs +3 -3
  126. package/dist/endpoints/HonoEndpointAdaptor.d.cts +7 -7
  127. package/dist/endpoints/HonoEndpointAdaptor.d.mts +7 -7
  128. package/dist/endpoints/HonoEndpointAdaptor.mjs +3 -3
  129. package/dist/endpoints/TestEndpointAdaptor.cjs +2 -2
  130. package/dist/endpoints/TestEndpointAdaptor.d.cts +7 -7
  131. package/dist/endpoints/TestEndpointAdaptor.d.mts +7 -7
  132. package/dist/endpoints/TestEndpointAdaptor.mjs +2 -2
  133. package/dist/endpoints/audit.d.cts +6 -6
  134. package/dist/endpoints/audit.d.mts +6 -6
  135. package/dist/endpoints/helpers.cjs +2 -2
  136. package/dist/endpoints/helpers.d.cts +6 -6
  137. package/dist/endpoints/helpers.d.mts +6 -6
  138. package/dist/endpoints/helpers.mjs +2 -2
  139. package/dist/endpoints/index.cjs +3 -3
  140. package/dist/endpoints/index.d.cts +10 -10
  141. package/dist/endpoints/index.d.mts +10 -10
  142. package/dist/endpoints/index.mjs +3 -3
  143. package/dist/endpoints/processAudits.d.cts +6 -6
  144. package/dist/endpoints/processAudits.d.mts +6 -6
  145. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  146. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  147. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  148. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  149. package/dist/functions/Function.d.cts +2 -2
  150. package/dist/functions/Function.d.mts +2 -2
  151. package/dist/functions/FunctionBuilder.d.cts +4 -4
  152. package/dist/functions/FunctionBuilder.d.mts +4 -4
  153. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  154. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  155. package/dist/functions/TestFunctionAdaptor.d.cts +2 -2
  156. package/dist/functions/TestFunctionAdaptor.d.mts +2 -2
  157. package/dist/functions/index.d.cts +5 -5
  158. package/dist/functions/index.d.mts +5 -5
  159. package/dist/{helpers-2CLKTnRm.mjs → helpers-CrrdyA04.mjs} +2 -2
  160. package/dist/{helpers-2CLKTnRm.mjs.map → helpers-CrrdyA04.mjs.map} +1 -1
  161. package/dist/{helpers-Khuhi_Qx.cjs → helpers-DiPZVJQC.cjs} +2 -2
  162. package/dist/{helpers-Khuhi_Qx.cjs.map → helpers-DiPZVJQC.cjs.map} +1 -1
  163. package/dist/{index-Sxtb_Pzw.d.mts → index-C6vCFivC.d.cts} +2 -2
  164. package/dist/index-IoTEI3As.d.mts +10 -0
  165. package/dist/index.d.cts +1 -1
  166. package/dist/index.d.mts +1 -1
  167. package/dist/publisher.d.cts +2 -2
  168. package/dist/publisher.d.mts +2 -2
  169. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  170. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  171. package/dist/subscribers/Subscriber.cjs +1 -1
  172. package/dist/subscribers/Subscriber.d.cts +2 -2
  173. package/dist/subscribers/Subscriber.d.mts +2 -2
  174. package/dist/subscribers/Subscriber.mjs +1 -1
  175. package/dist/subscribers/SubscriberBuilder.cjs +2 -2
  176. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  177. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  178. package/dist/subscribers/SubscriberBuilder.mjs +2 -2
  179. package/dist/subscribers/index.cjs +2 -2
  180. package/dist/subscribers/index.d.cts +5 -5
  181. package/dist/subscribers/index.d.mts +3 -3
  182. package/dist/subscribers/index.mjs +2 -2
  183. package/package.json +6 -6
  184. package/src/crons/Cron.ts +7 -6
  185. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +31 -10
  186. package/src/endpoints/Endpoint.ts +41 -6
  187. package/src/endpoints/EndpointBuilder.ts +2 -1
  188. package/src/endpoints/EndpointFactory.ts +13 -4
  189. package/src/endpoints/HonoEndpointAdaptor.ts +12 -11
  190. package/src/endpoints/TestEndpointAdaptor.ts +11 -6
  191. package/src/endpoints/__tests__/TestEndpointAdaptor.audits.spec.ts +30 -42
  192. package/dist/AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs.map +0 -1
  193. package/dist/AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs.map +0 -1
  194. package/dist/Endpoint-DDpF7NO1.cjs.map +0 -1
  195. package/dist/Endpoint-S6Yh2_PN.mjs.map +0 -1
  196. package/dist/EndpointBuilder-D47py-H1.mjs.map +0 -1
  197. package/dist/EndpointBuilder-vxy3s960.cjs.map +0 -1
  198. package/dist/EndpointFactory-DSTXeokM.cjs.map +0 -1
  199. package/dist/EndpointFactory-HOCnoBNT.mjs.map +0 -1
  200. package/dist/HonoEndpointAdaptor-BI0tA0Fg.mjs.map +0 -1
  201. package/dist/HonoEndpointAdaptor-CdWWj3EJ.cjs.map +0 -1
  202. package/dist/TestEndpointAdaptor-C5qwQSnQ.cjs.map +0 -1
  203. package/dist/TestEndpointAdaptor-DFDT9m8q.mjs.map +0 -1
  204. package/dist/index-CkBMFqhI.d.cts +0 -10
@@ -1,5 +1,5 @@
1
- import { Function, FunctionHandler } from "./Function-VI1TB3Mh.cjs";
2
- import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-CwtwYozd.cjs";
1
+ import { Function, FunctionHandler } from "./Function-DHD1V9QW.cjs";
2
+ import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-DYt3C8b9.cjs";
3
3
  import { AuditStorage, AuditableAction } from "@geekmidas/audit";
4
4
  import { EventPublisher } from "@geekmidas/events";
5
5
  import { Logger } from "@geekmidas/logger";
@@ -27,4 +27,4 @@ declare class AWSLambdaFunction<TInput extends ComposableStandardSchema | undefi
27
27
  }
28
28
  //#endregion
29
29
  export { AWSLambdaFunction, AWSLambdaHandler };
30
- //# sourceMappingURL=AWSLambdaFunction-B-Oxr8qt.d.cts.map
30
+ //# sourceMappingURL=AWSLambdaFunction-gpqm7UBb.d.cts.map
@@ -1,5 +1,5 @@
1
- import { Function, FunctionHandler } from "./Function-V9M9UVHp.mjs";
2
- import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-rhbIYT0Q.mjs";
1
+ import { Function, FunctionHandler } from "./Function-CD3rXWfa.mjs";
2
+ import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-B0WP-Vec.mjs";
3
3
  import { Service } from "@geekmidas/services";
4
4
  import { AuditStorage, AuditableAction } from "@geekmidas/audit";
5
5
  import { EnvironmentParser } from "@geekmidas/envkit";
@@ -27,4 +27,4 @@ declare class AWSLambdaFunction<TInput extends ComposableStandardSchema | undefi
27
27
  }
28
28
  //#endregion
29
29
  export { AWSLambdaFunction, AWSLambdaHandler };
30
- //# sourceMappingURL=AWSLambdaFunction-CAm9r5ZX.d.mts.map
30
+ //# sourceMappingURL=AWSLambdaFunction-qWpalqfr.d.mts.map
@@ -1,9 +1,9 @@
1
- import { Subscriber } from "./Subscriber-BhzqUzs-.cjs";
1
+ import { Subscriber } from "./Subscriber-itwm7ugy.mjs";
2
+ import { Service } from "@geekmidas/services";
3
+ import { EnvironmentParser } from "@geekmidas/envkit";
2
4
  import { EventPublisher } from "@geekmidas/events";
3
5
  import { Logger } from "@geekmidas/logger";
4
- import { Service } from "@geekmidas/services";
5
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
- import { EnvironmentParser } from "@geekmidas/envkit";
7
7
  import { Handler } from "aws-lambda";
8
8
 
9
9
  //#region src/subscribers/AWSLambdaSubscriberAdaptor.d.ts
@@ -29,4 +29,4 @@ declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger exte
29
29
  }
30
30
  //#endregion
31
31
  export { AWSLambdaHandler, AWSLambdaSubscriber };
32
- //# sourceMappingURL=AWSLambdaSubscriberAdaptor-Cknp_nn1.d.cts.map
32
+ //# sourceMappingURL=AWSLambdaSubscriberAdaptor-CWbBNRz3.d.mts.map
@@ -1,9 +1,9 @@
1
- import { Subscriber } from "./Subscriber-s6yfjeOc.mjs";
2
- import { Service } from "@geekmidas/services";
3
- import { EnvironmentParser } from "@geekmidas/envkit";
1
+ import { Subscriber } from "./Subscriber-DMSzvO_J.cjs";
4
2
  import { EventPublisher } from "@geekmidas/events";
5
3
  import { Logger } from "@geekmidas/logger";
4
+ import { Service } from "@geekmidas/services";
6
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
+ import { EnvironmentParser } from "@geekmidas/envkit";
7
7
  import { Handler } from "aws-lambda";
8
8
 
9
9
  //#region src/subscribers/AWSLambdaSubscriberAdaptor.d.ts
@@ -29,4 +29,4 @@ declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger exte
29
29
  }
30
30
  //#endregion
31
31
  export { AWSLambdaHandler, AWSLambdaSubscriber };
32
- //# sourceMappingURL=AWSLambdaSubscriberAdaptor-DpHzp-AM.d.mts.map
32
+ //# sourceMappingURL=AWSLambdaSubscriberAdaptor-DT8icDRf.d.cts.map
@@ -1,5 +1,5 @@
1
1
  import { HttpMethod } from "./types-DKf0juBf.mjs";
2
- import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-Bbs_sFvg.mjs";
2
+ import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-PtQ-wLIS.mjs";
3
3
  import { Service, ServiceRecord } from "@geekmidas/services";
4
4
  import { AuditStorage, AuditableAction } from "@geekmidas/audit";
5
5
  import { EnvironmentParser } from "@geekmidas/envkit";
@@ -21,6 +21,7 @@ declare abstract class AmazonApiGatewayEndpoint<THandler extends AmazonApiGatewa
21
21
  private logger;
22
22
  private services;
23
23
  private authorize;
24
+ private database;
24
25
  private session;
25
26
  private events;
26
27
  private _handler;
@@ -62,4 +63,4 @@ type AmazonApiGatewayV2EndpointHandler = (event: APIGatewayProxyEventV2, context
62
63
  type HandlerEvent<T extends Function> = T extends ((event: infer E, context: Context) => any) ? E : never;
63
64
  //#endregion
64
65
  export { AmazonApiGatewayEndpoint, AmazonApiGatewayEndpointHandlerResponse, AmazonApiGatewayV1EndpointHandler, AmazonApiGatewayV2EndpointHandler, Event, GetInputResponse, HandlerEvent, LoggerContext };
65
- //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-4hPy5vty.d.mts.map
66
+ //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-BQ0IJdaI.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { publishConstructEvents } from "./publisher-Bw4770Hi.mjs";
2
- import { Endpoint, ResponseBuilder } from "./Endpoint-S6Yh2_PN.mjs";
2
+ import { Endpoint, ResponseBuilder } from "./Endpoint-DbPsw13b.mjs";
3
3
  import { createAuditContext, executeWithAuditTransaction } from "./processAudits-DfcB-X-4.mjs";
4
4
  import set from "lodash.set";
5
5
  import { UnauthorizedError, UnprocessableEntityError, wrapError } from "@geekmidas/errors";
@@ -78,15 +78,26 @@ var AmazonApiGatewayEndpoint = class {
78
78
  }
79
79
  } };
80
80
  }
81
+ database() {
82
+ return { before: async (req) => {
83
+ if (!this.endpoint.databaseService) return;
84
+ const logger = req.event.logger;
85
+ const serviceDiscovery = ServiceDiscovery.getInstance(logger, this.envParser);
86
+ const db = await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService.serviceName]);
87
+ req.event.db = db;
88
+ } };
89
+ }
81
90
  session() {
82
91
  return { before: async (req) => {
83
92
  const logger = req.event.logger;
84
93
  const services = req.event.services;
94
+ const db = req.event.db;
85
95
  req.event.session = await this.endpoint.getSession({
86
96
  logger,
87
97
  services,
88
98
  header: req.event.header,
89
- cookie: req.event.cookie
99
+ cookie: req.event.cookie,
100
+ ...db !== void 0 && { db }
90
101
  });
91
102
  } };
92
103
  }
@@ -114,7 +125,7 @@ var AmazonApiGatewayEndpoint = class {
114
125
  });
115
126
  const audits = this.endpoint.audits;
116
127
  if (!auditContext && audits?.length) logger.warn("No auditor storage service available");
117
- const rawDb = this.endpoint.databaseService ? await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService.serviceName]) : void 0;
128
+ const rawDb = event.db;
118
129
  const result = await executeWithAuditTransaction(auditContext, async (auditor) => {
119
130
  const sameDatabase = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName;
120
131
  const db = sameDatabase ? auditor?.getTransaction?.() ?? rawDb : rawDb;
@@ -173,10 +184,10 @@ var AmazonApiGatewayEndpoint = class {
173
184
  }
174
185
  get handler() {
175
186
  const handler = this._handler.bind(this);
176
- return middy(handler).use(this.logger()).use(this.error()).use(this.services()).use(this.input()).use(this.session()).use(this.authorize()).use(this.events());
187
+ return middy(handler).use(this.logger()).use(this.error()).use(this.services()).use(this.input()).use(this.database()).use(this.session()).use(this.authorize()).use(this.events());
177
188
  }
178
189
  };
179
190
 
180
191
  //#endregion
181
192
  export { AmazonApiGatewayEndpoint };
182
- //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs.map
193
+ //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-CacGag6F.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmazonApiGatewayEndpointAdaptor-CacGag6F.mjs","names":["envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction\n >","event: Event<TEvent, TInput, TServices, TLogger, TSession>","metadata","output","result","lambdaResponse: AmazonApiGatewayEndpointHandlerResponse","setCookieHeaders: string[]"],"sources":["../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction } from '@geekmidas/audit';\nimport type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport { Endpoint, type EndpointSchemas, ResponseBuilder } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type {\n APIGatewayProxyEvent,\n APIGatewayProxyEventV2,\n Context,\n} from 'aws-lambda';\nimport set from 'lodash.set';\n\nimport {\n UnauthorizedError,\n UnprocessableEntityError,\n wrapError,\n} from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\n\nimport type {\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport { publishConstructEvents } from '../publisher';\nimport type { CookieFn, HeaderFn } from './Endpoint';\nimport type { MappedAudit } from './audit';\nimport {\n createAuditContext,\n executeWithAuditTransaction,\n} from './processAudits';\n\n// Helper function to publish events\n\nexport abstract class AmazonApiGatewayEndpoint<\n THandler extends\n | AmazonApiGatewayV1EndpointHandler\n | AmazonApiGatewayV2EndpointHandler,\n TEvent extends HandlerEvent<THandler>,\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> {\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction\n >,\n ) {}\n\n private error(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n onError: (req) => {\n (req.event.logger || this.endpoint.logger).error(\n req.error || {},\n 'Error processing request',\n );\n const wrappedError = wrapError(req.error);\n\n // Set the response with the proper status code from the HttpError\n req.response = {\n statusCode: wrappedError.statusCode,\n body: wrappedError.body,\n };\n },\n };\n }\n abstract getInput(e: TEvent): GetInputResponse;\n\n private input(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n try {\n const { body, query, params } = this.getInput(req.event);\n const headers = req.event.headers as Record<string, string>;\n const header = Endpoint.createHeaders(headers);\n const cookie = Endpoint.createCookies(headers.cookie);\n\n set(req.event, 'body', await this.endpoint.parseInput(body, 'body'));\n\n set(\n req.event,\n 'query',\n await this.endpoint.parseInput(query, 'query'),\n );\n set(\n req.event,\n 'params',\n await this.endpoint.parseInput(params, 'params'),\n );\n set(req.event, 'header', header);\n set(req.event, 'cookie', cookie);\n } catch (error) {\n // Convert validation errors to 422 Unprocessable Entity\n if (error && typeof error === 'object' && Array.isArray(error)) {\n throw new UnprocessableEntityError('Validation failed', error);\n }\n throw error;\n }\n },\n };\n }\n\n abstract getLoggerContext(data: TEvent, context: Context): LoggerContext;\n\n private logger(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: (req) => {\n req.event.logger = this.endpoint.logger.child({\n route: this.endpoint.route,\n host: req.event.headers?.host,\n method: this.endpoint.method,\n ...this.getLoggerContext(req.event, req.context),\n }) as TLogger;\n },\n };\n }\n private services(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n const logger = req.event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n const services = await serviceDiscovery.register(\n this.endpoint.services,\n );\n\n req.event.services = services;\n },\n };\n }\n\n private authorize(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n const logger = req.event.logger as TLogger;\n const services = req.event.services;\n const header = req.event.header;\n const cookie = req.event.cookie;\n const session = req.event.session as TSession;\n\n const isAuthorized = await this.endpoint.authorize({\n header,\n cookie,\n services,\n logger,\n session,\n });\n\n if (!isAuthorized) {\n logger.warn('Unauthorized access attempt');\n throw new UnauthorizedError(\n 'Unauthorized access to the endpoint',\n 'You do not have permission to access this resource.',\n );\n }\n },\n };\n }\n\n private database(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n if (!this.endpoint.databaseService) {\n return;\n }\n\n const logger = req.event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n const db = await serviceDiscovery\n .register([this.endpoint.databaseService])\n .then(\n (s) =>\n s[this.endpoint.databaseService!.serviceName as keyof typeof s],\n );\n\n (req.event as any).db = db;\n },\n };\n }\n\n private session(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n const logger = req.event.logger as TLogger;\n const services = req.event.services;\n const db = (req.event as any).db;\n req.event.session = (await this.endpoint.getSession({\n logger,\n services,\n header: req.event.header,\n cookie: req.event.cookie,\n ...(db !== undefined && { db }),\n } as any)) as TSession;\n },\n };\n }\n\n private events(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n after: async (req) => {\n const event = req.event;\n const response = (event as any)\n .__response as InferStandardSchema<TOutSchema>;\n const statusCode = req.response?.statusCode ?? this.endpoint.status;\n\n // Only publish events on successful responses (2xx status codes)\n // Note: Audits are processed inside the handler's transaction\n if (Endpoint.isSuccessStatus(statusCode)) {\n const logger = event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n // Publish events\n await publishConstructEvents(\n this.endpoint,\n response,\n serviceDiscovery,\n logger,\n );\n }\n },\n };\n }\n\n private async _handler(\n event: Event<TEvent, TInput, TServices, TLogger, TSession>,\n ) {\n const input = this.endpoint.refineInput(event);\n const logger = event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n // Create audit context if audit storage is configured\n const auditContext = await createAuditContext(\n this.endpoint,\n serviceDiscovery,\n logger,\n {\n session: event.session,\n header: event.header,\n cookie: event.cookie,\n services: event.services as Record<string, unknown>,\n },\n );\n\n // Warn if declarative audits are configured but no audit storage\n const audits = this.endpoint.audits as MappedAudit<\n TAuditAction,\n TOutSchema\n >[];\n if (!auditContext && audits?.length) {\n logger.warn('No auditor storage service available');\n }\n\n // Get pre-resolved database from middleware\n const rawDb = (event as any).db;\n\n // Execute handler with automatic audit transaction support\n const result = await executeWithAuditTransaction(\n auditContext,\n async (auditor) => {\n // Use audit transaction as db only if the storage uses the same database service\n const sameDatabase =\n auditContext?.storage?.databaseServiceName &&\n auditContext.storage.databaseServiceName ===\n this.endpoint.databaseService?.serviceName;\n const db = sameDatabase\n ? (auditor?.getTransaction?.() ?? rawDb)\n : rawDb;\n\n const responseBuilder = new ResponseBuilder();\n const response = await this.endpoint.handler(\n {\n header: event.header,\n cookie: event.cookie,\n logger: event.logger,\n services: event.services,\n session: event.session,\n auditor,\n db,\n ...input,\n } as any,\n responseBuilder,\n );\n\n // Check if response has metadata\n let data = response;\n let metadata = responseBuilder.getMetadata();\n\n if (Endpoint.hasMetadata(response)) {\n data = response.data;\n metadata = response.metadata;\n }\n\n const output = this.endpoint.outputSchema\n ? await this.endpoint.parseOutput(data)\n : undefined;\n\n return { output, metadata, responseBuilder };\n },\n // Process declarative audits after handler (inside transaction)\n async (result, auditor) => {\n if (!audits?.length) return;\n\n for (const audit of audits) {\n if (audit.when && !audit.when(result.output as any)) {\n continue;\n }\n const payload = audit.payload(result.output as any);\n const entityId = audit.entityId?.(result.output as any);\n auditor.audit(audit.type as any, payload as any, {\n table: audit.table,\n entityId,\n });\n }\n },\n );\n\n const { output, metadata } = result;\n const body = output !== undefined ? JSON.stringify(output) : undefined;\n\n // Store response for middleware access\n (event as any).__response = output;\n\n // Build response with metadata\n const lambdaResponse: AmazonApiGatewayEndpointHandlerResponse = {\n statusCode: metadata.status ?? this.endpoint.status,\n body,\n };\n\n // Add custom headers\n if (metadata.headers && Object.keys(metadata.headers).length > 0) {\n lambdaResponse.headers = { ...metadata.headers };\n }\n\n // Format cookies as Set-Cookie headers\n if (metadata.cookies && metadata.cookies.size > 0) {\n const setCookieHeaders: string[] = [];\n for (const [name, { value, options }] of metadata.cookies) {\n setCookieHeaders.push(\n Endpoint.formatCookieHeader(name, value, options),\n );\n }\n\n if (setCookieHeaders.length > 0) {\n lambdaResponse.multiValueHeaders = {\n ...lambdaResponse.multiValueHeaders,\n 'Set-Cookie': setCookieHeaders,\n };\n }\n }\n\n return lambdaResponse;\n }\n\n get handler() {\n const handler = this._handler.bind(this);\n return middy(handler)\n .use(this.logger())\n .use(this.error())\n .use(this.services())\n .use(this.input())\n .use(this.database())\n .use(this.session())\n .use(this.authorize())\n .use(this.events()) as unknown as THandler;\n }\n}\n\nexport type Event<\n TEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n> = {\n services: ServiceRecord<TServices>;\n logger: TLogger;\n header: HeaderFn;\n cookie: CookieFn;\n session: TSession;\n} & TEvent &\n InferComposableStandardSchema<TInput>;\n\ntype Middleware<\n TEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n> = MiddlewareObj<Event<TEvent, TInput, TServices, TLogger, TSession>>;\n\nexport type AmazonApiGatewayEndpointHandlerResponse = {\n statusCode: number;\n body: string | undefined;\n headers?: Record<string, string>;\n multiValueHeaders?: Record<string, string[]>;\n};\n\nexport type LoggerContext = {\n fn: {\n name: string;\n version: string;\n };\n req: {\n id: string | undefined;\n awsRequestId: string;\n path: string;\n ip: string | undefined;\n userAgent: string | undefined;\n };\n};\n\nexport type GetInputResponse = {\n body: any;\n query: any;\n params: any;\n};\n\nexport type AmazonApiGatewayV1EndpointHandler = (\n event: APIGatewayProxyEvent,\n context: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type AmazonApiGatewayV2EndpointHandler = (\n event: APIGatewayProxyEventV2,\n context: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type HandlerEvent<T extends Function> = T extends (\n event: infer E,\n context: Context,\n) => any\n ? E\n : never;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
2
  const require_publisher = require('./publisher-lFQleddL.cjs');
3
- const require_Endpoint = require('./Endpoint-DDpF7NO1.cjs');
3
+ const require_Endpoint = require('./Endpoint-CA-byrDr.cjs');
4
4
  const require_processAudits = require('./processAudits-BFokHhCO.cjs');
5
5
  const lodash_set = require_chunk.__toESM(require("lodash.set"));
6
6
  const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
@@ -79,15 +79,26 @@ var AmazonApiGatewayEndpoint = class {
79
79
  }
80
80
  } };
81
81
  }
82
+ database() {
83
+ return { before: async (req) => {
84
+ if (!this.endpoint.databaseService) return;
85
+ const logger = req.event.logger;
86
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(logger, this.envParser);
87
+ const db = await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService.serviceName]);
88
+ req.event.db = db;
89
+ } };
90
+ }
82
91
  session() {
83
92
  return { before: async (req) => {
84
93
  const logger = req.event.logger;
85
94
  const services = req.event.services;
95
+ const db = req.event.db;
86
96
  req.event.session = await this.endpoint.getSession({
87
97
  logger,
88
98
  services,
89
99
  header: req.event.header,
90
- cookie: req.event.cookie
100
+ cookie: req.event.cookie,
101
+ ...db !== void 0 && { db }
91
102
  });
92
103
  } };
93
104
  }
@@ -115,7 +126,7 @@ var AmazonApiGatewayEndpoint = class {
115
126
  });
116
127
  const audits = this.endpoint.audits;
117
128
  if (!auditContext && audits?.length) logger.warn("No auditor storage service available");
118
- const rawDb = this.endpoint.databaseService ? await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService.serviceName]) : void 0;
129
+ const rawDb = event.db;
119
130
  const result = await require_processAudits.executeWithAuditTransaction(auditContext, async (auditor) => {
120
131
  const sameDatabase = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName;
121
132
  const db = sameDatabase ? auditor?.getTransaction?.() ?? rawDb : rawDb;
@@ -174,7 +185,7 @@ var AmazonApiGatewayEndpoint = class {
174
185
  }
175
186
  get handler() {
176
187
  const handler = this._handler.bind(this);
177
- return (0, __middy_core.default)(handler).use(this.logger()).use(this.error()).use(this.services()).use(this.input()).use(this.session()).use(this.authorize()).use(this.events());
188
+ return (0, __middy_core.default)(handler).use(this.logger()).use(this.error()).use(this.services()).use(this.input()).use(this.database()).use(this.session()).use(this.authorize()).use(this.events());
178
189
  }
179
190
  };
180
191
 
@@ -185,4 +196,4 @@ Object.defineProperty(exports, 'AmazonApiGatewayEndpoint', {
185
196
  return AmazonApiGatewayEndpoint;
186
197
  }
187
198
  });
188
- //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs.map
199
+ //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-DXssXsJi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmazonApiGatewayEndpointAdaptor-DXssXsJi.cjs","names":["envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction\n >","UnprocessableEntityError","UnauthorizedError","event: Event<TEvent, TInput, TServices, TLogger, TSession>","ResponseBuilder","metadata","output","result","lambdaResponse: AmazonApiGatewayEndpointHandlerResponse","setCookieHeaders: string[]"],"sources":["../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction } from '@geekmidas/audit';\nimport type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport { Endpoint, type EndpointSchemas, ResponseBuilder } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type {\n APIGatewayProxyEvent,\n APIGatewayProxyEventV2,\n Context,\n} from 'aws-lambda';\nimport set from 'lodash.set';\n\nimport {\n UnauthorizedError,\n UnprocessableEntityError,\n wrapError,\n} from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\n\nimport type {\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport { publishConstructEvents } from '../publisher';\nimport type { CookieFn, HeaderFn } from './Endpoint';\nimport type { MappedAudit } from './audit';\nimport {\n createAuditContext,\n executeWithAuditTransaction,\n} from './processAudits';\n\n// Helper function to publish events\n\nexport abstract class AmazonApiGatewayEndpoint<\n THandler extends\n | AmazonApiGatewayV1EndpointHandler\n | AmazonApiGatewayV2EndpointHandler,\n TEvent extends HandlerEvent<THandler>,\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> {\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction\n >,\n ) {}\n\n private error(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n onError: (req) => {\n (req.event.logger || this.endpoint.logger).error(\n req.error || {},\n 'Error processing request',\n );\n const wrappedError = wrapError(req.error);\n\n // Set the response with the proper status code from the HttpError\n req.response = {\n statusCode: wrappedError.statusCode,\n body: wrappedError.body,\n };\n },\n };\n }\n abstract getInput(e: TEvent): GetInputResponse;\n\n private input(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n try {\n const { body, query, params } = this.getInput(req.event);\n const headers = req.event.headers as Record<string, string>;\n const header = Endpoint.createHeaders(headers);\n const cookie = Endpoint.createCookies(headers.cookie);\n\n set(req.event, 'body', await this.endpoint.parseInput(body, 'body'));\n\n set(\n req.event,\n 'query',\n await this.endpoint.parseInput(query, 'query'),\n );\n set(\n req.event,\n 'params',\n await this.endpoint.parseInput(params, 'params'),\n );\n set(req.event, 'header', header);\n set(req.event, 'cookie', cookie);\n } catch (error) {\n // Convert validation errors to 422 Unprocessable Entity\n if (error && typeof error === 'object' && Array.isArray(error)) {\n throw new UnprocessableEntityError('Validation failed', error);\n }\n throw error;\n }\n },\n };\n }\n\n abstract getLoggerContext(data: TEvent, context: Context): LoggerContext;\n\n private logger(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: (req) => {\n req.event.logger = this.endpoint.logger.child({\n route: this.endpoint.route,\n host: req.event.headers?.host,\n method: this.endpoint.method,\n ...this.getLoggerContext(req.event, req.context),\n }) as TLogger;\n },\n };\n }\n private services(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n const logger = req.event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n const services = await serviceDiscovery.register(\n this.endpoint.services,\n );\n\n req.event.services = services;\n },\n };\n }\n\n private authorize(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n const logger = req.event.logger as TLogger;\n const services = req.event.services;\n const header = req.event.header;\n const cookie = req.event.cookie;\n const session = req.event.session as TSession;\n\n const isAuthorized = await this.endpoint.authorize({\n header,\n cookie,\n services,\n logger,\n session,\n });\n\n if (!isAuthorized) {\n logger.warn('Unauthorized access attempt');\n throw new UnauthorizedError(\n 'Unauthorized access to the endpoint',\n 'You do not have permission to access this resource.',\n );\n }\n },\n };\n }\n\n private database(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n if (!this.endpoint.databaseService) {\n return;\n }\n\n const logger = req.event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n const db = await serviceDiscovery\n .register([this.endpoint.databaseService])\n .then(\n (s) =>\n s[this.endpoint.databaseService!.serviceName as keyof typeof s],\n );\n\n (req.event as any).db = db;\n },\n };\n }\n\n private session(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n before: async (req) => {\n const logger = req.event.logger as TLogger;\n const services = req.event.services;\n const db = (req.event as any).db;\n req.event.session = (await this.endpoint.getSession({\n logger,\n services,\n header: req.event.header,\n cookie: req.event.cookie,\n ...(db !== undefined && { db }),\n } as any)) as TSession;\n },\n };\n }\n\n private events(): Middleware<TEvent, TInput, TServices, TLogger> {\n return {\n after: async (req) => {\n const event = req.event;\n const response = (event as any)\n .__response as InferStandardSchema<TOutSchema>;\n const statusCode = req.response?.statusCode ?? this.endpoint.status;\n\n // Only publish events on successful responses (2xx status codes)\n // Note: Audits are processed inside the handler's transaction\n if (Endpoint.isSuccessStatus(statusCode)) {\n const logger = event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n // Publish events\n await publishConstructEvents(\n this.endpoint,\n response,\n serviceDiscovery,\n logger,\n );\n }\n },\n };\n }\n\n private async _handler(\n event: Event<TEvent, TInput, TServices, TLogger, TSession>,\n ) {\n const input = this.endpoint.refineInput(event);\n const logger = event.logger as TLogger;\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, this.envParser);\n\n // Create audit context if audit storage is configured\n const auditContext = await createAuditContext(\n this.endpoint,\n serviceDiscovery,\n logger,\n {\n session: event.session,\n header: event.header,\n cookie: event.cookie,\n services: event.services as Record<string, unknown>,\n },\n );\n\n // Warn if declarative audits are configured but no audit storage\n const audits = this.endpoint.audits as MappedAudit<\n TAuditAction,\n TOutSchema\n >[];\n if (!auditContext && audits?.length) {\n logger.warn('No auditor storage service available');\n }\n\n // Get pre-resolved database from middleware\n const rawDb = (event as any).db;\n\n // Execute handler with automatic audit transaction support\n const result = await executeWithAuditTransaction(\n auditContext,\n async (auditor) => {\n // Use audit transaction as db only if the storage uses the same database service\n const sameDatabase =\n auditContext?.storage?.databaseServiceName &&\n auditContext.storage.databaseServiceName ===\n this.endpoint.databaseService?.serviceName;\n const db = sameDatabase\n ? (auditor?.getTransaction?.() ?? rawDb)\n : rawDb;\n\n const responseBuilder = new ResponseBuilder();\n const response = await this.endpoint.handler(\n {\n header: event.header,\n cookie: event.cookie,\n logger: event.logger,\n services: event.services,\n session: event.session,\n auditor,\n db,\n ...input,\n } as any,\n responseBuilder,\n );\n\n // Check if response has metadata\n let data = response;\n let metadata = responseBuilder.getMetadata();\n\n if (Endpoint.hasMetadata(response)) {\n data = response.data;\n metadata = response.metadata;\n }\n\n const output = this.endpoint.outputSchema\n ? await this.endpoint.parseOutput(data)\n : undefined;\n\n return { output, metadata, responseBuilder };\n },\n // Process declarative audits after handler (inside transaction)\n async (result, auditor) => {\n if (!audits?.length) return;\n\n for (const audit of audits) {\n if (audit.when && !audit.when(result.output as any)) {\n continue;\n }\n const payload = audit.payload(result.output as any);\n const entityId = audit.entityId?.(result.output as any);\n auditor.audit(audit.type as any, payload as any, {\n table: audit.table,\n entityId,\n });\n }\n },\n );\n\n const { output, metadata } = result;\n const body = output !== undefined ? JSON.stringify(output) : undefined;\n\n // Store response for middleware access\n (event as any).__response = output;\n\n // Build response with metadata\n const lambdaResponse: AmazonApiGatewayEndpointHandlerResponse = {\n statusCode: metadata.status ?? this.endpoint.status,\n body,\n };\n\n // Add custom headers\n if (metadata.headers && Object.keys(metadata.headers).length > 0) {\n lambdaResponse.headers = { ...metadata.headers };\n }\n\n // Format cookies as Set-Cookie headers\n if (metadata.cookies && metadata.cookies.size > 0) {\n const setCookieHeaders: string[] = [];\n for (const [name, { value, options }] of metadata.cookies) {\n setCookieHeaders.push(\n Endpoint.formatCookieHeader(name, value, options),\n );\n }\n\n if (setCookieHeaders.length > 0) {\n lambdaResponse.multiValueHeaders = {\n ...lambdaResponse.multiValueHeaders,\n 'Set-Cookie': setCookieHeaders,\n };\n }\n }\n\n return lambdaResponse;\n }\n\n get handler() {\n const handler = this._handler.bind(this);\n return middy(handler)\n .use(this.logger())\n .use(this.error())\n .use(this.services())\n .use(this.input())\n .use(this.database())\n .use(this.session())\n .use(this.authorize())\n .use(this.events()) as unknown as THandler;\n }\n}\n\nexport type Event<\n TEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n> = {\n services: ServiceRecord<TServices>;\n logger: TLogger;\n header: HeaderFn;\n cookie: CookieFn;\n session: TSession;\n} & TEvent &\n InferComposableStandardSchema<TInput>;\n\ntype Middleware<\n TEvent extends APIGatewayProxyEvent | APIGatewayProxyEventV2,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n> = MiddlewareObj<Event<TEvent, TInput, TServices, TLogger, TSession>>;\n\nexport type AmazonApiGatewayEndpointHandlerResponse = {\n statusCode: number;\n body: string | undefined;\n headers?: Record<string, string>;\n multiValueHeaders?: Record<string, string[]>;\n};\n\nexport type LoggerContext = {\n fn: {\n name: string;\n version: string;\n };\n req: {\n id: string | undefined;\n awsRequestId: string;\n path: string;\n ip: string | undefined;\n userAgent: string | undefined;\n };\n};\n\nexport type GetInputResponse = {\n body: any;\n query: any;\n params: any;\n};\n\nexport type AmazonApiGatewayV1EndpointHandler = (\n event: APIGatewayProxyEvent,\n context: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type AmazonApiGatewayV2EndpointHandler = (\n event: APIGatewayProxyEventV2,\n context: Context,\n) => Promise<AmazonApiGatewayEndpointHandlerResponse>;\n\nexport type HandlerEvent<T extends Function> = T extends (\n event: infer E,\n context: Context,\n) => any\n ? E\n : never;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { HttpMethod } from "./types-Bp9ysFXd.cjs";
2
- import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-Bu8Phz6y.cjs";
2
+ import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-D2Imgihs.cjs";
3
3
  import { AuditStorage, AuditableAction } from "@geekmidas/audit";
4
4
  import { EventPublisher } from "@geekmidas/events";
5
5
  import { Logger } from "@geekmidas/logger";
@@ -21,6 +21,7 @@ declare abstract class AmazonApiGatewayEndpoint<THandler extends AmazonApiGatewa
21
21
  private logger;
22
22
  private services;
23
23
  private authorize;
24
+ private database;
24
25
  private session;
25
26
  private events;
26
27
  private _handler;
@@ -62,4 +63,4 @@ type AmazonApiGatewayV2EndpointHandler = (event: APIGatewayProxyEventV2, context
62
63
  type HandlerEvent<T extends Function> = T extends ((event: infer E, context: Context) => any) ? E : never;
63
64
  //#endregion
64
65
  export { AmazonApiGatewayEndpoint, AmazonApiGatewayEndpointHandlerResponse, AmazonApiGatewayV1EndpointHandler, AmazonApiGatewayV2EndpointHandler, Event, GetInputResponse, HandlerEvent, LoggerContext };
65
- //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-ro0RMLzr.d.cts.map
66
+ //# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-Da9BR5On.d.cts.map
@@ -1,4 +1,4 @@
1
- import { AmazonApiGatewayEndpoint } from "./AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs";
1
+ import { AmazonApiGatewayEndpoint } from "./AmazonApiGatewayEndpointAdaptor-CacGag6F.mjs";
2
2
  import { parseQueryParams } from "./parseQueryParams-CHINupbZ.mjs";
3
3
 
4
4
  //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
@@ -39,4 +39,4 @@ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
39
39
 
40
40
  //#endregion
41
41
  export { AmazonApiGatewayV1Endpoint };
42
- //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs.map
42
+ //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-BpnG55R7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs","names":["e: APIGatewayProxyEvent","mergedParams: Record<string, string | string[]>","data: APIGatewayProxyEvent","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { APIGatewayProxyEvent, Context } from 'aws-lambda';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV1EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV1Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV1EndpointHandler,\n APIGatewayProxyEvent,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEvent): GetInputResponse {\n // For arrays, AWS API Gateway V1 provides multiValueQueryStringParameters\n const multiValueParams = e.multiValueQueryStringParameters || {};\n const singleValueParams = e.queryStringParameters || {};\n\n // Merge single and multi-value parameters\n const mergedParams: Record<string, string | string[]> = {};\n\n // Add single value parameters\n for (const [key, value] of Object.entries(singleValueParams)) {\n if (value !== undefined) {\n mergedParams[key] = value;\n }\n }\n\n // Override with multi-value parameters where applicable\n for (const [key, values] of Object.entries(multiValueParams)) {\n if (values && values.length > 1) {\n mergedParams[key] = values;\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(mergedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n data: APIGatewayProxyEvent,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: data.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: data.requestContext.identity.sourceIp,\n userAgent: data.requestContext.identity.userAgent || undefined,\n path: data.requestContext.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAkBA,IAAa,6BAAb,cASU,yBAWR;CACA,SAASA,GAA2C;EAElD,MAAM,mBAAmB,EAAE,mCAAmC,CAAE;EAChE,MAAM,oBAAoB,EAAE,yBAAyB,CAAE;EAGvD,MAAMC,eAAkD,CAAE;AAG1D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,kBAAkB,CAC1D,KAAI,iBACF,cAAa,OAAO;AAKxB,OAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,QAAQ,iBAAiB,CAC1D,KAAI,UAAU,OAAO,SAAS,EAC5B,cAAa,OAAO;AAIxB,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,iBAAiB,aAAa;GACrC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,MACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,KAAK,eAAe;IACxB,cAAc,QAAQ;IACtB,IAAI,KAAK,eAAe,SAAS;IACjC,WAAW,KAAK,eAAe,SAAS;IACxC,MAAM,KAAK,eAAe;GAC3B;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
1
+ {"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-BpnG55R7.mjs","names":["e: APIGatewayProxyEvent","mergedParams: Record<string, string | string[]>","data: APIGatewayProxyEvent","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { APIGatewayProxyEvent, Context } from 'aws-lambda';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV1EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV1Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV1EndpointHandler,\n APIGatewayProxyEvent,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEvent): GetInputResponse {\n // For arrays, AWS API Gateway V1 provides multiValueQueryStringParameters\n const multiValueParams = e.multiValueQueryStringParameters || {};\n const singleValueParams = e.queryStringParameters || {};\n\n // Merge single and multi-value parameters\n const mergedParams: Record<string, string | string[]> = {};\n\n // Add single value parameters\n for (const [key, value] of Object.entries(singleValueParams)) {\n if (value !== undefined) {\n mergedParams[key] = value;\n }\n }\n\n // Override with multi-value parameters where applicable\n for (const [key, values] of Object.entries(multiValueParams)) {\n if (values && values.length > 1) {\n mergedParams[key] = values;\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(mergedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n data: APIGatewayProxyEvent,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: data.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: data.requestContext.identity.sourceIp,\n userAgent: data.requestContext.identity.userAgent || undefined,\n path: data.requestContext.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAkBA,IAAa,6BAAb,cASU,yBAWR;CACA,SAASA,GAA2C;EAElD,MAAM,mBAAmB,EAAE,mCAAmC,CAAE;EAChE,MAAM,oBAAoB,EAAE,yBAAyB,CAAE;EAGvD,MAAMC,eAAkD,CAAE;AAG1D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,kBAAkB,CAC1D,KAAI,iBACF,cAAa,OAAO;AAKxB,OAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,QAAQ,iBAAiB,CAC1D,KAAI,UAAU,OAAO,SAAS,EAC5B,cAAa,OAAO;AAIxB,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,iBAAiB,aAAa;GACrC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,MACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,KAAK,eAAe;IACxB,cAAc,QAAQ;IACtB,IAAI,KAAK,eAAe,SAAS;IACjC,WAAW,KAAK,eAAe,SAAS;IACxC,MAAM,KAAK,eAAe;GAC3B;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { HttpMethod } from "./types-DKf0juBf.mjs";
2
- import { Endpoint, EndpointSchemas } from "./Endpoint-Bbs_sFvg.mjs";
3
- import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-4hPy5vty.mjs";
2
+ import { Endpoint, EndpointSchemas } from "./Endpoint-PtQ-wLIS.mjs";
3
+ import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-BQ0IJdaI.mjs";
4
4
  import { Service } from "@geekmidas/services";
5
5
  import { EnvironmentParser } from "@geekmidas/envkit";
6
6
  import { EventPublisher } from "@geekmidas/events";
@@ -18,4 +18,4 @@ declare class AmazonApiGatewayV1Endpoint<TRoute extends string, TMethod extends
18
18
  }
19
19
  //#endregion
20
20
  export { AmazonApiGatewayV1Endpoint };
21
- //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-hyR-WwyP.d.mts.map
21
+ //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-C4_AZ1ek.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { HttpMethod } from "./types-Bp9ysFXd.cjs";
2
- import { Endpoint, EndpointSchemas } from "./Endpoint-Bu8Phz6y.cjs";
3
- import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-ro0RMLzr.cjs";
2
+ import { Endpoint, EndpointSchemas } from "./Endpoint-D2Imgihs.cjs";
3
+ import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-Da9BR5On.cjs";
4
4
  import { EventPublisher } from "@geekmidas/events";
5
5
  import { Logger } from "@geekmidas/logger";
6
6
  import { Service } from "@geekmidas/services";
@@ -18,4 +18,4 @@ declare class AmazonApiGatewayV1Endpoint<TRoute extends string, TMethod extends
18
18
  }
19
19
  //#endregion
20
20
  export { AmazonApiGatewayV1Endpoint };
21
- //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-BWJWKqQT.d.cts.map
21
+ //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-CSm3NsWz.d.cts.map
@@ -1,4 +1,4 @@
1
- const require_AmazonApiGatewayEndpointAdaptor = require('./AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs');
1
+ const require_AmazonApiGatewayEndpointAdaptor = require('./AmazonApiGatewayEndpointAdaptor-DXssXsJi.cjs');
2
2
  const require_parseQueryParams = require('./parseQueryParams-CwvXXwkW.cjs');
3
3
 
4
4
  //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
@@ -44,4 +44,4 @@ Object.defineProperty(exports, 'AmazonApiGatewayV1Endpoint', {
44
44
  return AmazonApiGatewayV1Endpoint;
45
45
  }
46
46
  });
47
- //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs.map
47
+ //# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-Df4kszio.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEvent","mergedParams: Record<string, string | string[]>","data: APIGatewayProxyEvent","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { APIGatewayProxyEvent, Context } from 'aws-lambda';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV1EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV1Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV1EndpointHandler,\n APIGatewayProxyEvent,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEvent): GetInputResponse {\n // For arrays, AWS API Gateway V1 provides multiValueQueryStringParameters\n const multiValueParams = e.multiValueQueryStringParameters || {};\n const singleValueParams = e.queryStringParameters || {};\n\n // Merge single and multi-value parameters\n const mergedParams: Record<string, string | string[]> = {};\n\n // Add single value parameters\n for (const [key, value] of Object.entries(singleValueParams)) {\n if (value !== undefined) {\n mergedParams[key] = value;\n }\n }\n\n // Override with multi-value parameters where applicable\n for (const [key, values] of Object.entries(multiValueParams)) {\n if (values && values.length > 1) {\n mergedParams[key] = values;\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(mergedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n data: APIGatewayProxyEvent,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: data.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: data.requestContext.identity.sourceIp,\n userAgent: data.requestContext.identity.userAgent || undefined,\n path: data.requestContext.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAkBA,IAAa,6BAAb,cASUA,iEAWR;CACA,SAASC,GAA2C;EAElD,MAAM,mBAAmB,EAAE,mCAAmC,CAAE;EAChE,MAAM,oBAAoB,EAAE,yBAAyB,CAAE;EAGvD,MAAMC,eAAkD,CAAE;AAG1D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,kBAAkB,CAC1D,KAAI,iBACF,cAAa,OAAO;AAKxB,OAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,QAAQ,iBAAiB,CAC1D,KAAI,UAAU,OAAO,SAAS,EAC5B,cAAa,OAAO;AAIxB,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,aAAa;GACrC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,MACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,KAAK,eAAe;IACxB,cAAc,QAAQ;IACtB,IAAI,KAAK,eAAe,SAAS;IACjC,WAAW,KAAK,eAAe,SAAS;IACxC,MAAM,KAAK,eAAe;GAC3B;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
1
+ {"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-Df4kszio.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEvent","mergedParams: Record<string, string | string[]>","data: APIGatewayProxyEvent","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { APIGatewayProxyEvent, Context } from 'aws-lambda';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV1EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV1Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV1EndpointHandler,\n APIGatewayProxyEvent,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEvent): GetInputResponse {\n // For arrays, AWS API Gateway V1 provides multiValueQueryStringParameters\n const multiValueParams = e.multiValueQueryStringParameters || {};\n const singleValueParams = e.queryStringParameters || {};\n\n // Merge single and multi-value parameters\n const mergedParams: Record<string, string | string[]> = {};\n\n // Add single value parameters\n for (const [key, value] of Object.entries(singleValueParams)) {\n if (value !== undefined) {\n mergedParams[key] = value;\n }\n }\n\n // Override with multi-value parameters where applicable\n for (const [key, values] of Object.entries(multiValueParams)) {\n if (values && values.length > 1) {\n mergedParams[key] = values;\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(mergedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n data: APIGatewayProxyEvent,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: data.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: data.requestContext.identity.sourceIp,\n userAgent: data.requestContext.identity.userAgent || undefined,\n path: data.requestContext.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAkBA,IAAa,6BAAb,cASUA,iEAWR;CACA,SAASC,GAA2C;EAElD,MAAM,mBAAmB,EAAE,mCAAmC,CAAE;EAChE,MAAM,oBAAoB,EAAE,yBAAyB,CAAE;EAGvD,MAAMC,eAAkD,CAAE;AAG1D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,kBAAkB,CAC1D,KAAI,iBACF,cAAa,OAAO;AAKxB,OAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,QAAQ,iBAAiB,CAC1D,KAAI,UAAU,OAAO,SAAS,EAC5B,cAAa,OAAO;AAIxB,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,aAAa;GACrC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,MACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,KAAK,eAAe;IACxB,cAAc,QAAQ;IACtB,IAAI,KAAK,eAAe,SAAS;IACjC,WAAW,KAAK,eAAe,SAAS;IACxC,MAAM,KAAK,eAAe;GAC3B;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
@@ -1,4 +1,4 @@
1
- const require_AmazonApiGatewayEndpointAdaptor = require('./AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs');
1
+ const require_AmazonApiGatewayEndpointAdaptor = require('./AmazonApiGatewayEndpointAdaptor-DXssXsJi.cjs');
2
2
  const require_parseQueryParams = require('./parseQueryParams-CwvXXwkW.cjs');
3
3
 
4
4
  //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
@@ -43,4 +43,4 @@ Object.defineProperty(exports, 'AmazonApiGatewayV2Endpoint', {
43
43
  return AmazonApiGatewayV2Endpoint;
44
44
  }
45
45
  });
46
- //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs.map
46
+ //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-5SIvqPby.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEventV2","processedParams: Record<string, string | string[]>","event: APIGatewayProxyEventV2","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV2EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV2Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV2EndpointHandler,\n APIGatewayProxyEventV2,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEventV2): GetInputResponse {\n // API Gateway V2 handles arrays as comma-separated values\n const queryParams = e.queryStringParameters || {};\n const processedParams: Record<string, string | string[]> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n // Check if value contains comma and could be an array\n // Be careful not to split values that legitimately contain commas\n if (value.includes(',') && !value.includes('\"')) {\n processedParams[key] = value.split(',').map((v) => v.trim());\n } else {\n processedParams[key] = value;\n }\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(processedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n event: APIGatewayProxyEventV2,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: event.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: event.requestContext.http.sourceIp,\n userAgent: event.requestContext.http.userAgent || undefined,\n path: event.requestContext.http.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,6BAAb,cASUA,iEAWR;CACA,SAASC,GAA6C;EAEpD,MAAM,cAAc,EAAE,yBAAyB,CAAE;EACjD,MAAMC,kBAAqD,CAAE;AAE7D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAGF,KAAI,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,KAAI,CAC7C,iBAAgB,OAAO,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;MAE5D,iBAAgB,OAAO;AAK7B,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,gBAAgB;GACxC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,OACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,MAAM,eAAe;IACzB,cAAc,QAAQ;IACtB,IAAI,MAAM,eAAe,KAAK;IAC9B,WAAW,MAAM,eAAe,KAAK;IACrC,MAAM,MAAM,eAAe,KAAK;GACjC;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
1
+ {"version":3,"file":"AmazonApiGatewayV2EndpointAdaptor-5SIvqPby.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEventV2","processedParams: Record<string, string | string[]>","event: APIGatewayProxyEventV2","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV2EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV2Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV2EndpointHandler,\n APIGatewayProxyEventV2,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEventV2): GetInputResponse {\n // API Gateway V2 handles arrays as comma-separated values\n const queryParams = e.queryStringParameters || {};\n const processedParams: Record<string, string | string[]> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n // Check if value contains comma and could be an array\n // Be careful not to split values that legitimately contain commas\n if (value.includes(',') && !value.includes('\"')) {\n processedParams[key] = value.split(',').map((v) => v.trim());\n } else {\n processedParams[key] = value;\n }\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(processedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n event: APIGatewayProxyEventV2,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: event.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: event.requestContext.http.sourceIp,\n userAgent: event.requestContext.http.userAgent || undefined,\n path: event.requestContext.http.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,6BAAb,cASUA,iEAWR;CACA,SAASC,GAA6C;EAEpD,MAAM,cAAc,EAAE,yBAAyB,CAAE;EACjD,MAAMC,kBAAqD,CAAE;AAE7D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAGF,KAAI,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,KAAI,CAC7C,iBAAgB,OAAO,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;MAE5D,iBAAgB,OAAO;AAK7B,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,gBAAgB;GACxC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,OACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,MAAM,eAAe;IACzB,cAAc,QAAQ;IACtB,IAAI,MAAM,eAAe,KAAK;IAC9B,WAAW,MAAM,eAAe,KAAK;IACrC,MAAM,MAAM,eAAe,KAAK;GACjC;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { HttpMethod } from "./types-Bp9ysFXd.cjs";
2
- import { Endpoint, EndpointSchemas } from "./Endpoint-Bu8Phz6y.cjs";
3
- import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-ro0RMLzr.cjs";
2
+ import { Endpoint, EndpointSchemas } from "./Endpoint-D2Imgihs.cjs";
3
+ import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-Da9BR5On.cjs";
4
4
  import { EventPublisher } from "@geekmidas/events";
5
5
  import { Logger } from "@geekmidas/logger";
6
6
  import { Service } from "@geekmidas/services";
@@ -18,4 +18,4 @@ declare class AmazonApiGatewayV2Endpoint<TRoute extends string, TMethod extends
18
18
  }
19
19
  //#endregion
20
20
  export { AmazonApiGatewayV2Endpoint };
21
- //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-D1Irdggp.d.cts.map
21
+ //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-6hsBFVLf.d.cts.map
@@ -1,6 +1,6 @@
1
1
  import { HttpMethod } from "./types-DKf0juBf.mjs";
2
- import { Endpoint, EndpointSchemas } from "./Endpoint-Bbs_sFvg.mjs";
3
- import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-4hPy5vty.mjs";
2
+ import { Endpoint, EndpointSchemas } from "./Endpoint-PtQ-wLIS.mjs";
3
+ import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-BQ0IJdaI.mjs";
4
4
  import { Service } from "@geekmidas/services";
5
5
  import { EnvironmentParser } from "@geekmidas/envkit";
6
6
  import { EventPublisher } from "@geekmidas/events";
@@ -18,4 +18,4 @@ declare class AmazonApiGatewayV2Endpoint<TRoute extends string, TMethod extends
18
18
  }
19
19
  //#endregion
20
20
  export { AmazonApiGatewayV2Endpoint };
21
- //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-DX3SuI5S.d.mts.map
21
+ //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-DdM8Tr1X.d.mts.map
@@ -1,4 +1,4 @@
1
- import { AmazonApiGatewayEndpoint } from "./AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs";
1
+ import { AmazonApiGatewayEndpoint } from "./AmazonApiGatewayEndpointAdaptor-CacGag6F.mjs";
2
2
  import { parseQueryParams } from "./parseQueryParams-CHINupbZ.mjs";
3
3
 
4
4
  //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
@@ -38,4 +38,4 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
38
38
 
39
39
  //#endregion
40
40
  export { AmazonApiGatewayV2Endpoint };
41
- //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs.map
41
+ //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-ZORzMEET.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs","names":["e: APIGatewayProxyEventV2","processedParams: Record<string, string | string[]>","event: APIGatewayProxyEventV2","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV2EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV2Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV2EndpointHandler,\n APIGatewayProxyEventV2,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEventV2): GetInputResponse {\n // API Gateway V2 handles arrays as comma-separated values\n const queryParams = e.queryStringParameters || {};\n const processedParams: Record<string, string | string[]> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n // Check if value contains comma and could be an array\n // Be careful not to split values that legitimately contain commas\n if (value.includes(',') && !value.includes('\"')) {\n processedParams[key] = value.split(',').map((v) => v.trim());\n } else {\n processedParams[key] = value;\n }\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(processedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n event: APIGatewayProxyEventV2,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: event.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: event.requestContext.http.sourceIp,\n userAgent: event.requestContext.http.userAgent || undefined,\n path: event.requestContext.http.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,6BAAb,cASU,yBAWR;CACA,SAASA,GAA6C;EAEpD,MAAM,cAAc,EAAE,yBAAyB,CAAE;EACjD,MAAMC,kBAAqD,CAAE;AAE7D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAGF,KAAI,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,KAAI,CAC7C,iBAAgB,OAAO,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;MAE5D,iBAAgB,OAAO;AAK7B,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,iBAAiB,gBAAgB;GACxC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,OACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,MAAM,eAAe;IACzB,cAAc,QAAQ;IACtB,IAAI,MAAM,eAAe,KAAK;IAC9B,WAAW,MAAM,eAAe,KAAK;IACrC,MAAM,MAAM,eAAe,KAAK;GACjC;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
1
+ {"version":3,"file":"AmazonApiGatewayV2EndpointAdaptor-ZORzMEET.mjs","names":["e: APIGatewayProxyEventV2","processedParams: Record<string, string | string[]>","event: APIGatewayProxyEventV2","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV2EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV2Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV2EndpointHandler,\n APIGatewayProxyEventV2,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEventV2): GetInputResponse {\n // API Gateway V2 handles arrays as comma-separated values\n const queryParams = e.queryStringParameters || {};\n const processedParams: Record<string, string | string[]> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n // Check if value contains comma and could be an array\n // Be careful not to split values that legitimately contain commas\n if (value.includes(',') && !value.includes('\"')) {\n processedParams[key] = value.split(',').map((v) => v.trim());\n } else {\n processedParams[key] = value;\n }\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(processedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n event: APIGatewayProxyEventV2,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: event.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: event.requestContext.http.sourceIp,\n userAgent: event.requestContext.http.userAgent || undefined,\n path: event.requestContext.http.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,6BAAb,cASU,yBAWR;CACA,SAASA,GAA6C;EAEpD,MAAM,cAAc,EAAE,yBAAyB,CAAE;EACjD,MAAMC,kBAAqD,CAAE;AAE7D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAGF,KAAI,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,KAAI,CAC7C,iBAAgB,OAAO,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;MAE5D,iBAAgB,OAAO;AAK7B,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,iBAAiB,gBAAgB;GACxC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,OACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,MAAM,eAAe;IACzB,cAAc,QAAQ;IACtB,IAAI,MAAM,eAAe,KAAK;IAC9B,WAAW,MAAM,eAAe,KAAK;IACrC,MAAM,MAAM,eAAe,KAAK;GACjC;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
@@ -1,4 +1,4 @@
1
- import { ConstructType } from "./Construct-ZPqE0vhn.mjs";
1
+ import { ConstructType } from "./Construct-DDR0295I.mjs";
2
2
  import { Service } from "@geekmidas/services";
3
3
  import { AuditStorage } from "@geekmidas/audit";
4
4
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
@@ -37,4 +37,4 @@ declare abstract class BaseFunctionBuilder<TInput extends ComposableStandardSche
37
37
  }
38
38
  //#endregion
39
39
  export { BaseFunctionBuilder };
40
- //# sourceMappingURL=BaseFunctionBuilder-CbDnPZpD.d.mts.map
40
+ //# sourceMappingURL=BaseFunctionBuilder-Ct6zY6Jq.d.mts.map
@@ -1,4 +1,4 @@
1
- import { ConstructType } from "./Construct-dI_rgdSp.cjs";
1
+ import { ConstructType } from "./Construct-Dkd8Kvc9.cjs";
2
2
  import { AuditStorage } from "@geekmidas/audit";
3
3
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
4
  import { Logger } from "@geekmidas/logger";
@@ -37,4 +37,4 @@ declare abstract class BaseFunctionBuilder<TInput extends ComposableStandardSche
37
37
  }
38
38
  //#endregion
39
39
  export { BaseFunctionBuilder };
40
- //# sourceMappingURL=BaseFunctionBuilder-DUZMbEr3.d.cts.map
40
+ //# sourceMappingURL=BaseFunctionBuilder-DaQA0uKE.d.cts.map
@@ -10,12 +10,12 @@ declare abstract class Construct<TLogger extends Logger = Logger, TServiceName e
10
10
  readonly logger: TLogger;
11
11
  readonly services: TServices;
12
12
  readonly events: MappedEvent<T, any>[];
13
- readonly publisherService?: Service<TServiceName, T> | undefined;
14
- outputSchema?: OutSchema | undefined;
15
- readonly timeout?: number | undefined;
16
- readonly memorySize?: number | undefined;
17
- readonly auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage> | undefined;
18
- constructor(type: ConstructType, logger: TLogger, services: TServices, events?: MappedEvent<T, any>[], publisherService?: Service<TServiceName, T> | undefined, outputSchema?: OutSchema | undefined, timeout?: number | undefined, memorySize?: number | undefined, auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage> | undefined);
13
+ readonly publisherService?: Service<TServiceName, T>;
14
+ outputSchema?: OutSchema;
15
+ readonly timeout?: number;
16
+ readonly memorySize?: number;
17
+ readonly auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>;
18
+ constructor(type: ConstructType, logger: TLogger, services: TServices, events?: MappedEvent<T, any>[], publisherService?: Service<TServiceName, T>, outputSchema?: OutSchema, timeout?: number, memorySize?: number, auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>);
19
19
  /**
20
20
  * Returns an array of environment variable names required by this construct's services.
21
21
  * This is determined by running a "sniffer" EnvironmentParser through each service's
@@ -46,4 +46,4 @@ declare enum ConstructType {
46
46
  }
47
47
  //#endregion
48
48
  export { Construct, ConstructType };
49
- //# sourceMappingURL=Construct-ZPqE0vhn.d.mts.map
49
+ //# sourceMappingURL=Construct-DDR0295I.d.mts.map