@geekmidas/constructs 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/README.md +448 -0
  2. package/dist/AWSLambdaFunction-B-Oxr8qt.d.cts +30 -0
  3. package/dist/{AWSLambdaFunction-DcI_77u8.cjs → AWSLambdaFunction-C-fuCLA3.cjs} +28 -5
  4. package/dist/AWSLambdaFunction-C-fuCLA3.cjs.map +1 -0
  5. package/dist/AWSLambdaFunction-CAm9r5ZX.d.mts +30 -0
  6. package/dist/{AWSLambdaFunction-BTSGYZSx.mjs → AWSLambdaFunction-H65WfXLt.mjs} +28 -5
  7. package/dist/AWSLambdaFunction-H65WfXLt.mjs.map +1 -0
  8. package/dist/{AWSLambdaSubscriberAdaptor-mLOpS63x.d.mts → AWSLambdaSubscriberAdaptor-Cknp_nn1.d.cts} +4 -4
  9. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs} +1 -1
  10. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs.map → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs.map} +1 -1
  11. package/dist/{AWSLambdaSubscriberAdaptor-DX5NFdWf.d.cts → AWSLambdaSubscriberAdaptor-DpHzp-AM.d.mts} +4 -4
  12. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs} +1 -1
  13. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs.map → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs.map} +1 -1
  14. package/dist/{AmazonApiGatewayEndpointAdaptor-CATWBIJo.d.mts → AmazonApiGatewayEndpointAdaptor-4hPy5vty.d.mts} +9 -8
  15. package/dist/{AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs → AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs} +51 -16
  16. package/dist/AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs.map +1 -0
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs → AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs} +51 -16
  18. package/dist/AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs.map +1 -0
  19. package/dist/{AmazonApiGatewayEndpointAdaptor-BwtDtS-i.d.cts → AmazonApiGatewayEndpointAdaptor-ro0RMLzr.d.cts} +8 -7
  20. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs → AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs} +3 -3
  21. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs.map → AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs.map} +1 -1
  22. package/dist/{AmazonApiGatewayV1EndpointAdaptor-B1AVk2MM.d.cts → AmazonApiGatewayV1EndpointAdaptor-BWJWKqQT.d.cts} +3 -3
  23. package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs → AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs} +3 -3
  24. package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs.map → AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs.map} +1 -1
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-2Rd0LLz4.d.mts → AmazonApiGatewayV1EndpointAdaptor-hyR-WwyP.d.mts} +4 -4
  26. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs → AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs} +3 -3
  27. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs.map → AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs.map} +1 -1
  28. package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs → AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs} +3 -3
  29. package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs.map → AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs.map} +1 -1
  30. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DmY_QfjO.d.cts → AmazonApiGatewayV2EndpointAdaptor-D1Irdggp.d.cts} +3 -3
  31. package/dist/{AmazonApiGatewayV2EndpointAdaptor-cBDfwdBx.d.mts → AmazonApiGatewayV2EndpointAdaptor-DX3SuI5S.d.mts} +4 -4
  32. package/dist/{Authorizer-Bbk9ziuG.d.mts → Authorizer-BTmly8ps.d.cts} +1 -1
  33. package/dist/{Authorizer-iXsSB600.d.cts → Authorizer-pmPvIVgv.d.mts} +1 -1
  34. package/dist/{BaseFunctionBuilder-DSqF1r3a.mjs → BaseFunctionBuilder-B5gkW0Kt.mjs} +16 -2
  35. package/dist/BaseFunctionBuilder-B5gkW0Kt.mjs.map +1 -0
  36. package/dist/{BaseFunctionBuilder-bTDKP7bd.cjs → BaseFunctionBuilder-C5Se7pdL.cjs} +16 -2
  37. package/dist/BaseFunctionBuilder-C5Se7pdL.cjs.map +1 -0
  38. package/dist/{BaseFunctionBuilder-DOcm1heZ.d.mts → BaseFunctionBuilder-CbDnPZpD.d.mts} +13 -4
  39. package/dist/{BaseFunctionBuilder-hWNVKXQB.d.cts → BaseFunctionBuilder-DUZMbEr3.d.cts} +13 -4
  40. package/dist/{Construct-XCGKof_O.cjs → Construct-BYSPikVm.cjs} +8 -3
  41. package/dist/Construct-BYSPikVm.cjs.map +1 -0
  42. package/dist/{Construct-rZQg2yus.mjs → Construct-LWeB1rSQ.mjs} +8 -3
  43. package/dist/Construct-LWeB1rSQ.mjs.map +1 -0
  44. package/dist/{Construct-iDmbkZ3o.d.mts → Construct-ZPqE0vhn.d.mts} +5 -3
  45. package/dist/{Construct-zc8BkRSp.d.cts → Construct-dI_rgdSp.d.cts} +5 -3
  46. package/dist/Construct.cjs +1 -1
  47. package/dist/Construct.d.cts +1 -1
  48. package/dist/Construct.d.mts +1 -1
  49. package/dist/Construct.mjs +1 -1
  50. package/dist/{Cron-CYIhd0VE.cjs → Cron-Bi3QOge_.cjs} +5 -5
  51. package/dist/Cron-Bi3QOge_.cjs.map +1 -0
  52. package/dist/{Cron-D5HGEt6g.d.mts → Cron-COdfP0Jd.d.cts} +5 -5
  53. package/dist/{Cron-DbJNPTbP.d.cts → Cron-D8cn_ahj.d.mts} +5 -5
  54. package/dist/{Cron-BnO1uXhh.mjs → Cron-Dy_HW2Vv.mjs} +5 -5
  55. package/dist/Cron-Dy_HW2Vv.mjs.map +1 -0
  56. package/dist/{CronBuilder-BxKwHCdJ.mjs → CronBuilder-Bl3A2Zp4.mjs} +15 -6
  57. package/dist/CronBuilder-Bl3A2Zp4.mjs.map +1 -0
  58. package/dist/{CronBuilder-D-546XtP.d.cts → CronBuilder-DntF6H3A.d.cts} +17 -12
  59. package/dist/{CronBuilder-vRiZb1_N.d.mts → CronBuilder-DoMnSs_0.d.mts} +17 -12
  60. package/dist/{CronBuilder-D_3AiPFO.cjs → CronBuilder-Dv_w7Yri.cjs} +15 -6
  61. package/dist/CronBuilder-Dv_w7Yri.cjs.map +1 -0
  62. package/dist/{Endpoint-DqZkc6ft.d.mts → Endpoint-Bbs_sFvg.d.mts} +120 -23
  63. package/dist/{Endpoint-BpTSQn7W.d.cts → Endpoint-Bu8Phz6y.d.cts} +120 -23
  64. package/dist/{Endpoint-BdIGWw1H.cjs → Endpoint-DDpF7NO1.cjs} +22 -10
  65. package/dist/Endpoint-DDpF7NO1.cjs.map +1 -0
  66. package/dist/{Endpoint-ChzcIFdV.mjs → Endpoint-S6Yh2_PN.mjs} +22 -10
  67. package/dist/Endpoint-S6Yh2_PN.mjs.map +1 -0
  68. package/dist/EndpointBuilder-CPxmF_w7.d.cts +103 -0
  69. package/dist/EndpointBuilder-Csfyfjd7.d.mts +103 -0
  70. package/dist/{EndpointBuilder-dmMiNRm9.cjs → EndpointBuilder-DpGmObMb.cjs} +68 -5
  71. package/dist/EndpointBuilder-DpGmObMb.cjs.map +1 -0
  72. package/dist/{EndpointBuilder-yo40Qkf_.mjs → EndpointBuilder-aE2E6WTx.mjs} +68 -5
  73. package/dist/EndpointBuilder-aE2E6WTx.mjs.map +1 -0
  74. package/dist/{EndpointFactory-D_mmO7Gu.d.mts → EndpointFactory-Bf9JSWzI.d.cts} +12 -11
  75. package/dist/{EndpointFactory-CNbcr8u_.cjs → EndpointFactory-BfH6mjJ3.cjs} +3 -3
  76. package/dist/EndpointFactory-BfH6mjJ3.cjs.map +1 -0
  77. package/dist/{EndpointFactory-JPhk0Qom.d.cts → EndpointFactory-Cgk1R0oO.d.mts} +12 -11
  78. package/dist/{EndpointFactory-LD3upVQK.mjs → EndpointFactory-D4leYk1N.mjs} +3 -3
  79. package/dist/EndpointFactory-D4leYk1N.mjs.map +1 -0
  80. package/dist/{Function-DDaSfL_E.cjs → Function-DagDbeXo.cjs} +7 -6
  81. package/dist/Function-DagDbeXo.cjs.map +1 -0
  82. package/dist/{Function-Cl9fiR3a.mjs → Function-DfKsM5Kx.mjs} +7 -6
  83. package/dist/Function-DfKsM5Kx.mjs.map +1 -0
  84. package/dist/{Function-C-5_23Wi.d.mts → Function-V9M9UVHp.d.mts} +25 -7
  85. package/dist/{Function-CW-WcZTu.d.cts → Function-VI1TB3Mh.d.cts} +25 -7
  86. package/dist/{FunctionBuilder-vW12WFOw.mjs → FunctionBuilder-CVT7bG2o.mjs} +27 -6
  87. package/dist/FunctionBuilder-CVT7bG2o.mjs.map +1 -0
  88. package/dist/FunctionBuilder-CjVEFTYC.d.cts +38 -0
  89. package/dist/FunctionBuilder-D1ofSeMd.d.mts +38 -0
  90. package/dist/{FunctionBuilder-LQuBiqRc.cjs → FunctionBuilder-DXvG_XD-.cjs} +27 -6
  91. package/dist/FunctionBuilder-DXvG_XD-.cjs.map +1 -0
  92. package/dist/FunctionExecutionWrapper-Bubnr0zA.mjs +101 -0
  93. package/dist/FunctionExecutionWrapper-Bubnr0zA.mjs.map +1 -0
  94. package/dist/FunctionExecutionWrapper-CwtwYozd.d.cts +48 -0
  95. package/dist/FunctionExecutionWrapper-DkNycmOh.cjs +107 -0
  96. package/dist/FunctionExecutionWrapper-DkNycmOh.cjs.map +1 -0
  97. package/dist/FunctionExecutionWrapper-rhbIYT0Q.d.mts +48 -0
  98. package/dist/{HonoEndpointAdaptor-BVQtyvna.d.cts → HonoEndpointAdaptor-B34kNobH.d.cts} +8 -7
  99. package/dist/{HonoEndpointAdaptor-W-disJnm.d.mts → HonoEndpointAdaptor-BDpi32mH.d.mts} +9 -8
  100. package/dist/{HonoEndpointAdaptor-Bc61IS6Q.cjs → HonoEndpointAdaptor-CfLRHHFw.cjs} +55 -20
  101. package/dist/HonoEndpointAdaptor-CfLRHHFw.cjs.map +1 -0
  102. package/dist/{HonoEndpointAdaptor-NR3h5gml.mjs → HonoEndpointAdaptor-DuyE06nH.mjs} +55 -20
  103. package/dist/HonoEndpointAdaptor-DuyE06nH.mjs.map +1 -0
  104. package/dist/{Subscriber-C2OPATI8.cjs → Subscriber-Bdh8rMSL.cjs} +2 -2
  105. package/dist/{Subscriber-C2OPATI8.cjs.map → Subscriber-Bdh8rMSL.cjs.map} +1 -1
  106. package/dist/{Subscriber-BVq3ST4C.d.cts → Subscriber-BhzqUzs-.d.cts} +2 -2
  107. package/dist/{Subscriber-BKftCzwT.mjs → Subscriber-CJOWwaw1.mjs} +2 -2
  108. package/dist/{Subscriber-BKftCzwT.mjs.map → Subscriber-CJOWwaw1.mjs.map} +1 -1
  109. package/dist/{Subscriber-BuHaqWo4.d.mts → Subscriber-s6yfjeOc.d.mts} +2 -2
  110. package/dist/{SubscriberBuilder-2asHtGbl.d.mts → SubscriberBuilder-BCVkp-ga.d.cts} +3 -3
  111. package/dist/{SubscriberBuilder-yDfpHPZE.mjs → SubscriberBuilder-BWQmiYd8.mjs} +2 -2
  112. package/dist/{SubscriberBuilder-yDfpHPZE.mjs.map → SubscriberBuilder-BWQmiYd8.mjs.map} +1 -1
  113. package/dist/{SubscriberBuilder-yikoQ8ND.cjs → SubscriberBuilder-DieD_60p.cjs} +2 -2
  114. package/dist/{SubscriberBuilder-yikoQ8ND.cjs.map → SubscriberBuilder-DieD_60p.cjs.map} +1 -1
  115. package/dist/{SubscriberBuilder-CHIRyNjy.d.cts → SubscriberBuilder-aCua5_wA.d.mts} +3 -3
  116. package/dist/{TestEndpointAdaptor-DpmNXp7G.mjs → TestEndpointAdaptor-BEyZa0Yg.mjs} +51 -18
  117. package/dist/TestEndpointAdaptor-BEyZa0Yg.mjs.map +1 -0
  118. package/dist/{TestEndpointAdaptor-DA1D6l-U.cjs → TestEndpointAdaptor-C8425RJ0.cjs} +51 -18
  119. package/dist/TestEndpointAdaptor-C8425RJ0.cjs.map +1 -0
  120. package/dist/{TestEndpointAdaptor-BrE5Rs4U.d.cts → TestEndpointAdaptor-H5To8PH7.d.cts} +6 -5
  121. package/dist/{TestEndpointAdaptor-B10J-cI-.d.mts → TestEndpointAdaptor-jxn68ayg.d.mts} +7 -6
  122. package/dist/adaptors/aws.cjs +14 -13
  123. package/dist/adaptors/aws.d.cts +14 -14
  124. package/dist/adaptors/aws.d.mts +15 -15
  125. package/dist/adaptors/aws.mjs +14 -13
  126. package/dist/adaptors/hono.cjs +10 -9
  127. package/dist/adaptors/hono.d.cts +8 -8
  128. package/dist/adaptors/hono.d.mts +9 -9
  129. package/dist/adaptors/hono.mjs +10 -9
  130. package/dist/adaptors/testing.cjs +8 -7
  131. package/dist/adaptors/testing.d.cts +8 -8
  132. package/dist/adaptors/testing.d.mts +9 -9
  133. package/dist/adaptors/testing.mjs +8 -7
  134. package/dist/crons/Cron.cjs +6 -6
  135. package/dist/crons/Cron.d.cts +6 -6
  136. package/dist/crons/Cron.d.mts +6 -6
  137. package/dist/crons/Cron.mjs +6 -6
  138. package/dist/crons/CronBuilder.cjs +7 -7
  139. package/dist/crons/CronBuilder.d.cts +7 -7
  140. package/dist/crons/CronBuilder.d.mts +7 -7
  141. package/dist/crons/CronBuilder.mjs +7 -7
  142. package/dist/crons/index.cjs +7 -7
  143. package/dist/crons/index.d.cts +11 -11
  144. package/dist/crons/index.d.mts +8 -8
  145. package/dist/crons/index.mjs +7 -7
  146. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +8 -7
  147. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +8 -8
  148. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +9 -9
  149. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +8 -7
  150. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +10 -9
  151. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +9 -9
  152. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +10 -10
  153. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +10 -9
  154. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +10 -9
  155. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +9 -9
  156. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +10 -10
  157. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +10 -9
  158. package/dist/endpoints/Authorizer.d.cts +1 -1
  159. package/dist/endpoints/Authorizer.d.mts +1 -1
  160. package/dist/endpoints/Endpoint.cjs +6 -6
  161. package/dist/endpoints/Endpoint.d.cts +7 -7
  162. package/dist/endpoints/Endpoint.d.mts +8 -8
  163. package/dist/endpoints/Endpoint.mjs +6 -6
  164. package/dist/endpoints/EndpointBuilder.cjs +7 -7
  165. package/dist/endpoints/EndpointBuilder.d.cts +8 -8
  166. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  167. package/dist/endpoints/EndpointBuilder.mjs +7 -7
  168. package/dist/endpoints/EndpointFactory.cjs +8 -8
  169. package/dist/endpoints/EndpointFactory.d.cts +9 -9
  170. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  171. package/dist/endpoints/EndpointFactory.mjs +8 -8
  172. package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
  173. package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -8
  174. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  175. package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
  176. package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
  177. package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -8
  178. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  179. package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
  180. package/dist/endpoints/audit.cjs +0 -0
  181. package/dist/endpoints/audit.d.cts +9 -0
  182. package/dist/endpoints/audit.d.mts +9 -0
  183. package/dist/endpoints/audit.mjs +0 -0
  184. package/dist/endpoints/helpers.cjs +7 -7
  185. package/dist/endpoints/helpers.d.cts +7 -7
  186. package/dist/endpoints/helpers.d.mts +8 -8
  187. package/dist/endpoints/helpers.mjs +7 -7
  188. package/dist/endpoints/index.cjs +8 -8
  189. package/dist/endpoints/index.cjs.map +1 -1
  190. package/dist/endpoints/index.d.cts +12 -12
  191. package/dist/endpoints/index.d.mts +13 -13
  192. package/dist/endpoints/index.mjs +8 -8
  193. package/dist/endpoints/index.mjs.map +1 -1
  194. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  195. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  196. package/dist/endpoints/parseQueryParams.cjs +1 -1
  197. package/dist/endpoints/parseQueryParams.mjs +1 -1
  198. package/dist/endpoints/processAudits.cjs +5 -0
  199. package/dist/endpoints/processAudits.d.cts +74 -0
  200. package/dist/endpoints/processAudits.d.mts +74 -0
  201. package/dist/endpoints/processAudits.mjs +3 -0
  202. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  203. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  204. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  205. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  206. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  207. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  208. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  209. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  210. package/dist/functions/Function.cjs +2 -2
  211. package/dist/functions/Function.d.cts +2 -2
  212. package/dist/functions/Function.d.mts +2 -2
  213. package/dist/functions/Function.mjs +2 -2
  214. package/dist/functions/FunctionBuilder.cjs +4 -4
  215. package/dist/functions/FunctionBuilder.d.cts +4 -4
  216. package/dist/functions/FunctionBuilder.d.mts +4 -4
  217. package/dist/functions/FunctionBuilder.mjs +4 -4
  218. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  219. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  220. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  221. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  222. package/dist/functions/TestFunctionAdaptor.cjs +38 -5
  223. package/dist/functions/TestFunctionAdaptor.cjs.map +1 -1
  224. package/dist/functions/TestFunctionAdaptor.d.cts +10 -7
  225. package/dist/functions/TestFunctionAdaptor.d.mts +10 -7
  226. package/dist/functions/TestFunctionAdaptor.mjs +38 -5
  227. package/dist/functions/TestFunctionAdaptor.mjs.map +1 -1
  228. package/dist/functions/index.cjs +5 -5
  229. package/dist/functions/index.d.cts +5 -5
  230. package/dist/functions/index.d.mts +5 -5
  231. package/dist/functions/index.mjs +5 -5
  232. package/dist/{functions-yg097ymU.cjs → functions-FCb-wWFC.cjs} +2 -2
  233. package/dist/{functions-yg097ymU.cjs.map → functions-FCb-wWFC.cjs.map} +1 -1
  234. package/dist/functions-JhRsNoAZ.mjs +8 -0
  235. package/dist/{functions-HCoZ4YKF.mjs.map → functions-JhRsNoAZ.mjs.map} +1 -1
  236. package/dist/{helpers-CHsIWAEx.mjs → helpers-2CLKTnRm.mjs} +2 -2
  237. package/dist/{helpers-CHsIWAEx.mjs.map → helpers-2CLKTnRm.mjs.map} +1 -1
  238. package/dist/{helpers-Cq6wjo7s.cjs → helpers-Khuhi_Qx.cjs} +2 -2
  239. package/dist/{helpers-Cq6wjo7s.cjs.map → helpers-Khuhi_Qx.cjs.map} +1 -1
  240. package/dist/index-Bomy7R9z.d.mts +10 -0
  241. package/dist/index-DRYfZHb3.d.cts +10 -0
  242. package/dist/index.cjs +1 -1
  243. package/dist/index.d.cts +1 -1
  244. package/dist/index.d.mts +2 -2
  245. package/dist/index.mjs +1 -1
  246. package/dist/{parseHonoQuery-DopC24vB.cjs → parseHonoQuery-CT8Cvin-.cjs} +1 -1
  247. package/dist/{parseHonoQuery-DopC24vB.cjs.map → parseHonoQuery-CT8Cvin-.cjs.map} +1 -1
  248. package/dist/{parseHonoQuery-znDKBhdE.mjs → parseHonoQuery-CwFKw2ua.mjs} +1 -1
  249. package/dist/{parseHonoQuery-znDKBhdE.mjs.map → parseHonoQuery-CwFKw2ua.mjs.map} +1 -1
  250. package/dist/{parseQueryParams-BJaRh3OB.mjs → parseQueryParams-CHINupbZ.mjs} +1 -1
  251. package/dist/{parseQueryParams-BJaRh3OB.mjs.map → parseQueryParams-CHINupbZ.mjs.map} +1 -1
  252. package/dist/{parseQueryParams-BzPop4I1.cjs → parseQueryParams-CwvXXwkW.cjs} +1 -1
  253. package/dist/{parseQueryParams-BzPop4I1.cjs.map → parseQueryParams-CwvXXwkW.cjs.map} +1 -1
  254. package/dist/processAudits-BFokHhCO.cjs +174 -0
  255. package/dist/processAudits-BFokHhCO.cjs.map +1 -0
  256. package/dist/processAudits-DfcB-X-4.mjs +156 -0
  257. package/dist/processAudits-DfcB-X-4.mjs.map +1 -0
  258. package/dist/publisher-Bw4770Hi.mjs.map +1 -1
  259. package/dist/publisher-lFQleddL.cjs.map +1 -1
  260. package/dist/publisher.d.cts +3 -2
  261. package/dist/publisher.d.mts +3 -2
  262. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  263. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  264. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  265. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  266. package/dist/subscribers/Subscriber.cjs +2 -2
  267. package/dist/subscribers/Subscriber.d.cts +2 -2
  268. package/dist/subscribers/Subscriber.d.mts +2 -2
  269. package/dist/subscribers/Subscriber.mjs +2 -2
  270. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  271. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  272. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  273. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  274. package/dist/subscribers/index.cjs +3 -3
  275. package/dist/subscribers/index.d.cts +5 -5
  276. package/dist/subscribers/index.d.mts +5 -5
  277. package/dist/subscribers/index.mjs +3 -3
  278. package/dist/{types-CVq20-fE.d.mts → types-DKf0juBf.d.mts} +1 -1
  279. package/dist/types.d.mts +1 -1
  280. package/package.json +15 -11
  281. package/src/Construct.ts +8 -0
  282. package/src/crons/Cron.ts +12 -3
  283. package/src/crons/CronBuilder.ts +85 -13
  284. package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +2 -2
  285. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +112 -20
  286. package/src/endpoints/Endpoint.ts +208 -39
  287. package/src/endpoints/EndpointBuilder.ts +291 -21
  288. package/src/endpoints/EndpointFactory.ts +5 -1
  289. package/src/endpoints/HonoEndpointAdaptor.ts +144 -33
  290. package/src/endpoints/TestEndpointAdaptor.ts +116 -21
  291. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +8 -0
  292. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +29 -0
  293. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +626 -0
  294. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +9 -0
  295. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +757 -0
  296. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +3 -1
  297. package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +1 -1
  298. package/src/endpoints/__tests__/Endpoint.spec.ts +19 -0
  299. package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +448 -0
  300. package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +51 -14
  301. package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +8 -8
  302. package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +11 -11
  303. package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +703 -0
  304. package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +632 -0
  305. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +8 -0
  306. package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +1063 -0
  307. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +4 -0
  308. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +25 -0
  309. package/src/endpoints/audit.ts +87 -0
  310. package/src/endpoints/index.ts +1 -0
  311. package/src/endpoints/processAudits.ts +348 -0
  312. package/src/functions/AWSLambdaFunction.ts +125 -12
  313. package/src/functions/BaseFunctionBuilder.ts +98 -7
  314. package/src/functions/Function.ts +83 -15
  315. package/src/functions/FunctionBuilder.ts +217 -17
  316. package/src/functions/FunctionExecutionWrapper.ts +133 -2
  317. package/src/functions/TestFunctionAdaptor.ts +94 -8
  318. package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +82 -0
  319. package/src/functions/__tests__/Function.audits.spec.ts +393 -0
  320. package/src/functions/__tests__/Function.spec.ts +76 -0
  321. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +54 -7
  322. package/src/publisher.ts +12 -1
  323. package/dist/AWSLambdaFunction-BTSGYZSx.mjs.map +0 -1
  324. package/dist/AWSLambdaFunction-Bel0NFTl.d.mts +0 -27
  325. package/dist/AWSLambdaFunction-DcI_77u8.cjs.map +0 -1
  326. package/dist/AWSLambdaFunction-xyCenuD7.d.cts +0 -27
  327. package/dist/AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs.map +0 -1
  328. package/dist/AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs.map +0 -1
  329. package/dist/BaseFunctionBuilder-DSqF1r3a.mjs.map +0 -1
  330. package/dist/BaseFunctionBuilder-bTDKP7bd.cjs.map +0 -1
  331. package/dist/Construct-XCGKof_O.cjs.map +0 -1
  332. package/dist/Construct-rZQg2yus.mjs.map +0 -1
  333. package/dist/Cron-BnO1uXhh.mjs.map +0 -1
  334. package/dist/Cron-CYIhd0VE.cjs.map +0 -1
  335. package/dist/CronBuilder-BxKwHCdJ.mjs.map +0 -1
  336. package/dist/CronBuilder-D_3AiPFO.cjs.map +0 -1
  337. package/dist/Endpoint-BdIGWw1H.cjs.map +0 -1
  338. package/dist/Endpoint-ChzcIFdV.mjs.map +0 -1
  339. package/dist/EndpointBuilder-Cx6pUcCn.d.mts +0 -55
  340. package/dist/EndpointBuilder-Xka8ULR1.d.cts +0 -55
  341. package/dist/EndpointBuilder-dmMiNRm9.cjs.map +0 -1
  342. package/dist/EndpointBuilder-yo40Qkf_.mjs.map +0 -1
  343. package/dist/EndpointFactory-CNbcr8u_.cjs.map +0 -1
  344. package/dist/EndpointFactory-LD3upVQK.mjs.map +0 -1
  345. package/dist/Function-Cl9fiR3a.mjs.map +0 -1
  346. package/dist/Function-DDaSfL_E.cjs.map +0 -1
  347. package/dist/FunctionBuilder-LQuBiqRc.cjs.map +0 -1
  348. package/dist/FunctionBuilder-fU1H7tFN.d.cts +0 -26
  349. package/dist/FunctionBuilder-udObIGV0.d.mts +0 -26
  350. package/dist/FunctionBuilder-vW12WFOw.mjs.map +0 -1
  351. package/dist/FunctionExecutionWrapper-BBIoHUt6.cjs +0 -42
  352. package/dist/FunctionExecutionWrapper-BBIoHUt6.cjs.map +0 -1
  353. package/dist/FunctionExecutionWrapper-DYBy9OP3.d.mts +0 -24
  354. package/dist/FunctionExecutionWrapper-Dtyhid1Q.mjs +0 -36
  355. package/dist/FunctionExecutionWrapper-Dtyhid1Q.mjs.map +0 -1
  356. package/dist/FunctionExecutionWrapper-Dwr2ZKzC.d.cts +0 -24
  357. package/dist/HonoEndpointAdaptor-Bc61IS6Q.cjs.map +0 -1
  358. package/dist/HonoEndpointAdaptor-NR3h5gml.mjs.map +0 -1
  359. package/dist/TestEndpointAdaptor-DA1D6l-U.cjs.map +0 -1
  360. package/dist/TestEndpointAdaptor-DpmNXp7G.mjs.map +0 -1
  361. package/dist/functions-HCoZ4YKF.mjs +0 -8
  362. package/dist/index-RtxMVjUZ.d.mts +0 -9
  363. package/dist/index-fiIGH95t.d.cts +0 -9
