@geekmidas/constructs 0.3.0 → 0.3.2

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 (262) hide show
  1. package/dist/{AWSLambdaFunction-D9RZhm0N.d.mts → AWSLambdaFunction-BdebRMUh.d.mts} +5 -3
  2. package/dist/AWSLambdaFunction-BdebRMUh.d.mts.map +1 -0
  3. package/dist/AWSLambdaFunction-C54a1doJ.mjs.map +1 -1
  4. package/dist/{AWSLambdaFunction-gpqm7UBb.d.cts → AWSLambdaFunction-D0tEOTXQ.d.cts} +5 -3
  5. package/dist/AWSLambdaFunction-D0tEOTXQ.d.cts.map +1 -0
  6. package/dist/AWSLambdaFunction-EPGY4s7i.cjs.map +1 -1
  7. package/dist/{AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs → AWSLambdaSubscriberAdaptor-BLfO612H.mjs} +5 -3
  8. package/dist/{AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs.map → AWSLambdaSubscriberAdaptor-BLfO612H.mjs.map} +1 -1
  9. package/dist/{AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs → AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs} +5 -3
  10. package/dist/{AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs.map → AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs.map} +1 -1
  11. package/dist/{AWSLambdaSubscriberAdaptor-C0aZBU64.d.mts → AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts} +4 -2
  12. package/dist/AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts.map +1 -0
  13. package/dist/{AWSLambdaSubscriberAdaptor-DT8icDRf.d.cts → AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts} +4 -2
  14. package/dist/AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts.map +1 -0
  15. package/dist/{AmazonApiGatewayEndpointAdaptor-CbJqLU6I.d.cts → AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts} +5 -3
  16. package/dist/AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts.map +1 -0
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-DC3N7zY_.d.mts → AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts} +5 -3
  18. package/dist/AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts.map +1 -0
  19. package/dist/{AmazonApiGatewayV1EndpointAdaptor-BbkfC1dk.mjs → AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs} +2 -2
  20. package/dist/AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs.map +1 -0
  21. package/dist/{AmazonApiGatewayV1EndpointAdaptor-BiNzaAxD.cjs → AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs} +2 -2
  22. package/dist/AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs.map +1 -0
  23. package/dist/{AmazonApiGatewayV1EndpointAdaptor-BVxgQ-7J.d.mts → AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts} +8 -6
  24. package/dist/AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts.map +1 -0
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-CVwJ5k16.d.cts → AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts} +8 -6
  26. package/dist/AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts.map +1 -0
  27. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DZclCykB.cjs → AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs} +2 -2
  28. package/dist/AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs.map +1 -0
  29. package/dist/{AmazonApiGatewayV2EndpointAdaptor-1oBZdQH3.d.cts → AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts} +6 -4
  30. package/dist/AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts.map +1 -0
  31. package/dist/{AmazonApiGatewayV2EndpointAdaptor-C3H8Hpv7.d.mts → AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts} +6 -4
  32. package/dist/AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts.map +1 -0
  33. package/dist/{AmazonApiGatewayV2EndpointAdaptor-jRrQrIdm.mjs → AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs} +2 -2
  34. package/dist/AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs.map +1 -0
  35. package/dist/{Authorizer-CpSUMTIs.d.cts → Authorizer-B-btowNd.d.cts} +2 -1
  36. package/dist/Authorizer-B-btowNd.d.cts.map +1 -0
  37. package/dist/{Authorizer-Cpx59w_q.d.mts → Authorizer-gWxYsGEp.d.mts} +2 -1
  38. package/dist/Authorizer-gWxYsGEp.d.mts.map +1 -0
  39. package/dist/{BaseFunctionBuilder-CoV7J45W.d.mts → BaseFunctionBuilder-BAtutR6q.d.cts} +5 -3
  40. package/dist/BaseFunctionBuilder-BAtutR6q.d.cts.map +1 -0
  41. package/dist/{BaseFunctionBuilder-DaQA0uKE.d.cts → BaseFunctionBuilder-DRY419e7.d.mts} +5 -3
  42. package/dist/BaseFunctionBuilder-DRY419e7.d.mts.map +1 -0
  43. package/dist/{Construct-Dkd8Kvc9.d.cts → Construct-C4rPE67v.d.cts} +8 -7
  44. package/dist/Construct-C4rPE67v.d.cts.map +1 -0
  45. package/dist/{Construct-jBKqb-Zi.d.mts → Construct-XrijZFFh.d.mts} +8 -7
  46. package/dist/Construct-XrijZFFh.d.mts.map +1 -0
  47. package/dist/Construct.d.cts +1 -1
  48. package/dist/Construct.d.mts +1 -1
  49. package/dist/{Cron-7VPR2cNR.d.cts → Cron-bDLcTvV5.d.cts} +4 -4
  50. package/dist/Cron-bDLcTvV5.d.cts.map +1 -0
  51. package/dist/{Cron-JZkp_fHy.d.mts → Cron-cdjlSKNp.d.mts} +4 -4
  52. package/dist/Cron-cdjlSKNp.d.mts.map +1 -0
  53. package/dist/{CronBuilder-290th4zF.d.cts → CronBuilder-BC4m5-p1.d.mts} +7 -5
  54. package/dist/CronBuilder-BC4m5-p1.d.mts.map +1 -0
  55. package/dist/CronBuilder-CcxKRtVP.cjs.map +1 -1
  56. package/dist/{CronBuilder-BmFDO0Dm.d.mts → CronBuilder-DKVXyE0Q.d.cts} +7 -5
  57. package/dist/CronBuilder-DKVXyE0Q.d.cts.map +1 -0
  58. package/dist/CronBuilder-d2jh-IB2.mjs.map +1 -1
  59. package/dist/{Endpoint-C5djXyae.d.mts → Endpoint-BPv9_-m_.d.cts} +9 -7
  60. package/dist/Endpoint-BPv9_-m_.d.cts.map +1 -0
  61. package/dist/{Endpoint-CC2RGjkl.d.cts → Endpoint-BdwG75G_.d.mts} +9 -7
  62. package/dist/Endpoint-BdwG75G_.d.mts.map +1 -0
  63. package/dist/{EndpointBuilder-CD8LkBda.d.mts → EndpointBuilder-B3az942t.d.mts} +7 -5
  64. package/dist/EndpointBuilder-B3az942t.d.mts.map +1 -0
  65. package/dist/EndpointBuilder-Cgj1P_ra.cjs.map +1 -1
  66. package/dist/{EndpointBuilder-vXk6eIJk.d.cts → EndpointBuilder-DIy_m1bu.d.cts} +7 -5
  67. package/dist/EndpointBuilder-DIy_m1bu.d.cts.map +1 -0
  68. package/dist/EndpointBuilder-DnCB1h1j.mjs.map +1 -1
  69. package/dist/{EndpointFactory-jAkQxWRj.d.mts → EndpointFactory-C-0nE6Jg.d.mts} +6 -4
  70. package/dist/EndpointFactory-C-0nE6Jg.d.mts.map +1 -0
  71. package/dist/{EndpointFactory-D8I4NNCo.d.cts → EndpointFactory-CyPbm3AD.d.cts} +6 -4
  72. package/dist/EndpointFactory-CyPbm3AD.d.cts.map +1 -0
  73. package/dist/{Function-DHD1V9QW.d.cts → Function-Cf7f_kCz.d.cts} +5 -5
  74. package/dist/Function-Cf7f_kCz.d.cts.map +1 -0
  75. package/dist/{Function-Vh1t-Qjj.d.mts → Function-DN2G6OT5.d.mts} +5 -5
  76. package/dist/Function-DN2G6OT5.d.mts.map +1 -0
  77. package/dist/{FunctionBuilder-3jsoFffg.d.mts → FunctionBuilder-CJBzzXL3.d.cts} +7 -5
  78. package/dist/FunctionBuilder-CJBzzXL3.d.cts.map +1 -0
  79. package/dist/FunctionBuilder-CrDYgfiI.mjs.map +1 -1
  80. package/dist/{FunctionBuilder-FV6r3I7X.d.cts → FunctionBuilder-Cxx8D2na.d.mts} +7 -5
  81. package/dist/FunctionBuilder-Cxx8D2na.d.mts.map +1 -0
  82. package/dist/FunctionBuilder-DswJ-9sD.cjs.map +1 -1
  83. package/dist/{FunctionExecutionWrapper-CI3CaoCo.d.mts → FunctionExecutionWrapper-DF260Aaj.d.mts} +4 -2
  84. package/dist/FunctionExecutionWrapper-DF260Aaj.d.mts.map +1 -0
  85. package/dist/{FunctionExecutionWrapper-DYt3C8b9.d.cts → FunctionExecutionWrapper-Qy8bmgFR.d.cts} +4 -2
  86. package/dist/FunctionExecutionWrapper-Qy8bmgFR.d.cts.map +1 -0
  87. package/dist/{HonoEndpointAdaptor-Bx9Y1bCZ.d.cts → HonoEndpointAdaptor-BaPlUhz0.d.mts} +11 -9
  88. package/dist/HonoEndpointAdaptor-BaPlUhz0.d.mts.map +1 -0
  89. package/dist/{HonoEndpointAdaptor-e6l9eVDU.cjs → HonoEndpointAdaptor-CQe2FqMR.cjs} +2 -2
  90. package/dist/{HonoEndpointAdaptor-e6l9eVDU.cjs.map → HonoEndpointAdaptor-CQe2FqMR.cjs.map} +1 -1
  91. package/dist/{HonoEndpointAdaptor-NLlQk5iU.mjs → HonoEndpointAdaptor-Ce-2HBxn.mjs} +2 -2
  92. package/dist/{HonoEndpointAdaptor-NLlQk5iU.mjs.map → HonoEndpointAdaptor-Ce-2HBxn.mjs.map} +1 -1
  93. package/dist/{HonoEndpointAdaptor-kb1ByjUL.d.mts → HonoEndpointAdaptor-YcRHYALH.d.cts} +11 -9
  94. package/dist/HonoEndpointAdaptor-YcRHYALH.d.cts.map +1 -0
  95. package/dist/Subscriber-BiHjVXtM.cjs.map +1 -1
  96. package/dist/Subscriber-BmPf9GFb.mjs.map +1 -1
  97. package/dist/{Subscriber-DMSzvO_J.d.cts → Subscriber-COYMSevD.d.cts} +6 -6
  98. package/dist/Subscriber-COYMSevD.d.cts.map +1 -0
  99. package/dist/{Subscriber-aNr1qkxR.d.mts → Subscriber-ikctpU3I.d.mts} +6 -6
  100. package/dist/Subscriber-ikctpU3I.d.mts.map +1 -0
  101. package/dist/{SubscriberBuilder-BxJM3Hz_.d.cts → SubscriberBuilder-D_9zzllj.d.mts} +5 -3
  102. package/dist/SubscriberBuilder-D_9zzllj.d.mts.map +1 -0
  103. package/dist/{SubscriberBuilder-CWS4tdbp.d.mts → SubscriberBuilder-ivHAGIVi.d.cts} +5 -3
  104. package/dist/SubscriberBuilder-ivHAGIVi.d.cts.map +1 -0
  105. package/dist/{TestEndpointAdaptor-5-unBV8O.d.mts → TestEndpointAdaptor-C10xBI--.d.cts} +4 -4
  106. package/dist/TestEndpointAdaptor-C10xBI--.d.cts.map +1 -0
  107. package/dist/{TestEndpointAdaptor-Bm0UjDtV.d.cts → TestEndpointAdaptor-DB7bREhS.d.mts} +4 -4
  108. package/dist/TestEndpointAdaptor-DB7bREhS.d.mts.map +1 -0
  109. package/dist/{TestEndpointAdaptor-oq5mfglM.mjs → TestEndpointAdaptor-DJgik2Wj.mjs} +13 -1
  110. package/dist/TestEndpointAdaptor-DJgik2Wj.mjs.map +1 -0
  111. package/dist/{TestEndpointAdaptor-opEisC30.cjs → TestEndpointAdaptor-ZbtQiuHE.cjs} +13 -1
  112. package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs.map +1 -0
  113. package/dist/adaptors/aws.cjs +4 -4
  114. package/dist/adaptors/aws.d.cts +15 -15
  115. package/dist/adaptors/aws.d.mts +15 -15
  116. package/dist/adaptors/aws.mjs +4 -4
  117. package/dist/adaptors/hono.cjs +2 -2
  118. package/dist/adaptors/hono.d.cts +9 -9
  119. package/dist/adaptors/hono.d.mts +9 -9
  120. package/dist/adaptors/hono.mjs +2 -2
  121. package/dist/adaptors/testing.cjs +1 -1
  122. package/dist/adaptors/testing.d.cts +9 -9
  123. package/dist/adaptors/testing.d.mts +9 -9
  124. package/dist/adaptors/testing.mjs +1 -1
  125. package/dist/crons/Cron.d.cts +6 -6
  126. package/dist/crons/Cron.d.mts +6 -6
  127. package/dist/crons/CronBuilder.d.cts +7 -7
  128. package/dist/crons/CronBuilder.d.mts +7 -7
  129. package/dist/crons/index.d.cts +13 -11
  130. package/dist/crons/index.d.cts.map +1 -0
  131. package/dist/crons/index.d.mts +9 -7
  132. package/dist/crons/index.d.mts.map +1 -0
  133. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +9 -9
  134. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +9 -9
  135. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +2 -2
  136. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +10 -10
  137. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +10 -10
  138. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +2 -2
  139. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +2 -2
  140. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +10 -10
  141. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +10 -10
  142. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +2 -2
  143. package/dist/endpoints/Authorizer.d.cts +1 -1
  144. package/dist/endpoints/Authorizer.d.mts +1 -1
  145. package/dist/endpoints/Endpoint.d.cts +8 -8
  146. package/dist/endpoints/Endpoint.d.mts +8 -8
  147. package/dist/endpoints/EndpointBuilder.d.cts +9 -9
  148. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  149. package/dist/endpoints/EndpointFactory.d.cts +10 -10
  150. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  151. package/dist/endpoints/HonoEndpointAdaptor.cjs +2 -2
  152. package/dist/endpoints/HonoEndpointAdaptor.d.cts +9 -9
  153. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  154. package/dist/endpoints/HonoEndpointAdaptor.mjs +2 -2
  155. package/dist/endpoints/TestEndpointAdaptor.cjs +1 -1
  156. package/dist/endpoints/TestEndpointAdaptor.d.cts +9 -9
  157. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  158. package/dist/endpoints/TestEndpointAdaptor.mjs +1 -1
  159. package/dist/endpoints/audit.d.cts +8 -8
  160. package/dist/endpoints/audit.d.mts +8 -8
  161. package/dist/endpoints/helpers.d.cts +9 -8
  162. package/dist/endpoints/helpers.d.cts.map +1 -0
  163. package/dist/endpoints/helpers.d.mts +9 -8
  164. package/dist/endpoints/helpers.d.mts.map +1 -0
  165. package/dist/endpoints/index.d.cts +14 -12
  166. package/dist/endpoints/index.d.cts.map +1 -0
  167. package/dist/endpoints/index.d.mts +14 -12
  168. package/dist/endpoints/index.d.mts.map +1 -0
  169. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  170. package/dist/endpoints/parseHonoQuery.d.cts +2 -0
  171. package/dist/endpoints/parseHonoQuery.d.cts.map +1 -0
  172. package/dist/endpoints/parseHonoQuery.d.mts +2 -0
  173. package/dist/endpoints/parseHonoQuery.d.mts.map +1 -0
  174. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  175. package/dist/endpoints/parseQueryParams.cjs +1 -1
  176. package/dist/endpoints/parseQueryParams.d.cts +1 -0
  177. package/dist/endpoints/parseQueryParams.d.cts.map +1 -0
  178. package/dist/endpoints/parseQueryParams.d.mts +1 -0
  179. package/dist/endpoints/parseQueryParams.d.mts.map +1 -0
  180. package/dist/endpoints/parseQueryParams.mjs +1 -1
  181. package/dist/endpoints/processAudits.d.cts +10 -8
  182. package/dist/endpoints/processAudits.d.cts.map +1 -0
  183. package/dist/endpoints/processAudits.d.mts +10 -8
  184. package/dist/endpoints/processAudits.d.mts.map +1 -0
  185. package/dist/endpoints/rls.d.cts +8 -8
  186. package/dist/endpoints/rls.d.mts +8 -8
  187. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  188. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  189. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  190. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  191. package/dist/functions/Function.d.cts +2 -2
  192. package/dist/functions/Function.d.mts +2 -2
  193. package/dist/functions/FunctionBuilder.d.cts +4 -4
  194. package/dist/functions/FunctionBuilder.d.mts +4 -4
  195. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  196. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  197. package/dist/functions/TestFunctionAdaptor.d.cts +4 -2
  198. package/dist/functions/TestFunctionAdaptor.d.cts.map +1 -0
  199. package/dist/functions/TestFunctionAdaptor.d.mts +4 -2
  200. package/dist/functions/TestFunctionAdaptor.d.mts.map +1 -0
  201. package/dist/functions/index.d.cts +5 -5
  202. package/dist/functions/index.d.mts +5 -5
  203. package/dist/{index-CFyaRrck.d.mts → index-BWzGIj06.d.mts} +4 -2
  204. package/dist/index-BWzGIj06.d.mts.map +1 -0
  205. package/dist/index-DmFozqLd.d.cts +12 -0
  206. package/dist/index-DmFozqLd.d.cts.map +1 -0
  207. package/dist/index.d.cts +2 -2
  208. package/dist/index.d.mts +2 -2
  209. package/dist/{parseHonoQuery-CT8Cvin-.cjs → parseHonoQuery-CZC5_97v.cjs} +3 -1
  210. package/dist/parseHonoQuery-CZC5_97v.cjs.map +1 -0
  211. package/dist/{parseHonoQuery-CwFKw2ua.mjs → parseHonoQuery-DDgIkTO4.mjs} +3 -1
  212. package/dist/parseHonoQuery-DDgIkTO4.mjs.map +1 -0
  213. package/dist/{parseQueryParams-CwvXXwkW.cjs → parseQueryParams-BSNkjmZ9.cjs} +3 -1
  214. package/dist/parseQueryParams-BSNkjmZ9.cjs.map +1 -0
  215. package/dist/{parseQueryParams-CHINupbZ.mjs → parseQueryParams-UMTRnRrW.mjs} +3 -1
  216. package/dist/parseQueryParams-UMTRnRrW.mjs.map +1 -0
  217. package/dist/publisher.d.cts +4 -2
  218. package/dist/publisher.d.cts.map +1 -0
  219. package/dist/publisher.d.mts +4 -2
  220. package/dist/publisher.d.mts.map +1 -0
  221. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  222. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  223. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  224. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  225. package/dist/subscribers/Subscriber.d.cts +2 -2
  226. package/dist/subscribers/Subscriber.d.mts +2 -2
  227. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  228. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  229. package/dist/subscribers/index.d.cts +7 -5
  230. package/dist/subscribers/index.d.cts.map +1 -0
  231. package/dist/subscribers/index.d.mts +5 -3
  232. package/dist/subscribers/index.d.mts.map +1 -0
  233. package/dist/{types-Bp9ysFXd.d.cts → types-B5H3piDg.d.cts} +3 -1
  234. package/dist/types-B5H3piDg.d.cts.map +1 -0
  235. package/dist/{types-CScirkHt.d.mts → types-DdIlpxAd.d.mts} +3 -1
  236. package/dist/types-DdIlpxAd.d.mts.map +1 -0
  237. package/dist/types.d.cts +1 -1
  238. package/dist/types.d.mts +1 -1
  239. package/package.json +8 -8
  240. package/src/crons/CronBuilder.ts +8 -8
  241. package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +4 -4
  242. package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +4 -4
  243. package/src/endpoints/EndpointBuilder.ts +4 -4
  244. package/src/endpoints/TestEndpointAdaptor.ts +18 -0
  245. package/src/endpoints/parseHonoQuery.ts +2 -0
  246. package/src/endpoints/parseQueryParams.ts +2 -0
  247. package/src/functions/AWSLambdaFunction.ts +1 -1
  248. package/src/functions/FunctionBuilder.ts +5 -5
  249. package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +8 -4
  250. package/src/subscribers/Subscriber.ts +5 -5
  251. package/tsconfig.json +9 -0
  252. package/dist/AmazonApiGatewayV1EndpointAdaptor-BbkfC1dk.mjs.map +0 -1
  253. package/dist/AmazonApiGatewayV1EndpointAdaptor-BiNzaAxD.cjs.map +0 -1
  254. package/dist/AmazonApiGatewayV2EndpointAdaptor-DZclCykB.cjs.map +0 -1
  255. package/dist/AmazonApiGatewayV2EndpointAdaptor-jRrQrIdm.mjs.map +0 -1
  256. package/dist/TestEndpointAdaptor-opEisC30.cjs.map +0 -1
  257. package/dist/TestEndpointAdaptor-oq5mfglM.mjs.map +0 -1
  258. package/dist/index-CqH4_Ieb.d.cts +0 -10
  259. package/dist/parseHonoQuery-CT8Cvin-.cjs.map +0 -1
  260. package/dist/parseHonoQuery-CwFKw2ua.mjs.map +0 -1
  261. package/dist/parseQueryParams-CHINupbZ.mjs.map +0 -1
  262. package/dist/parseQueryParams-CwvXXwkW.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
