@geekmidas/constructs 3.0.7 → 3.0.9

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 (467) hide show
  1. package/CHANGELOG.md +15 -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-CE7qHX5S.d.cts} +143 -28
  11. package/dist/Endpoint-CE7qHX5S.d.cts.map +1 -0
  12. package/dist/{Endpoint-BET0JSZK.d.mts → Endpoint-NvjIednd.d.mts} +143 -28
  13. package/dist/Endpoint-NvjIednd.d.mts.map +1 -0
  14. package/dist/{HonoEndpointAdaptor-B5fKdLi7.cjs → HonoEndpointAdaptor-Dl8BW_9u.cjs} +91 -25
  15. package/dist/HonoEndpointAdaptor-Dl8BW_9u.cjs.map +1 -0
  16. package/dist/{HonoEndpointAdaptor-DOUODM7n.mjs → HonoEndpointAdaptor-nHYMdbBi.mjs} +74 -8
  17. package/dist/HonoEndpointAdaptor-nHYMdbBi.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 +742 -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 +739 -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 +44 -7
  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 +741 -23
  53. package/dist/endpoints/index.cjs.map +1 -1
  54. package/dist/endpoints/index.d.cts +336 -14
  55. package/dist/endpoints/index.d.cts.map +1 -1
  56. package/dist/endpoints/index.d.mts +335 -14
  57. package/dist/endpoints/index.d.mts.map +1 -1
  58. package/dist/endpoints/index.mjs +730 -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-5h-aWohM.mjs +1894 -0
  77. package/dist/lazyAccessors-5h-aWohM.mjs.map +1 -0
  78. package/dist/lazyAccessors-Bc1u42WC.cjs +1971 -0
  79. package/dist/lazyAccessors-Bc1u42WC.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 +12 -12
  103. package/src/Construct.ts +26 -8
  104. package/src/__tests__/Construct.environment.spec.ts +123 -0
  105. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +23 -4
  106. package/src/endpoints/Endpoint.ts +14 -1
  107. package/src/endpoints/EndpointBuilder.ts +25 -0
  108. package/src/endpoints/HonoEndpointAdaptor.ts +24 -1
  109. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.responseType.spec.ts +111 -0
  110. package/src/endpoints/__tests__/Endpoint.spec.ts +29 -0
  111. package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +47 -0
  112. package/src/endpoints/__tests__/HonoEndpointAdaptor.responseType.spec.ts +128 -0
  113. package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +1 -9
  114. package/tsdown.config.ts +30 -1
  115. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts +0 -32
  116. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts.map +0 -1
  117. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs +0 -120
  118. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs.map +0 -1
  119. package/dist/AWSLambdaFunction-DJiCAPAf.mjs +0 -114
  120. package/dist/AWSLambdaFunction-DJiCAPAf.mjs.map +0 -1
  121. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts +0 -32
  122. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts.map +0 -1
  123. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts +0 -36
  124. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts.map +0 -1
  125. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts +0 -36
  126. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts.map +0 -1
  127. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs +0 -172
  128. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs.map +0 -1
  129. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs +0 -178
  130. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs.map +0 -1
  131. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs +0 -277
  132. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs.map +0 -1
  133. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs +0 -271
  134. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs.map +0 -1
  135. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts +0 -124
  136. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts.map +0 -1
  137. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts +0 -124
  138. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts.map +0 -1
  139. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts +0 -23
  140. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts.map +0 -1
  141. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs +0 -42
  142. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs.map +0 -1
  143. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs +0 -47
  144. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs.map +0 -1
  145. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts +0 -23
  146. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts.map +0 -1
  147. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs +0 -48
  148. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs.map +0 -1
  149. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts +0 -22
  150. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts.map +0 -1
  151. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts +0 -22
  152. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts.map +0 -1
  153. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs +0 -42
  154. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs.map +0 -1
  155. package/dist/Authorizer-BZ1LcZFt.cjs +0 -92
  156. package/dist/Authorizer-BZ1LcZFt.cjs.map +0 -1
  157. package/dist/Authorizer-C5_FC_Rq.d.mts +0 -126
  158. package/dist/Authorizer-C5_FC_Rq.d.mts.map +0 -1
  159. package/dist/Authorizer-CZpg1Jqk.mjs +0 -68
  160. package/dist/Authorizer-CZpg1Jqk.mjs.map +0 -1
  161. package/dist/Authorizer-DWtwC8we.d.cts +0 -126
  162. package/dist/Authorizer-DWtwC8we.d.cts.map +0 -1
  163. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts +0 -42
  164. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts.map +0 -1
  165. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs +0 -70
  166. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs.map +0 -1
  167. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs +0 -76
  168. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs.map +0 -1
  169. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts +0 -42
  170. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts.map +0 -1
  171. package/dist/Construct-BXG8cFSm.cjs.map +0 -1
  172. package/dist/Construct-CQ9zV58W.mjs.map +0 -1
  173. package/dist/Construct-CX7HyFfT.d.cts.map +0 -1
  174. package/dist/Construct.cjs +0 -6
  175. package/dist/Construct.d.cts +0 -2
  176. package/dist/Construct.d.mts +0 -2
  177. package/dist/Construct.mjs +0 -3
  178. package/dist/Cron-BljK1gsV.d.mts +0 -26
  179. package/dist/Cron-BljK1gsV.d.mts.map +0 -1
  180. package/dist/Cron-C1vyfJ8B.cjs +0 -25
  181. package/dist/Cron-C1vyfJ8B.cjs.map +0 -1
  182. package/dist/Cron-CjWQEad0.mjs +0 -20
  183. package/dist/Cron-CjWQEad0.mjs.map +0 -1
  184. package/dist/Cron-CllHkk3z.d.cts +0 -26
  185. package/dist/Cron-CllHkk3z.d.cts.map +0 -1
  186. package/dist/CronBuilder-CAJFtnmZ.mjs +0 -68
  187. package/dist/CronBuilder-CAJFtnmZ.mjs.map +0 -1
  188. package/dist/CronBuilder-CG54f9LM.d.mts +0 -32
  189. package/dist/CronBuilder-CG54f9LM.d.mts.map +0 -1
  190. package/dist/CronBuilder-CSMd02lu.cjs +0 -74
  191. package/dist/CronBuilder-CSMd02lu.cjs.map +0 -1
  192. package/dist/CronBuilder-i23l40xs.d.cts +0 -32
  193. package/dist/CronBuilder-i23l40xs.d.cts.map +0 -1
  194. package/dist/Endpoint-BET0JSZK.d.mts.map +0 -1
  195. package/dist/Endpoint-BcxvF4F3.cjs +0 -440
  196. package/dist/Endpoint-BcxvF4F3.cjs.map +0 -1
  197. package/dist/Endpoint-CGdCGJkC.d.cts.map +0 -1
  198. package/dist/Endpoint-DvY3aqAy.mjs +0 -422
  199. package/dist/Endpoint-DvY3aqAy.mjs.map +0 -1
  200. package/dist/EndpointBuilder-6kdrQyIh.d.mts +0 -146
  201. package/dist/EndpointBuilder-6kdrQyIh.d.mts.map +0 -1
  202. package/dist/EndpointBuilder-CSwIguiR.d.cts +0 -146
  203. package/dist/EndpointBuilder-CSwIguiR.d.cts.map +0 -1
  204. package/dist/EndpointBuilder-EptJojG9.cjs +0 -268
  205. package/dist/EndpointBuilder-EptJojG9.cjs.map +0 -1
  206. package/dist/EndpointBuilder-iDpnACRb.mjs +0 -262
  207. package/dist/EndpointBuilder-iDpnACRb.mjs.map +0 -1
  208. package/dist/EndpointFactory-CBagQW5j.d.mts +0 -142
  209. package/dist/EndpointFactory-CBagQW5j.d.mts.map +0 -1
  210. package/dist/EndpointFactory-D2QxeaAh.cjs +0 -393
  211. package/dist/EndpointFactory-D2QxeaAh.cjs.map +0 -1
  212. package/dist/EndpointFactory-DQYSH8XK.d.cts +0 -142
  213. package/dist/EndpointFactory-DQYSH8XK.d.cts.map +0 -1
  214. package/dist/EndpointFactory-wgcqWod-.mjs +0 -381
  215. package/dist/EndpointFactory-wgcqWod-.mjs.map +0 -1
  216. package/dist/Function-CwlB89lS.d.cts +0 -76
  217. package/dist/Function-CwlB89lS.d.cts.map +0 -1
  218. package/dist/Function-D74HrBnX.d.mts +0 -76
  219. package/dist/Function-D74HrBnX.d.mts.map +0 -1
  220. package/dist/Function-DgQ_no6B.cjs +0 -84
  221. package/dist/Function-DgQ_no6B.cjs.map +0 -1
  222. package/dist/Function-xfQbftdE.mjs +0 -72
  223. package/dist/Function-xfQbftdE.mjs.map +0 -1
  224. package/dist/FunctionBuilder-CBeqX18X.mjs +0 -80
  225. package/dist/FunctionBuilder-CBeqX18X.mjs.map +0 -1
  226. package/dist/FunctionBuilder-C_qPxC8g.d.mts +0 -40
  227. package/dist/FunctionBuilder-C_qPxC8g.d.mts.map +0 -1
  228. package/dist/FunctionBuilder-C_xG9As7.cjs +0 -86
  229. package/dist/FunctionBuilder-C_xG9As7.cjs.map +0 -1
  230. package/dist/FunctionBuilder-D_7f5MfS.d.cts +0 -40
  231. package/dist/FunctionBuilder-D_7f5MfS.d.cts.map +0 -1
  232. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs +0 -101
  233. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs.map +0 -1
  234. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts +0 -50
  235. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts.map +0 -1
  236. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs +0 -107
  237. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs.map +0 -1
  238. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts +0 -50
  239. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts.map +0 -1
  240. package/dist/HonoEndpointAdaptor-B5fKdLi7.cjs.map +0 -1
  241. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts +0 -50
  242. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts.map +0 -1
  243. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts +0 -50
  244. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts.map +0 -1
  245. package/dist/HonoEndpointAdaptor-DOUODM7n.mjs.map +0 -1
  246. package/dist/MswEndpointAdaptor-B41INCc7.mjs +0 -108
  247. package/dist/MswEndpointAdaptor-B41INCc7.mjs.map +0 -1
  248. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs +0 -120
  249. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs.map +0 -1
  250. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts +0 -101
  251. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts.map +0 -1
  252. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts +0 -101
  253. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts.map +0 -1
  254. package/dist/Subscriber-9ObcUdcC.d.mts.map +0 -1
  255. package/dist/Subscriber-BH76wgkL.mjs +0 -28
  256. package/dist/Subscriber-BH76wgkL.mjs.map +0 -1
  257. package/dist/Subscriber-BgspJeS4.cjs +0 -34
  258. package/dist/Subscriber-BgspJeS4.cjs.map +0 -1
  259. package/dist/SubscriberBuilder-B4md5wzs.mjs +0 -54
  260. package/dist/SubscriberBuilder-B4md5wzs.mjs.map +0 -1
  261. package/dist/SubscriberBuilder-Be7WBbCL.d.cts +0 -28
  262. package/dist/SubscriberBuilder-Be7WBbCL.d.cts.map +0 -1
  263. package/dist/SubscriberBuilder-BtL22ZJ9.cjs +0 -60
  264. package/dist/SubscriberBuilder-BtL22ZJ9.cjs.map +0 -1
  265. package/dist/SubscriberBuilder-DsfIkgTF.d.mts +0 -28
  266. package/dist/SubscriberBuilder-DsfIkgTF.d.mts.map +0 -1
  267. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs +0 -174
  268. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs.map +0 -1
  269. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts +0 -45
  270. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts.map +0 -1
  271. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs +0 -180
  272. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs.map +0 -1
  273. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts +0 -45
  274. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts.map +0 -1
  275. package/dist/TestFunctionAdaptor-B859kIeb.cjs +0 -81
  276. package/dist/TestFunctionAdaptor-B859kIeb.cjs.map +0 -1
  277. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts +0 -30
  278. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts.map +0 -1
  279. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs +0 -75
  280. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs.map +0 -1
  281. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts +0 -30
  282. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts.map +0 -1
  283. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts +0 -26
  284. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts.map +0 -1
  285. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts +0 -26
  286. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts.map +0 -1
  287. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs +0 -51
  288. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs.map +0 -1
  289. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs +0 -57
  290. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs.map +0 -1
  291. package/dist/chunk-CUT6urMc.cjs +0 -30
  292. package/dist/crons/Cron.cjs +0 -8
  293. package/dist/crons/Cron.d.cts +0 -7
  294. package/dist/crons/Cron.d.mts +0 -7
  295. package/dist/crons/Cron.mjs +0 -8
  296. package/dist/crons/CronBuilder.cjs +0 -9
  297. package/dist/crons/CronBuilder.d.cts +0 -8
  298. package/dist/crons/CronBuilder.d.mts +0 -8
  299. package/dist/crons/CronBuilder.mjs +0 -9
  300. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +0 -11
  301. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +0 -11
  302. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +0 -11
  303. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +0 -11
  304. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +0 -13
  305. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +0 -12
  306. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +0 -12
  307. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +0 -13
  308. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +0 -13
  309. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +0 -12
  310. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +0 -12
  311. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +0 -13
  312. package/dist/endpoints/Authorizer.cjs +0 -6
  313. package/dist/endpoints/Authorizer.d.cts +0 -2
  314. package/dist/endpoints/Authorizer.d.mts +0 -2
  315. package/dist/endpoints/Authorizer.mjs +0 -3
  316. package/dist/endpoints/Endpoint.cjs +0 -10
  317. package/dist/endpoints/Endpoint.d.cts +0 -9
  318. package/dist/endpoints/Endpoint.d.mts +0 -9
  319. package/dist/endpoints/Endpoint.mjs +0 -8
  320. package/dist/endpoints/EndpointBuilder.cjs +0 -11
  321. package/dist/endpoints/EndpointBuilder.d.cts +0 -10
  322. package/dist/endpoints/EndpointBuilder.d.mts +0 -10
  323. package/dist/endpoints/EndpointBuilder.mjs +0 -11
  324. package/dist/endpoints/EndpointFactory.cjs +0 -13
  325. package/dist/endpoints/EndpointFactory.d.cts +0 -11
  326. package/dist/endpoints/EndpointFactory.d.mts +0 -11
  327. package/dist/endpoints/EndpointFactory.mjs +0 -12
  328. package/dist/endpoints/HonoEndpointAdaptor.cjs +0 -14
  329. package/dist/endpoints/HonoEndpointAdaptor.d.cts +0 -10
  330. package/dist/endpoints/HonoEndpointAdaptor.d.mts +0 -10
  331. package/dist/endpoints/HonoEndpointAdaptor.mjs +0 -14
  332. package/dist/endpoints/MswEndpointAdaptor.cjs +0 -16
  333. package/dist/endpoints/MswEndpointAdaptor.d.cts +0 -10
  334. package/dist/endpoints/MswEndpointAdaptor.d.mts +0 -10
  335. package/dist/endpoints/MswEndpointAdaptor.mjs +0 -15
  336. package/dist/endpoints/TestEndpointAdaptor.cjs +0 -12
  337. package/dist/endpoints/TestEndpointAdaptor.d.cts +0 -10
  338. package/dist/endpoints/TestEndpointAdaptor.d.mts +0 -10
  339. package/dist/endpoints/TestEndpointAdaptor.mjs +0 -12
  340. package/dist/endpoints/audit.cjs +0 -0
  341. package/dist/endpoints/audit.d.cts +0 -9
  342. package/dist/endpoints/audit.d.mts +0 -9
  343. package/dist/endpoints/audit.mjs +0 -0
  344. package/dist/endpoints/helpers.cjs +0 -10
  345. package/dist/endpoints/helpers.d.cts +0 -60
  346. package/dist/endpoints/helpers.d.cts.map +0 -1
  347. package/dist/endpoints/helpers.d.mts +0 -60
  348. package/dist/endpoints/helpers.d.mts.map +0 -1
  349. package/dist/endpoints/helpers.mjs +0 -9
  350. package/dist/endpoints/lazyAccessors.cjs +0 -10
  351. package/dist/endpoints/lazyAccessors.d.cts +0 -10
  352. package/dist/endpoints/lazyAccessors.d.mts +0 -10
  353. package/dist/endpoints/lazyAccessors.mjs +0 -3
  354. package/dist/endpoints/parseHonoQuery.cjs +0 -3
  355. package/dist/endpoints/parseHonoQuery.d.cts +0 -14
  356. package/dist/endpoints/parseHonoQuery.d.cts.map +0 -1
  357. package/dist/endpoints/parseHonoQuery.d.mts +0 -14
  358. package/dist/endpoints/parseHonoQuery.d.mts.map +0 -1
  359. package/dist/endpoints/parseHonoQuery.mjs +0 -3
  360. package/dist/endpoints/parseQueryParams.cjs +0 -3
  361. package/dist/endpoints/parseQueryParams.d.cts +0 -14
  362. package/dist/endpoints/parseQueryParams.d.cts.map +0 -1
  363. package/dist/endpoints/parseQueryParams.d.mts +0 -14
  364. package/dist/endpoints/parseQueryParams.d.mts.map +0 -1
  365. package/dist/endpoints/parseQueryParams.mjs +0 -3
  366. package/dist/endpoints/processAudits.cjs +0 -5
  367. package/dist/endpoints/processAudits.d.cts +0 -95
  368. package/dist/endpoints/processAudits.d.cts.map +0 -1
  369. package/dist/endpoints/processAudits.d.mts +0 -95
  370. package/dist/endpoints/processAudits.d.mts.map +0 -1
  371. package/dist/endpoints/processAudits.mjs +0 -3
  372. package/dist/endpoints/rls.cjs +0 -3
  373. package/dist/endpoints/rls.d.cts +0 -9
  374. package/dist/endpoints/rls.d.mts +0 -9
  375. package/dist/endpoints/rls.mjs +0 -3
  376. package/dist/functions/AWSLambdaFunction.cjs +0 -9
  377. package/dist/functions/AWSLambdaFunction.d.cts +0 -5
  378. package/dist/functions/AWSLambdaFunction.d.mts +0 -5
  379. package/dist/functions/AWSLambdaFunction.mjs +0 -9
  380. package/dist/functions/BaseFunctionBuilder.cjs +0 -4
  381. package/dist/functions/BaseFunctionBuilder.d.cts +0 -3
  382. package/dist/functions/BaseFunctionBuilder.d.mts +0 -3
  383. package/dist/functions/BaseFunctionBuilder.mjs +0 -4
  384. package/dist/functions/Function.cjs +0 -5
  385. package/dist/functions/Function.d.cts +0 -3
  386. package/dist/functions/Function.d.mts +0 -3
  387. package/dist/functions/Function.mjs +0 -4
  388. package/dist/functions/FunctionBuilder.cjs +0 -6
  389. package/dist/functions/FunctionBuilder.d.cts +0 -5
  390. package/dist/functions/FunctionBuilder.d.mts +0 -5
  391. package/dist/functions/FunctionBuilder.mjs +0 -6
  392. package/dist/functions/FunctionExecutionWrapper.cjs +0 -8
  393. package/dist/functions/FunctionExecutionWrapper.d.cts +0 -4
  394. package/dist/functions/FunctionExecutionWrapper.d.mts +0 -4
  395. package/dist/functions/FunctionExecutionWrapper.mjs +0 -8
  396. package/dist/functions/TestFunctionAdaptor.cjs +0 -8
  397. package/dist/functions/TestFunctionAdaptor.d.cts +0 -4
  398. package/dist/functions/TestFunctionAdaptor.d.mts +0 -4
  399. package/dist/functions/TestFunctionAdaptor.mjs +0 -8
  400. package/dist/functions-B1mrMoUH.mjs +0 -8
  401. package/dist/functions-B1mrMoUH.mjs.map +0 -1
  402. package/dist/functions-rOD3pXQd.cjs +0 -13
  403. package/dist/functions-rOD3pXQd.cjs.map +0 -1
  404. package/dist/helpers-BYyX0qTA.cjs +0 -95
  405. package/dist/helpers-BYyX0qTA.cjs.map +0 -1
  406. package/dist/helpers-BtwC2IW8.mjs +0 -83
  407. package/dist/helpers-BtwC2IW8.mjs.map +0 -1
  408. package/dist/index-BfeupgMl.d.cts +0 -12
  409. package/dist/index-BfeupgMl.d.cts.map +0 -1
  410. package/dist/index-Cg2UDz1r.d.mts +0 -12
  411. package/dist/index-Cg2UDz1r.d.mts.map +0 -1
  412. package/dist/lazyAccessors-BVEtB9lU.cjs +0 -223
  413. package/dist/lazyAccessors-BVEtB9lU.cjs.map +0 -1
  414. package/dist/lazyAccessors-Bxy5DBp4.d.cts +0 -49
  415. package/dist/lazyAccessors-Bxy5DBp4.d.cts.map +0 -1
  416. package/dist/lazyAccessors-CWFdtzSR.d.mts +0 -49
  417. package/dist/lazyAccessors-CWFdtzSR.d.mts.map +0 -1
  418. package/dist/lazyAccessors-DM6HcXQk.mjs +0 -175
  419. package/dist/lazyAccessors-DM6HcXQk.mjs.map +0 -1
  420. package/dist/parseHonoQuery-BBs8CX-H.cjs +0 -24
  421. package/dist/parseHonoQuery-BBs8CX-H.cjs.map +0 -1
  422. package/dist/parseHonoQuery-Cp8CII0P.mjs +0 -18
  423. package/dist/parseHonoQuery-Cp8CII0P.mjs.map +0 -1
  424. package/dist/parseQueryParams-B4RK1za3.cjs +0 -31
  425. package/dist/parseQueryParams-B4RK1za3.cjs.map +0 -1
  426. package/dist/parseQueryParams-DS3Qmrbd.mjs +0 -25
  427. package/dist/parseQueryParams-DS3Qmrbd.mjs.map +0 -1
  428. package/dist/processAudits-CzHkPokQ.cjs +0 -180
  429. package/dist/processAudits-CzHkPokQ.cjs.map +0 -1
  430. package/dist/processAudits-Dj8UGqcW.mjs +0 -162
  431. package/dist/processAudits-Dj8UGqcW.mjs.map +0 -1
  432. package/dist/publisher-BUDHcaz3.d.cts +0 -16
  433. package/dist/publisher-BUDHcaz3.d.cts.map +0 -1
  434. package/dist/publisher-Bw4770Hi.mjs +0 -41
  435. package/dist/publisher-Bw4770Hi.mjs.map +0 -1
  436. package/dist/publisher-DXglijK_.d.mts +0 -16
  437. package/dist/publisher-DXglijK_.d.mts.map +0 -1
  438. package/dist/publisher-lFQleddL.cjs +0 -53
  439. package/dist/publisher-lFQleddL.cjs.map +0 -1
  440. package/dist/publisher.cjs +0 -4
  441. package/dist/publisher.d.cts +0 -3
  442. package/dist/publisher.d.mts +0 -3
  443. package/dist/publisher.mjs +0 -3
  444. package/dist/rls-C0r4UKVm.mjs +0 -9
  445. package/dist/rls-C0r4UKVm.mjs.map +0 -1
  446. package/dist/rls-Cfb6w-tQ.cjs +0 -15
  447. package/dist/rls-Cfb6w-tQ.cjs.map +0 -1
  448. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +0 -3
  449. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +0 -4
  450. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +0 -4
  451. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +0 -3
  452. package/dist/subscribers/Subscriber.cjs +0 -4
  453. package/dist/subscribers/Subscriber.d.cts +0 -3
  454. package/dist/subscribers/Subscriber.d.mts +0 -3
  455. package/dist/subscribers/Subscriber.mjs +0 -4
  456. package/dist/subscribers/SubscriberBuilder.cjs +0 -5
  457. package/dist/subscribers/SubscriberBuilder.d.cts +0 -4
  458. package/dist/subscribers/SubscriberBuilder.d.mts +0 -4
  459. package/dist/subscribers/SubscriberBuilder.mjs +0 -5
  460. package/dist/subscribers/TestSubscriberAdaptor.cjs +0 -4
  461. package/dist/subscribers/TestSubscriberAdaptor.d.cts +0 -4
  462. package/dist/subscribers/TestSubscriberAdaptor.d.mts +0 -4
  463. package/dist/subscribers/TestSubscriberAdaptor.mjs +0 -4
  464. package/dist/telemetry.cjs +0 -0
  465. package/dist/telemetry.d.cts +0 -2
  466. package/dist/telemetry.d.mts +0 -2
  467. package/dist/telemetry.mjs +0 -0