@@ -1,11 +1,14 @@
1
+ import type { AuditStorage, AuditableAction } from '@geekmidas/audit';
2
+ import type { EventPublisher, MappedEvent } from '@geekmidas/events';
1
3
  import type { Logger } from '@geekmidas/logger';
2
4
  import type { RateLimitConfig } from '@geekmidas/rate-limit';
3
5
  import type { Service } from '@geekmidas/services';
4
6
  import type { StandardSchemaV1 } from '@standard-schema/spec';
5
7
  import uniqBy from 'lodash.uniqby';
6
- import type { Authorizer } from './Authorizer';
7
8
  import { ConstructType } from '../Construct';
8
9
  import { BaseFunctionBuilder } from '../functions';
10
+ import type { HttpMethod } from '../types';
11
+ import type { Authorizer } from './Authorizer';
9
12
  import { Endpoint, type EndpointSchemas } from './Endpoint';
10
13
  import type {
11
14
  AuthorizeFn,
@@ -13,9 +16,7 @@ import type {
13
16
  SessionFn,
14
17
  SuccessStatus,
15
18
  } from './Endpoint';
16
-
17
- import type { EventPublisher, MappedEvent } from '@geekmidas/events';
18
- import type { HttpMethod } from '../types';
19
+ import type { ActorExtractor, MappedAudit } from './audit';
19
20
 
20
21
  export class EndpointBuilder<
21
22
  TRoute extends string,
@@ -28,13 +29,23 @@ export class EndpointBuilder<
28
29
  TEventPublisher extends EventPublisher<any> | undefined = undefined,
29
30
  TEventPublisherServiceName extends string = string,
30
31
  TAuthorizers extends readonly string[] = readonly string[],
32
+ TAuditStorage extends AuditStorage | undefined = undefined,
33
+ TAuditStorageServiceName extends string = string,
34
+ TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
35
+ string,
36
+ unknown
37
+ >,
38
+ TDatabase = undefined,
39
+ TDatabaseServiceName extends string = string,
31
40
  > extends BaseFunctionBuilder<
32
41
  TInput,
33
42
  OutSchema,
34
43
  TServices,
35
44
  TLogger,
36
45
  TEventPublisher,
37
- TEventPublisherServiceName
46
+ TEventPublisherServiceName,
47
+ TAuditStorage,
48
+ TAuditStorageServiceName
38
49
  > {
39
50
  protected schemas: TInput = {} as TInput;
40
51
  protected _description?: string;
@@ -46,6 +57,9 @@ export class EndpointBuilder<
46
57
  _rateLimit?: RateLimitConfig;
47
58
  _availableAuthorizers: Authorizer[] = [];
48
59
  _authorizerName?: TAuthorizers[number];
60
+ _actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;
61
+ _audits: MappedAudit<TAuditAction, OutSchema>[] = [];
62
+ _databaseService?: Service<TDatabaseServiceName, TDatabase>;
49
63
 
50
64
  constructor(
51
65
  readonly route: TRoute,
@@ -100,7 +114,9 @@ export class EndpointBuilder<
100
114
  TSession,
101
115
  T,
102
116
  TName,
103
- TAuthorizers
117
+ TAuthorizers,
118
+ TAuditStorage,
119
+ TAuditStorageServiceName
104
120
  > {
105
121
  this._publisher = publisher as unknown as Service<
106
122
  TEventPublisherServiceName,
@@ -117,7 +133,9 @@ export class EndpointBuilder<
117
133
  TSession,
118
134
  T,
119
135
  TName,
120
- TAuthorizers
136
+ TAuthorizers,
137
+ TAuditStorage,
138
+ TAuditStorageServiceName
121
139
  >;
122
140
  }
123
141
 
@@ -133,7 +151,9 @@ export class EndpointBuilder<
133
151
  TSession,
134
152
  TEventPublisher,
135
153
  TEventPublisherServiceName,
136
- TAuthorizers
154
+ TAuthorizers,
155
+ TAuditStorage,
156
+ TAuditStorageServiceName
137
157
  > {
138
158
  this.schemas.body = schema as unknown as T;
139
159
  // @ts-ignore
@@ -152,7 +172,9 @@ export class EndpointBuilder<
152
172
  TSession,
153
173
  TEventPublisher,
154
174
  TEventPublisherServiceName,
155
- TAuthorizers
175
+ TAuthorizers,
176
+ TAuditStorage,
177
+ TAuditStorageServiceName
156
178
  > {
157
179
  this.schemas.query = schema as unknown as T;
158
180
  // @ts-ignore
@@ -171,7 +193,9 @@ export class EndpointBuilder<
171
193
  TSession,
172
194
  TEventPublisher,
173
195
  TEventPublisherServiceName,
174
- TAuthorizers
196
+ TAuthorizers,
197
+ TAuditStorage,
198
+ TAuditStorageServiceName
175
199
  > {
176
200
  return this.search(schema);
177
201
  }
@@ -188,7 +212,9 @@ export class EndpointBuilder<
188
212
  TSession,
189
213
  TEventPublisher,
190
214
  TEventPublisherServiceName,
191
- TAuthorizers
215
+ TAuthorizers,
216
+ TAuditStorage,
217
+ TAuditStorageServiceName
192
218
  > {
193
219
  this.schemas.params = schema as unknown as T;
194
220
  // @ts-ignore
@@ -212,7 +238,12 @@ export class EndpointBuilder<
212
238
  TSession,
213
239
  TEventPublisher,
214
240
  TEventPublisherServiceName,
215
- TAuthorizers
241
+ TAuthorizers,
242
+ TAuditStorage,
243
+ TAuditStorageServiceName,
244
+ TAuditAction,
245
+ TDatabase,
246
+ TDatabaseServiceName
216
247
  > {
217
248
  // Special case: 'none' explicitly marks endpoint as having no authorizer
218
249
  if (name === 'none') {
@@ -225,7 +256,9 @@ export class EndpointBuilder<
225
256
  (a) => a.name === name,
226
257
  );
227
258
  if (!authorizerExists && this._availableAuthorizers.length > 0) {
228
- const available = this._availableAuthorizers.map((a) => a.name).join(', ');
259
+ const available = this._availableAuthorizers
260
+ .map((a) => a.name)
261
+ .join(', ');
229
262
  throw new Error(
230
263
  `Authorizer "${name as string}" not found in available authorizers: ${available}`,
231
264
  );
@@ -246,7 +279,12 @@ export class EndpointBuilder<
246
279
  TSession,
247
280
  TEventPublisher,
248
281
  TEventPublisherServiceName,
249
- TAuthorizers
282
+ TAuthorizers,
283
+ TAuditStorage,
284
+ TAuditStorageServiceName,
285
+ TAuditAction,
286
+ TDatabase,
287
+ TDatabaseServiceName
250
288
  > {
251
289
  this._services = uniqBy(
252
290
  [...this._services, ...services],
@@ -263,7 +301,12 @@ export class EndpointBuilder<
263
301
  TSession,
264
302
  TEventPublisher,
265
303
  TEventPublisherServiceName,
266
- TAuthorizers
304
+ TAuthorizers,
305
+ TAuditStorage,
306
+ TAuditStorageServiceName,
307
+ TAuditAction,
308
+ TDatabase,
309
+ TDatabaseServiceName
267
310
  >;
268
311
  }
269
312
 
@@ -279,7 +322,12 @@ export class EndpointBuilder<
279
322
  TSession,
280
323
  TEventPublisher,
281
324
  TEventPublisherServiceName,
282
- TAuthorizers
325
+ TAuthorizers,
326
+ TAuditStorage,
327
+ TAuditStorageServiceName,
328
+ TAuditAction,
329
+ TDatabase,
330
+ TDatabaseServiceName
283
331
  > {
284
332
  this._logger = logger as unknown as TLogger;
285
333
 
@@ -293,7 +341,12 @@ export class EndpointBuilder<
293
341
  TSession,
294
342
  TEventPublisher,
295
343
  TEventPublisherServiceName,
296
- TAuthorizers
344
+ TAuthorizers,
345
+ TAuditStorage,
346
+ TAuditStorageServiceName,
347
+ TAuditAction,
348
+ TDatabase,
349
+ TDatabaseServiceName
297
350
  >;
298
351
  }
299
352
 
@@ -309,7 +362,12 @@ export class EndpointBuilder<
309
362
  TSession,
310
363
  TEventPublisher,
311
364
  TEventPublisherServiceName,
312
- TAuthorizers
365
+ TAuthorizers,
366
+ TAuditStorage,
367
+ TAuditStorageServiceName,
368
+ TAuditAction,
369
+ TDatabase,
370
+ TDatabaseServiceName
313
371
  > {
314
372
  this.outputSchema = schema as unknown as OutSchema;
315
373
 
@@ -323,7 +381,200 @@ export class EndpointBuilder<
323
381
  TSession,
324
382
  TEventPublisher,
325
383
  TEventPublisherServiceName,
326
- TAuthorizers
384
+ TAuthorizers,
385
+ TAuditStorage,
386
+ TAuditStorageServiceName,
387
+ TAuditAction,
388
+ TDatabase,
389
+ TDatabaseServiceName
390
+ >;
391
+ }
392
+
393
+ /**
394
+ * Set the auditor storage service for this endpoint.
395
+ * This enables audit functionality and makes `auditor` available in the handler context.
396
+ */
397
+ auditor<T extends AuditStorage, TName extends string>(
398
+ storage: Service<TName, T>,
399
+ ): EndpointBuilder<
400
+ TRoute,
401
+ TMethod,
402
+ TInput,
403
+ TServices,
404
+ TLogger,
405
+ OutSchema,
406
+ TSession,
407
+ TEventPublisher,
408
+ TEventPublisherServiceName,
409
+ TAuthorizers,
410
+ T,
411
+ TName,
412
+ TAuditAction,
413
+ TDatabase,
414
+ TDatabaseServiceName
415
+ > {
416
+ this._auditorStorage = storage as unknown as Service<
417
+ TAuditStorageServiceName,
418
+ TAuditStorage
419
+ >;
420
+
421
+ return this as unknown as EndpointBuilder<
422
+ TRoute,
423
+ TMethod,
424
+ TInput,
425
+ TServices,
426
+ TLogger,
427
+ OutSchema,
428
+ TSession,
429
+ TEventPublisher,
430
+ TEventPublisherServiceName,
431
+ TAuthorizers,
432
+ T,
433
+ TName,
434
+ TAuditAction,
435
+ TDatabase,
436
+ TDatabaseServiceName
437
+ >;
438
+ }
439
+
440
+ /**
441
+ * Set the actor extractor function for audit records.
442
+ * The actor is extracted from the request context and attached to all audits.
443
+ */
444
+ actor(
445
+ extractor: ActorExtractor<TServices, TSession, TLogger>,
446
+ ): EndpointBuilder<
447
+ TRoute,
448
+ TMethod,
449
+ TInput,
450
+ TServices,
451
+ TLogger,
452
+ OutSchema,
453
+ TSession,
454
+ TEventPublisher,
455
+ TEventPublisherServiceName,
456
+ TAuthorizers,
457
+ TAuditStorage,
458
+ TAuditStorageServiceName,
459
+ TAuditAction,
460
+ TDatabase,
461
+ TDatabaseServiceName
462
+ > {
463
+ this._actorExtractor = extractor;
464
+ return this;
465
+ }
466
+
467
+ /**
468
+ * Add declarative audit definitions that are processed after the handler executes.
469
+ * Similar to `.event()` for events, but for audits.
470
+ *
471
+ * @example
472
+ * ```typescript
473
+ * .audit<AppAuditAction>([
474
+ * {
475
+ * type: 'user.created',
476
+ * payload: (response) => ({ userId: response.id, email: response.email }),
477
+ * when: (response) => response.active,
478
+ * entityId: (response) => response.id,
479
+ * table: 'users',
480
+ * },
481
+ * ])
482
+ * ```
483
+ */
484
+ audit<T extends AuditableAction<string, unknown>>(
485
+ audits: MappedAudit<T, OutSchema>[],
486
+ ): EndpointBuilder<
487
+ TRoute,
488
+ TMethod,
489
+ TInput,
490
+ TServices,
491
+ TLogger,
492
+ OutSchema,
493
+ TSession,
494
+ TEventPublisher,
495
+ TEventPublisherServiceName,
496
+ TAuthorizers,
497
+ TAuditStorage,
498
+ TAuditStorageServiceName,
499
+ T,
500
+ TDatabase,
501
+ TDatabaseServiceName
502
+ > {
503
+ this._audits = audits as unknown as MappedAudit<TAuditAction, OutSchema>[];
504
+ return this as unknown as EndpointBuilder<
505
+ TRoute,
506
+ TMethod,
507
+ TInput,
508
+ TServices,
509
+ TLogger,
510
+ OutSchema,
511
+ TSession,
512
+ TEventPublisher,
513
+ TEventPublisherServiceName,
514
+ TAuthorizers,
515
+ TAuditStorage,
516
+ TAuditStorageServiceName,
517
+ T,
518
+ TDatabase,
519
+ TDatabaseServiceName
520
+ >;
521
+ }
522
+
523
+ /**
524
+ * Set the database service for this endpoint.
525
+ * The database will be available in the handler context as `db`.
526
+ * When audit storage is configured and uses the same database,
527
+ * `db` will automatically be the transaction for ACID compliance.
528
+ *
529
+ * @example
530
+ * ```typescript
531
+ * .database(databaseService)
532
+ * .handle(async ({ db }) => {
533
+ * // db is the raw database or transaction (when auditor uses same db)
534
+ * return await db.selectFrom('users').selectAll().execute();
535
+ * })
536
+ * ```
537
+ */
538
+ database<T, TName extends string>(
539
+ service: Service<TName, T>,
540
+ ): EndpointBuilder<
541
+ TRoute,
542
+ TMethod,
543
+ TInput,
544
+ TServices,
545
+ TLogger,
546
+ OutSchema,
547
+ TSession,
548
+ TEventPublisher,
549
+ TEventPublisherServiceName,
550
+ TAuthorizers,
551
+ TAuditStorage,
552
+ TAuditStorageServiceName,
553
+ TAuditAction,
554
+ T,
555
+ TName
556
+ > {
557
+ this._databaseService = service as unknown as Service<
558
+ TDatabaseServiceName,
559
+ TDatabase
560
+ >;
561
+
562
+ return this as unknown as EndpointBuilder<
563
+ TRoute,
564
+ TMethod,
565
+ TInput,
566
+ TServices,
567
+ TLogger,
568
+ OutSchema,
569
+ TSession,
570
+ TEventPublisher,
571
+ TEventPublisherServiceName,
572
+ TAuthorizers,
573
+ TAuditStorage,
574
+ TAuditStorageServiceName,
575
+ TAuditAction,
576
+ T,
577
+ TName
327
578
  >;
328
579
  }
329
580
 
@@ -335,7 +586,16 @@ export class EndpointBuilder<
335
586
  }
336
587
 
337
588
  handle(
338
- fn: EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession>,
589
+ fn: EndpointHandler<
590
+ TInput,
591
+ TServices,
592
+ TLogger,
593
+ OutSchema,
594
+ TSession,
595
+ TDatabase,
596
+ TAuditStorage,
597
+ TAuditAction
598
+ >,
339
599
  ): Endpoint<
340
600
  TRoute,
341
601
  TMethod,
@@ -344,7 +604,13 @@ export class EndpointBuilder<
344
604
  TServices,
345
605
  TLogger,
346
606
  TSession,
347
- TEventPublisher
607
+ TEventPublisher,
608
+ TEventPublisherServiceName,
609
+ TAuditStorage,
610
+ TAuditStorageServiceName,
611
+ TAuditAction,
612
+ TDatabase,
613
+ TDatabaseServiceName
348
614
  > {
349
615
  // Find authorizer metadata if name is set
350
616
  const authorizer = this._authorizerName
@@ -370,6 +636,10 @@ export class EndpointBuilder<
370
636
  publisherService: this._publisher,
371
637
  events: this._events,
372
638
  authorizer,
639
+ auditorStorageService: this._auditorStorage,
640
+ actorExtractor: this._actorExtractor,
641
+ audits: this._audits,
642
+ databaseService: this._databaseService,
373
643
  });
374
644
  }
375
645
  }
@@ -264,7 +264,11 @@ export class EndpointFactory<
264
264
  >,
265
265
  defaultLogger: logger,
266
266
  defaultSessionExtractor: this
267
- .defaultSessionExtractor as unknown as SessionFn<TServices, L, TSession>,
267
+ .defaultSessionExtractor as unknown as SessionFn<
268
+ TServices,
269
+ L,
270
+ TSession
271
+ >,
268
272
  defaultEventPublisher: this.defaultEventPublisher,
269
273
  availableAuthorizers: this.availableAuthorizers,
270
274
  defaultAuthorizerName: this.defaultAuthorizerName,