@geekmidas/constructs 3.0.7 → 3.0.8

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 (459) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{Construct-BXG8cFSm.cjs → Construct-B14miJ6P.cjs} +95 -10
  3. package/dist/Construct-B14miJ6P.cjs.map +1 -0
  4. package/dist/{Construct-BjpXFNxy.d.mts → Construct-CXqvzglu.d.cts} +11 -6
  5. package/dist/{Construct-BjpXFNxy.d.mts.map → Construct-CXqvzglu.d.cts.map} +1 -1
  6. package/dist/{Construct-CQ9zV58W.mjs → Construct-CdJY2DJS.mjs} +83 -9
  7. package/dist/Construct-CdJY2DJS.mjs.map +1 -0
  8. package/dist/{Construct-CX7HyFfT.d.cts → Construct-D0n7QTaI.d.mts} +13 -8
  9. package/dist/Construct-D0n7QTaI.d.mts.map +1 -0
  10. package/dist/{Endpoint-CGdCGJkC.d.cts → Endpoint-C991gK3T.d.cts} +130 -27
  11. package/dist/Endpoint-C991gK3T.d.cts.map +1 -0
  12. package/dist/{Endpoint-BET0JSZK.d.mts → Endpoint-CRHpLPV3.d.mts} +130 -27
  13. package/dist/Endpoint-CRHpLPV3.d.mts.map +1 -0
  14. package/dist/{HonoEndpointAdaptor-B5fKdLi7.cjs → HonoEndpointAdaptor-BDz1qM4z.cjs} +81 -24
  15. package/dist/HonoEndpointAdaptor-BDz1qM4z.cjs.map +1 -0
  16. package/dist/{HonoEndpointAdaptor-DOUODM7n.mjs → HonoEndpointAdaptor-DPBfEPZj.mjs} +64 -7
  17. package/dist/HonoEndpointAdaptor-DPBfEPZj.mjs.map +1 -0
  18. package/dist/{Subscriber-1rDE7HuM.d.cts → Subscriber-D8WkA8np.d.cts} +3 -3
  19. package/dist/{Subscriber-1rDE7HuM.d.cts.map → Subscriber-D8WkA8np.d.cts.map} +1 -1
  20. package/dist/{Subscriber-9ObcUdcC.d.mts → Subscriber-Tft61-YG.d.mts} +5 -5
  21. package/dist/Subscriber-Tft61-YG.d.mts.map +1 -0
  22. package/dist/adaptors/aws.cjs +737 -21
  23. package/dist/adaptors/aws.cjs.map +1 -0
  24. package/dist/adaptors/aws.d.cts +221 -17
  25. package/dist/adaptors/aws.d.cts.map +1 -0
  26. package/dist/adaptors/aws.d.mts +221 -17
  27. package/dist/adaptors/aws.d.mts.map +1 -0
  28. package/dist/adaptors/aws.mjs +734 -18
  29. package/dist/adaptors/aws.mjs.map +1 -0
  30. package/dist/adaptors/hono.cjs +5 -12
  31. package/dist/adaptors/hono.d.cts +52 -10
  32. package/dist/adaptors/hono.d.cts.map +1 -0
  33. package/dist/adaptors/hono.d.mts +52 -10
  34. package/dist/adaptors/hono.d.mts.map +1 -0
  35. package/dist/adaptors/hono.mjs +5 -12
  36. package/dist/adaptors/testing.cjs +392 -21
  37. package/dist/adaptors/testing.cjs.map +1 -0
  38. package/dist/adaptors/testing.d.cts +177 -14
  39. package/dist/adaptors/testing.d.cts.map +1 -0
  40. package/dist/adaptors/testing.d.mts +177 -14
  41. package/dist/adaptors/testing.d.mts.map +1 -0
  42. package/dist/adaptors/testing.mjs +388 -17
  43. package/dist/adaptors/testing.mjs.map +1 -0
  44. package/dist/crons/index.cjs +82 -10
  45. package/dist/crons/index.cjs.map +1 -1
  46. package/dist/crons/index.d.cts +48 -11
  47. package/dist/crons/index.d.cts.map +1 -1
  48. package/dist/crons/index.d.mts +45 -11
  49. package/dist/crons/index.d.mts.map +1 -1
  50. package/dist/crons/index.mjs +79 -7
  51. package/dist/crons/index.mjs.map +1 -1
  52. package/dist/endpoints/index.cjs +717 -23
  53. package/dist/endpoints/index.cjs.map +1 -1
  54. package/dist/endpoints/index.d.cts +316 -14
  55. package/dist/endpoints/index.d.cts.map +1 -1
  56. package/dist/endpoints/index.d.mts +315 -14
  57. package/dist/endpoints/index.d.mts.map +1 -1
  58. package/dist/endpoints/index.mjs +706 -12
  59. package/dist/endpoints/index.mjs.map +1 -1
  60. package/dist/functions/index.cjs +5 -8
  61. package/dist/functions/index.d.cts +2 -5
  62. package/dist/functions/index.d.mts +2 -5
  63. package/dist/functions/index.mjs +2 -5
  64. package/dist/functions-DiaRAdfp.cjs +2893 -0
  65. package/dist/functions-DiaRAdfp.cjs.map +1 -0
  66. package/dist/functions-GmSHFbpr.mjs +2864 -0
  67. package/dist/functions-GmSHFbpr.mjs.map +1 -0
  68. package/dist/index-Cq4fz8uM.d.mts +132 -0
  69. package/dist/index-Cq4fz8uM.d.mts.map +1 -0
  70. package/dist/index-CzIMpK-e.d.cts +135 -0
  71. package/dist/index-CzIMpK-e.d.cts.map +1 -0
  72. package/dist/index.cjs +1 -1
  73. package/dist/index.d.cts +3 -3
  74. package/dist/index.d.mts +3 -3
  75. package/dist/index.mjs +1 -1
  76. package/dist/lazyAccessors-CJZYs9uM.mjs +1887 -0
  77. package/dist/lazyAccessors-CJZYs9uM.mjs.map +1 -0
  78. package/dist/lazyAccessors-DHvDeww0.cjs +1964 -0
  79. package/dist/lazyAccessors-DHvDeww0.cjs.map +1 -0
  80. package/dist/processAudits-B0PbJf1Z.mjs +80 -0
  81. package/dist/processAudits-B0PbJf1Z.mjs.map +1 -0
  82. package/dist/processAudits-CUko08pi.cjs +92 -0
  83. package/dist/processAudits-CUko08pi.cjs.map +1 -0
  84. package/dist/subscribers/index.cjs +77 -6
  85. package/dist/subscribers/index.cjs.map +1 -1
  86. package/dist/subscribers/index.d.cts +27 -5
  87. package/dist/subscribers/index.d.cts.map +1 -1
  88. package/dist/subscribers/index.d.mts +26 -5
  89. package/dist/subscribers/index.d.mts.map +1 -1
  90. package/dist/subscribers/index.mjs +74 -3
  91. package/dist/subscribers/index.mjs.map +1 -1
  92. package/dist/{telemetry-BTaiRqPo.d.cts → telemetry-Bt0vK4ma.d.cts} +1 -1
  93. package/dist/{telemetry-BJo1gcV1.d.mts.map → telemetry-Bt0vK4ma.d.cts.map} +1 -1
  94. package/dist/{telemetry-BJo1gcV1.d.mts → telemetry-COvVBKBM.d.mts} +1 -1
  95. package/dist/{telemetry-BTaiRqPo.d.cts.map → telemetry-COvVBKBM.d.mts.map} +1 -1
  96. package/dist/{types-B5H3piDg.d.cts → types-B8YlI4cx.d.cts} +1 -1
  97. package/dist/{types-B5H3piDg.d.cts.map → types-B8YlI4cx.d.cts.map} +1 -1
  98. package/dist/{types-BqPOdHEm.d.mts → types-BA3eK4xj.d.mts} +1 -1
  99. package/dist/{types-BqPOdHEm.d.mts.map → types-BA3eK4xj.d.mts.map} +1 -1
  100. package/dist/types.d.cts +1 -1
  101. package/dist/types.d.mts +1 -1
  102. package/package.json +9 -9
  103. package/src/Construct.ts +26 -8
  104. package/src/__tests__/Construct.environment.spec.ts +123 -0
  105. package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +1 -9
  106. package/tsdown.config.ts +30 -1
  107. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts +0 -32
  108. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts.map +0 -1
  109. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs +0 -120
  110. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs.map +0 -1
  111. package/dist/AWSLambdaFunction-DJiCAPAf.mjs +0 -114
  112. package/dist/AWSLambdaFunction-DJiCAPAf.mjs.map +0 -1
  113. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts +0 -32
  114. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts.map +0 -1
  115. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts +0 -36
  116. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts.map +0 -1
  117. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts +0 -36
  118. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts.map +0 -1
  119. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs +0 -172
  120. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs.map +0 -1
  121. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs +0 -178
  122. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs.map +0 -1
  123. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs +0 -277
  124. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs.map +0 -1
  125. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs +0 -271
  126. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs.map +0 -1
  127. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts +0 -124
  128. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts.map +0 -1
  129. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts +0 -124
  130. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts.map +0 -1
  131. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts +0 -23
  132. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts.map +0 -1
  133. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs +0 -42
  134. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs.map +0 -1
  135. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs +0 -47
  136. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs.map +0 -1
  137. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts +0 -23
  138. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts.map +0 -1
  139. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs +0 -48
  140. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs.map +0 -1
  141. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts +0 -22
  142. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts.map +0 -1
  143. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts +0 -22
  144. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts.map +0 -1
  145. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs +0 -42
  146. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs.map +0 -1
  147. package/dist/Authorizer-BZ1LcZFt.cjs +0 -92
  148. package/dist/Authorizer-BZ1LcZFt.cjs.map +0 -1
  149. package/dist/Authorizer-C5_FC_Rq.d.mts +0 -126
  150. package/dist/Authorizer-C5_FC_Rq.d.mts.map +0 -1
  151. package/dist/Authorizer-CZpg1Jqk.mjs +0 -68
  152. package/dist/Authorizer-CZpg1Jqk.mjs.map +0 -1
  153. package/dist/Authorizer-DWtwC8we.d.cts +0 -126
  154. package/dist/Authorizer-DWtwC8we.d.cts.map +0 -1
  155. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts +0 -42
  156. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts.map +0 -1
  157. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs +0 -70
  158. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs.map +0 -1
  159. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs +0 -76
  160. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs.map +0 -1
  161. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts +0 -42
  162. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts.map +0 -1
  163. package/dist/Construct-BXG8cFSm.cjs.map +0 -1
  164. package/dist/Construct-CQ9zV58W.mjs.map +0 -1
  165. package/dist/Construct-CX7HyFfT.d.cts.map +0 -1
  166. package/dist/Construct.cjs +0 -6
  167. package/dist/Construct.d.cts +0 -2
  168. package/dist/Construct.d.mts +0 -2
  169. package/dist/Construct.mjs +0 -3
  170. package/dist/Cron-BljK1gsV.d.mts +0 -26
  171. package/dist/Cron-BljK1gsV.d.mts.map +0 -1
  172. package/dist/Cron-C1vyfJ8B.cjs +0 -25
  173. package/dist/Cron-C1vyfJ8B.cjs.map +0 -1
  174. package/dist/Cron-CjWQEad0.mjs +0 -20
  175. package/dist/Cron-CjWQEad0.mjs.map +0 -1
  176. package/dist/Cron-CllHkk3z.d.cts +0 -26
  177. package/dist/Cron-CllHkk3z.d.cts.map +0 -1
  178. package/dist/CronBuilder-CAJFtnmZ.mjs +0 -68
  179. package/dist/CronBuilder-CAJFtnmZ.mjs.map +0 -1
  180. package/dist/CronBuilder-CG54f9LM.d.mts +0 -32
  181. package/dist/CronBuilder-CG54f9LM.d.mts.map +0 -1
  182. package/dist/CronBuilder-CSMd02lu.cjs +0 -74
  183. package/dist/CronBuilder-CSMd02lu.cjs.map +0 -1
  184. package/dist/CronBuilder-i23l40xs.d.cts +0 -32
  185. package/dist/CronBuilder-i23l40xs.d.cts.map +0 -1
  186. package/dist/Endpoint-BET0JSZK.d.mts.map +0 -1
  187. package/dist/Endpoint-BcxvF4F3.cjs +0 -440
  188. package/dist/Endpoint-BcxvF4F3.cjs.map +0 -1
  189. package/dist/Endpoint-CGdCGJkC.d.cts.map +0 -1
  190. package/dist/Endpoint-DvY3aqAy.mjs +0 -422
  191. package/dist/Endpoint-DvY3aqAy.mjs.map +0 -1
  192. package/dist/EndpointBuilder-6kdrQyIh.d.mts +0 -146
  193. package/dist/EndpointBuilder-6kdrQyIh.d.mts.map +0 -1
  194. package/dist/EndpointBuilder-CSwIguiR.d.cts +0 -146
  195. package/dist/EndpointBuilder-CSwIguiR.d.cts.map +0 -1
  196. package/dist/EndpointBuilder-EptJojG9.cjs +0 -268
  197. package/dist/EndpointBuilder-EptJojG9.cjs.map +0 -1
  198. package/dist/EndpointBuilder-iDpnACRb.mjs +0 -262
  199. package/dist/EndpointBuilder-iDpnACRb.mjs.map +0 -1
  200. package/dist/EndpointFactory-CBagQW5j.d.mts +0 -142
  201. package/dist/EndpointFactory-CBagQW5j.d.mts.map +0 -1
  202. package/dist/EndpointFactory-D2QxeaAh.cjs +0 -393
  203. package/dist/EndpointFactory-D2QxeaAh.cjs.map +0 -1
  204. package/dist/EndpointFactory-DQYSH8XK.d.cts +0 -142
  205. package/dist/EndpointFactory-DQYSH8XK.d.cts.map +0 -1
  206. package/dist/EndpointFactory-wgcqWod-.mjs +0 -381
  207. package/dist/EndpointFactory-wgcqWod-.mjs.map +0 -1
  208. package/dist/Function-CwlB89lS.d.cts +0 -76
  209. package/dist/Function-CwlB89lS.d.cts.map +0 -1
  210. package/dist/Function-D74HrBnX.d.mts +0 -76
  211. package/dist/Function-D74HrBnX.d.mts.map +0 -1
  212. package/dist/Function-DgQ_no6B.cjs +0 -84
  213. package/dist/Function-DgQ_no6B.cjs.map +0 -1
  214. package/dist/Function-xfQbftdE.mjs +0 -72
  215. package/dist/Function-xfQbftdE.mjs.map +0 -1
  216. package/dist/FunctionBuilder-CBeqX18X.mjs +0 -80
  217. package/dist/FunctionBuilder-CBeqX18X.mjs.map +0 -1
  218. package/dist/FunctionBuilder-C_qPxC8g.d.mts +0 -40
  219. package/dist/FunctionBuilder-C_qPxC8g.d.mts.map +0 -1
  220. package/dist/FunctionBuilder-C_xG9As7.cjs +0 -86
  221. package/dist/FunctionBuilder-C_xG9As7.cjs.map +0 -1
  222. package/dist/FunctionBuilder-D_7f5MfS.d.cts +0 -40
  223. package/dist/FunctionBuilder-D_7f5MfS.d.cts.map +0 -1
  224. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs +0 -101
  225. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs.map +0 -1
  226. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts +0 -50
  227. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts.map +0 -1
  228. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs +0 -107
  229. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs.map +0 -1
  230. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts +0 -50
  231. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts.map +0 -1
  232. package/dist/HonoEndpointAdaptor-B5fKdLi7.cjs.map +0 -1
  233. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts +0 -50
  234. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts.map +0 -1
  235. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts +0 -50
  236. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts.map +0 -1
  237. package/dist/HonoEndpointAdaptor-DOUODM7n.mjs.map +0 -1
  238. package/dist/MswEndpointAdaptor-B41INCc7.mjs +0 -108
  239. package/dist/MswEndpointAdaptor-B41INCc7.mjs.map +0 -1
  240. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs +0 -120
  241. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs.map +0 -1
  242. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts +0 -101
  243. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts.map +0 -1
  244. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts +0 -101
  245. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts.map +0 -1
  246. package/dist/Subscriber-9ObcUdcC.d.mts.map +0 -1
  247. package/dist/Subscriber-BH76wgkL.mjs +0 -28
  248. package/dist/Subscriber-BH76wgkL.mjs.map +0 -1
  249. package/dist/Subscriber-BgspJeS4.cjs +0 -34
  250. package/dist/Subscriber-BgspJeS4.cjs.map +0 -1
  251. package/dist/SubscriberBuilder-B4md5wzs.mjs +0 -54
  252. package/dist/SubscriberBuilder-B4md5wzs.mjs.map +0 -1
  253. package/dist/SubscriberBuilder-Be7WBbCL.d.cts +0 -28
  254. package/dist/SubscriberBuilder-Be7WBbCL.d.cts.map +0 -1
  255. package/dist/SubscriberBuilder-BtL22ZJ9.cjs +0 -60
  256. package/dist/SubscriberBuilder-BtL22ZJ9.cjs.map +0 -1
  257. package/dist/SubscriberBuilder-DsfIkgTF.d.mts +0 -28
  258. package/dist/SubscriberBuilder-DsfIkgTF.d.mts.map +0 -1
  259. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs +0 -174
  260. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs.map +0 -1
  261. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts +0 -45
  262. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts.map +0 -1
  263. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs +0 -180
  264. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs.map +0 -1
  265. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts +0 -45
  266. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts.map +0 -1
  267. package/dist/TestFunctionAdaptor-B859kIeb.cjs +0 -81
  268. package/dist/TestFunctionAdaptor-B859kIeb.cjs.map +0 -1
  269. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts +0 -30
  270. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts.map +0 -1
  271. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs +0 -75
  272. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs.map +0 -1
  273. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts +0 -30
  274. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts.map +0 -1
  275. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts +0 -26
  276. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts.map +0 -1
  277. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts +0 -26
  278. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts.map +0 -1
  279. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs +0 -51
  280. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs.map +0 -1
  281. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs +0 -57
  282. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs.map +0 -1
  283. package/dist/chunk-CUT6urMc.cjs +0 -30
  284. package/dist/crons/Cron.cjs +0 -8
  285. package/dist/crons/Cron.d.cts +0 -7
  286. package/dist/crons/Cron.d.mts +0 -7
  287. package/dist/crons/Cron.mjs +0 -8
  288. package/dist/crons/CronBuilder.cjs +0 -9
  289. package/dist/crons/CronBuilder.d.cts +0 -8
  290. package/dist/crons/CronBuilder.d.mts +0 -8
  291. package/dist/crons/CronBuilder.mjs +0 -9
  292. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +0 -11
  293. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +0 -11
  294. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +0 -11
  295. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +0 -11
  296. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +0 -13
  297. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +0 -12
  298. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +0 -12
  299. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +0 -13
  300. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +0 -13
  301. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +0 -12
  302. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +0 -12
  303. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +0 -13
  304. package/dist/endpoints/Authorizer.cjs +0 -6
  305. package/dist/endpoints/Authorizer.d.cts +0 -2
  306. package/dist/endpoints/Authorizer.d.mts +0 -2
  307. package/dist/endpoints/Authorizer.mjs +0 -3
  308. package/dist/endpoints/Endpoint.cjs +0 -10
  309. package/dist/endpoints/Endpoint.d.cts +0 -9
  310. package/dist/endpoints/Endpoint.d.mts +0 -9
  311. package/dist/endpoints/Endpoint.mjs +0 -8
  312. package/dist/endpoints/EndpointBuilder.cjs +0 -11
  313. package/dist/endpoints/EndpointBuilder.d.cts +0 -10
  314. package/dist/endpoints/EndpointBuilder.d.mts +0 -10
  315. package/dist/endpoints/EndpointBuilder.mjs +0 -11
  316. package/dist/endpoints/EndpointFactory.cjs +0 -13
  317. package/dist/endpoints/EndpointFactory.d.cts +0 -11
  318. package/dist/endpoints/EndpointFactory.d.mts +0 -11
  319. package/dist/endpoints/EndpointFactory.mjs +0 -12
  320. package/dist/endpoints/HonoEndpointAdaptor.cjs +0 -14
  321. package/dist/endpoints/HonoEndpointAdaptor.d.cts +0 -10
  322. package/dist/endpoints/HonoEndpointAdaptor.d.mts +0 -10
  323. package/dist/endpoints/HonoEndpointAdaptor.mjs +0 -14
  324. package/dist/endpoints/MswEndpointAdaptor.cjs +0 -16
  325. package/dist/endpoints/MswEndpointAdaptor.d.cts +0 -10
  326. package/dist/endpoints/MswEndpointAdaptor.d.mts +0 -10
  327. package/dist/endpoints/MswEndpointAdaptor.mjs +0 -15
  328. package/dist/endpoints/TestEndpointAdaptor.cjs +0 -12
  329. package/dist/endpoints/TestEndpointAdaptor.d.cts +0 -10
  330. package/dist/endpoints/TestEndpointAdaptor.d.mts +0 -10
  331. package/dist/endpoints/TestEndpointAdaptor.mjs +0 -12
  332. package/dist/endpoints/audit.cjs +0 -0
  333. package/dist/endpoints/audit.d.cts +0 -9
  334. package/dist/endpoints/audit.d.mts +0 -9
  335. package/dist/endpoints/audit.mjs +0 -0
  336. package/dist/endpoints/helpers.cjs +0 -10
  337. package/dist/endpoints/helpers.d.cts +0 -60
  338. package/dist/endpoints/helpers.d.cts.map +0 -1
  339. package/dist/endpoints/helpers.d.mts +0 -60
  340. package/dist/endpoints/helpers.d.mts.map +0 -1
  341. package/dist/endpoints/helpers.mjs +0 -9
  342. package/dist/endpoints/lazyAccessors.cjs +0 -10
  343. package/dist/endpoints/lazyAccessors.d.cts +0 -10
  344. package/dist/endpoints/lazyAccessors.d.mts +0 -10
  345. package/dist/endpoints/lazyAccessors.mjs +0 -3
  346. package/dist/endpoints/parseHonoQuery.cjs +0 -3
  347. package/dist/endpoints/parseHonoQuery.d.cts +0 -14
  348. package/dist/endpoints/parseHonoQuery.d.cts.map +0 -1
  349. package/dist/endpoints/parseHonoQuery.d.mts +0 -14
  350. package/dist/endpoints/parseHonoQuery.d.mts.map +0 -1
  351. package/dist/endpoints/parseHonoQuery.mjs +0 -3
  352. package/dist/endpoints/parseQueryParams.cjs +0 -3
  353. package/dist/endpoints/parseQueryParams.d.cts +0 -14
  354. package/dist/endpoints/parseQueryParams.d.cts.map +0 -1
  355. package/dist/endpoints/parseQueryParams.d.mts +0 -14
  356. package/dist/endpoints/parseQueryParams.d.mts.map +0 -1
  357. package/dist/endpoints/parseQueryParams.mjs +0 -3
  358. package/dist/endpoints/processAudits.cjs +0 -5
  359. package/dist/endpoints/processAudits.d.cts +0 -95
  360. package/dist/endpoints/processAudits.d.cts.map +0 -1
  361. package/dist/endpoints/processAudits.d.mts +0 -95
  362. package/dist/endpoints/processAudits.d.mts.map +0 -1
  363. package/dist/endpoints/processAudits.mjs +0 -3
  364. package/dist/endpoints/rls.cjs +0 -3
  365. package/dist/endpoints/rls.d.cts +0 -9
  366. package/dist/endpoints/rls.d.mts +0 -9
  367. package/dist/endpoints/rls.mjs +0 -3
  368. package/dist/functions/AWSLambdaFunction.cjs +0 -9
  369. package/dist/functions/AWSLambdaFunction.d.cts +0 -5
  370. package/dist/functions/AWSLambdaFunction.d.mts +0 -5
  371. package/dist/functions/AWSLambdaFunction.mjs +0 -9
  372. package/dist/functions/BaseFunctionBuilder.cjs +0 -4
  373. package/dist/functions/BaseFunctionBuilder.d.cts +0 -3
  374. package/dist/functions/BaseFunctionBuilder.d.mts +0 -3
  375. package/dist/functions/BaseFunctionBuilder.mjs +0 -4
  376. package/dist/functions/Function.cjs +0 -5
  377. package/dist/functions/Function.d.cts +0 -3
  378. package/dist/functions/Function.d.mts +0 -3
  379. package/dist/functions/Function.mjs +0 -4
  380. package/dist/functions/FunctionBuilder.cjs +0 -6
  381. package/dist/functions/FunctionBuilder.d.cts +0 -5
  382. package/dist/functions/FunctionBuilder.d.mts +0 -5
  383. package/dist/functions/FunctionBuilder.mjs +0 -6
  384. package/dist/functions/FunctionExecutionWrapper.cjs +0 -8
  385. package/dist/functions/FunctionExecutionWrapper.d.cts +0 -4
  386. package/dist/functions/FunctionExecutionWrapper.d.mts +0 -4
  387. package/dist/functions/FunctionExecutionWrapper.mjs +0 -8
  388. package/dist/functions/TestFunctionAdaptor.cjs +0 -8
  389. package/dist/functions/TestFunctionAdaptor.d.cts +0 -4
  390. package/dist/functions/TestFunctionAdaptor.d.mts +0 -4
  391. package/dist/functions/TestFunctionAdaptor.mjs +0 -8
  392. package/dist/functions-B1mrMoUH.mjs +0 -8
  393. package/dist/functions-B1mrMoUH.mjs.map +0 -1
  394. package/dist/functions-rOD3pXQd.cjs +0 -13
  395. package/dist/functions-rOD3pXQd.cjs.map +0 -1
  396. package/dist/helpers-BYyX0qTA.cjs +0 -95
  397. package/dist/helpers-BYyX0qTA.cjs.map +0 -1
  398. package/dist/helpers-BtwC2IW8.mjs +0 -83
  399. package/dist/helpers-BtwC2IW8.mjs.map +0 -1
  400. package/dist/index-BfeupgMl.d.cts +0 -12
  401. package/dist/index-BfeupgMl.d.cts.map +0 -1
  402. package/dist/index-Cg2UDz1r.d.mts +0 -12
  403. package/dist/index-Cg2UDz1r.d.mts.map +0 -1
  404. package/dist/lazyAccessors-BVEtB9lU.cjs +0 -223
  405. package/dist/lazyAccessors-BVEtB9lU.cjs.map +0 -1
  406. package/dist/lazyAccessors-Bxy5DBp4.d.cts +0 -49
  407. package/dist/lazyAccessors-Bxy5DBp4.d.cts.map +0 -1
  408. package/dist/lazyAccessors-CWFdtzSR.d.mts +0 -49
  409. package/dist/lazyAccessors-CWFdtzSR.d.mts.map +0 -1
  410. package/dist/lazyAccessors-DM6HcXQk.mjs +0 -175
  411. package/dist/lazyAccessors-DM6HcXQk.mjs.map +0 -1
  412. package/dist/parseHonoQuery-BBs8CX-H.cjs +0 -24
  413. package/dist/parseHonoQuery-BBs8CX-H.cjs.map +0 -1
  414. package/dist/parseHonoQuery-Cp8CII0P.mjs +0 -18
  415. package/dist/parseHonoQuery-Cp8CII0P.mjs.map +0 -1
  416. package/dist/parseQueryParams-B4RK1za3.cjs +0 -31
  417. package/dist/parseQueryParams-B4RK1za3.cjs.map +0 -1
  418. package/dist/parseQueryParams-DS3Qmrbd.mjs +0 -25
  419. package/dist/parseQueryParams-DS3Qmrbd.mjs.map +0 -1
  420. package/dist/processAudits-CzHkPokQ.cjs +0 -180
  421. package/dist/processAudits-CzHkPokQ.cjs.map +0 -1
  422. package/dist/processAudits-Dj8UGqcW.mjs +0 -162
  423. package/dist/processAudits-Dj8UGqcW.mjs.map +0 -1
  424. package/dist/publisher-BUDHcaz3.d.cts +0 -16
  425. package/dist/publisher-BUDHcaz3.d.cts.map +0 -1
  426. package/dist/publisher-Bw4770Hi.mjs +0 -41
  427. package/dist/publisher-Bw4770Hi.mjs.map +0 -1
  428. package/dist/publisher-DXglijK_.d.mts +0 -16
  429. package/dist/publisher-DXglijK_.d.mts.map +0 -1
  430. package/dist/publisher-lFQleddL.cjs +0 -53
  431. package/dist/publisher-lFQleddL.cjs.map +0 -1
  432. package/dist/publisher.cjs +0 -4
  433. package/dist/publisher.d.cts +0 -3
  434. package/dist/publisher.d.mts +0 -3
  435. package/dist/publisher.mjs +0 -3
  436. package/dist/rls-C0r4UKVm.mjs +0 -9
  437. package/dist/rls-C0r4UKVm.mjs.map +0 -1
  438. package/dist/rls-Cfb6w-tQ.cjs +0 -15
  439. package/dist/rls-Cfb6w-tQ.cjs.map +0 -1
  440. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +0 -3
  441. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +0 -4
  442. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +0 -4
  443. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +0 -3
  444. package/dist/subscribers/Subscriber.cjs +0 -4
  445. package/dist/subscribers/Subscriber.d.cts +0 -3
  446. package/dist/subscribers/Subscriber.d.mts +0 -3
  447. package/dist/subscribers/Subscriber.mjs +0 -4
  448. package/dist/subscribers/SubscriberBuilder.cjs +0 -5
  449. package/dist/subscribers/SubscriberBuilder.d.cts +0 -4
  450. package/dist/subscribers/SubscriberBuilder.d.mts +0 -4
  451. package/dist/subscribers/SubscriberBuilder.mjs +0 -5
  452. package/dist/subscribers/TestSubscriberAdaptor.cjs +0 -4
  453. package/dist/subscribers/TestSubscriberAdaptor.d.cts +0 -4
  454. package/dist/subscribers/TestSubscriberAdaptor.d.mts +0 -4
  455. package/dist/subscribers/TestSubscriberAdaptor.mjs +0 -4
  456. package/dist/telemetry.cjs +0 -0
  457. package/dist/telemetry.d.cts +0 -2
  458. package/dist/telemetry.d.mts +0 -2
  459. package/dist/telemetry.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointFactory-DQYSH8XK.d.cts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,381 +0,0 @@