- import { HttpMethod } from "./types-CScirkHt.mjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-CoV7J45W.mjs";
3
- import { Authorizer, SecurityScheme } from "./Authorizer-Cpx59w_q.mjs";
4
- import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-C5djXyae.mjs";
1
+ import { HttpMethod } from "./types-DdIlpxAd.mjs";
2
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-DRY419e7.mjs";
3
+ import { Authorizer, SecurityScheme } from "./Authorizer-gWxYsGEp.mjs";
4
+ import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-BdwG75G_.mjs";
5
5
  import { Service } from "@geekmidas/services";
6
6
  import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
7
7
  import { RateLimitConfig } from "@geekmidas/rate-limit";
@@ -138,6 +138,8 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
138
138
  input(_schema: any): any;
139
139
  handle(fn: EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession, TDatabase, TAuditStorage, TAuditAction>): Endpoint<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
140
140
  }
141
+ //# sourceMappingURL=EndpointBuilder.d.ts.map
142
+
141
143
  //#endregion
142
144
  export { EndpointBuilder };
143
- //# sourceMappingURL=EndpointBuilder-CD8LkBda.d.mts.map
145
+ //# sourceMappingURL=EndpointBuilder-B3az942t.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointBuilder-B3az942t.d.mts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA2B4B,cAAf,eAAe,CAAA,eAAA,MAAA,EAAA,gBAEV,UAFU,EAAA,eAGX,eAHW,GAAA,CAAA,CAAA,EAAA,kBAIR,OAJQ,EAAA,GAAA,EAAA,EAAA,gBAKV,MALU,GAKD,MALC,EAAA,kBAMR,gBANQ,GAAA,SAAA,GAAA,SAAA,EAAA,WAAA,OAAA,EAAA,wBAQF,cARE,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,mCAAA,MAAA,GAAA,MAAA,EAAA,qBAAA,SAAA,MAAA,EAAA,GAAA,SAAA,MAAA,EAAA,EAAA,sBAWJ,YAXI,GAAA,SAAA,GAAA,SAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,qBAaL,eAbK,CAAA,MAAA,EAAA,OAAA,CAAA,GAa8B,eAb9B,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,YAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,CAAA,SAmBlB,mBAnBkB,CAoB1B,MApB0B,EAqB1B,SArB0B,EAsB1B,SAtB0B,EAuB1B,OAvB0B,EAwB1B,eAxB0B,EAyB1B,0BAzB0B,EA0B1B,aA1B0B,EA2B1B,wBA3B0B,EA4B1B,SA5B0B,EA6B1B,oBA7B0B,CAAA,CAAA;EAAA,SAEV,KAAA,EA+CE,MA/CF;EAAU,SACX,MAAA,EA+CI,OA/CJ;EAAe,UACZ,OAAA,EA2BC,MA3BD;EAAO,UACT,YAAA,CAAA,EAAA,MAAA;EAAM,UAAG,OAAA,CAAA,EA4BL,aA5BK;EAAM,UACb,KAAA,CAAA,EAAA,MAAA,EAAA;EAAgB,UAEV,WAAA,CAAA,EAAA,MAAA;EAAc,WAGhB,EAyBT,SAzBS,CAyBC,SAzBD,EAyBY,OAzBZ,EAyBqB,QAzBrB,EAyB+B,SAzB/B,CAAA;EAAY,UAEb,EAyBT,WAzBS,CAyBG,SAzBH,EAyBc,OAzBd,EAyBuB,QAzBvB,CAAA;EAAe,UAAoB,CAAA,EA0B3C,eA1B2C;EAAe,qBAOvE,EAoBuB,UApBvB,EAAA;EAAM,eACN,CAAA,EAoBkB,YApBlB,CAAA,MAAA,CAAA;EAAS,eACT,CAAA,EAoBkB,cApBlB,CAoBiC,SApBjC,EAoB4C,QApB5C,EAoBsD,OApBtD,CAAA;EAAS,OACT,EAoBS,WApBT,CAoBqB,YApBrB,EAoBmC,SApBnC,CAAA,EAAA;EAAO,sBACP,EAoBwB,MApBxB,CAAA,MAAA,EAoBuC,cApBvC,CAAA;EAAe,UACf,CAAA,EAoBa,SApBb,CAoBuB,SApBvB,EAoBkC,QApBlC,EAoB4C,OApB5C,CAAA;EAA0B,UAC1B,CAAA,EAAA,OAAA;EAAa,WACb,CAAA,KAAA,EAsBkB,MAtBlB,EAAA,MAAA,EAuBmB,OAvBnB;EAAwB,aACxB,CAAA,SAAA,EA6Ba,OA7Bb,CA6BqB,0BA7BrB,EA6BiD,eA7BjD,CAAA,CAAA,EAAA,IAAA;EAAS,kBACT,CAAA,OAAA,EAmCW,OAnCX,CAmCmB,wBAnCnB,EAmC6C,aAnC7C,CAAA,CAAA,EAAA,IAAA;EAAoB,mBAoBF,CAAA,OAAA,EAqBW,OArBX,CAqBmB,oBArBnB,EAqByC,SArBzC,CAAA,CAAA,EAAA,IAAA;EAAM,WACL,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAO,MAnBP,CAAA,MAAA,EAgDJ,aAhDI,CAAA,EAAA,IAAA;EAAM,KAEL,CAAA,eAmDU,WAnDV,CAmDsB,eAnDtB,EAmDuC,SAnDvC,CAAA,CAAA,CAAA,KAAA,EAoDX,MApDW,CAAA,EAAA,IAAA;EAAa,IAGV,CAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA;EAAS,UAAE,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAO,SAAE,CAAA,UAiEd,cAjEc,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,SAAA,EAkE9B,OAlE8B,CAkEtB,KAlEsB,EAkEf,CAlEe,CAAA,CAAA,EAmExC,eAnEwC,CAoEzC,MApEyC,EAqEzC,OArEyC,EAsEzC,MAtEyC,EAuEzC,SAvEyC,EAwEzC,OAxEyC,EAyEzC,SAzEyC,EA0EzC,QA1EyC,EA2EzC,CA3EyC,EA4EzC,KA5EyC,EA6EzC,YA7EyC,EA8EzC,aA9EyC,EA+EzC,wBA/EyC,EAgFzC,YAhFyC,EAiFzC,SAjFyC,EAkFzC,oBAlFyC,CAAA;EAAQ,IAAE,CAAA,UA4GtC,gBA5GsC,CAAA,CAAA,MAAA,EA6G3C,CA7G2C,CAAA,EA8GlD,eA9GkD,CA+GnD,MA/GmD,EAgHnD,OAhHmD,EAiHnD,IAjHmD,CAiH9C,MAjH8C,EAAA,MAAA,CAAA,GAAA;IAAxC,IAAA,EAiHoB,CAjHpB;EAAS,CAAA,EAkHpB,SAhHsB,EAiHtB,OAjHsB,EAkHtB,SAlHsB,EAmHtB,QAnHsB,EAoHtB,eApHsB,EAqHtB,0BArHsB,EAsHtB,YAtHsB,EAuHtB,aAvHsB,EAwHtB,wBAxHsB,EAyHtB,YAzHsB,EA0HtB,SA1HsB,EA2HtB,oBA3HsB,CAAA;EAAS,MAAE,CAAA,UAkIlB,gBAlIkB,CAAA,CAAA,MAAA,EAmIzB,CAnIyB,CAAA,EAoIhC,eApIgC,CAqIjC,MArIiC,EAsIjC,OAtIiC,EAuIjC,IAvIiC,CAuI5B,MAvI4B,EAAA,OAAA,CAAA,GAAA;IAAS,KAAA,EAuIT,CAvIS;EAAQ,CAAA,EAwIlD,SAxIU,EAyIV,OAzIU,EA0IV,SA1IU,EA2IV,QA3IU,EA4IV,eA5IU,EA6IV,0BA7IU,EA8IV,YA9IU,EA+IV,aA/IU,EAgJV,wBAhJU,EAiJV,YAjJU,EAkJV,SAlJU,EAmJV,oBAnJU,CAAA;EAAW,KACV,CAAA,UAyJG,gBAzJH,CAAA,CAAA,MAAA,EA0JH,CA1JG,CAAA,EA2JV,eA3JU,CA4JX,MA5JW,EA6JX,OA7JW,EA8JX,IA9JW,CA8JN,MA9JM,EAAA,OAAA,CAAA,GAAA;IACU,KAAA,EA6JY,CA7JZ;EAAU,CAAA,EA8J/B,SA7JgB,EA8JhB,OA9JgB,EA+JhB,SA/JgB,EAgKhB,QAhKgB,EAiKhB,eAjKgB,EAkKhB,0BAlKgB,EAmKhB,YAnKgB,EAoKhB,aApKgB,EAqKhB,wBArKgB,EAsKhB,YAtKgB,EAuKhB,SAvKgB,EAwKhB,oBAxKgB,CAAA;EAAY,MACG,CAAA,UA4KhB,gBA5KgB,CAAA,CAAA,MAAA,EA6KvB,CA7KuB,CAAA,EA8K9B,eA9K8B,CA+K/B,MA/K+B,EAgL/B,OAhL+B,EAiL/B,IAjL+B,CAiL1B,MAjL0B,EAAA,QAAA,CAAA,GAAA;IAAW,MAAA,EAiLP,CAjLO;EAAQ,CAAA,EAkLlD,SAlLoD,EAmLpD,OAnLoD,EAoLpD,SApLoD,EAqLpD,QArLoD,EAsLpD,eAtLoD,EAuLpD,0BAvLoD,EAwLpD,YAxLoD,EAyLpD,aAzLoD,EA0LpD,wBA1LoD,EA2LpD,YA3LoD,EA4LpD,SA5LoD,EA6LpD,oBA7LoD,CAAA;EAAO,SAA3C,CAAA,MAAA,EAoMA,eApMA,CAAA,EAAA,IAAA;EAAc,UACX,CAAA,IAAA,EAyMb,YAzMa,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA,EA0MlB,eA1MkB,CA2MnB,MA3MmB,EA4MnB,OA5MmB,EA6MnB,MA7MmB,EA8MnB,SA9MmB,EA+MnB,OA/MmB,EAgNnB,SAhNmB,EAiNnB,QAjNmB,EAkNnB,eAlNmB,EAmNnB,0BAnNmB,EAoNnB,YApNmB,EAqNnB,aArNmB,EAsNnB,wBAtNmB,EAuNnB,YAvNmB,EAwNnB,SAxNmB,EAyNnB,oBAzNmB,CAAA;EAAY,QAAE,CAAA,UAiPhB,OAjPgB,EAAA,CAAA,CAAA,QAAA,EAkPvB,CAlPuB,CAAA,EAmPhC,eAnPgC,CAoPjC,MApPiC,EAqPjC,OArPiC,EAsPjC,MAtPiC,EAAA,CAA1B,GAuPH,SAvPG,EAC8B,GAsPnB,CAtPmB,CAAc,EAuPnD,OAvPsB,EAwPtB,SAxPsB,EAyPtB,QAzPsB,EA0PtB,eA1PsB,EA2PtB,0BA3PsB,EA4PtB,YA5PsB,EA6PtB,aA7PsB,EA8PtB,wBA9PsB,EA+PtB,YA/PsB,EAgQtB,SAhQsB,EAiQtB,oBAjQsB,CAAA;EAAM,MACP,CAAA,UA0RN,MA1RM,CAAA,CAAA,MAAA,EA2Rb,CA3Ra,CAAA,EA4RpB,eA5RoB,CA6RrB,MA7RqB,EA8RrB,OA9RqB,EA+RrB,MA/RqB,EAgSrB,SAhSqB,EAiSrB,CAjSqB,EAkSrB,SAlSqB,EAmSrB,QAnSqB,EAoSrB,eApSqB,EAqSrB,0BArSqB,EAsSrB,YAtSqB,EAuSrB,aAvSqB,EAwSrB,wBAxSqB,EAySrB,YAzSqB,EA0SrB,SA1SqB,EA2SrB,oBA3SqB,CAAA;EAAS,MAAE,CAAA,UAkUjB,gBAlUiB,CAAA,CAAA,MAAA,EAmUxB,CAnUwB,CAAA,EAoU/B,eApU+B,CAqUhC,MArUgC,EAsUhC,OAtUgC,EAuUhC,MAvUgC,EAwUhC,SAxUgC,EAyUhC,OAzUgC,EA0UhC,CA1UgC,EA2UhC,QA3UgC,EA4UhC,eA5UgC,EA6UhC,0BA7UgC,EA8UhC,YA9UgC,EA+UhC,aA/UgC,EAgVhC,wBAhVgC,EAiVhC,YAjVgC,EAkVhC,SAlVgC,EAmVhC,oBAnVgC,CAAA;EAAQ;;;;;EAYK,OAAE,CAAA,UAmWtB,YAnWsB,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAoWtC,OApWsC,CAoW9B,KApW8B,EAoWvB,CApWuB,CAAA,CAAA,EAqW9C,eArW8C,CAsW/C,MAtW+C,EAuW/C,OAvW+C,EAwW/C,MAxW+C,EAyW/C,SAzW+C,EA0W/C,OA1W+C,EA2W/C,SA3W+C,EA4W/C,QA5W+C,EA6W/C,eA7W+C,EA8W/C,0BA9W+C,EA+W/C,YA/W+C,EAgX/C,CAhX+C,EAiX/C,KAjX+C,EAkX/C,yBAlX+C,CAkXrB,CAlXqB,CAAA,EAmX/C,SAnX+C,EAoX/C,oBApX+C,CAAA;EAAe;;;;EAO9C,KAMmB,CAAA,SAAA,EAsYxB,cAtYwB,CAsYT,SAtYS,EAsYE,QAtYF,EAsYY,OAtYZ,CAAA,CAAA,EAuYlC,eAvYkC,CAwYnC,MAxYmC,EAyYnC,OAzYmC,EA0YnC,MA1YmC,EA2YnC,SA3YmC,EA4YnC,OA5YmC,EA6YnC,SA7YmC,EA8YnC,QA9YmC,EA+YnC,eA/YmC,EAgZnC,0BAhZmC,EAiZnC,YAjZmC,EAkZnC,aAlZmC,EAmZnC,wBAnZmC,EAoZnC,YApZmC,EAqZnC,SArZmC,EAsZnC,oBAtZmC,CAAA;EAAoB;;;;;;;;;;;;;;;;;EAuC9C,KACT,CAAA,MAAA,EAqYY,WArYZ,CAqYwB,YArYxB,EAqYsC,SArYtC,CAAA,EAAA,CAAA,EAAA,IAAA;EAAQ;;;;;;;;;;;;;;;EAuCJ,QAA2B,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAmXtB,OAnXsB,CAmXd,KAnXc,EAmXP,CAnXO,CAAA,CAAA,EAoX9B,eApX8B,CAqX/B,MArX+B,EAsX/B,OAtX+B,EAuX/B,MAvX+B,EAwX/B,SAxX+B,EAyX/B,OAzX+B,EA0X/B,SA1X+B,EA2X/B,QA3X+B,EA4X/B,eA5X+B,EA6X/B,0BA7X+B,EA8X/B,YA9X+B,EA+X/B,aA/X+B,EAgY/B,wBAhY+B,EAiY/B,YAjY+B,EAkY/B,CAlY+B,EAmY/B,KAnY+B,CAAA;EAAC;;;;;;;;;;;;;;;;;;;EAwB5B,GAA6B,CAAA,MAAA,EAyZzB,SAzZyB,CAyZf,SAzZe,EAyZJ,QAzZI,EAyZM,OAzZN,CAAA,GAAA,KAAA,GAyZyB,SAzZzB,CAAA,EAAA,IAAA;EAAC;;;;;;;;;;;;;EAHlB,SAsBF,CAAA,CAAA,EAAA,IAAA;EAAgB,KACtB,CAAA,OAAA,EAAA,GAAA,CAAA,EAAA,GAAA;EAAC,MAET,CAAA,EAAA,EA0aI,eA1aJ,CA2aE,MA3aF,EA4aE,SA5aF,EA6aE,OA7aF,EA8aE,SA9aF,EA+aE,QA/aF,EAgbE,SAhbF,EAibE,aAjbF,EAkbE,YAlbF,CAAA,CAAA,EAobC,QApbD,CAqbA,MArbA,EAsbA,OAtbA,EAubA,MAvbA,EAwbA,SAxbA,EAybA,SAzbA,EA0bA,OA1bA,EA2bA,QA3bA,EA4bA,eA5bA,EA6bA,0BA7bA,EA8bA,aA9bA,EA+bA,wBA/bA,EAgcA,YAhcA,EAicA,SAjcA,EAkcA,oBAlcA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointBuilder-Cgj1P_ra.cjs","names":["BaseFunctionBuilder","route: TRoute","method: TMethod","ConstructType","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","RLS_BYPASS","_schema: any","fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >","authorizer: Authorizer | undefined","Endpoint"],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":["import type {\n AuditStorage,\n AuditableAction,\n ExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type {\n AuthorizeFn,\n EndpointHandler,\n SessionFn,\n SuccessStatus,\n} from './Endpoint';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuthorizers extends readonly string[] = readonly 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 TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName\n> {\n protected schemas: TInput = {} as TInput;\n protected _description?: string;\n protected _status?: SuccessStatus;\n protected _tags?: string[];\n protected _memorySize?: number;\n _getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n ({}) as TSession;\n _authorize: AuthorizeFn<TServices, TLogger, TSession> = () => true;\n _rateLimit?: RateLimitConfig;\n _availableAuthorizers: Authorizer[] = [];\n _authorizerName?: TAuthorizers[number];\n _actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n _audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n _customSecuritySchemes: Record<string, SecurityScheme> = {};\n _rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n _rlsBypass?: boolean;\n\n constructor(\n readonly route: TRoute,\n readonly method: TMethod,\n ) {\n super(ConstructType.Endpoint);\n }\n\n // Internal setter for EndpointFactory to set default publisher\n _setPublisher(\n publisher: Service<TEventPublisherServiceName, TEventPublisher>,\n ) {\n this._publisher = publisher;\n }\n\n // Internal setter for EndpointFactory to set default auditor storage\n _setAuditorStorage(\n storage: Service<TAuditStorageServiceName, TAuditStorage>,\n ) {\n this._auditorStorage = storage;\n }\n\n // Internal setter for EndpointFactory to set default database service\n _setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n this._databaseService = service;\n }\n\n description(description: string): this {\n this._description = description;\n return this;\n }\n\n status(status: SuccessStatus): this {\n this._status = status;\n return this;\n }\n\n event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n tags(tags: string[]): this {\n this._tags = tags;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n body<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'body'> & { body: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.body = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n search<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.query = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n query<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n return this.search(schema);\n }\n\n params<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'params'> & { params: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.params = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n rateLimit(config: RateLimitConfig): this {\n this._rateLimit = config;\n return this;\n }\n\n authorizer(\n name: TAuthorizers[number] | 'none',\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Special case: 'none' explicitly marks endpoint as having no authorizer\n if (name === 'none') {\n this._authorizerName = undefined;\n return this;\n }\n\n // Validate that the authorizer exists in available authorizers\n const authorizerExists = this._availableAuthorizers.some(\n (a) => a.name === name,\n );\n if (!authorizerExists && this._availableAuthorizers.length > 0) {\n const available = this._availableAuthorizers\n .map((a) => a.name)\n .join(', ');\n throw new Error(\n `Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n );\n }\n this._authorizerName = name;\n return this;\n }\n\n services<T extends Service[]>(\n services: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the auditor storage service for this endpoint.\n * This enables audit functionality and makes `auditor` available in the handler context.\n * The audit action type is automatically inferred from the storage's generic parameter.\n */\n auditor<T extends AuditStorage<any>, TName extends string>(\n storage: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the actor extractor function for audit records.\n * The actor is extracted from the request context and attached to all audits.\n */\n actor(\n extractor: ActorExtractor<TServices, TSession, TLogger>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._actorExtractor = extractor;\n return this;\n }\n\n /**\n * Add declarative audit definitions that are processed after the handler executes.\n * Similar to `.event()` for events, but for audits.\n *\n * @example\n * ```typescript\n * .audit<AppAuditAction>([\n * {\n * type: 'user.created',\n * payload: (response) => ({ userId: response.id, email: response.email }),\n * when: (response) => response.active,\n * entityId: (response) => response.id,\n * table: 'users',\n * },\n * ])\n * ```\n */\n audit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n this._audits = audits;\n return this;\n }\n\n /**\n * Set the database service for this endpoint.\n * The database will be available in the handler context as `db`.\n * When audit storage is configured and uses the same database,\n * `db` will automatically be the transaction for ACID compliance.\n *\n * @example\n * ```typescript\n * .database(databaseService)\n * .handle(async ({ db }) => {\n * // db is the raw database or transaction (when auditor uses same db)\n * return await db.selectFrom('users').selectAll().execute();\n * })\n * ```\n */\n database<T, TName extends string>(\n service: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n >;\n }\n\n /**\n * Configure RLS (Row-Level Security) context for this endpoint.\n * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n *\n * @example\n * ```typescript\n * // Custom RLS config for this endpoint\n * .rls({\n * extractor: ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * }),\n * prefix: 'app',\n * })\n *\n * // Bypass RLS (for admin endpoints)\n * .rls(false)\n * ```\n */\n rls(\n config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n ): this {\n if (config === false || config === RLS_BYPASS) {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n } else {\n this._rlsConfig = config;\n this._rlsBypass = false;\n }\n return this;\n }\n\n /**\n * Explicitly bypass RLS for this endpoint.\n * Useful for admin operations that need unrestricted database access.\n *\n * @example\n * ```typescript\n * .rlsBypass()\n * .handle(async ({ db }) => {\n * // Full access, no RLS filtering\n * return db.selectFrom('orders').selectAll().execute();\n * })\n * ```\n */\n rlsBypass(): this {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n return this;\n }\n\n // EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n input(_schema: any): any {\n throw new Error(\n 'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n );\n }\n\n handle(\n fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >,\n ): Endpoint<\n TRoute,\n TMethod,\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Find authorizer metadata if name is set\n // If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n let authorizer: Authorizer | undefined;\n if (this._authorizerName) {\n const existingAuthorizer = this._availableAuthorizers.find(\n (a) => a.name === this._authorizerName,\n );\n\n if (existingAuthorizer) {\n authorizer = existingAuthorizer;\n } else {\n // Create authorizer with security scheme if available (built-in or custom)\n const securityScheme = getSecurityScheme(\n this._authorizerName as string,\n this._customSecuritySchemes,\n );\n authorizer = {\n name: this._authorizerName as string,\n securityScheme,\n };\n }\n }\n\n return new Endpoint({\n fn,\n method: this.method,\n route: this.route,\n description: this._description,\n tags: this._tags,\n input: this.schemas,\n output: this.outputSchema,\n services: this._services,\n logger: this._logger,\n timeout: this._timeout,\n memorySize: this._memorySize,\n authorize: this._authorize,\n status: this._status,\n getSession: this._getSession,\n rateLimit: this._rateLimit,\n publisherService: this._publisher,\n events: this._events,\n authorizer,\n auditorStorageService: this._auditorStorage,\n actorExtractor: this._actorExtractor,\n audits: this._audits,\n databaseService: this._databaseService,\n rlsConfig: this._rlsConfig,\n rlsBypass: this._rlsBypass,\n });\n }\n}\n"],"mappings":";;;;;;;;;AA2BA,IAAa,kBAAb,cAmBUA,gDAWR;CACA,AAAU,UAAkB,CAAE;CAC9B,AAAU;CACV,AAAU;CACV,AAAU;CACV,AAAU;CACV,cAAkE,OAC/D,CAAE;CACL,aAAwD,MAAM;CAC9D;CACA,wBAAsC,CAAE;CACxC;CACA;CACA,UAAkD,CAAE;CACpD,yBAAyD,CAAE;CAC3D;CACA;CAEA,YACWC,OACAC,QACT;AACA,QAAMC,gCAAc,SAAS;EAHpB;EACA;CAGV;CAGD,cACEC,WACA;AACA,OAAK,aAAa;CACnB;CAGD,mBACEC,SACA;AACA,OAAK,kBAAkB;CACxB;CAGD,oBAAoBC,SAAmD;AACrE,OAAK,mBAAmB;CACzB;CAED,YAAYC,aAA2B;AACrC,OAAK,eAAe;AACpB,SAAO;CACR;CAED,OAAOC,QAA6B;AAClC,OAAK,UAAU;AACf,SAAO;CACR;CAED,MACEC,OACM;AACN,OAAK,QAAQ,KAAK,MAAM;AACxB,SAAO;CACR;CAED,KAAKC,MAAsB;AACzB,OAAK,QAAQ;AACb,SAAO;CACR;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,UACEC,WAiBA;AACA,OAAK,aAAa;AAKlB,SAAO;CAiBR;CAED,KACEC,QAiBA;AACA,OAAK,QAAQ,OAAO;AAEpB,SAAO;CACR;CAED,OACEA,QAiBA;AACA,OAAK,QAAQ,QAAQ;AAErB,SAAO;CACR;CAED,MACEA,QAiBA;AACA,SAAO,KAAK,OAAO,OAAO;CAC3B;CAED,OACEA,QAiBA;AACA,OAAK,QAAQ,SAAS;AAEtB,SAAO;CACR;CAED,UAAUC,QAA+B;AACvC,OAAK,aAAa;AAClB,SAAO;CACR;CAED,WACEC,MAiBA;AAEA,MAAI,SAAS,QAAQ;AACnB,QAAK;AACL,UAAO;EACR;EAGD,MAAM,mBAAmB,KAAK,sBAAsB,KAClD,CAAC,MAAM,EAAE,SAAS,KACnB;AACD,OAAK,oBAAoB,KAAK,sBAAsB,SAAS,GAAG;GAC9D,MAAM,YAAY,KAAK,sBACpB,IAAI,CAAC,MAAM,EAAE,KAAK,CAClB,KAAK,KAAK;AACb,SAAM,IAAI,OACP,cAAc,KAAe,wCAAwC,UAAU;EAEnF;AACD,OAAK,kBAAkB;AACvB,SAAO;CACR;CAED,SACEC,UAiBA;AACA,OAAK,YAAY,2BACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAiBR;CAED,OACEC,QAiBA;AACA,OAAK,UAAU;AAEf,SAAO;CAiBR;CAED,OACEJ,QAiBA;AACA,OAAK,eAAe;AAEpB,SAAO;CAiBR;;;;;;CAOD,QACEK,SAiBA;AACA,OAAK,kBAAkB;AAKvB,SAAO;CAiBR;;;;;CAMD,MACEC,WAiBA;AACA,OAAK,kBAAkB;AACvB,SAAO;CACR;;;;;;;;;;;;;;;;;;CAmBD,MAAMC,QAAsD;AAC1D,OAAK,UAAU;AACf,SAAO;CACR;;;;;;;;;;;;;;;;CAiBD,SACEC,SAiBA;AACA,OAAK,mBAAmB;AAKxB,SAAO;CAiBR;;;;;;;;;;;;;;;;;;;;CAqBD,IACEC,QACM;AACN,MAAI,WAAW,SAAS,WAAWC,wBAAY;AAC7C,QAAK,aAAa;AAClB,QAAK;EACN,OAAM;AACL,QAAK,aAAa;AAClB,QAAK,aAAa;EACnB;AACD,SAAO;CACR;;;;;;;;;;;;;;CAeD,YAAkB;AAChB,OAAK,aAAa;AAClB,OAAK;AACL,SAAO;CACR;CAGD,MAAMC,SAAmB;AACvB,QAAM,IAAI,MACR;CAEH;CAED,OACEC,IAyBA;EAGA,IAAIC;AACJ,MAAI,KAAK,iBAAiB;GACxB,MAAM,qBAAqB,KAAK,sBAAsB,KACpD,CAAC,MAAM,EAAE,SAAS,KAAK,gBACxB;AAED,OAAI,mBACF,cAAa;QACR;IAEL,MAAM,iBAAiB,qCACrB,KAAK,iBACL,KAAK,uBACN;AACD,iBAAa;KACX,MAAM,KAAK;KACX;IACD;GACF;EACF;AAED,SAAO,IAAIC,0BAAS;GAClB;GACA,QAAQ,KAAK;GACb,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,MAAM,KAAK;GACX,OAAO,KAAK;GACZ,QAAQ,KAAK;GACb,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,YAAY,KAAK;GACjB,WAAW,KAAK;GAChB,QAAQ,KAAK;GACb,YAAY,KAAK;GACjB,WAAW,KAAK;GAChB,kBAAkB,KAAK;GACvB,QAAQ,KAAK;GACb;GACA,uBAAuB,KAAK;GAC5B,gBAAgB,KAAK;GACrB,QAAQ,KAAK;GACb,iBAAiB,KAAK;GACtB,WAAW,KAAK;GAChB,WAAW,KAAK;EACjB;CACF;AACF"}
1
+ {"version":3,"file":"EndpointBuilder-Cgj1P_ra.cjs","names":["BaseFunctionBuilder","route: TRoute","method: TMethod","ConstructType","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","RLS_BYPASS","_schema: any","fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >","authorizer: Authorizer | undefined","Endpoint"],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":["import type {\n AuditStorage,\n AuditableAction,\n ExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type {\n AuthorizeFn,\n EndpointHandler,\n SessionFn,\n SuccessStatus,\n} from './Endpoint';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuthorizers extends readonly string[] = readonly 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 TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName\n> {\n protected schemas: TInput = {} as TInput;\n protected _description?: string;\n protected _status?: SuccessStatus;\n protected _tags?: string[];\n protected _memorySize?: number;\n _getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n ({}) as TSession;\n _authorize: AuthorizeFn<TServices, TLogger, TSession> = () => true;\n _rateLimit?: RateLimitConfig;\n _availableAuthorizers: Authorizer[] = [];\n _authorizerName?: TAuthorizers[number];\n _actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n _audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n _customSecuritySchemes: Record<string, SecurityScheme> = {};\n _rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n _rlsBypass?: boolean;\n\n constructor(\n readonly route: TRoute,\n readonly method: TMethod,\n ) {\n super(ConstructType.Endpoint);\n }\n\n // Internal setter for EndpointFactory to set default publisher\n _setPublisher(\n publisher: Service<TEventPublisherServiceName, TEventPublisher>,\n ) {\n this._publisher = publisher;\n }\n\n // Internal setter for EndpointFactory to set default auditor storage\n _setAuditorStorage(\n storage: Service<TAuditStorageServiceName, TAuditStorage>,\n ) {\n this._auditorStorage = storage;\n }\n\n // Internal setter for EndpointFactory to set default database service\n _setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n this._databaseService = service;\n }\n\n description(description: string): this {\n this._description = description;\n return this;\n }\n\n status(status: SuccessStatus): this {\n this._status = status;\n return this;\n }\n\n override event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n tags(tags: string[]): this {\n this._tags = tags;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n override publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n body<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'body'> & { body: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.body = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n search<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.query = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n query<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n return this.search(schema);\n }\n\n params<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'params'> & { params: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.params = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n rateLimit(config: RateLimitConfig): this {\n this._rateLimit = config;\n return this;\n }\n\n authorizer(\n name: TAuthorizers[number] | 'none',\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Special case: 'none' explicitly marks endpoint as having no authorizer\n if (name === 'none') {\n this._authorizerName = undefined;\n return this;\n }\n\n // Validate that the authorizer exists in available authorizers\n const authorizerExists = this._availableAuthorizers.some(\n (a) => a.name === name,\n );\n if (!authorizerExists && this._availableAuthorizers.length > 0) {\n const available = this._availableAuthorizers\n .map((a) => a.name)\n .join(', ');\n throw new Error(\n `Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n );\n }\n this._authorizerName = name;\n return this;\n }\n\n services<T extends Service[]>(\n services: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the auditor storage service for this endpoint.\n * This enables audit functionality and makes `auditor` available in the handler context.\n * The audit action type is automatically inferred from the storage's generic parameter.\n */\n override auditor<T extends AuditStorage<any>, TName extends string>(\n storage: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the actor extractor function for audit records.\n * The actor is extracted from the request context and attached to all audits.\n */\n actor(\n extractor: ActorExtractor<TServices, TSession, TLogger>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._actorExtractor = extractor;\n return this;\n }\n\n /**\n * Add declarative audit definitions that are processed after the handler executes.\n * Similar to `.event()` for events, but for audits.\n *\n * @example\n * ```typescript\n * .audit<AppAuditAction>([\n * {\n * type: 'user.created',\n * payload: (response) => ({ userId: response.id, email: response.email }),\n * when: (response) => response.active,\n * entityId: (response) => response.id,\n * table: 'users',\n * },\n * ])\n * ```\n */\n audit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n this._audits = audits;\n return this;\n }\n\n /**\n * Set the database service for this endpoint.\n * The database will be available in the handler context as `db`.\n * When audit storage is configured and uses the same database,\n * `db` will automatically be the transaction for ACID compliance.\n *\n * @example\n * ```typescript\n * .database(databaseService)\n * .handle(async ({ db }) => {\n * // db is the raw database or transaction (when auditor uses same db)\n * return await db.selectFrom('users').selectAll().execute();\n * })\n * ```\n */\n override database<T, TName extends string>(\n service: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n >;\n }\n\n /**\n * Configure RLS (Row-Level Security) context for this endpoint.\n * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n *\n * @example\n * ```typescript\n * // Custom RLS config for this endpoint\n * .rls({\n * extractor: ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * }),\n * prefix: 'app',\n * })\n *\n * // Bypass RLS (for admin endpoints)\n * .rls(false)\n * ```\n */\n rls(\n config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n ): this {\n if (config === false || config === RLS_BYPASS) {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n } else {\n this._rlsConfig = config;\n this._rlsBypass = false;\n }\n return this;\n }\n\n /**\n * Explicitly bypass RLS for this endpoint.\n * Useful for admin operations that need unrestricted database access.\n *\n * @example\n * ```typescript\n * .rlsBypass()\n * .handle(async ({ db }) => {\n * // Full access, no RLS filtering\n * return db.selectFrom('orders').selectAll().execute();\n * })\n * ```\n */\n rlsBypass(): this {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n return this;\n }\n\n // EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n input(_schema: any): any {\n throw new Error(\n 'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n );\n }\n\n handle(\n fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >,\n ): Endpoint<\n TRoute,\n TMethod,\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Find authorizer metadata if name is set\n // If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n let authorizer: Authorizer | undefined;\n if (this._authorizerName) {\n const existingAuthorizer = this._availableAuthorizers.find(\n (a) => a.name === this._authorizerName,\n );\n\n if (existingAuthorizer) {\n authorizer = existingAuthorizer;\n } else {\n // Create authorizer with security scheme if available (built-in or custom)\n const securityScheme = getSecurityScheme(\n this._authorizerName as string,\n this._customSecuritySchemes,\n );\n authorizer = {\n name: this._authorizerName as string,\n securityScheme,\n };\n }\n }\n\n return new Endpoint({\n fn,\n method: this.method,\n route: this.route,\n description: this._description,\n tags: this._tags,\n input: this.schemas,\n output: this.outputSchema,\n services: this._services,\n logger: this._logger,\n timeout: this._timeout,\n memorySize: this._memorySize,\n authorize: this._authorize,\n status: this._status,\n getSession: this._getSession,\n rateLimit: this._rateLimit,\n publisherService: this._publisher,\n events: this._events,\n authorizer,\n auditorStorageService: this._auditorStorage,\n actorExtractor: this._actorExtractor,\n audits: this._audits,\n databaseService: this._databaseService,\n rlsConfig: this._rlsConfig,\n rlsBypass: this._rlsBypass,\n });\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { HttpMethod } from "./types-Bp9ysFXd.cjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-DaQA0uKE.cjs";
3
- import { Authorizer, SecurityScheme } from "./Authorizer-CpSUMTIs.cjs";
4
- import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-CC2RGjkl.cjs";
1
+ import { HttpMethod } from "./types-B5H3piDg.cjs";
2
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-BAtutR6q.cjs";
3
+ import { Authorizer, SecurityScheme } from "./Authorizer-B-btowNd.cjs";
4
+ import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-BPv9_-m_.cjs";
5
5
  import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
6
6
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
7
7
  import { Logger } from "@geekmidas/logger";
@@ -138,6 +138,8 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
138
138
  input(_schema: any): any;
139
139
  handle(fn: EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession, TDatabase, TAuditStorage, TAuditAction>): Endpoint<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
140
140
  }
141
+ //# sourceMappingURL=EndpointBuilder.d.ts.map
142
+
141
143
  //#endregion
142
144
  export { EndpointBuilder };
143
- //# sourceMappingURL=EndpointBuilder-vXk6eIJk.d.cts.map
145
+ //# sourceMappingURL=EndpointBuilder-DIy_m1bu.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointBuilder-DIy_m1bu.d.cts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointBuilder-DnCB1h1j.mjs","names":["route: TRoute","method: TMethod","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","_schema: any","fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >","authorizer: Authorizer | undefined"],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":["import type {\n AuditStorage,\n AuditableAction,\n ExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type {\n AuthorizeFn,\n EndpointHandler,\n SessionFn,\n SuccessStatus,\n} from './Endpoint';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuthorizers extends readonly string[] = readonly 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 TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName\n> {\n protected schemas: TInput = {} as TInput;\n protected _description?: string;\n protected _status?: SuccessStatus;\n protected _tags?: string[];\n protected _memorySize?: number;\n _getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n ({}) as TSession;\n _authorize: AuthorizeFn<TServices, TLogger, TSession> = () => true;\n _rateLimit?: RateLimitConfig;\n _availableAuthorizers: Authorizer[] = [];\n _authorizerName?: TAuthorizers[number];\n _actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n _audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n _customSecuritySchemes: Record<string, SecurityScheme> = {};\n _rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n _rlsBypass?: boolean;\n\n constructor(\n readonly route: TRoute,\n readonly method: TMethod,\n ) {\n super(ConstructType.Endpoint);\n }\n\n // Internal setter for EndpointFactory to set default publisher\n _setPublisher(\n publisher: Service<TEventPublisherServiceName, TEventPublisher>,\n ) {\n this._publisher = publisher;\n }\n\n // Internal setter for EndpointFactory to set default auditor storage\n _setAuditorStorage(\n storage: Service<TAuditStorageServiceName, TAuditStorage>,\n ) {\n this._auditorStorage = storage;\n }\n\n // Internal setter for EndpointFactory to set default database service\n _setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n this._databaseService = service;\n }\n\n description(description: string): this {\n this._description = description;\n return this;\n }\n\n status(status: SuccessStatus): this {\n this._status = status;\n return this;\n }\n\n event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n tags(tags: string[]): this {\n this._tags = tags;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n body<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'body'> & { body: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.body = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n search<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.query = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n query<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n return this.search(schema);\n }\n\n params<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'params'> & { params: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.params = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n rateLimit(config: RateLimitConfig): this {\n this._rateLimit = config;\n return this;\n }\n\n authorizer(\n name: TAuthorizers[number] | 'none',\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Special case: 'none' explicitly marks endpoint as having no authorizer\n if (name === 'none') {\n this._authorizerName = undefined;\n return this;\n }\n\n // Validate that the authorizer exists in available authorizers\n const authorizerExists = this._availableAuthorizers.some(\n (a) => a.name === name,\n );\n if (!authorizerExists && this._availableAuthorizers.length > 0) {\n const available = this._availableAuthorizers\n .map((a) => a.name)\n .join(', ');\n throw new Error(\n `Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n );\n }\n this._authorizerName = name;\n return this;\n }\n\n services<T extends Service[]>(\n services: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the auditor storage service for this endpoint.\n * This enables audit functionality and makes `auditor` available in the handler context.\n * The audit action type is automatically inferred from the storage's generic parameter.\n */\n auditor<T extends AuditStorage<any>, TName extends string>(\n storage: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the actor extractor function for audit records.\n * The actor is extracted from the request context and attached to all audits.\n */\n actor(\n extractor: ActorExtractor<TServices, TSession, TLogger>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._actorExtractor = extractor;\n return this;\n }\n\n /**\n * Add declarative audit definitions that are processed after the handler executes.\n * Similar to `.event()` for events, but for audits.\n *\n * @example\n * ```typescript\n * .audit<AppAuditAction>([\n * {\n * type: 'user.created',\n * payload: (response) => ({ userId: response.id, email: response.email }),\n * when: (response) => response.active,\n * entityId: (response) => response.id,\n * table: 'users',\n * },\n * ])\n * ```\n */\n audit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n this._audits = audits;\n return this;\n }\n\n /**\n * Set the database service for this endpoint.\n * The database will be available in the handler context as `db`.\n * When audit storage is configured and uses the same database,\n * `db` will automatically be the transaction for ACID compliance.\n *\n * @example\n * ```typescript\n * .database(databaseService)\n * .handle(async ({ db }) => {\n * // db is the raw database or transaction (when auditor uses same db)\n * return await db.selectFrom('users').selectAll().execute();\n * })\n * ```\n */\n database<T, TName extends string>(\n service: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n >;\n }\n\n /**\n * Configure RLS (Row-Level Security) context for this endpoint.\n * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n *\n * @example\n * ```typescript\n * // Custom RLS config for this endpoint\n * .rls({\n * extractor: ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * }),\n * prefix: 'app',\n * })\n *\n * // Bypass RLS (for admin endpoints)\n * .rls(false)\n * ```\n */\n rls(\n config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n ): this {\n if (config === false || config === RLS_BYPASS) {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n } else {\n this._rlsConfig = config;\n this._rlsBypass = false;\n }\n return this;\n }\n\n /**\n * Explicitly bypass RLS for this endpoint.\n * Useful for admin operations that need unrestricted database access.\n *\n * @example\n * ```typescript\n * .rlsBypass()\n * .handle(async ({ db }) => {\n * // Full access, no RLS filtering\n * return db.selectFrom('orders').selectAll().execute();\n * })\n * ```\n */\n rlsBypass(): this {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n return this;\n }\n\n // EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n input(_schema: any): any {\n throw new Error(\n 'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n );\n }\n\n handle(\n fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >,\n ): Endpoint<\n TRoute,\n TMethod,\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Find authorizer metadata if name is set\n // If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n let authorizer: Authorizer | undefined;\n if (this._authorizerName) {\n const existingAuthorizer = this._availableAuthorizers.find(\n (a) => a.name === this._authorizerName,\n );\n\n if (existingAuthorizer) {\n authorizer = existingAuthorizer;\n } else {\n // Create authorizer with security scheme if available (built-in or custom)\n const securityScheme = getSecurityScheme(\n this._authorizerName as string,\n this._customSecuritySchemes,\n );\n authorizer = {\n name: this._authorizerName as string,\n securityScheme,\n };\n }\n }\n\n return new Endpoint({\n fn,\n method: this.method,\n route: this.route,\n description: this._description,\n tags: this._tags,\n input: this.schemas,\n output: this.outputSchema,\n services: this._services,\n logger: this._logger,\n timeout: this._timeout,\n memorySize: this._memorySize,\n authorize: this._authorize,\n status: this._status,\n getSession: this._getSession,\n rateLimit: this._rateLimit,\n publisherService: this._publisher,\n events: this._events,\n authorizer,\n auditorStorageService: this._auditorStorage,\n actorExtractor: this._actorExtractor,\n audits: this._audits,\n databaseService: this._databaseService,\n rlsConfig: this._rlsConfig,\n rlsBypass: this._rlsBypass,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EndpointBuilder-DnCB1h1j.mjs","names":["route: TRoute","method: TMethod","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","_schema: any","fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >","authorizer: Authorizer | undefined"],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":["import type {\n AuditStorage,\n AuditableAction,\n ExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type {\n AuthorizeFn,\n EndpointHandler,\n SessionFn,\n SuccessStatus,\n} from './Endpoint';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuthorizers extends readonly string[] = readonly 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 TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName\n> {\n protected schemas: TInput = {} as TInput;\n protected _description?: string;\n protected _status?: SuccessStatus;\n protected _tags?: string[];\n protected _memorySize?: number;\n _getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n ({}) as TSession;\n _authorize: AuthorizeFn<TServices, TLogger, TSession> = () => true;\n _rateLimit?: RateLimitConfig;\n _availableAuthorizers: Authorizer[] = [];\n _authorizerName?: TAuthorizers[number];\n _actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n _audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n _customSecuritySchemes: Record<string, SecurityScheme> = {};\n _rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n _rlsBypass?: boolean;\n\n constructor(\n readonly route: TRoute,\n readonly method: TMethod,\n ) {\n super(ConstructType.Endpoint);\n }\n\n // Internal setter for EndpointFactory to set default publisher\n _setPublisher(\n publisher: Service<TEventPublisherServiceName, TEventPublisher>,\n ) {\n this._publisher = publisher;\n }\n\n // Internal setter for EndpointFactory to set default auditor storage\n _setAuditorStorage(\n storage: Service<TAuditStorageServiceName, TAuditStorage>,\n ) {\n this._auditorStorage = storage;\n }\n\n // Internal setter for EndpointFactory to set default database service\n _setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n this._databaseService = service;\n }\n\n description(description: string): this {\n this._description = description;\n return this;\n }\n\n status(status: SuccessStatus): this {\n this._status = status;\n return this;\n }\n\n override event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n tags(tags: string[]): this {\n this._tags = tags;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n override publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n T,\n TName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n body<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'body'> & { body: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.body = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n search<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.query = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n query<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'query'> & { query: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n return this.search(schema);\n }\n\n params<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n Omit<TInput, 'params'> & { params: T },\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.schemas.params = schema as unknown as T;\n // @ts-ignore\n return this;\n }\n\n rateLimit(config: RateLimitConfig): this {\n this._rateLimit = config;\n return this;\n }\n\n authorizer(\n name: TAuthorizers[number] | 'none',\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Special case: 'none' explicitly marks endpoint as having no authorizer\n if (name === 'none') {\n this._authorizerName = undefined;\n return this;\n }\n\n // Validate that the authorizer exists in available authorizers\n const authorizerExists = this._availableAuthorizers.some(\n (a) => a.name === name,\n );\n if (!authorizerExists && this._availableAuthorizers.length > 0) {\n const available = this._availableAuthorizers\n .map((a) => a.name)\n .join(', ');\n throw new Error(\n `Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n );\n }\n this._authorizerName = name;\n return this;\n }\n\n services<T extends Service[]>(\n services: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n [...TServices, ...T],\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n T,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n T,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the auditor storage service for this endpoint.\n * This enables audit functionality and makes `auditor` available in the handler context.\n * The audit action type is automatically inferred from the storage's generic parameter.\n */\n override auditor<T extends AuditStorage<any>, TName extends string>(\n storage: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n T,\n TName,\n ExtractStorageAuditAction<T>,\n TDatabase,\n TDatabaseServiceName\n >;\n }\n\n /**\n * Set the actor extractor function for audit records.\n * The actor is extracted from the request context and attached to all audits.\n */\n actor(\n extractor: ActorExtractor<TServices, TSession, TLogger>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n this._actorExtractor = extractor;\n return this;\n }\n\n /**\n * Add declarative audit definitions that are processed after the handler executes.\n * Similar to `.event()` for events, but for audits.\n *\n * @example\n * ```typescript\n * .audit<AppAuditAction>([\n * {\n * type: 'user.created',\n * payload: (response) => ({ userId: response.id, email: response.email }),\n * when: (response) => response.active,\n * entityId: (response) => response.id,\n * table: 'users',\n * },\n * ])\n * ```\n */\n audit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n this._audits = audits;\n return this;\n }\n\n /**\n * Set the database service for this endpoint.\n * The database will be available in the handler context as `db`.\n * When audit storage is configured and uses the same database,\n * `db` will automatically be the transaction for ACID compliance.\n *\n * @example\n * ```typescript\n * .database(databaseService)\n * .handle(async ({ db }) => {\n * // db is the raw database or transaction (when auditor uses same db)\n * return await db.selectFrom('users').selectAll().execute();\n * })\n * ```\n */\n override database<T, TName extends string>(\n service: Service<TName, T>,\n ): EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as EndpointBuilder<\n TRoute,\n TMethod,\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuthorizers,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n T,\n TName\n >;\n }\n\n /**\n * Configure RLS (Row-Level Security) context for this endpoint.\n * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n *\n * @example\n * ```typescript\n * // Custom RLS config for this endpoint\n * .rls({\n * extractor: ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * }),\n * prefix: 'app',\n * })\n *\n * // Bypass RLS (for admin endpoints)\n * .rls(false)\n * ```\n */\n rls(\n config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n ): this {\n if (config === false || config === RLS_BYPASS) {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n } else {\n this._rlsConfig = config;\n this._rlsBypass = false;\n }\n return this;\n }\n\n /**\n * Explicitly bypass RLS for this endpoint.\n * Useful for admin operations that need unrestricted database access.\n *\n * @example\n * ```typescript\n * .rlsBypass()\n * .handle(async ({ db }) => {\n * // Full access, no RLS filtering\n * return db.selectFrom('orders').selectAll().execute();\n * })\n * ```\n */\n rlsBypass(): this {\n this._rlsBypass = true;\n this._rlsConfig = undefined;\n return this;\n }\n\n // EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n input(_schema: any): any {\n throw new Error(\n 'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n );\n }\n\n handle(\n fn: EndpointHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TSession,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >,\n ): Endpoint<\n TRoute,\n TMethod,\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TAuditAction,\n TDatabase,\n TDatabaseServiceName\n > {\n // Find authorizer metadata if name is set\n // If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n let authorizer: Authorizer | undefined;\n if (this._authorizerName) {\n const existingAuthorizer = this._availableAuthorizers.find(\n (a) => a.name === this._authorizerName,\n );\n\n if (existingAuthorizer) {\n authorizer = existingAuthorizer;\n } else {\n // Create authorizer with security scheme if available (built-in or custom)\n const securityScheme = getSecurityScheme(\n this._authorizerName as string,\n this._customSecuritySchemes,\n );\n authorizer = {\n name: this._authorizerName as string,\n securityScheme,\n };\n }\n }\n\n return new Endpoint({\n fn,\n method: this.method,\n route: this.route,\n description: this._description,\n tags: this._tags,\n input: this.schemas,\n output: this.outputSchema,\n services: this._services,\n logger: this._logger,\n timeout: this._timeout,\n memorySize: this._memorySize,\n authorize: this._authorize,\n status: this._status,\n getSession: this._getSession,\n rateLimit: this._rateLimit,\n publisherService: this._publisher,\n events: this._events,\n authorizer,\n auditorStorageService: this._auditorStorage,\n actorExtractor: this._actorExtractor,\n audits: this._audits,\n databaseService: this._databaseService,\n rlsConfig: this._rlsConfig,\n rlsBypass: this._rlsBypass,\n });\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-Cpx59w_q.mjs";
2
- import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-C5djXyae.mjs";
3
- import { EndpointBuilder } from "./EndpointBuilder-CD8LkBda.mjs";
1
+ import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-gWxYsGEp.mjs";
2
+ import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-BdwG75G_.mjs";
3
+ import { EndpointBuilder } from "./EndpointBuilder-B3az942t.mjs";
4
4
  import { Service } from "@geekmidas/services";
5
5
  import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
6
6
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
@@ -135,6 +135,8 @@ interface EndpointFactoryOptions<TServices extends Service[] = [], TBasePath ext
135
135
  defaultRlsConfig?: TRlsConfig;
136
136
  }
137
137
  declare const e: EndpointFactory<[], "", Logger, unknown, undefined, string, readonly string[], undefined, string, never, undefined, string, Record<string, SecurityScheme>, undefined>;
138
+ //# sourceMappingURL=EndpointFactory.d.ts.map
139
+
138
140
  //#endregion
139
141
  export { EndpointFactory, EndpointFactoryOptions, JoinPaths, RemoveTrailingSlash, e };
140
- //# sourceMappingURL=EndpointFactory-jAkQxWRj.d.mts.map
142
+ //# sourceMappingURL=EndpointFactory-C-0nE6Jg.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-C-0nE6Jg.d.mts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-CpSUMTIs.cjs";
2
- import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-CC2RGjkl.cjs";
3
- import { EndpointBuilder } from "./EndpointBuilder-vXk6eIJk.cjs";
1
+ import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-B-btowNd.cjs";
2
+ import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-BPv9_-m_.cjs";
3
+ import { EndpointBuilder } from "./EndpointBuilder-DIy_m1bu.cjs";
4
4
  import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
5
5
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
6
6
  import { Logger } from "@geekmidas/logger";
@@ -135,6 +135,8 @@ interface EndpointFactoryOptions<TServices extends Service[] = [], TBasePath ext
135
135
  defaultRlsConfig?: TRlsConfig;
136
136
  }