@@ -1,262 +0,0 @@
1
- import { ConstructType } from "./Construct-CQ9zV58W.mjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-C3rQMoWb.mjs";
3
- import { Endpoint } from "./Endpoint-DvY3aqAy.mjs";
4
- import { getSecurityScheme } from "./Authorizer-CZpg1Jqk.mjs";
5
- import { RLS_BYPASS } from "./rls-C0r4UKVm.mjs";
6
- import uniqBy from "lodash.uniqby";
7
-
8
- //#region src/endpoints/EndpointBuilder.ts
9
- var EndpointBuilder = class extends BaseFunctionBuilder {
10
- schemas = {};
11
- _description;
12
- _status;
13
- _tags;
14
- _memorySize;
15
- _getSession = () => ({});
16
- _authorize = () => true;
17
- _rateLimit;
18
- _availableAuthorizers = [];
19
- _authorizerName;
20
- _actorExtractor;
21
- _audits = [];
22
- _customSecuritySchemes = {};
23
- _rlsConfig;
24
- _rlsBypass;
25
- constructor(route, method) {
26
- super(ConstructType.Endpoint);
27
- this.route = route;
28
- this.method = method;
29
- }
30
- _setPublisher(publisher) {
31
- this._publisher = publisher;
32
- }
33
- _setAuditorStorage(storage) {
34
- this._auditorStorage = storage;
35
- }
36
- _setDatabaseService(service) {
37
- this._databaseService = service;
38
- }
39
- description(description) {
40
- this._description = description;
41
- return this;
42
- }
43
- status(status) {
44
- this._status = status;
45
- return this;
46
- }
47
- event(event) {
48
- this._events.push(event);
49
- return this;
50
- }
51
- tags(tags) {
52
- this._tags = tags;
53
- return this;
54
- }
55
- memorySize(memorySize) {
56
- this._memorySize = memorySize;
57
- return this;
58
- }
59
- publisher(publisher) {
60
- this._publisher = publisher;
61
- return this;
62
- }
63
- body(schema) {
64
- this.schemas.body = schema;
65
- return this;
66
- }
67
- search(schema) {
68
- this.schemas.query = schema;
69
- return this;
70
- }
71
- query(schema) {
72
- return this.search(schema);
73
- }
74
- params(schema) {
75
- this.schemas.params = schema;
76
- return this;
77
- }
78
- authorize(fn) {
79
- this._authorize = fn;
80
- return this;
81
- }
82
- rateLimit(config) {
83
- this._rateLimit = config;
84
- return this;
85
- }
86
- authorizer(name) {
87
- if (name === "none") {
88
- this._authorizerName = void 0;
89
- return this;
90
- }
91
- const authorizerExists = this._availableAuthorizers.some((a) => a.name === name);
92
- if (!authorizerExists && this._availableAuthorizers.length > 0) {
93
- const available = this._availableAuthorizers.map((a) => a.name).join(", ");
94
- throw new Error(`Authorizer "${name}" not found in available authorizers: ${available}`);
95
- }
96
- this._authorizerName = name;
97
- return this;
98
- }
99
- services(services) {
100
- this._services = uniqBy([...this._services, ...services], (s) => s.serviceName);
101
- return this;
102
- }
103
- logger(logger) {
104
- this._logger = logger;
105
- return this;
106
- }
107
- output(schema) {
108
- this.outputSchema = schema;
109
- return this;
110
- }
111
- /**
112
- * Set the auditor storage service for this endpoint.
113
- * This enables audit functionality and makes `auditor` available in the handler context.
114
- * The audit action type is automatically inferred from the storage's generic parameter.
115
- */
116
- auditor(storage) {
117
- this._auditorStorage = storage;
118
- return this;
119
- }
120
- /**
121
- * Set the actor extractor function for audit records.
122
- * The actor is extracted from the request context and attached to all audits.
123
- */
124
- actor(extractor) {
125
- this._actorExtractor = extractor;
126
- return this;
127
- }
128
- /**
129
- * Add declarative audit definitions that are processed after the handler executes.
130
- * Similar to `.event()` for events, but for audits.
131
- *
132
- * @example
133
- * ```typescript
134
- * .audit<AppAuditAction>([
135
- * {
136
- * type: 'user.created',
137
- * payload: (response) => ({ userId: response.id, email: response.email }),
138
- * when: (response) => response.active,
139
- * entityId: (response) => response.id,
140
- * table: 'users',
141
- * },
142
- * ])
143
- * ```
144
- */
145
- audit(audits) {
146
- this._audits = audits;
147
- return this;
148
- }
149
- /**
150
- * Set the database service for this endpoint.
151
- * The database will be available in the handler context as `db`.
152
- * When audit storage is configured and uses the same database,
153
- * `db` will automatically be the transaction for ACID compliance.
154
- *
155
- * @example
156
- * ```typescript
157
- * .database(databaseService)
158
- * .handle(async ({ db }) => {
159
- * // db is the raw database or transaction (when auditor uses same db)
160
- * return await db.selectFrom('users').selectAll().execute();
161
- * })
162
- * ```
163
- */
164
- database(service) {
165
- this._databaseService = service;
166
- return this;
167
- }
168
- /**
169
- * Configure RLS (Row-Level Security) context for this endpoint.
170
- * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.
171
- *
172
- * @example
173
- * ```typescript
174
- * // Custom RLS config for this endpoint
175
- * .rls({
176
- * extractor: ({ session }) => ({
177
- * user_id: session.userId,
178
- * tenant_id: session.tenantId,
179
- * }),
180
- * prefix: 'app',
181
- * })
182
- *
183
- * // Bypass RLS (for admin endpoints)
184
- * .rls(false)
185
- * ```
186
- */
187
- rls(config) {
188
- if (config === false || config === RLS_BYPASS) {
189
- this._rlsBypass = true;
190
- this._rlsConfig = void 0;
191
- } else {
192
- this._rlsConfig = config;
193
- this._rlsBypass = false;
194
- }
195
- return this;
196
- }
197
- /**
198
- * Explicitly bypass RLS for this endpoint.
199
- * Useful for admin operations that need unrestricted database access.
200
- *
201
- * @example
202
- * ```typescript
203
- * .rlsBypass()
204
- * .handle(async ({ db }) => {
205
- * // Full access, no RLS filtering
206
- * return db.selectFrom('orders').selectAll().execute();
207
- * })
208
- * ```
209
- */
210
- rlsBypass() {
211
- this._rlsBypass = true;
212
- this._rlsConfig = void 0;
213
- return this;
214
- }
215
- input(_schema) {
216
- throw new Error("EndpointBuilder does not support generic input. Use body(), query(), or params() instead.");
217
- }
218
- handle(fn) {
219
- let authorizer;
220
- if (this._authorizerName) {
221
- const existingAuthorizer = this._availableAuthorizers.find((a) => a.name === this._authorizerName);
222
- if (existingAuthorizer) authorizer = existingAuthorizer;
223
- else {
224
- const securityScheme = getSecurityScheme(this._authorizerName, this._customSecuritySchemes);
225
- authorizer = {
226
- name: this._authorizerName,
227
- securityScheme
228
- };
229
- }
230
- }
231
- return new Endpoint({
232
- fn,
233
- method: this.method,
234
- route: this.route,
235
- description: this._description,
236
- tags: this._tags,
237
- input: this.schemas,
238
- output: this.outputSchema,
239
- services: this._services,
240
- logger: this._logger,
241
- timeout: this._timeout,
242
- memorySize: this._memorySize,
243
- authorize: this._authorize,
244
- status: this._status,
245
- getSession: this._getSession,
246
- rateLimit: this._rateLimit,
247
- publisherService: this._publisher,
248
- events: this._events,
249
- authorizer,
250
- auditorStorageService: this._auditorStorage,
251
- actorExtractor: this._actorExtractor,
252
- audits: this._audits,
253
- databaseService: this._databaseService,
254
- rlsConfig: this._rlsConfig,
255
- rlsBypass: this._rlsBypass
256
- });
257
- }
258
- };
259
-
260
- //#endregion
261
- export { EndpointBuilder };
262
- //# sourceMappingURL=EndpointBuilder-iDpnACRb.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointBuilder-iDpnACRb.mjs","names":["route: TRoute","method: TMethod","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","fn: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","_schema: any","fn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>","authorizer: Authorizer | undefined"],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type {\n\tAuthorizeFn,\n\tEndpointHandler,\n\tSessionFn,\n\tSuccessStatus,\n} from './Endpoint';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n\tTRoute extends string,\n\tTMethod extends HttpMethod,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected schemas: TInput = {} as TInput;\n\tprotected _description?: string;\n\tprotected _status?: SuccessStatus;\n\tprotected _tags?: string[];\n\tprotected _memorySize?: number;\n\t_getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n\t\t({}) as TSession;\n\t_authorize: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase> =\n\t\t() => true;\n\t_rateLimit?: RateLimitConfig;\n\t_availableAuthorizers: Authorizer[] = [];\n\t_authorizerName?: TAuthorizers[number];\n\t_actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\t_audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n\t_customSecuritySchemes: Record<string, SecurityScheme> = {};\n\t_rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n\t_rlsBypass?: boolean;\n\n\tconstructor(\n\t\treadonly route: TRoute,\n\t\treadonly method: TMethod,\n\t) {\n\t\tsuper(ConstructType.Endpoint);\n\t}\n\n\t// Internal setter for EndpointFactory to set default publisher\n\t_setPublisher(\n\t\tpublisher: Service<TEventPublisherServiceName, TEventPublisher>,\n\t) {\n\t\tthis._publisher = publisher;\n\t}\n\n\t// Internal setter for EndpointFactory to set default auditor storage\n\t_setAuditorStorage(\n\t\tstorage: Service<TAuditStorageServiceName, TAuditStorage>,\n\t) {\n\t\tthis._auditorStorage = storage;\n\t}\n\n\t// Internal setter for EndpointFactory to set default database service\n\t_setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n\t\tthis._databaseService = service;\n\t}\n\n\tdescription(description: string): this {\n\t\tthis._description = description;\n\t\treturn this;\n\t}\n\n\tstatus(status: SuccessStatus): this {\n\t\tthis._status = status;\n\t\treturn this;\n\t}\n\n\toverride event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n\t\tevent: TEvent,\n\t): this {\n\t\tthis._events.push(event);\n\t\treturn this;\n\t}\n\n\ttags(tags: string[]): this {\n\t\tthis._tags = tags;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tT,\n\t\tTName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tbody<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'body'> & { body: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.body = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tsearch<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.query = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tquery<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn this.search(schema);\n\t}\n\n\tparams<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'params'> & { params: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.schemas.params = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tauthorize(\n\t\tfn: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>,\n\t): this {\n\t\tthis._authorize = fn;\n\t\treturn this;\n\t}\n\n\trateLimit(config: RateLimitConfig): this {\n\t\tthis._rateLimit = config;\n\t\treturn this;\n\t}\n\n\tauthorizer(\n\t\tname: TAuthorizers[number] | 'none',\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Special case: 'none' explicitly marks endpoint as having no authorizer\n\t\tif (name === 'none') {\n\t\t\tthis._authorizerName = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\t// Validate that the authorizer exists in available authorizers\n\t\tconst authorizerExists = this._availableAuthorizers.some(\n\t\t\t(a) => a.name === name,\n\t\t);\n\t\tif (!authorizerExists && this._availableAuthorizers.length > 0) {\n\t\t\tconst available = this._availableAuthorizers\n\t\t\t\t.map((a) => a.name)\n\t\t\t\t.join(', ');\n\t\t\tthrow new Error(\n\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t);\n\t\t}\n\t\tthis._authorizerName = name;\n\t\treturn this;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the auditor storage service for this endpoint.\n\t * This enables audit functionality and makes `auditor` available in the handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\toverride auditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the actor extractor function for audit records.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._actorExtractor = extractor;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Add declarative audit definitions that are processed after the handler executes.\n\t * Similar to `.event()` for events, but for audits.\n\t *\n\t * @example\n\t * ```typescript\n\t * .audit<AppAuditAction>([\n\t * {\n\t * type: 'user.created',\n\t * payload: (response) => ({ userId: response.id, email: response.email }),\n\t * when: (response) => response.active,\n\t * entityId: (response) => response.id,\n\t * table: 'users',\n\t * },\n\t * ])\n\t * ```\n\t */\n\taudit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n\t\tthis._audits = audits;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Set the database service for this endpoint.\n\t * The database will be available in the handler context as `db`.\n\t * When audit storage is configured and uses the same database,\n\t * `db` will automatically be the transaction for ACID compliance.\n\t *\n\t * @example\n\t * ```typescript\n\t * .database(databaseService)\n\t * .handle(async ({ db }) => {\n\t * // db is the raw database or transaction (when auditor uses same db)\n\t * return await db.selectFrom('users').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n\n\t/**\n\t * Configure RLS (Row-Level Security) context for this endpoint.\n\t * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n\t *\n\t * @example\n\t * ```typescript\n\t * // Custom RLS config for this endpoint\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * })\n\t *\n\t * // Bypass RLS (for admin endpoints)\n\t * .rls(false)\n\t * ```\n\t */\n\trls(\n\t\tconfig: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n\t): this {\n\t\tif (config === false || config === RLS_BYPASS) {\n\t\t\tthis._rlsBypass = true;\n\t\t\tthis._rlsConfig = undefined;\n\t\t} else {\n\t\t\tthis._rlsConfig = config;\n\t\t\tthis._rlsBypass = false;\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Explicitly bypass RLS for this endpoint.\n\t * Useful for admin operations that need unrestricted database access.\n\t *\n\t * @example\n\t * ```typescript\n\t * .rlsBypass()\n\t * .handle(async ({ db }) => {\n\t * // Full access, no RLS filtering\n\t * return db.selectFrom('orders').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\trlsBypass(): this {\n\t\tthis._rlsBypass = true;\n\t\tthis._rlsConfig = undefined;\n\t\treturn this;\n\t}\n\n\t// EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n\tinput(_schema: any): any {\n\t\tthrow new Error(\n\t\t\t'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n\t\t);\n\t}\n\n\thandle(\n\t\tfn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Endpoint<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Find authorizer metadata if name is set\n\t\t// If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n\t\tlet authorizer: Authorizer | undefined;\n\t\tif (this._authorizerName) {\n\t\t\tconst existingAuthorizer = this._availableAuthorizers.find(\n\t\t\t\t(a) => a.name === this._authorizerName,\n\t\t\t);\n\n\t\t\tif (existingAuthorizer) {\n\t\t\t\tauthorizer = existingAuthorizer;\n\t\t\t} else {\n\t\t\t\t// Create authorizer with security scheme if available (built-in or custom)\n\t\t\t\tconst securityScheme = getSecurityScheme(\n\t\t\t\t\tthis._authorizerName as string,\n\t\t\t\t\tthis._customSecuritySchemes,\n\t\t\t\t);\n\t\t\t\tauthorizer = {\n\t\t\t\t\tname: this._authorizerName as string,\n\t\t\t\t\tsecurityScheme,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn new Endpoint({\n\t\t\tfn,\n\t\t\tmethod: this.method,\n\t\t\troute: this.route,\n\t\t\tdescription: this._description,\n\t\t\ttags: this._tags,\n\t\t\tinput: this.schemas,\n\t\t\toutput: this.outputSchema,\n\t\t\tservices: this._services,\n\t\t\tlogger: this._logger,\n\t\t\ttimeout: this._timeout,\n\t\t\tmemorySize: this._memorySize,\n\t\t\tauthorize: this._authorize,\n\t\t\tstatus: this._status,\n\t\t\tgetSession: this._getSession,\n\t\t\trateLimit: this._rateLimit,\n\t\t\tpublisherService: this._publisher,\n\t\t\tevents: this._events,\n\t\t\tauthorizer,\n\t\t\tauditorStorageService: this._auditorStorage,\n\t\t\tactorExtractor: this._actorExtractor,\n\t\t\taudits: this._audits,\n\t\t\tdatabaseService: this._databaseService,\n\t\t\trlsConfig: this._rlsConfig,\n\t\t\trlsBypass: this._rlsBypass,\n\t\t});\n\t}\n}\n"],"mappings":"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"}
@@ -1,142 +0,0 @@
1
- import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-C5_FC_Rq.mjs";
2
- import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-BET0JSZK.mjs";
3
- import { EndpointBuilder } from "./EndpointBuilder-6kdrQyIh.mjs";
4
- import { Service } from "@geekmidas/services";
5
- import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
6
- import { EventPublisher, MappedEvent } from "@geekmidas/events";
7
- import { Logger } from "@geekmidas/logger";
8
-
9
- //#region src/endpoints/EndpointFactory.d.ts
10
-
11
- declare class EndpointFactory<TServices extends Service[] = [], TBasePath extends string = '', TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage<any> | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = ExtractStorageAuditAction<NonNullable<TAuditStorage>>, TDatabase = undefined, TDatabaseServiceName extends string = string, TSecuritySchemes extends Record<string, SecurityScheme> = Record<string, SecurityScheme>, TRlsConfig extends RlsConfig<TServices, TSession, TLogger> | undefined = undefined> {
12
- private defaultServices;
13
- private basePath;
14
- private defaultAuthorizeFn?;
15
- private defaultEventPublisher;
16
- private defaultSessionExtractor?;
17
- private defaultLogger;
18
- private availableAuthorizers;
19
- private defaultAuthorizerName?;
20
- private defaultAuditorStorage;
21
- private defaultDatabaseService;
22
- private defaultActorExtractor?;
23
- private customSecuritySchemes;
24
- private defaultRlsConfig?;
25
- constructor({
26
- basePath,
27
- defaultAuthorizeFn,
28
- defaultLogger,
29
- defaultSessionExtractor,
30
- defaultServices,
31
- defaultEventPublisher,
32
- availableAuthorizers,
33
- defaultAuthorizerName,
34
- defaultAuditorStorage,
35
- defaultDatabaseService,
36
- defaultActorExtractor,
37
- customSecuritySchemes,
38
- defaultRlsConfig
39
- }?: EndpointFactoryOptions<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>);
40
- static joinPaths<TBasePath extends string, P extends string>(path: P, basePath?: TBasePath): JoinPaths<TBasePath, P>;
41
- authorizers<const T extends readonly string[]>(authorizers: T): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, T, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
42
- /**
43
- * Define custom security schemes for this factory.
44
- * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).
45
- *
46
- * @example
47
- * ```typescript
48
- * const router = e.securitySchemes({
49
- * awsIamSigV4: {
50
- * type: 'apiKey',
51
- * in: 'header',
52
- * name: 'Authorization',
53
- * 'x-amazon-apigateway-authtype': 'awsSigv4',
54
- * },
55
- * });
56
- * ```
57
- */
58
- securitySchemes<T extends Record<string, SecurityScheme>>(schemes: T): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes & T, TRlsConfig>;
59
- /**
60
- * Set the default authorizer for all endpoints created from this factory.
61
- * Individual endpoints can override this by calling `.authorizer()` on the builder.
62
- * Use `'none'` to explicitly disable authorization for all endpoints.
63
- *
64
- * Accepts:
65
- * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'
66
- * - Custom security scheme names defined via `.securitySchemes()`
67
- * - 'none' to disable authorization
68
- */
69
- authorizer(name: BuiltInSecuritySchemeId | keyof TSecuritySchemes | TAuthorizers[number] | 'none'): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
70
- route<TPath extends string>(path: TPath): EndpointFactory<TServices, JoinPaths<TBasePath, TPath>, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
71
- authorize(fn: AuthorizeFn<TServices, TLogger, TSession, undefined, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
72
- services<S extends Service[]>(services: S): EndpointFactory<[...S, ...TServices], TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<[...S, ...TServices], TSession, TLogger> | undefined>;
73
- logger<L extends Logger>(logger: L): EndpointFactory<TServices, TBasePath, L, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, TSession, L> | undefined>;
74
- publisher<T extends EventPublisher<any>, TServiceName extends string = string>(publisher: Service<TServiceName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession, T, TServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
75
- session<T>(session: SessionFn<TServices, TLogger, T, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, T, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, T, TLogger> | undefined>;
76
- /**
77
- * Set the database service for endpoints created from this factory.
78
- * The database will be available in handler context as `db`.
79
- */
80
- database<T, TName extends string>(service: Service<TName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, T, TName, TSecuritySchemes, TRlsConfig>;
81
- /**
82
- * Set the auditor storage service for endpoints created from this factory.
83
- * This enables audit functionality and makes `auditor` available in handler context.
84
- * The audit action type is automatically inferred from the storage's generic parameter.
85
- */
86
- auditor<T extends AuditStorage<any>, TName extends string>(storage: Service<TName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, T, TName, ExtractStorageAuditAction<T>, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
87
- /**
88
- * Set the actor extractor function for endpoints created from this factory.
89
- * The actor is extracted from the request context and attached to all audits.
90
- */
91
- actor(extractor: ActorExtractor<TServices, TSession, TLogger>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
92
- /**
93
- * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.
94
- * This enables automatic PostgreSQL session variable setting for RLS policies.
95
- *
96
- * @example
97
- * ```typescript
98
- * const api = new EndpointFactory()
99
- * .database(databaseService)
100
- * .session(extractSession)
101
- * .rls({
102
- * extractor: ({ session }) => ({
103
- * user_id: session.userId,
104
- * tenant_id: session.tenantId,
105
- * }),
106
- * prefix: 'app',
107
- * });
108
- * ```
109
- */
110
- rls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(config: TConfig): EndpointFactory<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TConfig>;
111
- private createBuilder;
112
- post<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "POST", {}, TServices, TLogger, undefined, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
113
- get<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "GET", {}, TServices, TLogger, undefined, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
114
- put<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "PUT", {}, TServices, TLogger, undefined, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
115
- delete<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "DELETE", {}, TServices, TLogger, undefined, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
116
- patch<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "PATCH", {}, TServices, TLogger, undefined, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
117
- options<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "OPTIONS", {}, TServices, TLogger, undefined, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
118
- }
119
- type RemoveTrailingSlash<T extends string> = T extends `${infer Rest}/` ? Rest extends '' ? T : Rest : T;
120
- type JoinPaths<TBasePath extends string, TPath extends string> = RemoveTrailingSlash<TBasePath extends '' ? TPath : TPath extends '' ? TBasePath : TBasePath extends '/' ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest}` ? `${TBasePath}/${Rest}` : `${TBasePath}/${TPath}`>;
121
- interface EndpointFactoryOptions<TServices extends Service[] = [], TBasePath extends string = '', TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TSecuritySchemes extends Record<string, SecurityScheme> = Record<string, SecurityScheme>, TRlsConfig extends RlsConfig<TServices, TSession, TLogger> | undefined = undefined> {
122
- defaultServices?: TServices;
123
- basePath?: TBasePath;
124
- defaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession, undefined, TDatabase>;
125
- defaultLogger?: TLogger;
126
- defaultSessionExtractor?: SessionFn<TServices, TLogger, TSession, TDatabase>;
127
- defaultEventPublisher?: Service<TEventPublisherServiceName, TEventPublisher>;
128
- defaultEvents?: MappedEvent<TEventPublisher, undefined>[];
129
- availableAuthorizers?: Authorizer[];
130
- defaultAuthorizerName?: TAuthorizers[number];
131
- defaultAuditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;
132
- defaultDatabaseService?: Service<TDatabaseServiceName, TDatabase>;
133
- defaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;
134
- customSecuritySchemes?: TSecuritySchemes;
135
- defaultRlsConfig?: TRlsConfig;
136
- }
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
-
140
- //#endregion
141
- export { EndpointFactory, EndpointFactoryOptions, JoinPaths, RemoveTrailingSlash, e };
142
- //# sourceMappingURL=EndpointFactory-CBagQW5j.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointFactory-CBagQW5j.d.mts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}