1
- import { getSecurityScheme } from "./Authorizer-CZpg1Jqk.mjs";
2
- import { EndpointBuilder } from "./EndpointBuilder-iDpnACRb.mjs";
3
- import { ConsoleLogger } from "@geekmidas/logger/console";
4
- import uniqBy from "lodash.uniqby";
5
-
6
- //#region src/endpoints/EndpointFactory.ts
7
- const DEFAULT_LOGGER$1 = new ConsoleLogger();
8
- var EndpointFactory = class EndpointFactory {
9
- defaultServices = [];
10
- basePath = "";
11
- defaultAuthorizeFn;
12
- defaultEventPublisher;
13
- defaultSessionExtractor;
14
- defaultLogger = DEFAULT_LOGGER$1;
15
- availableAuthorizers = [];
16
- defaultAuthorizerName;
17
- defaultAuditorStorage;
18
- defaultDatabaseService;
19
- defaultActorExtractor;
20
- customSecuritySchemes = {};
21
- defaultRlsConfig;
22
- constructor({ basePath, defaultAuthorizeFn, defaultLogger, defaultSessionExtractor, defaultServices = [], defaultEventPublisher, availableAuthorizers = [], defaultAuthorizerName, defaultAuditorStorage, defaultDatabaseService, defaultActorExtractor, customSecuritySchemes = {}, defaultRlsConfig } = {}) {
23
- this.defaultServices = uniqBy(defaultServices, (s) => s.serviceName);
24
- this.basePath = basePath || "";
25
- this.defaultAuthorizeFn = defaultAuthorizeFn;
26
- this.defaultLogger = defaultLogger || DEFAULT_LOGGER$1;
27
- this.defaultSessionExtractor = defaultSessionExtractor;
28
- this.defaultEventPublisher = defaultEventPublisher;
29
- this.availableAuthorizers = availableAuthorizers;
30
- this.defaultAuthorizerName = defaultAuthorizerName;
31
- this.defaultAuditorStorage = defaultAuditorStorage;
32
- this.defaultDatabaseService = defaultDatabaseService;
33
- this.defaultActorExtractor = defaultActorExtractor;
34
- this.customSecuritySchemes = customSecuritySchemes;
35
- this.defaultRlsConfig = defaultRlsConfig;
36
- }
37
- static joinPaths(path, basePath = "") {
38
- if (!basePath && !path) return "/";
39
- if (!basePath) return path.startsWith("/") ? path : `/${path}`;
40
- if (!path) return basePath.startsWith("/") ? basePath : `/${basePath}`;
41
- const base = basePath.endsWith("/") ? basePath.slice(0, -1) : basePath;
42
- const segment = path.startsWith("/") ? path : `/${path}`;
43
- let result = base + segment;
44
- if (!result.startsWith("/")) result = `/${result}`;
45
- result = result.replace(/^\/+/g, "/");
46
- if (result.length > 1 && result.endsWith("/")) result = result.slice(0, -1);
47
- return result;
48
- }
49
- authorizers(authorizers) {
50
- const authorizerConfigs = authorizers.map((name) => ({
51
- name,
52
- securityScheme: getSecurityScheme(name, this.customSecuritySchemes)
53
- }));
54
- return new EndpointFactory({
55
- defaultServices: this.defaultServices,
56
- basePath: this.basePath,
57
- defaultAuthorizeFn: this.defaultAuthorizeFn,
58
- defaultLogger: this.defaultLogger,
59
- defaultSessionExtractor: this.defaultSessionExtractor,
60
- defaultEventPublisher: this.defaultEventPublisher,
61
- availableAuthorizers: authorizerConfigs,
62
- defaultAuthorizerName: this.defaultAuthorizerName,
63
- defaultAuditorStorage: this.defaultAuditorStorage,
64
- defaultDatabaseService: this.defaultDatabaseService,
65
- defaultActorExtractor: this.defaultActorExtractor,
66
- customSecuritySchemes: this.customSecuritySchemes,
67
- defaultRlsConfig: this.defaultRlsConfig
68
- });
69
- }
70
- /**
71
- * Define custom security schemes for this factory.
72
- * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).
73
- *
74
- * @example
75
- * ```typescript
76
- * const router = e.securitySchemes({
77
- * awsIamSigV4: {
78
- * type: 'apiKey',
79
- * in: 'header',
80
- * name: 'Authorization',
81
- * 'x-amazon-apigateway-authtype': 'awsSigv4',
82
- * },
83
- * });
84
- * ```
85
- */
86
- securitySchemes(schemes) {
87
- return new EndpointFactory({
88
- defaultServices: this.defaultServices,
89
- basePath: this.basePath,
90
- defaultAuthorizeFn: this.defaultAuthorizeFn,
91
- defaultLogger: this.defaultLogger,
92
- defaultSessionExtractor: this.defaultSessionExtractor,
93
- defaultEventPublisher: this.defaultEventPublisher,
94
- availableAuthorizers: this.availableAuthorizers,
95
- defaultAuthorizerName: this.defaultAuthorizerName,
96
- defaultAuditorStorage: this.defaultAuditorStorage,
97
- defaultDatabaseService: this.defaultDatabaseService,
98
- defaultActorExtractor: this.defaultActorExtractor,
99
- customSecuritySchemes: {
100
- ...this.customSecuritySchemes,
101
- ...schemes
102
- },
103
- defaultRlsConfig: this.defaultRlsConfig
104
- });
105
- }
106
- /**
107
- * Set the default authorizer for all endpoints created from this factory.
108
- * Individual endpoints can override this by calling `.authorizer()` on the builder.
109
- * Use `'none'` to explicitly disable authorization for all endpoints.
110
- *
111
- * Accepts:
112
- * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'
113
- * - Custom security scheme names defined via `.securitySchemes()`
114
- * - 'none' to disable authorization
115
- */
116
- authorizer(name) {
117
- if (name !== "none" && this.availableAuthorizers.length > 0) {
118
- const authorizerExists = this.availableAuthorizers.some((a) => a.name === name);
119
- if (!authorizerExists) {
120
- const available = this.availableAuthorizers.map((a) => a.name).join(", ");
121
- throw new Error(`Authorizer "${name}" not found in available authorizers: ${available}`);
122
- }
123
- }
124
- return new EndpointFactory({
125
- defaultServices: this.defaultServices,
126
- basePath: this.basePath,
127
- defaultAuthorizeFn: this.defaultAuthorizeFn,
128
- defaultLogger: this.defaultLogger,
129
- defaultSessionExtractor: this.defaultSessionExtractor,
130
- defaultEventPublisher: this.defaultEventPublisher,
131
- availableAuthorizers: this.availableAuthorizers,
132
- defaultAuthorizerName: name === "none" ? void 0 : name,
133
- defaultAuditorStorage: this.defaultAuditorStorage,
134
- defaultDatabaseService: this.defaultDatabaseService,
135
- defaultActorExtractor: this.defaultActorExtractor,
136
- customSecuritySchemes: this.customSecuritySchemes,
137
- defaultRlsConfig: this.defaultRlsConfig
138
- });
139
- }
140
- route(path) {
141
- const newBasePath = EndpointFactory.joinPaths(path, this.basePath);
142
- return new EndpointFactory({
143
- defaultServices: this.defaultServices,
144
- basePath: newBasePath,
145
- defaultAuthorizeFn: this.defaultAuthorizeFn,
146
- defaultLogger: this.defaultLogger,
147
- defaultSessionExtractor: this.defaultSessionExtractor,
148
- defaultEventPublisher: this.defaultEventPublisher,
149
- availableAuthorizers: this.availableAuthorizers,
150
- defaultAuthorizerName: this.defaultAuthorizerName,
151
- defaultAuditorStorage: this.defaultAuditorStorage,
152
- defaultDatabaseService: this.defaultDatabaseService,
153
- defaultActorExtractor: this.defaultActorExtractor,
154
- customSecuritySchemes: this.customSecuritySchemes,
155
- defaultRlsConfig: this.defaultRlsConfig
156
- });
157
- }
158
- authorize(fn) {
159
- return new EndpointFactory({
160
- defaultServices: this.defaultServices,
161
- basePath: this.basePath,
162
- defaultAuthorizeFn: fn,
163
- defaultLogger: this.defaultLogger,
164
- defaultSessionExtractor: this.defaultSessionExtractor,
165
- defaultEventPublisher: this.defaultEventPublisher,
166
- availableAuthorizers: this.availableAuthorizers,
167
- defaultAuthorizerName: this.defaultAuthorizerName,
168
- defaultAuditorStorage: this.defaultAuditorStorage,
169
- defaultDatabaseService: this.defaultDatabaseService,
170
- defaultActorExtractor: this.defaultActorExtractor,
171
- customSecuritySchemes: this.customSecuritySchemes,
172
- defaultRlsConfig: this.defaultRlsConfig
173
- });
174
- }
175
- services(services) {
176
- return new EndpointFactory({
177
- defaultServices: [...services, ...this.defaultServices],
178
- basePath: this.basePath,
179
- defaultAuthorizeFn: this.defaultAuthorizeFn,
180
- defaultLogger: this.defaultLogger,
181
- defaultSessionExtractor: this.defaultSessionExtractor,
182
- defaultEventPublisher: this.defaultEventPublisher,
183
- availableAuthorizers: this.availableAuthorizers,
184
- defaultAuthorizerName: this.defaultAuthorizerName,
185
- defaultAuditorStorage: this.defaultAuditorStorage,
186
- defaultDatabaseService: this.defaultDatabaseService,
187
- defaultActorExtractor: this.defaultActorExtractor,
188
- customSecuritySchemes: this.customSecuritySchemes,
189
- defaultRlsConfig: this.defaultRlsConfig
190
- });
191
- }
192
- logger(logger) {
193
- return new EndpointFactory({
194
- defaultServices: this.defaultServices,
195
- basePath: this.basePath,
196
- defaultAuthorizeFn: this.defaultAuthorizeFn,
197
- defaultLogger: logger,
198
- defaultSessionExtractor: this.defaultSessionExtractor,
199
- defaultEventPublisher: this.defaultEventPublisher,
200
- availableAuthorizers: this.availableAuthorizers,
201
- defaultAuthorizerName: this.defaultAuthorizerName,
202
- defaultAuditorStorage: this.defaultAuditorStorage,
203
- defaultDatabaseService: this.defaultDatabaseService,
204
- defaultActorExtractor: this.defaultActorExtractor,
205
- customSecuritySchemes: this.customSecuritySchemes,
206
- defaultRlsConfig: this.defaultRlsConfig
207
- });
208
- }
209
- publisher(publisher) {
210
- return new EndpointFactory({
211
- defaultServices: this.defaultServices,
212
- basePath: this.basePath,
213
- defaultAuthorizeFn: this.defaultAuthorizeFn,
214
- defaultLogger: this.defaultLogger,
215
- defaultSessionExtractor: this.defaultSessionExtractor,
216
- defaultEventPublisher: publisher,
217
- availableAuthorizers: this.availableAuthorizers,
218
- defaultAuthorizerName: this.defaultAuthorizerName,
219
- defaultAuditorStorage: this.defaultAuditorStorage,
220
- defaultDatabaseService: this.defaultDatabaseService,
221
- defaultActorExtractor: this.defaultActorExtractor,
222
- customSecuritySchemes: this.customSecuritySchemes,
223
- defaultRlsConfig: this.defaultRlsConfig
224
- });
225
- }
226
- session(session) {
227
- return new EndpointFactory({
228
- defaultServices: this.defaultServices,
229
- basePath: this.basePath,
230
- defaultAuthorizeFn: this.defaultAuthorizeFn,
231
- defaultLogger: this.defaultLogger,
232
- defaultSessionExtractor: session,
233
- defaultEventPublisher: this.defaultEventPublisher,
234
- availableAuthorizers: this.availableAuthorizers,
235
- defaultAuthorizerName: this.defaultAuthorizerName,
236
- defaultAuditorStorage: this.defaultAuditorStorage,
237
- defaultDatabaseService: this.defaultDatabaseService,
238
- defaultActorExtractor: this.defaultActorExtractor,
239
- customSecuritySchemes: this.customSecuritySchemes,
240
- defaultRlsConfig: this.defaultRlsConfig
241
- });
242
- }
243
- /**
244
- * Set the database service for endpoints created from this factory.
245
- * The database will be available in handler context as `db`.
246
- */
247
- database(service) {
248
- return new EndpointFactory({
249
- defaultServices: this.defaultServices,
250
- basePath: this.basePath,
251
- defaultAuthorizeFn: this.defaultAuthorizeFn,
252
- defaultLogger: this.defaultLogger,
253
- defaultSessionExtractor: this.defaultSessionExtractor,
254
- defaultEventPublisher: this.defaultEventPublisher,
255
- availableAuthorizers: this.availableAuthorizers,
256
- defaultAuthorizerName: this.defaultAuthorizerName,
257
- defaultAuditorStorage: this.defaultAuditorStorage,
258
- defaultDatabaseService: service,
259
- customSecuritySchemes: this.customSecuritySchemes,
260
- defaultRlsConfig: this.defaultRlsConfig
261
- });
262
- }
263
- /**
264
- * Set the auditor storage service for endpoints created from this factory.
265
- * This enables audit functionality and makes `auditor` available in handler context.
266
- * The audit action type is automatically inferred from the storage's generic parameter.
267
- */
268
- auditor(storage) {
269
- return new EndpointFactory({
270
- defaultServices: this.defaultServices,
271
- basePath: this.basePath,
272
- defaultAuthorizeFn: this.defaultAuthorizeFn,
273
- defaultLogger: this.defaultLogger,
274
- defaultSessionExtractor: this.defaultSessionExtractor,
275
- defaultEventPublisher: this.defaultEventPublisher,
276
- availableAuthorizers: this.availableAuthorizers,
277
- defaultAuthorizerName: this.defaultAuthorizerName,
278
- defaultAuditorStorage: storage,
279
- defaultDatabaseService: this.defaultDatabaseService,
280
- defaultActorExtractor: this.defaultActorExtractor,
281
- customSecuritySchemes: this.customSecuritySchemes,
282
- defaultRlsConfig: this.defaultRlsConfig
283
- });
284
- }
285
- /**
286
- * Set the actor extractor function for endpoints created from this factory.
287
- * The actor is extracted from the request context and attached to all audits.
288
- */
289
- actor(extractor) {
290
- return new EndpointFactory({
291
- defaultServices: this.defaultServices,
292
- basePath: this.basePath,
293
- defaultAuthorizeFn: this.defaultAuthorizeFn,
294
- defaultLogger: this.defaultLogger,
295
- defaultSessionExtractor: this.defaultSessionExtractor,
296
- defaultEventPublisher: this.defaultEventPublisher,
297
- availableAuthorizers: this.availableAuthorizers,
298
- defaultAuthorizerName: this.defaultAuthorizerName,
299
- defaultAuditorStorage: this.defaultAuditorStorage,
300
- defaultDatabaseService: this.defaultDatabaseService,
301
- defaultActorExtractor: extractor,
302
- customSecuritySchemes: this.customSecuritySchemes,
303
- defaultRlsConfig: this.defaultRlsConfig
304
- });
305
- }
306
- /**
307
- * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.
308
- * This enables automatic PostgreSQL session variable setting for RLS policies.
309
- *
310
- * @example
311
- * ```typescript
312
- * const api = new EndpointFactory()
313
- * .database(databaseService)
314
- * .session(extractSession)
315
- * .rls({
316
- * extractor: ({ session }) => ({
317
- * user_id: session.userId,
318
- * tenant_id: session.tenantId,
319
- * }),
320
- * prefix: 'app',
321
- * });
322
- * ```
323
- */
324
- rls(config) {
325
- return new EndpointFactory({
326
- defaultServices: this.defaultServices,
327
- basePath: this.basePath,
328
- defaultAuthorizeFn: this.defaultAuthorizeFn,
329
- defaultLogger: this.defaultLogger,
330
- defaultSessionExtractor: this.defaultSessionExtractor,
331
- defaultEventPublisher: this.defaultEventPublisher,
332
- availableAuthorizers: this.availableAuthorizers,
333
- defaultAuthorizerName: this.defaultAuthorizerName,
334
- defaultAuditorStorage: this.defaultAuditorStorage,
335
- defaultDatabaseService: this.defaultDatabaseService,
336
- defaultActorExtractor: this.defaultActorExtractor,
337
- customSecuritySchemes: this.customSecuritySchemes,
338
- defaultRlsConfig: config
339
- });
340
- }
341
- createBuilder(method, path) {
342
- const fullPath = EndpointFactory.joinPaths(path, this.basePath);
343
- const builder = new EndpointBuilder(fullPath, method);
344
- if (this.defaultAuthorizeFn) builder._authorize = this.defaultAuthorizeFn;
345
- if (this.defaultServices.length) builder._services = [...this.defaultServices];
346
- if (this.defaultLogger) builder._logger = this.defaultLogger;
347
- if (this.defaultSessionExtractor) builder._getSession = this.defaultSessionExtractor;
348
- if (this.defaultEventPublisher) builder._setPublisher(this.defaultEventPublisher);
349
- builder._availableAuthorizers = this.availableAuthorizers;
350
- if (this.defaultAuthorizerName) builder._authorizerName = this.defaultAuthorizerName;
351
- if (this.defaultAuditorStorage) builder._setAuditorStorage(this.defaultAuditorStorage);
352
- if (this.defaultDatabaseService) builder._setDatabaseService(this.defaultDatabaseService);
353
- if (this.defaultActorExtractor) builder._actorExtractor = this.defaultActorExtractor;
354
- builder._customSecuritySchemes = this.customSecuritySchemes;
355
- if (this.defaultRlsConfig) builder._rlsConfig = this.defaultRlsConfig;
356
- return builder;
357
- }
358
- post(path) {
359
- return this.createBuilder("POST", path);
360
- }
361
- get(path) {
362
- return this.createBuilder("GET", path);
363
- }
364
- put(path) {
365
- return this.createBuilder("PUT", path);
366
- }
367
- delete(path) {
368
- return this.createBuilder("DELETE", path);
369
- }
370
- patch(path) {
371
- return this.createBuilder("PATCH", path);
372
- }
373
- options(path) {
374
- return this.createBuilder("OPTIONS", path);
375
- }
376
- };
377
- const e = new EndpointFactory();
378
-
379
- //#endregion
380
- export { EndpointFactory, e };
381
- //# sourceMappingURL=EndpointFactory-wgcqWod-.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointFactory-wgcqWod-.mjs","names":["DEFAULT_LOGGER","path: P","basePath: TBasePath","authorizers: T","schemes: T","name:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none'","path: TPath","fn: AuthorizeFn<TServices, TLogger, TSession, undefined, TDatabase>","services: S","logger: L","publisher: Service<TServiceName, T>","session: SessionFn<TServices, TLogger, T, TDatabase>","service: Service<TName, T>","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","config: TConfig","method: TMethod"],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport uniqBy from 'lodash.uniqby';\nimport type { HttpMethod } from '../types';\nimport {\n\ttype Authorizer,\n\ttype BuiltInSecuritySchemeId,\n\tgetSecurityScheme,\n\ttype SecurityScheme,\n} from './Authorizer';\nimport type { ActorExtractor } from './audit';\nimport type { AuthorizeFn, SessionFn } from './Endpoint';\nimport { EndpointBuilder } from './EndpointBuilder';\nimport type { RlsConfig } from './rls';\n\n// Re-export SecurityScheme to make the type portable in declaration files\nexport type { SecurityScheme } from './Authorizer';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class EndpointFactory<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage<any> | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<\n\t\tstring,\n\t\tunknown\n\t> = ExtractStorageAuditAction<NonNullable<TAuditStorage>>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tprivate defaultServices: TServices = [] as unknown as TServices;\n\tprivate basePath: TBasePath = '' as TBasePath;\n\tprivate defaultAuthorizeFn?: AuthorizeFn<\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tundefined,\n\t\tTDatabase\n\t>;\n\tprivate defaultEventPublisher:\n\t\t| Service<TEventPublisherServiceName, TEventPublisher>\n\t\t| undefined;\n\tprivate defaultSessionExtractor?: SessionFn<\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTDatabase\n\t>;\n\tprivate defaultLogger: TLogger = DEFAULT_LOGGER;\n\tprivate availableAuthorizers: Authorizer[] = [];\n\tprivate defaultAuthorizerName?: TAuthorizers[number];\n\tprivate defaultAuditorStorage:\n\t\t| Service<TAuditStorageServiceName, TAuditStorage>\n\t\t| undefined;\n\tprivate defaultDatabaseService:\n\t\t| Service<TDatabaseServiceName, TDatabase>\n\t\t| undefined;\n\tprivate defaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tprivate customSecuritySchemes: TSecuritySchemes = {} as TSecuritySchemes;\n\tprivate defaultRlsConfig?: TRlsConfig;\n\n\tconstructor({\n\t\tbasePath,\n\t\tdefaultAuthorizeFn,\n\t\tdefaultLogger,\n\t\tdefaultSessionExtractor,\n\t\t// @ts-expect-error\n\t\tdefaultServices = [] as TServices,\n\t\tdefaultEventPublisher,\n\t\tavailableAuthorizers = [],\n\t\tdefaultAuthorizerName,\n\t\tdefaultAuditorStorage,\n\t\tdefaultDatabaseService,\n\t\tdefaultActorExtractor,\n\t\tcustomSecuritySchemes = {} as TSecuritySchemes,\n\t\tdefaultRlsConfig,\n\t}: EndpointFactoryOptions<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> = {}) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\tthis.basePath = basePath || ('' as TBasePath);\n\t\tthis.defaultAuthorizeFn = defaultAuthorizeFn;\n\t\tthis.defaultLogger = defaultLogger || (DEFAULT_LOGGER as TLogger);\n\t\tthis.defaultSessionExtractor = defaultSessionExtractor;\n\t\tthis.defaultEventPublisher = defaultEventPublisher;\n\t\tthis.availableAuthorizers = availableAuthorizers;\n\t\tthis.defaultAuthorizerName = defaultAuthorizerName;\n\t\tthis.defaultAuditorStorage = defaultAuditorStorage;\n\t\tthis.defaultDatabaseService = defaultDatabaseService;\n\t\tthis.defaultActorExtractor = defaultActorExtractor;\n\t\tthis.customSecuritySchemes = customSecuritySchemes;\n\t\tthis.defaultRlsConfig = defaultRlsConfig;\n\t}\n\n\tstatic joinPaths<TBasePath extends string, P extends string>(\n\t\tpath: P,\n\t\tbasePath: TBasePath = '' as TBasePath,\n\t): JoinPaths<TBasePath, P> {\n\t\t// Handle empty cases\n\t\tif (!basePath && !path) return '/' as JoinPaths<TBasePath, P>;\n\t\tif (!basePath)\n\t\t\treturn (path.startsWith('/') ? path : `/${path}`) as JoinPaths<\n\t\t\t\tTBasePath,\n\t\t\t\tP\n\t\t\t>;\n\t\tif (!path)\n\t\t\treturn (\n\t\t\t\tbasePath.startsWith('/') ? basePath : `/${basePath}`\n\t\t\t) as JoinPaths<TBasePath, P>;\n\n\t\tconst base = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n\t\tconst segment = path.startsWith('/') ? path : `/${path}`;\n\n\t\tlet result = base + segment;\n\n\t\t// Ensure leading slash\n\t\tif (!result.startsWith('/')) {\n\t\t\tresult = `/${result}`;\n\t\t}\n\n\t\t// Normalize multiple slashes (except in the middle of the path where they might be intentional)\n\t\tresult = result.replace(/^\\/+/g, '/');\n\n\t\t// Remove trailing slash unless it's the root path \"/\"\n\t\tif (result.length > 1 && result.endsWith('/')) {\n\t\t\tresult = result.slice(0, -1);\n\t\t}\n\n\t\treturn result as JoinPaths<TBasePath, P>;\n\t}\n\n\t// Configure available authorizers\n\tauthorizers<const T extends readonly string[]>(\n\t\tauthorizers: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst authorizerConfigs = authorizers.map((name) => ({\n\t\t\tname,\n\t\t\tsecurityScheme: getSecurityScheme(name, this.customSecuritySchemes),\n\t\t}));\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: authorizerConfigs,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Define custom security schemes for this factory.\n\t * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).\n\t *\n\t * @example\n\t * ```typescript\n\t * const router = e.securitySchemes({\n\t * awsIamSigV4: {\n\t * type: 'apiKey',\n\t * in: 'header',\n\t * name: 'Authorization',\n\t * 'x-amazon-apigateway-authtype': 'awsSigv4',\n\t * },\n\t * });\n\t * ```\n\t */\n\tsecuritySchemes<T extends Record<string, SecurityScheme>>(\n\t\tschemes: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes & T,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes & T,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: {\n\t\t\t\t...this.customSecuritySchemes,\n\t\t\t\t...schemes,\n\t\t\t} as TSecuritySchemes & T,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the default authorizer for all endpoints created from this factory.\n\t * Individual endpoints can override this by calling `.authorizer()` on the builder.\n\t * Use `'none'` to explicitly disable authorization for all endpoints.\n\t *\n\t * Accepts:\n\t * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'\n\t * - Custom security scheme names defined via `.securitySchemes()`\n\t * - 'none' to disable authorization\n\t */\n\tauthorizer(\n\t\tname:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none',\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\t// Validate that the authorizer exists in available authorizers (if authorizers() was called)\n\t\tif (name !== 'none' && this.availableAuthorizers.length > 0) {\n\t\t\tconst authorizerExists = this.availableAuthorizers.some(\n\t\t\t\t(a) => a.name === name,\n\t\t\t);\n\t\t\tif (!authorizerExists) {\n\t\t\t\tconst available = this.availableAuthorizers\n\t\t\t\t\t.map((a) => a.name)\n\t\t\t\t\t.join(', ');\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName:\n\t\t\t\tname === 'none' ? undefined : (name as TAuthorizers[number]),\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a sub-router with a path prefix\n\troute<TPath extends string>(\n\t\tpath: TPath,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst newBasePath = EndpointFactory.joinPaths(path, this.basePath);\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: newBasePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with authorization\n\tauthorize(\n\t\tfn: AuthorizeFn<TServices, TLogger, TSession, undefined, TDatabase>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: fn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): EndpointFactory<\n\t\t[...S, ...TServices],\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<[...S, ...TServices], TSession, TLogger> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\t[...S, ...TServices],\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<[...S, ...TServices], TSession, TLogger> | undefined\n\t\t>({\n\t\t\tdefaultServices: [...services, ...this.defaultServices],\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\t[...S, ...TServices],\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<[...S, ...TServices], TLogger, TSession, TDatabase>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor as unknown as\n\t\t\t\t| ActorExtractor<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\tlogger<L extends Logger>(\n\t\tlogger: L,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tL,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<TServices, TSession, L> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tL,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<TServices, TSession, L> | undefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: logger,\n\t\t\tdefaultSessionExtractor: this\n\t\t\t\t.defaultSessionExtractor as unknown as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tL\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<TServices, TSession, L>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\tpublisher<\n\t\tT extends EventPublisher<any>,\n\t\tTServiceName extends string = string,\n\t>(\n\t\tpublisher: Service<TServiceName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tT,\n\t\tTServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: publisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\tsession<T>(\n\t\tsession: SessionFn<TServices, TLogger, T, TDatabase>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tRlsConfig<TServices, T, TLogger> | undefined\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tRlsConfig<TServices, T, TLogger> | undefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tT\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: session,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tT,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig as unknown as\n\t\t\t\t| RlsConfig<TServices, T, TLogger>\n\t\t\t\t| undefined,\n\t\t});\n\t}\n\n\t/**\n\t * Set the database service for endpoints created from this factory.\n\t * The database will be available in handler context as `db`.\n\t */\n\tdatabase<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as\n\t\t\t\t| AuthorizeFn<TServices, TLogger, TSession, undefined, T>\n\t\t\t\t| undefined,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\t// Reset session extractor when database changes - user should call .session() after .database()\n\t\t\t// to get proper type inference for the new database type\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<TServices, TLogger, TSession, T>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: service,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the auditor storage service for endpoints created from this factory.\n\t * This enables audit functionality and makes `auditor` available in handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\tauditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: storage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the actor extractor function for endpoints created from this factory.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: extractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.\n\t * This enables automatic PostgreSQL session variable setting for RLS policies.\n\t *\n\t * @example\n\t * ```typescript\n\t * const api = new EndpointFactory()\n\t * .database(databaseService)\n\t * .session(extractSession)\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * });\n\t * ```\n\t */\n\trls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(\n\t\tconfig: TConfig,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: config,\n\t\t});\n\t}\n\n\tprivate createBuilder<TMethod extends HttpMethod, TPath extends string>(\n\t\tmethod: TMethod,\n\t\tpath: TPath,\n\t): EndpointBuilder<\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTMethod,\n\t\t{},\n\t\tTServices,\n\t\tTLogger,\n\t\tundefined,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst fullPath = EndpointFactory.joinPaths(path, this.basePath);\n\t\tconst builder = new EndpointBuilder<\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTMethod,\n\t\t\t{},\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tundefined,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>(fullPath, method);\n\n\t\tif (this.defaultAuthorizeFn) {\n\t\t\tbuilder._authorize = this.defaultAuthorizeFn as any;\n\t\t}\n\t\tif (this.defaultServices.length) {\n\t\t\t// Create a copy to avoid sharing references between builders\n\t\t\tbuilder._services = [...this.defaultServices] as TServices;\n\t\t}\n\n\t\tif (this.defaultLogger) {\n\t\t\tbuilder._logger = this.defaultLogger as TLogger;\n\t\t}\n\n\t\tif (this.defaultSessionExtractor) {\n\t\t\tbuilder._getSession = this.defaultSessionExtractor as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>;\n\t\t}\n\n\t\tif (this.defaultEventPublisher) {\n\t\t\tbuilder._setPublisher(this.defaultEventPublisher);\n\t\t}\n\n\t\t// Set available authorizers and default\n\t\tbuilder._availableAuthorizers = this.availableAuthorizers;\n\t\tif (this.defaultAuthorizerName) {\n\t\t\tbuilder._authorizerName = this.defaultAuthorizerName;\n\t\t}\n\n\t\t// Set auditor storage if configured\n\t\tif (this.defaultAuditorStorage) {\n\t\t\tbuilder._setAuditorStorage(this.defaultAuditorStorage as any);\n\t\t}\n\n\t\t// Set database service if configured\n\t\tif (this.defaultDatabaseService) {\n\t\t\tbuilder._setDatabaseService(this.defaultDatabaseService as any);\n\t\t}\n\n\t\t// Set actor extractor if configured\n\t\tif (this.defaultActorExtractor) {\n\t\t\tbuilder._actorExtractor = this.defaultActorExtractor;\n\t\t}\n\n\t\t// Set custom security schemes\n\t\tbuilder._customSecuritySchemes = this.customSecuritySchemes;\n\n\t\t// Set RLS config if configured\n\t\tif (this.defaultRlsConfig) {\n\t\t\tbuilder._rlsConfig = this.defaultRlsConfig as any;\n\t\t}\n\n\t\treturn builder;\n\t}\n\n\tpost<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('POST', path);\n\t}\n\n\tget<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('GET', path);\n\t}\n\n\tput<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PUT', path);\n\t}\n\n\tdelete<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('DELETE', path);\n\t}\n\n\tpatch<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PATCH', path);\n\t}\n\n\toptions<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('OPTIONS', path);\n\t}\n}\n\nexport type RemoveTrailingSlash<T extends string> = T extends `${infer Rest}/`\n\t? Rest extends ''\n\t\t? T // Keep \"/\" as is\n\t\t: Rest\n\t: T;\n\nexport type JoinPaths<\n\tTBasePath extends string,\n\tTPath extends string,\n> = RemoveTrailingSlash<\n\tTBasePath extends ''\n\t\t? TPath\n\t\t: TPath extends ''\n\t\t\t? TBasePath\n\t\t\t: TBasePath extends '/'\n\t\t\t\t? TPath extends `/${string}`\n\t\t\t\t\t? TPath\n\t\t\t\t\t: `/${TPath}`\n\t\t\t\t: TBasePath extends `${infer Base}/`\n\t\t\t\t\t? TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${Base}/${Rest}`\n\t\t\t\t\t\t: `${Base}/${TPath}`\n\t\t\t\t\t: TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${TBasePath}/${Rest}`\n\t\t\t\t\t\t: `${TBasePath}/${TPath}`\n>;\n\nexport interface EndpointFactoryOptions<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tdefaultServices?: TServices;\n\tbasePath?: TBasePath;\n\tdefaultAuthorizeFn?: AuthorizeFn<\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tundefined,\n\t\tTDatabase\n\t>;\n\tdefaultLogger?: TLogger;\n\tdefaultSessionExtractor?: SessionFn<TServices, TLogger, TSession, TDatabase>;\n\tdefaultEventPublisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\tdefaultEvents?: MappedEvent<TEventPublisher, undefined>[];\n\tavailableAuthorizers?: Authorizer[];\n\tdefaultAuthorizerName?: TAuthorizers[number];\n\tdefaultAuditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;\n\tdefaultDatabaseService?: Service<TDatabaseServiceName, TDatabase>;\n\tdefaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tcustomSecuritySchemes?: TSecuritySchemes;\n\tdefaultRlsConfig?: TRlsConfig;\n}\n\nexport const e = new EndpointFactory();\n"],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- import { Construct, ConstructType } from "./Construct-CX7HyFfT.cjs";
2
- import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
3
- import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
- import { Logger } from "@geekmidas/logger";
5
- import { Service, ServiceRecord } from "@geekmidas/services";
6
- import { StandardSchemaV1 } from "@standard-schema/spec";
7
- import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
8
-
9
- //#region src/functions/Function.d.ts
10
- declare class FunctionFactory<TServices extends Service[] = [], TLogger extends Logger = Logger> {
11
- private defaultLogger;
12
- private defaultServices;
13
- constructor(defaultServices: TServices, defaultLogger?: TLogger);
14
- services<S extends Service[]>(services: S): FunctionFactory<[...S, ...TServices], TLogger>;
15
- logger<L extends Logger>(logger: L): FunctionFactory<TServices, L>;
16
- }
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
- readonly fn: Fn;
19
- input?: TInput | undefined;
20
- databaseService?: Service<TDatabaseServiceName, TDatabase> | undefined;
21
- __IS_FUNCTION__: boolean;
22
- static isFunction(obj: any): obj is Function<any, any, any, any, any>;
23
- /**
24
- * Validates data against a StandardSchema.
25
- *
26
- * @param schema - The StandardSchema to validate against
27
- * @param data - The data to validate
28
- * @returns Validation result with value or issues
29
- */
30
- static validate<T extends StandardSchemaV1>(schema: T, data: unknown): StandardSchemaV1.Result<unknown> | Promise<StandardSchemaV1.Result<unknown>>;
31
- /**
32
- * Parses and validates data against a schema, throwing an error if validation fails.
33
- *
34
- * @param schema - The StandardSchema to validate against
35
- * @param data - The data to parse and validate
36
- * @returns The validated data with proper typing
37
- * @throws {UnprocessableEntityError} When validation fails
38
- */
39
- static parseSchema<T extends StandardSchemaV1>(schema: T, data: unknown): Promise<InferStandardSchema<T>>;
40
- /**
41
- * Parses and validates the endpoint output against the output schema.
42
- *
43
- * @param output - The raw output data to validate
44
- * @returns The validated output data
45
- * @throws {UnprocessableEntityError} When output validation fails
46
- */
47
- parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>>;
48
- constructor(fn: Fn, timeout?: number,
49
- // Default timeout of 30 seconds
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
- }
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
- /**
54
- * Conditional type that adds `db` property only when TDatabase is configured.
55
- */
56
- type DatabaseContext<TDatabase> = TDatabase extends undefined ? {} : {
57
- db: TDatabase;
58
- };
59
- /**
60
- * Conditional auditor context - only present when audit storage is configured.
61
- */
62
- type AuditorContext<TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TAuditStorage = undefined> = TAuditStorage extends undefined ? {} : {
63
- /**
64
- * Auditor instance for recording audit events.
65
- * Only present when audit storage is configured on the function.
66
- */
67
- auditor: Auditor<TAuditAction>;
68
- };
69
- type FunctionContext<Input extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TDatabase = undefined, TAuditStorage extends AuditStorage | undefined = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = {
70
- services: ServiceRecord<TServices>;
71
- logger: TLogger;
72
- input: InferComposableStandardSchema<Input>;
73
- } & DatabaseContext<TDatabase> & AuditorContext<TAuditAction, TAuditStorage>;
74
- //#endregion
75
- export { Function, FunctionContext, FunctionFactory, FunctionHandler };
76
- //# sourceMappingURL=Function-CwlB89lS.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Function-CwlB89lS.d.cts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":"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"}