137
137
  declare const e: EndpointFactory<[], "", Logger, unknown, undefined, string, readonly string[], undefined, string, never, undefined, string, Record<string, SecurityScheme>, undefined>;
138
+ //# sourceMappingURL=EndpointFactory.d.ts.map
139
+
138
140
  //#endregion
139
141
  export { EndpointFactory, EndpointFactoryOptions, JoinPaths, RemoveTrailingSlash, e };
140
- //# sourceMappingURL=EndpointFactory-D8I4NNCo.d.cts.map
142
+ //# sourceMappingURL=EndpointFactory-CyPbm3AD.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-CyPbm3AD.d.cts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Construct, ConstructType } from "./Construct-Dkd8Kvc9.cjs";
1
+ import { Construct, ConstructType } from "./Construct-C4rPE67v.cjs";
2
2
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
3
3
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
4
  import { Logger } from "@geekmidas/logger";
@@ -16,8 +16,8 @@ declare class FunctionFactory<TServices extends Service[] = [], TLogger extends
16
16
  }
17
17
  declare class Function<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, Fn extends FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction> = FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction>> extends Construct<TLogger, TEventPublisherServiceName, TEventPublisher, OutSchema, TServices, TAuditStorageServiceName, TAuditStorage> {
18
18
  protected readonly fn: Fn;
19
- input?: TInput;
20
- databaseService?: Service<TDatabaseServiceName, TDatabase>;
19
+ input?: TInput | undefined;
20
+ databaseService?: Service<TDatabaseServiceName, TDatabase> | undefined;
21
21
  __IS_FUNCTION__: boolean;
22
22
  static isFunction(obj: any): obj is Function<any, any, any, any, any>;
23
23
  /**
@@ -47,7 +47,7 @@ declare class Function<TInput extends ComposableStandardSchema | undefined = und
47
47
  parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>>;
48
48
  constructor(fn: Fn, timeout?: number,
49
49
  // Default timeout of 30 seconds
50
- type?: ConstructType, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: MappedEvent<TEventPublisher, OutSchema>[], memorySize?: number, auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>, databaseService?: Service<TDatabaseServiceName, TDatabase>);
50
+ type?: ConstructType, input?: TInput | undefined, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: MappedEvent<TEventPublisher, OutSchema>[], memorySize?: number, auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>, databaseService?: Service<TDatabaseServiceName, TDatabase> | undefined);
51
51
  }
52
52
  type FunctionHandler<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TDatabase = undefined, TAuditStorage extends AuditStorage | undefined = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = (ctx: FunctionContext<TInput, TServices, TLogger, TDatabase, TAuditStorage, TAuditAction>) => OutSchema extends StandardSchemaV1 ? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>> : any | Promise<any>;
53
53
  /**
@@ -73,4 +73,4 @@ type FunctionContext<Input extends ComposableStandardSchema | undefined = undefi
73
73
  } & DatabaseContext<TDatabase> & AuditorContext<TAuditAction, TAuditStorage>;
74
74
  //#endregion
75
75
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
76
- //# sourceMappingURL=Function-DHD1V9QW.d.cts.map
76
+ //# sourceMappingURL=Function-Cf7f_kCz.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-Cf7f_kCz.d.cts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Construct, ConstructType } from "./Construct-jBKqb-Zi.mjs";
1
+ import { Construct, ConstructType } from "./Construct-XrijZFFh.mjs";
2
2
  import { Service, ServiceRecord } from "@geekmidas/services";
3
3
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
4
4
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
@@ -16,8 +16,8 @@ declare class FunctionFactory<TServices extends Service[] = [], TLogger extends
16
16
  }
17
17
  declare class Function<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, Fn extends FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction> = FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction>> extends Construct<TLogger, TEventPublisherServiceName, TEventPublisher, OutSchema, TServices, TAuditStorageServiceName, TAuditStorage> {
18
18
  protected readonly fn: Fn;
19
- input?: TInput;
20
- databaseService?: Service<TDatabaseServiceName, TDatabase>;
19
+ input?: TInput | undefined;
20
+ databaseService?: Service<TDatabaseServiceName, TDatabase> | undefined;
21
21
  __IS_FUNCTION__: boolean;
22
22
  static isFunction(obj: any): obj is Function<any, any, any, any, any>;
23
23
  /**
@@ -47,7 +47,7 @@ declare class Function<TInput extends ComposableStandardSchema | undefined = und
47
47
  parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>>;
48
48
  constructor(fn: Fn, timeout?: number,
49
49
  // Default timeout of 30 seconds
50
- type?: ConstructType, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: MappedEvent<TEventPublisher, OutSchema>[], memorySize?: number, auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>, databaseService?: Service<TDatabaseServiceName, TDatabase>);
50
+ type?: ConstructType, input?: TInput | undefined, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: MappedEvent<TEventPublisher, OutSchema>[], memorySize?: number, auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>, databaseService?: Service<TDatabaseServiceName, TDatabase> | undefined);
51
51
  }
52
52
  type FunctionHandler<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TDatabase = undefined, TAuditStorage extends AuditStorage | undefined = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = (ctx: FunctionContext<TInput, TServices, TLogger, TDatabase, TAuditStorage, TAuditAction>) => OutSchema extends StandardSchemaV1 ? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>> : any | Promise<any>;
53
53
  /**
@@ -73,4 +73,4 @@ type FunctionContext<Input extends ComposableStandardSchema | undefined = undefi
73
73
  } & DatabaseContext<TDatabase> & AuditorContext<TAuditAction, TAuditStorage>;
74
74
  //#endregion
75
75
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
76
- //# sourceMappingURL=Function-Vh1t-Qjj.d.mts.map
76
+ //# sourceMappingURL=Function-DN2G6OT5.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-DN2G6OT5.d.mts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { ConstructType } from "./Construct-jBKqb-Zi.mjs";
2
- import { Function, FunctionHandler } from "./Function-Vh1t-Qjj.mjs";
3
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-CoV7J45W.mjs";
4
- import { Service } from "@geekmidas/services";
1
+ import { ConstructType } from "./Construct-C4rPE67v.cjs";
2
+ import { Function, FunctionHandler } from "./Function-Cf7f_kCz.cjs";
3
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-BAtutR6q.cjs";
5
4
  import { AuditStorage, AuditableAction } from "@geekmidas/audit";
6
5
  import { EventPublisher } from "@geekmidas/events";
7
6
  import { Logger } from "@geekmidas/logger";
7
+ import { Service } from "@geekmidas/services";
8
8
  import { StandardSchemaV1 } from "@standard-schema/spec";
9
9
  import { ComposableStandardSchema } from "@geekmidas/schema";
10
10
 
@@ -33,6 +33,8 @@ declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema
33
33
  database<T, TName extends string>(service: Service<TName, T>): FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, T, TName, TAuditAction>;
34
34
  handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction>): Function<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction>>;
35
35
  }
36
+ //# sourceMappingURL=FunctionBuilder.d.ts.map
37
+
36
38
  //#endregion
37
39
  export { FunctionBuilder };
38
- //# sourceMappingURL=FunctionBuilder-3jsoFffg.d.mts.map
40
+ //# sourceMappingURL=FunctionBuilder-CJBzzXL3.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionBuilder-CJBzzXL3.d.cts","names":[],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionBuilder-CrDYgfiI.mjs","names":["DEFAULT_LOGGER","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n TInput extends ComposableStandardSchema,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName\n> {\n protected _memorySize?: number;\n\n constructor(public type = ConstructType.Function) {\n super(type);\n }\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n auditor<T extends AuditStorage, TName extends string>(\n storage: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n /**\n * Set the audit action types for this function.\n * This provides type-safety for the auditor in the handler context.\n */\n actions<T extends AuditableAction<string, unknown>>(): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n T\n > {\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n T\n >;\n }\n\n /**\n * Set the database service for this function.\n * The database will be available in the handler context as `db`.\n */\n database<T, TName extends string>(\n service: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n T,\n TName,\n TAuditAction\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n T,\n TName,\n TAuditAction\n >;\n }\n\n handle(\n fn: FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >,\n ): Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n > {\n const func = new Function(\n fn,\n this._timeout,\n this.type,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n this._auditorStorage,\n this._databaseService,\n );\n\n // Reset builder state after creating the function to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this._auditorStorage = undefined;\n this._databaseService = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return func;\n }\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,cAeU,oBAWR;CACA,AAAU;CAEV,YAAmB,OAAO,cAAc,UAAU;AAChD,QAAM,KAAK;EADM;CAElB;CAED,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,OACEC,QAaA;AACA,OAAK,eAAe;AAEpB,SAAO;CAaR;CAED,MACEA,QAaA;AACA,OAAK,cAAc;AAEnB,SAAO;CAaR;CAED,SACEC,UAaA;AACA,OAAK,YAAY,OACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAaR;CAED,OACEC,QAaA;AACA,OAAK,UAAU;AAEf,SAAO;CAaR;CAED,UACEC,WAaA;AACA,OAAK,aAAa;AAKlB,SAAO;CAaR;CAED,QACEC,SAaA;AACA,OAAK,kBAAkB;AAKvB,SAAO;CAaR;;;;;CAMD,UAYE;AACA,SAAO;CAaR;;;;;CAMD,SACEC,SAaA;AACA,OAAK,mBAAmB;AAKxB,SAAO;CAaR;CAED,OACEC,IA8BA;EACA,MAAM,OAAO,IAAI,SACf,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,iBACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUT;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}
1
+ {"version":3,"file":"FunctionBuilder-CrDYgfiI.mjs","names":["DEFAULT_LOGGER","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n TInput extends ComposableStandardSchema,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName\n> {\n protected _memorySize?: number;\n\n constructor(public override type = ConstructType.Function) {\n super(type);\n }\n\n override timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n override publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n override auditor<T extends AuditStorage, TName extends string>(\n storage: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n >;\n }\n\n /**\n * Set the audit action types for this function.\n * This provides type-safety for the auditor in the handler context.\n */\n actions<T extends AuditableAction<string, unknown>>(): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n T\n > {\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n T\n >;\n }\n\n /**\n * Set the database service for this function.\n * The database will be available in the handler context as `db`.\n */\n override database<T, TName extends string>(\n service: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n T,\n TName,\n TAuditAction\n > {\n this._databaseService = service as unknown as Service<\n TDatabaseServiceName,\n TDatabase\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n T,\n TName,\n TAuditAction\n >;\n }\n\n handle(\n fn: FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >,\n ): Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n > {\n const func = new Function(\n fn,\n this._timeout,\n this.type,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n this._auditorStorage,\n this._databaseService,\n );\n\n // Reset builder state after creating the function to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this._auditorStorage = undefined;\n this._databaseService = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return func;\n }\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,cAeU,oBAWR;CACA,AAAU;CAEV,YAA4B,OAAO,cAAc,UAAU;AACzD,QAAM,KAAK;EADe;CAE3B;CAED,AAAS,QAAQC,SAAuB;AACtC,OAAK,WAAW;AAChB,SAAO;CACR;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,OACEC,QAaA;AACA,OAAK,eAAe;AAEpB,SAAO;CAaR;CAED,MACEA,QAaA;AACA,OAAK,cAAc;AAEnB,SAAO;CAaR;CAED,SACEC,UAaA;AACA,OAAK,YAAY,OACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAaR;CAED,OACEC,QAaA;AACA,OAAK,UAAU;AAEf,SAAO;CAaR;CAED,AAAS,UACPC,WAaA;AACA,OAAK,aAAa;AAKlB,SAAO;CAaR;CAED,AAAS,QACPC,SAaA;AACA,OAAK,kBAAkB;AAKvB,SAAO;CAaR;;;;;CAMD,UAYE;AACA,SAAO;CAaR;;;;;CAMD,AAAS,SACPC,SAaA;AACA,OAAK,mBAAmB;AAKxB,SAAO;CAaR;CAED,OACEC,IA8BA;EACA,MAAM,OAAO,IAAI,SACf,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,iBACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUT;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}