@webiny/webhooks 6.4.0-beta.1

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 (441) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/admin/SecurityPermission.d.ts +2 -0
  4. package/admin/SecurityPermission.js +15 -0
  5. package/admin/SecurityPermission.js.map +1 -0
  6. package/admin/WebhookRoutes.d.ts +2 -0
  7. package/admin/WebhookRoutes.js +33 -0
  8. package/admin/WebhookRoutes.js.map +1 -0
  9. package/admin/Webhooks.d.ts +2 -0
  10. package/admin/Webhooks.js +53 -0
  11. package/admin/Webhooks.js.map +1 -0
  12. package/admin/features/ListWebhooks/ListWebhooksGateway.d.ts +11 -0
  13. package/admin/features/ListWebhooks/ListWebhooksGateway.js +62 -0
  14. package/admin/features/ListWebhooks/ListWebhooksGateway.js.map +1 -0
  15. package/admin/features/ListWebhooks/ListWebhooksRepository.d.ts +10 -0
  16. package/admin/features/ListWebhooks/ListWebhooksRepository.js +18 -0
  17. package/admin/features/ListWebhooks/ListWebhooksRepository.js.map +1 -0
  18. package/admin/features/ListWebhooks/ListWebhooksUseCase.d.ts +10 -0
  19. package/admin/features/ListWebhooks/ListWebhooksUseCase.js +18 -0
  20. package/admin/features/ListWebhooks/ListWebhooksUseCase.js.map +1 -0
  21. package/admin/features/ListWebhooks/abstractions.d.ts +36 -0
  22. package/admin/features/ListWebhooks/abstractions.js +7 -0
  23. package/admin/features/ListWebhooks/abstractions.js.map +1 -0
  24. package/admin/features/ListWebhooks/feature.d.ts +3 -0
  25. package/admin/features/ListWebhooks/feature.js +21 -0
  26. package/admin/features/ListWebhooks/feature.js.map +1 -0
  27. package/admin/features/ListWebhooks/index.d.ts +2 -0
  28. package/admin/features/ListWebhooks/index.js +2 -0
  29. package/admin/features/createWebhook/CreateWebhookGateway.d.ts +12 -0
  30. package/admin/features/createWebhook/CreateWebhookGateway.js +21 -0
  31. package/admin/features/createWebhook/CreateWebhookGateway.js.map +1 -0
  32. package/admin/features/createWebhook/CreateWebhookUseCase.d.ts +11 -0
  33. package/admin/features/createWebhook/CreateWebhookUseCase.js +18 -0
  34. package/admin/features/createWebhook/CreateWebhookUseCase.js.map +1 -0
  35. package/admin/features/createWebhook/abstractions.d.ts +23 -0
  36. package/admin/features/createWebhook/abstractions.js +6 -0
  37. package/admin/features/createWebhook/abstractions.js.map +1 -0
  38. package/admin/features/createWebhook/feature.d.ts +3 -0
  39. package/admin/features/createWebhook/feature.js +19 -0
  40. package/admin/features/createWebhook/feature.js.map +1 -0
  41. package/admin/features/createWebhook/index.d.ts +2 -0
  42. package/admin/features/createWebhook/index.js +2 -0
  43. package/admin/features/deleteWebhook/DeleteWebhookGateway.d.ts +11 -0
  44. package/admin/features/deleteWebhook/DeleteWebhookGateway.js +23 -0
  45. package/admin/features/deleteWebhook/DeleteWebhookGateway.js.map +1 -0
  46. package/admin/features/deleteWebhook/DeleteWebhookUseCase.d.ts +10 -0
  47. package/admin/features/deleteWebhook/DeleteWebhookUseCase.js +18 -0
  48. package/admin/features/deleteWebhook/DeleteWebhookUseCase.js.map +1 -0
  49. package/admin/features/deleteWebhook/abstractions.d.ts +14 -0
  50. package/admin/features/deleteWebhook/abstractions.js +6 -0
  51. package/admin/features/deleteWebhook/abstractions.js.map +1 -0
  52. package/admin/features/deleteWebhook/feature.d.ts +3 -0
  53. package/admin/features/deleteWebhook/feature.js +19 -0
  54. package/admin/features/deleteWebhook/feature.js.map +1 -0
  55. package/admin/features/deleteWebhook/index.d.ts +2 -0
  56. package/admin/features/deleteWebhook/index.js +2 -0
  57. package/admin/features/getWebhook/GetWebhookGateway.d.ts +12 -0
  58. package/admin/features/getWebhook/GetWebhookGateway.js +23 -0
  59. package/admin/features/getWebhook/GetWebhookGateway.js.map +1 -0
  60. package/admin/features/getWebhook/GetWebhookUseCase.d.ts +11 -0
  61. package/admin/features/getWebhook/GetWebhookUseCase.js +18 -0
  62. package/admin/features/getWebhook/GetWebhookUseCase.js.map +1 -0
  63. package/admin/features/getWebhook/abstractions.d.ts +15 -0
  64. package/admin/features/getWebhook/abstractions.js +6 -0
  65. package/admin/features/getWebhook/abstractions.js.map +1 -0
  66. package/admin/features/getWebhook/feature.d.ts +3 -0
  67. package/admin/features/getWebhook/feature.js +19 -0
  68. package/admin/features/getWebhook/feature.js.map +1 -0
  69. package/admin/features/getWebhook/index.d.ts +2 -0
  70. package/admin/features/getWebhook/index.js +2 -0
  71. package/admin/features/listAvailableEvents/ListAvailableEventsGateway.d.ts +12 -0
  72. package/admin/features/listAvailableEvents/ListAvailableEventsGateway.js +21 -0
  73. package/admin/features/listAvailableEvents/ListAvailableEventsGateway.js.map +1 -0
  74. package/admin/features/listAvailableEvents/ListAvailableEventsUseCase.d.ts +11 -0
  75. package/admin/features/listAvailableEvents/ListAvailableEventsUseCase.js +18 -0
  76. package/admin/features/listAvailableEvents/ListAvailableEventsUseCase.js.map +1 -0
  77. package/admin/features/listAvailableEvents/abstractions.d.ts +15 -0
  78. package/admin/features/listAvailableEvents/abstractions.js +6 -0
  79. package/admin/features/listAvailableEvents/abstractions.js.map +1 -0
  80. package/admin/features/listAvailableEvents/feature.d.ts +3 -0
  81. package/admin/features/listAvailableEvents/feature.js +19 -0
  82. package/admin/features/listAvailableEvents/feature.js.map +1 -0
  83. package/admin/features/listAvailableEvents/index.d.ts +2 -0
  84. package/admin/features/listAvailableEvents/index.js +2 -0
  85. package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesGateway.d.ts +11 -0
  86. package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesGateway.js +28 -0
  87. package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesGateway.js.map +1 -0
  88. package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesUseCase.d.ts +10 -0
  89. package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesUseCase.js +18 -0
  90. package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesUseCase.js.map +1 -0
  91. package/admin/features/listWebhookDeliveries/abstractions.d.ts +28 -0
  92. package/admin/features/listWebhookDeliveries/abstractions.js +6 -0
  93. package/admin/features/listWebhookDeliveries/abstractions.js.map +1 -0
  94. package/admin/features/listWebhookDeliveries/feature.d.ts +3 -0
  95. package/admin/features/listWebhookDeliveries/feature.js +19 -0
  96. package/admin/features/listWebhookDeliveries/feature.js.map +1 -0
  97. package/admin/features/listWebhookDeliveries/index.d.ts +2 -0
  98. package/admin/features/listWebhookDeliveries/index.js +2 -0
  99. package/admin/features/permissions/abstractions.d.ts +17 -0
  100. package/admin/features/permissions/abstractions.js +6 -0
  101. package/admin/features/permissions/abstractions.js.map +1 -0
  102. package/admin/features/permissions/feature.d.ts +14 -0
  103. package/admin/features/permissions/feature.js +7 -0
  104. package/admin/features/permissions/feature.js.map +1 -0
  105. package/admin/features/permissions/index.d.ts +2 -0
  106. package/admin/features/permissions/index.js +2 -0
  107. package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryGateway.d.ts +11 -0
  108. package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryGateway.js +23 -0
  109. package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryGateway.js.map +1 -0
  110. package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryUseCase.d.ts +10 -0
  111. package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryUseCase.js +18 -0
  112. package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryUseCase.js.map +1 -0
  113. package/admin/features/resendWebhookDelivery/abstractions.d.ts +14 -0
  114. package/admin/features/resendWebhookDelivery/abstractions.js +6 -0
  115. package/admin/features/resendWebhookDelivery/abstractions.js.map +1 -0
  116. package/admin/features/resendWebhookDelivery/feature.d.ts +3 -0
  117. package/admin/features/resendWebhookDelivery/feature.js +19 -0
  118. package/admin/features/resendWebhookDelivery/feature.js.map +1 -0
  119. package/admin/features/resendWebhookDelivery/index.d.ts +2 -0
  120. package/admin/features/resendWebhookDelivery/index.js +2 -0
  121. package/admin/features/triggerWebhook/TriggerWebhookGateway.d.ts +12 -0
  122. package/admin/features/triggerWebhook/TriggerWebhookGateway.js +24 -0
  123. package/admin/features/triggerWebhook/TriggerWebhookGateway.js.map +1 -0
  124. package/admin/features/triggerWebhook/TriggerWebhookUseCase.d.ts +11 -0
  125. package/admin/features/triggerWebhook/TriggerWebhookUseCase.js +18 -0
  126. package/admin/features/triggerWebhook/TriggerWebhookUseCase.js.map +1 -0
  127. package/admin/features/triggerWebhook/abstractions.d.ts +15 -0
  128. package/admin/features/triggerWebhook/abstractions.js +6 -0
  129. package/admin/features/triggerWebhook/abstractions.js.map +1 -0
  130. package/admin/features/triggerWebhook/feature.d.ts +3 -0
  131. package/admin/features/triggerWebhook/feature.js +19 -0
  132. package/admin/features/triggerWebhook/feature.js.map +1 -0
  133. package/admin/features/triggerWebhook/index.d.ts +2 -0
  134. package/admin/features/triggerWebhook/index.js +2 -0
  135. package/admin/features/updateWebhook/UpdateWebhookGateway.d.ts +12 -0
  136. package/admin/features/updateWebhook/UpdateWebhookGateway.js +24 -0
  137. package/admin/features/updateWebhook/UpdateWebhookGateway.js.map +1 -0
  138. package/admin/features/updateWebhook/UpdateWebhookUseCase.d.ts +11 -0
  139. package/admin/features/updateWebhook/UpdateWebhookUseCase.js +18 -0
  140. package/admin/features/updateWebhook/UpdateWebhookUseCase.js.map +1 -0
  141. package/admin/features/updateWebhook/abstractions.d.ts +23 -0
  142. package/admin/features/updateWebhook/abstractions.js +6 -0
  143. package/admin/features/updateWebhook/abstractions.js.map +1 -0
  144. package/admin/features/updateWebhook/feature.d.ts +3 -0
  145. package/admin/features/updateWebhook/feature.js +19 -0
  146. package/admin/features/updateWebhook/feature.js.map +1 -0
  147. package/admin/features/updateWebhook/index.d.ts +2 -0
  148. package/admin/features/updateWebhook/index.js +2 -0
  149. package/admin/index.d.ts +2 -0
  150. package/admin/index.js +2 -0
  151. package/admin/permissions.d.ts +12 -0
  152. package/admin/permissions.js +22 -0
  153. package/admin/permissions.js.map +1 -0
  154. package/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.d.ts +16 -0
  155. package/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.js +68 -0
  156. package/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.js.map +1 -0
  157. package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.d.ts +19 -0
  158. package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js +77 -0
  159. package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js.map +1 -0
  160. package/admin/presentation/WebhookDeliveries/abstractions.d.ts +22 -0
  161. package/admin/presentation/WebhookDeliveries/abstractions.js +5 -0
  162. package/admin/presentation/WebhookDeliveries/abstractions.js.map +1 -0
  163. package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.d.ts +11 -0
  164. package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.js +73 -0
  165. package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.js.map +1 -0
  166. package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.d.ts +8 -0
  167. package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.js +119 -0
  168. package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.js.map +1 -0
  169. package/admin/presentation/WebhookDeliveries/feature.d.ts +3 -0
  170. package/admin/presentation/WebhookDeliveries/feature.js +17 -0
  171. package/admin/presentation/WebhookDeliveries/feature.js.map +1 -0
  172. package/admin/presentation/WebhookDeliveries/index.d.ts +2 -0
  173. package/admin/presentation/WebhookDeliveries/index.js +2 -0
  174. package/admin/presentation/WebhookForm/WebhookFormPresenter.d.ts +35 -0
  175. package/admin/presentation/WebhookForm/WebhookFormPresenter.js +163 -0
  176. package/admin/presentation/WebhookForm/WebhookFormPresenter.js.map +1 -0
  177. package/admin/presentation/WebhookForm/abstractions.d.ts +35 -0
  178. package/admin/presentation/WebhookForm/abstractions.js +5 -0
  179. package/admin/presentation/WebhookForm/abstractions.js.map +1 -0
  180. package/admin/presentation/WebhookForm/components/EventsSelector.d.ts +12 -0
  181. package/admin/presentation/WebhookForm/components/EventsSelector.js +44 -0
  182. package/admin/presentation/WebhookForm/components/EventsSelector.js.map +1 -0
  183. package/admin/presentation/WebhookForm/components/SigningSecret.d.ts +6 -0
  184. package/admin/presentation/WebhookForm/components/SigningSecret.js +43 -0
  185. package/admin/presentation/WebhookForm/components/SigningSecret.js.map +1 -0
  186. package/admin/presentation/WebhookForm/components/WebhookFormView.d.ts +2 -0
  187. package/admin/presentation/WebhookForm/components/WebhookFormView.js +88 -0
  188. package/admin/presentation/WebhookForm/components/WebhookFormView.js.map +1 -0
  189. package/admin/presentation/WebhookForm/feature.d.ts +3 -0
  190. package/admin/presentation/WebhookForm/feature.js +17 -0
  191. package/admin/presentation/WebhookForm/feature.js.map +1 -0
  192. package/admin/presentation/WebhookForm/index.d.ts +2 -0
  193. package/admin/presentation/WebhookForm/index.js +2 -0
  194. package/admin/presentation/WebhookList/WebhookListDataSource.d.ts +15 -0
  195. package/admin/presentation/WebhookList/WebhookListDataSource.js +67 -0
  196. package/admin/presentation/WebhookList/WebhookListDataSource.js.map +1 -0
  197. package/admin/presentation/WebhookList/WebhookListPresenter.d.ts +22 -0
  198. package/admin/presentation/WebhookList/WebhookListPresenter.js +90 -0
  199. package/admin/presentation/WebhookList/WebhookListPresenter.js.map +1 -0
  200. package/admin/presentation/WebhookList/abstractions.d.ts +27 -0
  201. package/admin/presentation/WebhookList/abstractions.js +5 -0
  202. package/admin/presentation/WebhookList/abstractions.js.map +1 -0
  203. package/admin/presentation/WebhookList/components/WebhookListView.d.ts +2 -0
  204. package/admin/presentation/WebhookList/components/WebhookListView.js +172 -0
  205. package/admin/presentation/WebhookList/components/WebhookListView.js.map +1 -0
  206. package/admin/presentation/WebhookList/feature.d.ts +3 -0
  207. package/admin/presentation/WebhookList/feature.js +17 -0
  208. package/admin/presentation/WebhookList/feature.js.map +1 -0
  209. package/admin/presentation/WebhookList/index.d.ts +2 -0
  210. package/admin/presentation/WebhookList/index.js +2 -0
  211. package/admin/presentation/security/HasPermission.d.ts +12 -0
  212. package/admin/presentation/security/HasPermission.js +6 -0
  213. package/admin/presentation/security/HasPermission.js.map +1 -0
  214. package/admin/presentation/security/usePermissions.d.ts +12 -0
  215. package/admin/presentation/security/usePermissions.js +6 -0
  216. package/admin/presentation/security/usePermissions.js.map +1 -0
  217. package/admin/routes.d.ts +7 -0
  218. package/admin/routes.js +17 -0
  219. package/admin/routes.js.map +1 -0
  220. package/admin/shared/types.d.ts +5 -0
  221. package/admin/shared/types.js +0 -0
  222. package/api/Extension.d.ts +1 -0
  223. package/api/Extension.js +1 -0
  224. package/api/WebhooksFeature.d.ts +4 -0
  225. package/api/WebhooksFeature.js +55 -0
  226. package/api/WebhooksFeature.js.map +1 -0
  227. package/api/domain/Webhook.d.ts +27 -0
  228. package/api/domain/Webhook.js +0 -0
  229. package/api/domain/WebhookDelivery.d.ts +36 -0
  230. package/api/domain/WebhookDelivery.js +0 -0
  231. package/api/domain/constants.d.ts +4 -0
  232. package/api/domain/constants.js +7 -0
  233. package/api/domain/constants.js.map +1 -0
  234. package/api/domain/errors.d.ts +36 -0
  235. package/api/domain/errors.js +70 -0
  236. package/api/domain/errors.js.map +1 -0
  237. package/api/features/CreateWebhook/CreateWebhookRepository.d.ts +18 -0
  238. package/api/features/CreateWebhook/CreateWebhookRepository.js +43 -0
  239. package/api/features/CreateWebhook/CreateWebhookRepository.js.map +1 -0
  240. package/api/features/CreateWebhook/CreateWebhookUseCase.d.ts +16 -0
  241. package/api/features/CreateWebhook/CreateWebhookUseCase.js +57 -0
  242. package/api/features/CreateWebhook/CreateWebhookUseCase.js.map +1 -0
  243. package/api/features/CreateWebhook/abstractions.d.ts +33 -0
  244. package/api/features/CreateWebhook/abstractions.js +6 -0
  245. package/api/features/CreateWebhook/abstractions.js.map +1 -0
  246. package/api/features/CreateWebhook/feature.d.ts +4 -0
  247. package/api/features/CreateWebhook/feature.js +13 -0
  248. package/api/features/CreateWebhook/feature.js.map +1 -0
  249. package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.d.ts +20 -0
  250. package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.js +58 -0
  251. package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.js.map +1 -0
  252. package/api/features/CreateWebhookDelivery/abstractions.d.ts +21 -0
  253. package/api/features/CreateWebhookDelivery/abstractions.js +5 -0
  254. package/api/features/CreateWebhookDelivery/abstractions.js.map +1 -0
  255. package/api/features/CreateWebhookDelivery/feature.d.ts +4 -0
  256. package/api/features/CreateWebhookDelivery/feature.js +11 -0
  257. package/api/features/CreateWebhookDelivery/feature.js.map +1 -0
  258. package/api/features/DeleteWebhook/DeleteWebhookRepository.d.ts +19 -0
  259. package/api/features/DeleteWebhook/DeleteWebhookRepository.js +66 -0
  260. package/api/features/DeleteWebhook/DeleteWebhookRepository.js.map +1 -0
  261. package/api/features/DeleteWebhook/DeleteWebhookUseCase.d.ts +15 -0
  262. package/api/features/DeleteWebhook/DeleteWebhookUseCase.js +29 -0
  263. package/api/features/DeleteWebhook/DeleteWebhookUseCase.js.map +1 -0
  264. package/api/features/DeleteWebhook/abstractions.d.ts +20 -0
  265. package/api/features/DeleteWebhook/abstractions.js +6 -0
  266. package/api/features/DeleteWebhook/abstractions.js.map +1 -0
  267. package/api/features/DeleteWebhook/feature.d.ts +4 -0
  268. package/api/features/DeleteWebhook/feature.js +13 -0
  269. package/api/features/DeleteWebhook/feature.js.map +1 -0
  270. package/api/features/GetWebhook/GetWebhookRepository.d.ts +17 -0
  271. package/api/features/GetWebhook/GetWebhookRepository.js +39 -0
  272. package/api/features/GetWebhook/GetWebhookRepository.js.map +1 -0
  273. package/api/features/GetWebhook/GetWebhookUseCase.d.ts +14 -0
  274. package/api/features/GetWebhook/GetWebhookUseCase.js +24 -0
  275. package/api/features/GetWebhook/GetWebhookUseCase.js.map +1 -0
  276. package/api/features/GetWebhook/abstractions.d.ts +21 -0
  277. package/api/features/GetWebhook/abstractions.js +6 -0
  278. package/api/features/GetWebhook/abstractions.js.map +1 -0
  279. package/api/features/GetWebhook/feature.d.ts +4 -0
  280. package/api/features/GetWebhook/feature.js +13 -0
  281. package/api/features/GetWebhook/feature.js.map +1 -0
  282. package/api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.d.ts +17 -0
  283. package/api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.js +39 -0
  284. package/api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.js.map +1 -0
  285. package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.d.ts +14 -0
  286. package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.js +24 -0
  287. package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.js.map +1 -0
  288. package/api/features/GetWebhookDelivery/abstractions.d.ts +21 -0
  289. package/api/features/GetWebhookDelivery/abstractions.js +6 -0
  290. package/api/features/GetWebhookDelivery/abstractions.js.map +1 -0
  291. package/api/features/GetWebhookDelivery/feature.d.ts +4 -0
  292. package/api/features/GetWebhookDelivery/feature.js +13 -0
  293. package/api/features/GetWebhookDelivery/feature.js.map +1 -0
  294. package/api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.d.ts +14 -0
  295. package/api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.js +30 -0
  296. package/api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.js.map +1 -0
  297. package/api/features/ListAvailableWebhookEvents/abstractions.d.ts +9 -0
  298. package/api/features/ListAvailableWebhookEvents/abstractions.js +5 -0
  299. package/api/features/ListAvailableWebhookEvents/abstractions.js.map +1 -0
  300. package/api/features/ListAvailableWebhookEvents/feature.d.ts +4 -0
  301. package/api/features/ListAvailableWebhookEvents/feature.js +11 -0
  302. package/api/features/ListAvailableWebhookEvents/feature.js.map +1 -0
  303. package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.d.ts +21 -0
  304. package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.js +63 -0
  305. package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.js.map +1 -0
  306. package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.d.ts +14 -0
  307. package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.js +24 -0
  308. package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.js.map +1 -0
  309. package/api/features/ListWebhookDeliveries/abstractions.d.ts +40 -0
  310. package/api/features/ListWebhookDeliveries/abstractions.js +6 -0
  311. package/api/features/ListWebhookDeliveries/abstractions.js.map +1 -0
  312. package/api/features/ListWebhookDeliveries/feature.d.ts +4 -0
  313. package/api/features/ListWebhookDeliveries/feature.js +13 -0
  314. package/api/features/ListWebhookDeliveries/feature.js.map +1 -0
  315. package/api/features/ListWebhooks/ListWebhooksRepository.d.ts +21 -0
  316. package/api/features/ListWebhooks/ListWebhooksRepository.js +63 -0
  317. package/api/features/ListWebhooks/ListWebhooksRepository.js.map +1 -0
  318. package/api/features/ListWebhooks/ListWebhooksUseCase.d.ts +14 -0
  319. package/api/features/ListWebhooks/ListWebhooksUseCase.js +24 -0
  320. package/api/features/ListWebhooks/ListWebhooksUseCase.js.map +1 -0
  321. package/api/features/ListWebhooks/abstractions.d.ts +41 -0
  322. package/api/features/ListWebhooks/abstractions.js +6 -0
  323. package/api/features/ListWebhooks/abstractions.js.map +1 -0
  324. package/api/features/ListWebhooks/feature.d.ts +4 -0
  325. package/api/features/ListWebhooks/feature.js +13 -0
  326. package/api/features/ListWebhooks/feature.js.map +1 -0
  327. package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.d.ts +20 -0
  328. package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.js +60 -0
  329. package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.js.map +1 -0
  330. package/api/features/ResendWebhookDelivery/abstractions.d.ts +12 -0
  331. package/api/features/ResendWebhookDelivery/abstractions.js +5 -0
  332. package/api/features/ResendWebhookDelivery/abstractions.js.map +1 -0
  333. package/api/features/ResendWebhookDelivery/feature.d.ts +4 -0
  334. package/api/features/ResendWebhookDelivery/feature.js +11 -0
  335. package/api/features/ResendWebhookDelivery/feature.js.map +1 -0
  336. package/api/features/SendWebhookTask/SendWebhookTask.d.ts +29 -0
  337. package/api/features/SendWebhookTask/SendWebhookTask.js +99 -0
  338. package/api/features/SendWebhookTask/SendWebhookTask.js.map +1 -0
  339. package/api/features/SendWebhookTask/feature.d.ts +4 -0
  340. package/api/features/SendWebhookTask/feature.js +11 -0
  341. package/api/features/SendWebhookTask/feature.js.map +1 -0
  342. package/api/features/SendWebhookTask/types.d.ts +15 -0
  343. package/api/features/SendWebhookTask/types.js +0 -0
  344. package/api/features/Transformers/WebhookDeliveryTransformer.d.ts +13 -0
  345. package/api/features/Transformers/WebhookDeliveryTransformer.js +57 -0
  346. package/api/features/Transformers/WebhookDeliveryTransformer.js.map +1 -0
  347. package/api/features/Transformers/WebhookTransformer.d.ts +11 -0
  348. package/api/features/Transformers/WebhookTransformer.js +35 -0
  349. package/api/features/Transformers/WebhookTransformer.js.map +1 -0
  350. package/api/features/Transformers/abstractions/WebhookDeliveryTransformer.d.ts +10 -0
  351. package/api/features/Transformers/abstractions/WebhookDeliveryTransformer.js +5 -0
  352. package/api/features/Transformers/abstractions/WebhookDeliveryTransformer.js.map +1 -0
  353. package/api/features/Transformers/abstractions/WebhookTransformer.d.ts +10 -0
  354. package/api/features/Transformers/abstractions/WebhookTransformer.js +5 -0
  355. package/api/features/Transformers/abstractions/WebhookTransformer.js.map +1 -0
  356. package/api/features/Transformers/feature.d.ts +4 -0
  357. package/api/features/Transformers/feature.js +13 -0
  358. package/api/features/Transformers/feature.js.map +1 -0
  359. package/api/features/Transformers/index.d.ts +2 -0
  360. package/api/features/Transformers/index.js +2 -0
  361. package/api/features/TriggerWebhook/TriggerWebhookUseCase.d.ts +19 -0
  362. package/api/features/TriggerWebhook/TriggerWebhookUseCase.js +54 -0
  363. package/api/features/TriggerWebhook/TriggerWebhookUseCase.js.map +1 -0
  364. package/api/features/TriggerWebhook/abstractions.d.ts +13 -0
  365. package/api/features/TriggerWebhook/abstractions.js +5 -0
  366. package/api/features/TriggerWebhook/abstractions.js.map +1 -0
  367. package/api/features/TriggerWebhook/feature.d.ts +4 -0
  368. package/api/features/TriggerWebhook/feature.js +11 -0
  369. package/api/features/TriggerWebhook/feature.js.map +1 -0
  370. package/api/features/UpdateWebhook/UpdateWebhookRepository.d.ts +21 -0
  371. package/api/features/UpdateWebhook/UpdateWebhookRepository.js +50 -0
  372. package/api/features/UpdateWebhook/UpdateWebhookRepository.js.map +1 -0
  373. package/api/features/UpdateWebhook/UpdateWebhookUseCase.d.ts +16 -0
  374. package/api/features/UpdateWebhook/UpdateWebhookUseCase.js +66 -0
  375. package/api/features/UpdateWebhook/UpdateWebhookUseCase.js.map +1 -0
  376. package/api/features/UpdateWebhook/abstractions.d.ts +31 -0
  377. package/api/features/UpdateWebhook/abstractions.js +6 -0
  378. package/api/features/UpdateWebhook/abstractions.js.map +1 -0
  379. package/api/features/UpdateWebhook/feature.d.ts +4 -0
  380. package/api/features/UpdateWebhook/feature.js +13 -0
  381. package/api/features/UpdateWebhook/feature.js.map +1 -0
  382. package/api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.d.ts +22 -0
  383. package/api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.js +62 -0
  384. package/api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.js.map +1 -0
  385. package/api/features/UpdateWebhookDelivery/abstractions.d.ts +23 -0
  386. package/api/features/UpdateWebhookDelivery/abstractions.js +5 -0
  387. package/api/features/UpdateWebhookDelivery/abstractions.js.map +1 -0
  388. package/api/features/UpdateWebhookDelivery/feature.d.ts +4 -0
  389. package/api/features/UpdateWebhookDelivery/feature.js +11 -0
  390. package/api/features/UpdateWebhookDelivery/feature.js.map +1 -0
  391. package/api/features/WebhookDispatcher/WebhookDispatcher.d.ts +17 -0
  392. package/api/features/WebhookDispatcher/WebhookDispatcher.js +56 -0
  393. package/api/features/WebhookDispatcher/WebhookDispatcher.js.map +1 -0
  394. package/api/features/WebhookDispatcher/feature.d.ts +4 -0
  395. package/api/features/WebhookDispatcher/feature.js +11 -0
  396. package/api/features/WebhookDispatcher/feature.js.map +1 -0
  397. package/api/features/WebhookPermissions/abstractions.d.ts +17 -0
  398. package/api/features/WebhookPermissions/abstractions.js +6 -0
  399. package/api/features/WebhookPermissions/abstractions.js.map +1 -0
  400. package/api/features/WebhookPermissions/feature.d.ts +4 -0
  401. package/api/features/WebhookPermissions/feature.js +7 -0
  402. package/api/features/WebhookPermissions/feature.js.map +1 -0
  403. package/api/features/WebhookSignPayload/WebhookSignPayload.d.ts +8 -0
  404. package/api/features/WebhookSignPayload/WebhookSignPayload.js +20 -0
  405. package/api/features/WebhookSignPayload/WebhookSignPayload.js.map +1 -0
  406. package/api/features/WebhookSignPayload/feature.d.ts +4 -0
  407. package/api/features/WebhookSignPayload/feature.js +11 -0
  408. package/api/features/WebhookSignPayload/feature.js.map +1 -0
  409. package/api/features/WebhookVerifyPayload/WebhookVerifyPayload.d.ts +10 -0
  410. package/api/features/WebhookVerifyPayload/WebhookVerifyPayload.js +22 -0
  411. package/api/features/WebhookVerifyPayload/WebhookVerifyPayload.js.map +1 -0
  412. package/api/features/WebhookVerifyPayload/feature.d.ts +4 -0
  413. package/api/features/WebhookVerifyPayload/feature.js +11 -0
  414. package/api/features/WebhookVerifyPayload/feature.js.map +1 -0
  415. package/api/graphql/WebhookCrudSchema.d.ts +8 -0
  416. package/api/graphql/WebhookCrudSchema.js +167 -0
  417. package/api/graphql/WebhookCrudSchema.js.map +1 -0
  418. package/api/graphql/WebhookDeliverySchema.d.ts +8 -0
  419. package/api/graphql/WebhookDeliverySchema.js +96 -0
  420. package/api/graphql/WebhookDeliverySchema.js.map +1 -0
  421. package/api/graphql/WebhookEventSchema.d.ts +8 -0
  422. package/api/graphql/WebhookEventSchema.js +43 -0
  423. package/api/graphql/WebhookEventSchema.js.map +1 -0
  424. package/api/graphql/WebhookTriggerSchema.d.ts +8 -0
  425. package/api/graphql/WebhookTriggerSchema.js +36 -0
  426. package/api/graphql/WebhookTriggerSchema.js.map +1 -0
  427. package/api/index.d.ts +1 -0
  428. package/api/index.js +8 -0
  429. package/api/index.js.map +1 -0
  430. package/api/models/WebhookDeliveryModel.d.ts +8 -0
  431. package/api/models/WebhookDeliveryModel.js +36 -0
  432. package/api/models/WebhookDeliveryModel.js.map +1 -0
  433. package/api/models/WebhookModel.d.ts +8 -0
  434. package/api/models/WebhookModel.js +33 -0
  435. package/api/models/WebhookModel.js.map +1 -0
  436. package/api/permissions.d.ts +12 -0
  437. package/api/permissions.js +22 -0
  438. package/api/permissions.js.map +1 -0
  439. package/exports/api/webhooks.d.ts +6 -0
  440. package/exports/api/webhooks.js +2 -0
  441. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.js","sources":["../../../../src/api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListAvailableWebhookEventsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError } from \"~/api/domain/errors.js\";\nimport { WebhookProvider } from \"@webiny/api-core/features/webhooks/index.js\";\n\nclass ListAvailableWebhookEventsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private readonly provider: WebhookProvider.Interface,\n private readonly permissions: WebhookPermissions.Interface\n ) {}\n\n public async execute(): Promise<Result<WebhookProvider.Response, Error>> {\n if (!(await this.permissions.canRead(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n\n try {\n const events = await this.provider.execute();\n return Result.ok(events);\n } catch (ex) {\n return Result.fail(ex);\n }\n }\n}\n\nexport const ListAvailableWebhookEventsUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListAvailableWebhookEventsUseCaseImpl,\n dependencies: [WebhookProvider, WebhookPermissions]\n});\n"],"names":["ListAvailableWebhookEventsUseCaseImpl","provider","permissions","Result","WebhookNotAuthorizedError","events","ex","ListAvailableWebhookEventsUseCase","UseCaseAbstraction","WebhookProvider","WebhookPermissions"],"mappings":";;;;;AAMA,MAAMA;IACF,YACqBC,QAAmC,EACnCC,WAAyC,CAC5D;aAFmBD,QAAQ,GAARA;aACAC,WAAW,GAAXA;IAClB;IAEH,MAAa,UAA4D;QACrE,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,IAAI;YACA,MAAMC,SAAS,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC1C,OAAOF,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,IAAI;YACT,OAAOH,OAAO,IAAI,CAACG;QACvB;IACJ;AACJ;AAEO,MAAMC,sEAAoCC,kCAAAA,oBAAuC,CAAC;IACrF,gBAAgBR;IAChB,cAAc;QAACS;QAAiBC;KAAmB;AACvD"}
@@ -0,0 +1,9 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { IWebhookFactoryDefinition } from "@webiny/api-core/features/webhooks/Webhook/abstractions/WebhookFactory.js";
3
+ export interface IListAvailableWebhookEventsUseCase {
4
+ execute(): Promise<Result<IWebhookFactoryDefinition[], Error>>;
5
+ }
6
+ export declare const ListAvailableWebhookEventsUseCase: import("@webiny/di").Abstraction<IListAvailableWebhookEventsUseCase>;
7
+ export declare namespace ListAvailableWebhookEventsUseCase {
8
+ type Interface = IListAvailableWebhookEventsUseCase;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListAvailableWebhookEventsUseCase = createAbstraction("Webhooks/ListAvailableWebhookEventsUseCase");
3
+ export { ListAvailableWebhookEventsUseCase };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListAvailableWebhookEvents/abstractions.js","sources":["../../../../src/api/features/ListAvailableWebhookEvents/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IWebhookFactoryDefinition } from \"@webiny/api-core/features/webhooks/Webhook/abstractions/WebhookFactory.js\";\n\nexport interface IListAvailableWebhookEventsUseCase {\n execute(): Promise<Result<IWebhookFactoryDefinition[], Error>>;\n}\n\nexport const ListAvailableWebhookEventsUseCase =\n createAbstraction<IListAvailableWebhookEventsUseCase>(\n \"Webhooks/ListAvailableWebhookEventsUseCase\"\n );\n\nexport namespace ListAvailableWebhookEventsUseCase {\n export type Interface = IListAvailableWebhookEventsUseCase;\n}\n"],"names":["ListAvailableWebhookEventsUseCase","createAbstraction"],"mappings":";AAOO,MAAMA,oCACTC,kBACI"}
@@ -0,0 +1,4 @@
1
+ export declare const ListAvailableWebhookEventsFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ListAvailableWebhookEventsUseCase } from "./ListAvailableWebhookEventsUseCase.js";
3
+ const ListAvailableWebhookEventsFeature = createFeature({
4
+ name: "ListAvailableWebhookEvents",
5
+ register (container) {
6
+ container.register(ListAvailableWebhookEventsUseCase);
7
+ }
8
+ });
9
+ export { ListAvailableWebhookEventsFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListAvailableWebhookEvents/feature.js","sources":["../../../../src/api/features/ListAvailableWebhookEvents/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListAvailableWebhookEventsUseCase } from \"./ListAvailableWebhookEventsUseCase.js\";\n\nexport const ListAvailableWebhookEventsFeature = createFeature({\n name: \"ListAvailableWebhookEvents\",\n register(container) {\n container.register(ListAvailableWebhookEventsUseCase);\n }\n});\n"],"names":["ListAvailableWebhookEventsFeature","createFeature","container","ListAvailableWebhookEventsUseCase"],"mappings":";;AAGO,MAAMA,oCAAoCC,cAAc;IAC3D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1,21 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
3
+ import { ListEntriesRepository } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
4
+ import { WebhookDeliveryTransformer } from "../../../api/features/Transformers/abstractions/WebhookDeliveryTransformer.js";
5
+ import { ListWebhookDeliveriesRepository as RepositoryAbstraction, type IListWebhookDeliveriesOutput } from "./abstractions.js";
6
+ import type { IListWebhookDeliveriesInput } from "./abstractions.js";
7
+ import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
8
+ import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
9
+ declare class ListWebhookDeliveriesRepositoryImpl implements RepositoryAbstraction.Interface {
10
+ private readonly getModelRepository;
11
+ private readonly listEntriesRepository;
12
+ private readonly transformer;
13
+ private readonly whereMapper;
14
+ private readonly sortMapper;
15
+ constructor(getModelRepository: GetModelRepository.Interface, listEntriesRepository: ListEntriesRepository.Interface, transformer: WebhookDeliveryTransformer.Interface, whereMapper: CmsWhereMapper.Interface, sortMapper: CmsSortMapper.Interface);
16
+ execute(params: IListWebhookDeliveriesInput): Promise<Result<IListWebhookDeliveriesOutput, RepositoryAbstraction.Error>>;
17
+ }
18
+ export declare const ListWebhookDeliveriesRepository: typeof ListWebhookDeliveriesRepositoryImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebhookDeliveriesRepository>;
20
+ };
21
+ export {};
@@ -0,0 +1,63 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
3
+ import { ListEntriesRepository } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
4
+ import { WebhookDeliveryTransformer } from "../Transformers/abstractions/WebhookDeliveryTransformer.js";
5
+ import { ListWebhookDeliveriesRepository } from "./abstractions.js";
6
+ import { WebhookModelNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
7
+ import { WEBHOOK_DELIVERY_MODEL_ID } from "../../domain/constants.js";
8
+ import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
9
+ import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
10
+ class ListWebhookDeliveriesRepositoryImpl {
11
+ constructor(getModelRepository, listEntriesRepository, transformer, whereMapper, sortMapper){
12
+ this.getModelRepository = getModelRepository;
13
+ this.listEntriesRepository = listEntriesRepository;
14
+ this.transformer = transformer;
15
+ this.whereMapper = whereMapper;
16
+ this.sortMapper = sortMapper;
17
+ }
18
+ async execute(params) {
19
+ try {
20
+ const modelResult = await this.getModelRepository.execute(WEBHOOK_DELIVERY_MODEL_ID);
21
+ if (modelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_DELIVERY_MODEL_ID));
22
+ const model = modelResult.value;
23
+ const listResult = await this.listEntriesRepository.execute(model, {
24
+ where: this.whereMapper.map({
25
+ fields: model.fields,
26
+ input: params.where
27
+ }),
28
+ sort: this.sortMapper.map({
29
+ fields: model.fields,
30
+ input: params.sort
31
+ }),
32
+ limit: params.limit ?? 100,
33
+ after: params.after
34
+ });
35
+ if (listResult.isFail()) return Result.fail(WebhookPersistenceError.from(listResult.error));
36
+ const { entries, meta } = listResult.value;
37
+ const items = entries.map((entry)=>this.transformer.fromStorage(entry));
38
+ return Result.ok({
39
+ items,
40
+ meta: {
41
+ cursor: meta.cursor,
42
+ hasMoreItems: meta.hasMoreItems,
43
+ totalCount: meta.totalCount
44
+ }
45
+ });
46
+ } catch (error) {
47
+ return Result.fail(WebhookPersistenceError.from(error));
48
+ }
49
+ }
50
+ }
51
+ const ListWebhookDeliveriesRepository_ListWebhookDeliveriesRepository = ListWebhookDeliveriesRepository.createImplementation({
52
+ implementation: ListWebhookDeliveriesRepositoryImpl,
53
+ dependencies: [
54
+ GetModelRepository,
55
+ ListEntriesRepository,
56
+ WebhookDeliveryTransformer,
57
+ CmsWhereMapper,
58
+ CmsSortMapper
59
+ ]
60
+ });
61
+ export { ListWebhookDeliveriesRepository_ListWebhookDeliveriesRepository as ListWebhookDeliveriesRepository };
62
+
63
+ //# sourceMappingURL=ListWebhookDeliveriesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.js","sources":["../../../../src/api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetModelRepository } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { ListEntriesRepository } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js\";\nimport { WebhookDeliveryTransformer } from \"~/api/features/Transformers/abstractions/WebhookDeliveryTransformer.js\";\nimport {\n ListWebhookDeliveriesRepository as RepositoryAbstraction,\n type IListWebhookDeliveriesOutput\n} from \"./abstractions.js\";\nimport { WebhookModelNotFoundError, WebhookPersistenceError } from \"~/api/domain/errors.js\";\nimport { WEBHOOK_DELIVERY_MODEL_ID } from \"~/api/domain/constants.js\";\nimport type { IListWebhookDeliveriesInput } from \"./abstractions.js\";\nimport type { WebhookDeliveryCmsEntryValues } from \"~/api/domain/WebhookDelivery.js\";\nimport { CmsWhereMapper } from \"@webiny/api-headless-cms/features/whereMapper/abstractions.js\";\nimport { CmsSortMapper } from \"@webiny/api-headless-cms/features/sortMapper/abstractions.js\";\n\nclass ListWebhookDeliveriesRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly listEntriesRepository: ListEntriesRepository.Interface,\n private readonly transformer: WebhookDeliveryTransformer.Interface,\n private readonly whereMapper: CmsWhereMapper.Interface,\n private readonly sortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(\n params: IListWebhookDeliveriesInput\n ): Promise<Result<IListWebhookDeliveriesOutput, RepositoryAbstraction.Error>> {\n try {\n const modelResult = await this.getModelRepository.execute(WEBHOOK_DELIVERY_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new WebhookModelNotFoundError(WEBHOOK_DELIVERY_MODEL_ID));\n }\n\n const model = modelResult.value;\n\n const listResult =\n await this.listEntriesRepository.execute<WebhookDeliveryCmsEntryValues>(model, {\n where: this.whereMapper.map({\n fields: model.fields,\n input: params.where\n }),\n sort: this.sortMapper.map({\n fields: model.fields,\n input: params.sort\n }),\n limit: params.limit ?? 100,\n after: params.after\n });\n\n if (listResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(listResult.error));\n }\n\n const { entries, meta } = listResult.value;\n const items = entries.map(entry => this.transformer.fromStorage(entry));\n\n return Result.ok({\n items,\n meta: {\n cursor: meta.cursor,\n hasMoreItems: meta.hasMoreItems,\n totalCount: meta.totalCount\n }\n });\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n}\n\nexport const ListWebhookDeliveriesRepository = RepositoryAbstraction.createImplementation({\n implementation: ListWebhookDeliveriesRepositoryImpl,\n dependencies: [\n GetModelRepository,\n ListEntriesRepository,\n WebhookDeliveryTransformer,\n CmsWhereMapper,\n CmsSortMapper\n ]\n});\n"],"names":["ListWebhookDeliveriesRepositoryImpl","getModelRepository","listEntriesRepository","transformer","whereMapper","sortMapper","params","modelResult","WEBHOOK_DELIVERY_MODEL_ID","Result","WebhookModelNotFoundError","model","listResult","WebhookPersistenceError","entries","meta","items","entry","error","ListWebhookDeliveriesRepository","RepositoryAbstraction","GetModelRepository","ListEntriesRepository","WebhookDeliveryTransformer","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;;;;AAeA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,qBAAsD,EACtDC,WAAiD,EACjDC,WAAqC,EACrCC,UAAmC,CACtD;aALmBJ,kBAAkB,GAAlBA;aACAC,qBAAqB,GAArBA;aACAC,WAAW,GAAXA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IAClB;IAEH,MAAM,QACFC,MAAmC,EACuC;QAC1E,IAAI;YACA,MAAMC,cAAc,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACC;YAC1D,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CAAC,IAAIC,0BAA0BF;YAGrD,MAAMG,QAAQJ,YAAY,KAAK;YAE/B,MAAMK,aACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAgCD,OAAO;gBAC3E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;oBACxB,QAAQA,MAAM,MAAM;oBACpB,OAAOL,OAAO,KAAK;gBACvB;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACtB,QAAQK,MAAM,MAAM;oBACpB,OAAOL,OAAO,IAAI;gBACtB;gBACA,OAAOA,OAAO,KAAK,IAAI;gBACvB,OAAOA,OAAO,KAAK;YACvB;YAEJ,IAAIM,WAAW,MAAM,IACjB,OAAOH,OAAO,IAAI,CAACI,wBAAwB,IAAI,CAACD,WAAW,KAAK;YAGpE,MAAM,EAAEE,OAAO,EAAEC,IAAI,EAAE,GAAGH,WAAW,KAAK;YAC1C,MAAMI,QAAQF,QAAQ,GAAG,CAACG,CAAAA,QAAS,IAAI,CAAC,WAAW,CAAC,WAAW,CAACA;YAEhE,OAAOR,OAAO,EAAE,CAAC;gBACbO;gBACA,MAAM;oBACF,QAAQD,KAAK,MAAM;oBACnB,cAAcA,KAAK,YAAY;oBAC/B,YAAYA,KAAK,UAAU;gBAC/B;YACJ;QACJ,EAAE,OAAOG,OAAO;YACZ,OAAOT,OAAO,IAAI,CAACI,wBAAwB,IAAI,CAACK;QACpD;IACJ;AACJ;AAEO,MAAMC,kEAAkCC,gCAAAA,oBAA0C,CAAC;IACtF,gBAAgBpB;IAChB,cAAc;QACVqB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -0,0 +1,14 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListWebhookDeliveriesUseCase as UseCaseAbstraction, ListWebhookDeliveriesRepository } from "./abstractions.js";
3
+ import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
4
+ import type { IListWebhookDeliveriesInput } from "./abstractions.js";
5
+ declare class ListWebhookDeliveriesUseCaseImpl implements UseCaseAbstraction.Interface {
6
+ private permissions;
7
+ private repository;
8
+ constructor(permissions: WebhookPermissions.Interface, repository: ListWebhookDeliveriesRepository.Interface);
9
+ execute(input: IListWebhookDeliveriesInput): Promise<Result<UseCaseAbstraction.Output, UseCaseAbstraction.Error>>;
10
+ }
11
+ export declare const ListWebhookDeliveriesUseCase: typeof ListWebhookDeliveriesUseCaseImpl & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebhookDeliveriesUseCase>;
13
+ };
14
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListWebhookDeliveriesRepository, ListWebhookDeliveriesUseCase } from "./abstractions.js";
3
+ import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
4
+ import { WebhookNotAuthorizedError } from "../../domain/errors.js";
5
+ class ListWebhookDeliveriesUseCaseImpl {
6
+ constructor(permissions, repository){
7
+ this.permissions = permissions;
8
+ this.repository = repository;
9
+ }
10
+ async execute(input) {
11
+ if (!await this.permissions.canRead("webhook")) return Result.fail(new WebhookNotAuthorizedError());
12
+ return this.repository.execute(input);
13
+ }
14
+ }
15
+ const ListWebhookDeliveriesUseCase_ListWebhookDeliveriesUseCase = ListWebhookDeliveriesUseCase.createImplementation({
16
+ implementation: ListWebhookDeliveriesUseCaseImpl,
17
+ dependencies: [
18
+ WebhookPermissions,
19
+ ListWebhookDeliveriesRepository
20
+ ]
21
+ });
22
+ export { ListWebhookDeliveriesUseCase_ListWebhookDeliveriesUseCase as ListWebhookDeliveriesUseCase };
23
+
24
+ //# sourceMappingURL=ListWebhookDeliveriesUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.js","sources":["../../../../src/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n ListWebhookDeliveriesUseCase as UseCaseAbstraction,\n ListWebhookDeliveriesRepository\n} from \"./abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError } from \"~/api/domain/errors.js\";\nimport type { IListWebhookDeliveriesInput } from \"./abstractions.js\";\n\nclass ListWebhookDeliveriesUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WebhookPermissions.Interface,\n private repository: ListWebhookDeliveriesRepository.Interface\n ) {}\n\n async execute(\n input: IListWebhookDeliveriesInput\n ): Promise<Result<UseCaseAbstraction.Output, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canRead(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n return this.repository.execute(input);\n }\n}\n\nexport const ListWebhookDeliveriesUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListWebhookDeliveriesUseCaseImpl,\n dependencies: [WebhookPermissions, ListWebhookDeliveriesRepository]\n});\n"],"names":["ListWebhookDeliveriesUseCaseImpl","permissions","repository","input","Result","WebhookNotAuthorizedError","ListWebhookDeliveriesUseCase","UseCaseAbstraction","WebhookPermissions","ListWebhookDeliveriesRepository"],"mappings":";;;;AASA,MAAMA;IACF,YACYC,WAAyC,EACzCC,UAAqD,CAC/D;aAFUD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QACFC,KAAkC,EACkC;QACpE,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACF;IACnC;AACJ;AAEO,MAAMG,4DAA+BC,6BAAAA,oBAAuC,CAAC;IAChF,gBAAgBP;IAChB,cAAc;QAACQ;QAAoBC;KAAgC;AACvE"}
@@ -0,0 +1,40 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { WebhookDelivery, WebhookDeliveryStatus } from "../../../api/domain/WebhookDelivery.js";
3
+ import type { WebhookModelNotFoundError, WebhookNotAuthorizedError, WebhookPersistenceError } from "../../../api/domain/errors.js";
4
+ import type { DateStringInterfaceGenerator, IdInterfaceGenerator, NumericInterfaceGenerator, TextInterfaceGenerator } from "@webiny/api";
5
+ export interface IListWebhookDeliveriesInputWhere extends IdInterfaceGenerator<"id">, IdInterfaceGenerator<"webhookId">, IdInterfaceGenerator<"backgroundTaskId">, DateStringInterfaceGenerator<"createdOn">, DateStringInterfaceGenerator<"savedOn">, TextInterfaceGenerator<"eventType">, TextInterfaceGenerator<WebhookDeliveryStatus>, NumericInterfaceGenerator<"responseStatus"> {
6
+ }
7
+ export interface IListWebhookDeliveriesInput {
8
+ where?: IListWebhookDeliveriesInputWhere;
9
+ limit?: number;
10
+ after?: string;
11
+ sort?: (`${string}_ASC` | `${string}_DESC`)[];
12
+ }
13
+ export interface IListMeta {
14
+ cursor: string | null;
15
+ hasMoreItems: boolean;
16
+ totalCount: number;
17
+ }
18
+ type IError = WebhookPersistenceError | WebhookModelNotFoundError | WebhookNotAuthorizedError;
19
+ export interface IListWebhookDeliveriesOutput {
20
+ items: WebhookDelivery[];
21
+ meta: IListMeta;
22
+ }
23
+ export interface IListWebhookDeliveriesUseCase {
24
+ execute(input: IListWebhookDeliveriesInput): Promise<Result<IListWebhookDeliveriesOutput, IError>>;
25
+ }
26
+ export declare const ListWebhookDeliveriesUseCase: import("@webiny/di").Abstraction<IListWebhookDeliveriesUseCase>;
27
+ export declare namespace ListWebhookDeliveriesUseCase {
28
+ type Interface = IListWebhookDeliveriesUseCase;
29
+ type Output = IListWebhookDeliveriesOutput;
30
+ type Error = IError;
31
+ }
32
+ export interface IListWebhookDeliveriesRepository {
33
+ execute(input: IListWebhookDeliveriesInput): Promise<Result<IListWebhookDeliveriesOutput, IError>>;
34
+ }
35
+ export declare const ListWebhookDeliveriesRepository: import("@webiny/di").Abstraction<IListWebhookDeliveriesRepository>;
36
+ export declare namespace ListWebhookDeliveriesRepository {
37
+ type Interface = IListWebhookDeliveriesRepository;
38
+ type Error = IError;
39
+ }
40
+ export {};
@@ -0,0 +1,6 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListWebhookDeliveriesUseCase = createAbstraction("Webhooks/ListWebhookDeliveriesUseCase");
3
+ const ListWebhookDeliveriesRepository = createAbstraction("Webhooks/ListWebhookDeliveriesRepository");
4
+ export { ListWebhookDeliveriesRepository, ListWebhookDeliveriesUseCase };
5
+
6
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhookDeliveries/abstractions.js","sources":["../../../../src/api/features/ListWebhookDeliveries/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { WebhookDelivery, WebhookDeliveryStatus } from \"~/api/domain/WebhookDelivery.js\";\nimport type {\n WebhookModelNotFoundError,\n WebhookNotAuthorizedError,\n WebhookPersistenceError\n} from \"~/api/domain/errors.js\";\nimport type {\n DateStringInterfaceGenerator,\n IdInterfaceGenerator,\n NumericInterfaceGenerator,\n TextInterfaceGenerator\n} from \"@webiny/api\";\n\nexport interface IListWebhookDeliveriesInputWhere\n extends\n IdInterfaceGenerator<\"id\">,\n IdInterfaceGenerator<\"webhookId\">,\n IdInterfaceGenerator<\"backgroundTaskId\">,\n DateStringInterfaceGenerator<\"createdOn\">,\n DateStringInterfaceGenerator<\"savedOn\">,\n TextInterfaceGenerator<\"eventType\">,\n TextInterfaceGenerator<WebhookDeliveryStatus>,\n NumericInterfaceGenerator<\"responseStatus\"> {\n //\n}\n\nexport interface IListWebhookDeliveriesInput {\n where?: IListWebhookDeliveriesInputWhere;\n limit?: number;\n after?: string;\n sort?: (`${string}_ASC` | `${string}_DESC`)[];\n}\n\nexport interface IListMeta {\n cursor: string | null;\n hasMoreItems: boolean;\n totalCount: number;\n}\n\ntype IError = WebhookPersistenceError | WebhookModelNotFoundError | WebhookNotAuthorizedError;\n\nexport interface IListWebhookDeliveriesOutput {\n items: WebhookDelivery[];\n meta: IListMeta;\n}\n\nexport interface IListWebhookDeliveriesUseCase {\n execute(\n input: IListWebhookDeliveriesInput\n ): Promise<Result<IListWebhookDeliveriesOutput, IError>>;\n}\n\nexport const ListWebhookDeliveriesUseCase = createAbstraction<IListWebhookDeliveriesUseCase>(\n \"Webhooks/ListWebhookDeliveriesUseCase\"\n);\n\nexport namespace ListWebhookDeliveriesUseCase {\n export type Interface = IListWebhookDeliveriesUseCase;\n export type Output = IListWebhookDeliveriesOutput;\n export type Error = IError;\n}\n\nexport interface IListWebhookDeliveriesRepository {\n execute(\n input: IListWebhookDeliveriesInput\n ): Promise<Result<IListWebhookDeliveriesOutput, IError>>;\n}\n\nexport const ListWebhookDeliveriesRepository = createAbstraction<IListWebhookDeliveriesRepository>(\n \"Webhooks/ListWebhookDeliveriesRepository\"\n);\n\nexport namespace ListWebhookDeliveriesRepository {\n export type Interface = IListWebhookDeliveriesRepository;\n export type Error = IError;\n}\n"],"names":["ListWebhookDeliveriesUseCase","createAbstraction","ListWebhookDeliveriesRepository"],"mappings":";AAqDO,MAAMA,+BAA+BC,kBACxC;AAeG,MAAMC,kCAAkCD,kBAC3C"}
@@ -0,0 +1,4 @@
1
+ export declare const ListWebhookDeliveriesFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ListWebhookDeliveriesUseCase } from "./ListWebhookDeliveriesUseCase.js";
3
+ import { ListWebhookDeliveriesRepository } from "./ListWebhookDeliveriesRepository.js";
4
+ const ListWebhookDeliveriesFeature = createFeature({
5
+ name: "ListWebhookDeliveries",
6
+ register (container) {
7
+ container.register(ListWebhookDeliveriesUseCase);
8
+ container.register(ListWebhookDeliveriesRepository).inSingletonScope();
9
+ }
10
+ });
11
+ export { ListWebhookDeliveriesFeature };
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhookDeliveries/feature.js","sources":["../../../../src/api/features/ListWebhookDeliveries/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebhookDeliveriesUseCase } from \"./ListWebhookDeliveriesUseCase.js\";\nimport { ListWebhookDeliveriesRepository } from \"./ListWebhookDeliveriesRepository.js\";\n\nexport const ListWebhookDeliveriesFeature = createFeature({\n name: \"ListWebhookDeliveries\",\n register(container) {\n container.register(ListWebhookDeliveriesUseCase);\n container.register(ListWebhookDeliveriesRepository).inSingletonScope();\n }\n});\n"],"names":["ListWebhookDeliveriesFeature","createFeature","container","ListWebhookDeliveriesUseCase","ListWebhookDeliveriesRepository"],"mappings":";;;AAIO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,iCAAiC,gBAAgB;IACxE;AACJ"}
@@ -0,0 +1,21 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
3
+ import { ListEntriesRepository } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
4
+ import { WebhookTransformer } from "../../../api/features/Transformers/abstractions/WebhookTransformer.js";
5
+ import { ListWebhooksRepository as RepositoryAbstraction } from "./abstractions.js";
6
+ import type { IListWebhooksInput } from "./abstractions.js";
7
+ import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
8
+ import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
9
+ declare class ListWebhooksRepositoryImpl implements RepositoryAbstraction.Interface {
10
+ private readonly getModelRepository;
11
+ private readonly listEntriesRepository;
12
+ private readonly transformer;
13
+ private whereMapper;
14
+ private sortMapper;
15
+ constructor(getModelRepository: GetModelRepository.Interface, listEntriesRepository: ListEntriesRepository.Interface, transformer: WebhookTransformer.Interface, whereMapper: CmsWhereMapper.Interface, sortMapper: CmsSortMapper.Interface);
16
+ execute(params?: IListWebhooksInput): Promise<Result<RepositoryAbstraction.Output, RepositoryAbstraction.Error>>;
17
+ }
18
+ export declare const ListWebhooksRepository: typeof ListWebhooksRepositoryImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebhooksRepository>;
20
+ };
21
+ export {};
@@ -0,0 +1,63 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
3
+ import { ListEntriesRepository } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
4
+ import { WebhookTransformer } from "../Transformers/abstractions/WebhookTransformer.js";
5
+ import { ListWebhooksRepository } from "./abstractions.js";
6
+ import { WebhookModelNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
7
+ import { WEBHOOK_MODEL_ID } from "../../domain/constants.js";
8
+ import { CmsWhereMapper } from "@webiny/api-headless-cms/features/whereMapper/abstractions.js";
9
+ import { CmsSortMapper } from "@webiny/api-headless-cms/features/sortMapper/abstractions.js";
10
+ class ListWebhooksRepositoryImpl {
11
+ constructor(getModelRepository, listEntriesRepository, transformer, whereMapper, sortMapper){
12
+ this.getModelRepository = getModelRepository;
13
+ this.listEntriesRepository = listEntriesRepository;
14
+ this.transformer = transformer;
15
+ this.whereMapper = whereMapper;
16
+ this.sortMapper = sortMapper;
17
+ }
18
+ async execute(params) {
19
+ try {
20
+ const modelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);
21
+ if (modelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));
22
+ const webhookModel = modelResult.value;
23
+ const listResult = await this.listEntriesRepository.execute(modelResult.value, {
24
+ where: this.whereMapper.map({
25
+ fields: webhookModel.fields,
26
+ input: params?.where
27
+ }),
28
+ sort: this.sortMapper.map({
29
+ fields: webhookModel.fields,
30
+ input: params?.sort
31
+ }),
32
+ limit: params?.limit ?? 100,
33
+ after: params?.after
34
+ });
35
+ if (listResult.isFail()) return Result.fail(WebhookPersistenceError.from(listResult.error));
36
+ const { entries, meta } = listResult.value;
37
+ const items = entries.map((entry)=>this.transformer.fromStorage(entry));
38
+ return Result.ok({
39
+ items,
40
+ meta: {
41
+ cursor: meta.cursor,
42
+ hasMoreItems: meta.hasMoreItems,
43
+ totalCount: meta.totalCount
44
+ }
45
+ });
46
+ } catch (error) {
47
+ return Result.fail(WebhookPersistenceError.from(error));
48
+ }
49
+ }
50
+ }
51
+ const ListWebhooksRepository_ListWebhooksRepository = ListWebhooksRepository.createImplementation({
52
+ implementation: ListWebhooksRepositoryImpl,
53
+ dependencies: [
54
+ GetModelRepository,
55
+ ListEntriesRepository,
56
+ WebhookTransformer,
57
+ CmsWhereMapper,
58
+ CmsSortMapper
59
+ ]
60
+ });
61
+ export { ListWebhooksRepository_ListWebhooksRepository as ListWebhooksRepository };
62
+
63
+ //# sourceMappingURL=ListWebhooksRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhooks/ListWebhooksRepository.js","sources":["../../../../src/api/features/ListWebhooks/ListWebhooksRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetModelRepository } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { ListEntriesRepository } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js\";\nimport { WebhookTransformer } from \"~/api/features/Transformers/abstractions/WebhookTransformer.js\";\nimport { ListWebhooksRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { WebhookModelNotFoundError, WebhookPersistenceError } from \"~/api/domain/errors.js\";\nimport { WEBHOOK_MODEL_ID } from \"~/api/domain/constants.js\";\nimport type { IListWebhooksInput } from \"./abstractions.js\";\nimport type { WebhookCmsEntryValues } from \"~/api/domain/Webhook.js\";\nimport { CmsWhereMapper } from \"@webiny/api-headless-cms/features/whereMapper/abstractions.js\";\nimport { CmsSortMapper } from \"@webiny/api-headless-cms/features/sortMapper/abstractions.js\";\n\nclass ListWebhooksRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly listEntriesRepository: ListEntriesRepository.Interface,\n private readonly transformer: WebhookTransformer.Interface,\n private whereMapper: CmsWhereMapper.Interface,\n private sortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(\n params?: IListWebhooksInput\n ): Promise<Result<RepositoryAbstraction.Output, RepositoryAbstraction.Error>> {\n try {\n const modelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));\n }\n\n const webhookModel = modelResult.value;\n\n const listResult = await this.listEntriesRepository.execute<WebhookCmsEntryValues>(\n modelResult.value,\n {\n where: this.whereMapper.map({\n fields: webhookModel.fields,\n input: params?.where\n }),\n sort: this.sortMapper.map({\n fields: webhookModel.fields,\n input: params?.sort\n }),\n limit: params?.limit ?? 100,\n after: params?.after\n }\n );\n\n if (listResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(listResult.error));\n }\n\n const { entries, meta } = listResult.value;\n const items = entries.map(entry => this.transformer.fromStorage(entry));\n\n return Result.ok({\n items,\n meta: {\n cursor: meta.cursor,\n hasMoreItems: meta.hasMoreItems,\n totalCount: meta.totalCount\n }\n });\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n}\n\nexport const ListWebhooksRepository = RepositoryAbstraction.createImplementation({\n implementation: ListWebhooksRepositoryImpl,\n dependencies: [\n GetModelRepository,\n ListEntriesRepository,\n WebhookTransformer,\n CmsWhereMapper,\n CmsSortMapper\n ]\n});\n"],"names":["ListWebhooksRepositoryImpl","getModelRepository","listEntriesRepository","transformer","whereMapper","sortMapper","params","modelResult","WEBHOOK_MODEL_ID","Result","WebhookModelNotFoundError","webhookModel","listResult","WebhookPersistenceError","entries","meta","items","entry","error","ListWebhooksRepository","RepositoryAbstraction","GetModelRepository","ListEntriesRepository","WebhookTransformer","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;;;;AAYA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,qBAAsD,EACtDC,WAAyC,EAClDC,WAAqC,EACrCC,UAAmC,CAC7C;aALmBJ,kBAAkB,GAAlBA;aACAC,qBAAqB,GAArBA;aACAC,WAAW,GAAXA;aACTC,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QACFC,MAA2B,EAC+C;QAC1E,IAAI;YACA,MAAMC,cAAc,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACC;YAC1D,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CAAC,IAAIC,0BAA0BF;YAGrD,MAAMG,eAAeJ,YAAY,KAAK;YAEtC,MAAMK,aAAa,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACvDL,YAAY,KAAK,EACjB;gBACI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;oBACxB,QAAQI,aAAa,MAAM;oBAC3B,OAAOL,QAAQ;gBACnB;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACtB,QAAQK,aAAa,MAAM;oBAC3B,OAAOL,QAAQ;gBACnB;gBACA,OAAOA,QAAQ,SAAS;gBACxB,OAAOA,QAAQ;YACnB;YAGJ,IAAIM,WAAW,MAAM,IACjB,OAAOH,OAAO,IAAI,CAACI,wBAAwB,IAAI,CAACD,WAAW,KAAK;YAGpE,MAAM,EAAEE,OAAO,EAAEC,IAAI,EAAE,GAAGH,WAAW,KAAK;YAC1C,MAAMI,QAAQF,QAAQ,GAAG,CAACG,CAAAA,QAAS,IAAI,CAAC,WAAW,CAAC,WAAW,CAACA;YAEhE,OAAOR,OAAO,EAAE,CAAC;gBACbO;gBACA,MAAM;oBACF,QAAQD,KAAK,MAAM;oBACnB,cAAcA,KAAK,YAAY;oBAC/B,YAAYA,KAAK,UAAU;gBAC/B;YACJ;QACJ,EAAE,OAAOG,OAAO;YACZ,OAAOT,OAAO,IAAI,CAACI,wBAAwB,IAAI,CAACK;QACpD;IACJ;AACJ;AAEO,MAAMC,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgBpB;IAChB,cAAc;QACVqB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -0,0 +1,14 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListWebhooksUseCase as UseCaseAbstraction, ListWebhooksRepository } from "./abstractions.js";
3
+ import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
4
+ import type { IListWebhooksInput } from "./abstractions.js";
5
+ declare class ListWebhooksUseCaseImpl implements UseCaseAbstraction.Interface {
6
+ private permissions;
7
+ private repository;
8
+ constructor(permissions: WebhookPermissions.Interface, repository: ListWebhooksRepository.Interface);
9
+ execute(input?: IListWebhooksInput): Promise<Result<UseCaseAbstraction.Output, UseCaseAbstraction.Error>>;
10
+ }
11
+ export declare const ListWebhooksUseCase: typeof ListWebhooksUseCaseImpl & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListWebhooksUseCase>;
13
+ };
14
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListWebhooksRepository, ListWebhooksUseCase } from "./abstractions.js";
3
+ import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
4
+ import { WebhookNotAuthorizedError } from "../../domain/errors.js";
5
+ class ListWebhooksUseCaseImpl {
6
+ constructor(permissions, repository){
7
+ this.permissions = permissions;
8
+ this.repository = repository;
9
+ }
10
+ async execute(input) {
11
+ if (!await this.permissions.canRead("webhook")) return Result.fail(new WebhookNotAuthorizedError());
12
+ return this.repository.execute(input);
13
+ }
14
+ }
15
+ const ListWebhooksUseCase_ListWebhooksUseCase = ListWebhooksUseCase.createImplementation({
16
+ implementation: ListWebhooksUseCaseImpl,
17
+ dependencies: [
18
+ WebhookPermissions,
19
+ ListWebhooksRepository
20
+ ]
21
+ });
22
+ export { ListWebhooksUseCase_ListWebhooksUseCase as ListWebhooksUseCase };
23
+
24
+ //# sourceMappingURL=ListWebhooksUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhooks/ListWebhooksUseCase.js","sources":["../../../../src/api/features/ListWebhooks/ListWebhooksUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n ListWebhooksUseCase as UseCaseAbstraction,\n ListWebhooksRepository\n} from \"./abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError } from \"~/api/domain/errors.js\";\nimport type { IListWebhooksInput } from \"./abstractions.js\";\n\nclass ListWebhooksUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WebhookPermissions.Interface,\n private repository: ListWebhooksRepository.Interface\n ) {}\n\n async execute(\n input?: IListWebhooksInput\n ): Promise<Result<UseCaseAbstraction.Output, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canRead(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n return this.repository.execute(input);\n }\n}\n\nexport const ListWebhooksUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListWebhooksUseCaseImpl,\n dependencies: [WebhookPermissions, ListWebhooksRepository]\n});\n"],"names":["ListWebhooksUseCaseImpl","permissions","repository","input","Result","WebhookNotAuthorizedError","ListWebhooksUseCase","UseCaseAbstraction","WebhookPermissions","ListWebhooksRepository"],"mappings":";;;;AASA,MAAMA;IACF,YACYC,WAAyC,EACzCC,UAA4C,CACtD;aAFUD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QACFC,KAA0B,EAC0C;QACpE,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACF;IACnC;AACJ;AAEO,MAAMG,0CAAsBC,oBAAAA,oBAAuC,CAAC;IACvE,gBAAgBP;IAChB,cAAc;QAACQ;QAAoBC;KAAuB;AAC9D"}
@@ -0,0 +1,41 @@
1
+ import { type Result } from "@webiny/feature/api";
2
+ import type { Webhook } from "../../../api/domain/Webhook.js";
3
+ import type { WebhookModelNotFoundError, WebhookPersistenceError, WebhookNotAuthorizedError } from "../../../api/domain/errors.js";
4
+ import type { DateStringInterfaceGenerator, IdInterfaceGenerator, TextInterfaceGenerator, TruthfulInterfaceGenerator } from "@webiny/api";
5
+ export interface IListWebhooksInputWhere extends IdInterfaceGenerator<"id">, DateStringInterfaceGenerator<"createdOn">, DateStringInterfaceGenerator<"savedOn">, TextInterfaceGenerator<"name">, TextInterfaceGenerator<"slug">, TextInterfaceGenerator<"endpointUrl">, TextInterfaceGenerator<"events">, TruthfulInterfaceGenerator<"enabled"> {
6
+ }
7
+ export interface IListWebhooksInput {
8
+ where?: IListWebhooksInputWhere;
9
+ limit?: number;
10
+ after?: string;
11
+ sort?: (`${string}_ASC` | `${string}_DESC`)[];
12
+ }
13
+ export interface IListMeta {
14
+ cursor: string | null;
15
+ hasMoreItems: boolean;
16
+ totalCount: number;
17
+ }
18
+ type IError = WebhookModelNotFoundError | WebhookPersistenceError | WebhookNotAuthorizedError;
19
+ export interface IListWebhooksOutput {
20
+ items: Webhook[];
21
+ meta: IListMeta;
22
+ }
23
+ export interface IListWebhooksUseCase {
24
+ execute(input?: IListWebhooksInput): Promise<Result<IListWebhooksOutput, IError>>;
25
+ }
26
+ export declare const ListWebhooksUseCase: import("@webiny/di").Abstraction<IListWebhooksUseCase>;
27
+ export declare namespace ListWebhooksUseCase {
28
+ type Interface = IListWebhooksUseCase;
29
+ type Output = IListWebhooksOutput;
30
+ type Error = IError;
31
+ }
32
+ export interface IListWebhooksRepository {
33
+ execute(input?: IListWebhooksInput): Promise<Result<IListWebhooksOutput, IError>>;
34
+ }
35
+ export declare const ListWebhooksRepository: import("@webiny/di").Abstraction<IListWebhooksRepository>;
36
+ export declare namespace ListWebhooksRepository {
37
+ type Interface = IListWebhooksRepository;
38
+ type Output = IListWebhooksOutput;
39
+ type Error = IError;
40
+ }
41
+ export {};
@@ -0,0 +1,6 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListWebhooksUseCase = createAbstraction("Webhooks/ListWebhooksUseCase");
3
+ const ListWebhooksRepository = createAbstraction("Webhooks/ListWebhooksRepository");
4
+ export { ListWebhooksRepository, ListWebhooksUseCase };
5
+
6
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhooks/abstractions.js","sources":["../../../../src/api/features/ListWebhooks/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Webhook } from \"~/api/domain/Webhook.js\";\nimport type {\n WebhookModelNotFoundError,\n WebhookPersistenceError,\n WebhookNotAuthorizedError\n} from \"~/api/domain/errors.js\";\nimport type {\n DateStringInterfaceGenerator,\n IdInterfaceGenerator,\n TextInterfaceGenerator,\n TruthfulInterfaceGenerator\n} from \"@webiny/api\";\n\nexport interface IListWebhooksInputWhere\n extends\n IdInterfaceGenerator<\"id\">,\n DateStringInterfaceGenerator<\"createdOn\">,\n DateStringInterfaceGenerator<\"savedOn\">,\n TextInterfaceGenerator<\"name\">,\n TextInterfaceGenerator<\"slug\">,\n TextInterfaceGenerator<\"endpointUrl\">,\n TextInterfaceGenerator<\"events\">,\n TruthfulInterfaceGenerator<\"enabled\"> {\n //\n}\n\nexport interface IListWebhooksInput {\n where?: IListWebhooksInputWhere;\n limit?: number;\n after?: string;\n sort?: (`${string}_ASC` | `${string}_DESC`)[];\n}\n\nexport interface IListMeta {\n cursor: string | null;\n hasMoreItems: boolean;\n totalCount: number;\n}\n\ntype IError = WebhookModelNotFoundError | WebhookPersistenceError | WebhookNotAuthorizedError;\n\nexport interface IListWebhooksOutput {\n items: Webhook[];\n meta: IListMeta;\n}\n\nexport interface IListWebhooksUseCase {\n execute(input?: IListWebhooksInput): Promise<Result<IListWebhooksOutput, IError>>;\n}\n\nexport const ListWebhooksUseCase = createAbstraction<IListWebhooksUseCase>(\n \"Webhooks/ListWebhooksUseCase\"\n);\n\nexport namespace ListWebhooksUseCase {\n export type Interface = IListWebhooksUseCase;\n export type Output = IListWebhooksOutput;\n export type Error = IError;\n}\n\nexport interface IListWebhooksRepository {\n execute(input?: IListWebhooksInput): Promise<Result<IListWebhooksOutput, IError>>;\n}\n\nexport const ListWebhooksRepository = createAbstraction<IListWebhooksRepository>(\n \"Webhooks/ListWebhooksRepository\"\n);\n\nexport namespace ListWebhooksRepository {\n export type Interface = IListWebhooksRepository;\n export type Output = IListWebhooksOutput;\n export type Error = IError;\n}\n"],"names":["ListWebhooksUseCase","createAbstraction","ListWebhooksRepository"],"mappings":";AAmDO,MAAMA,sBAAsBC,kBAC/B;AAaG,MAAMC,yBAAyBD,kBAClC"}
@@ -0,0 +1,4 @@
1
+ export declare const ListWebhooksFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ListWebhooksUseCase } from "./ListWebhooksUseCase.js";
3
+ import { ListWebhooksRepository } from "./ListWebhooksRepository.js";
4
+ const ListWebhooksFeature = createFeature({
5
+ name: "ListWebhooks",
6
+ register (container) {
7
+ container.register(ListWebhooksUseCase);
8
+ container.register(ListWebhooksRepository).inSingletonScope();
9
+ }
10
+ });
11
+ export { ListWebhooksFeature };
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/ListWebhooks/feature.js","sources":["../../../../src/api/features/ListWebhooks/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWebhooksUseCase } from \"./ListWebhooksUseCase.js\";\nimport { ListWebhooksRepository } from \"./ListWebhooksRepository.js\";\n\nexport const ListWebhooksFeature = createFeature({\n name: \"ListWebhooks\",\n register(container) {\n container.register(ListWebhooksUseCase);\n container.register(ListWebhooksRepository).inSingletonScope();\n }\n});\n"],"names":["ListWebhooksFeature","createFeature","container","ListWebhooksUseCase","ListWebhooksRepository"],"mappings":";;;AAIO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,wBAAwB,gBAAgB;IAC/D;AACJ"}
@@ -0,0 +1,20 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ResendWebhookDeliveryUseCase as UseCaseAbstraction } from "./abstractions.js";
3
+ import { GetWebhookDeliveryRepository } from "../../../api/features/GetWebhookDelivery/abstractions.js";
4
+ import { GetWebhookRepository } from "../../../api/features/GetWebhook/abstractions.js";
5
+ import { CreateWebhookDeliveryRepository } from "../../../api/features/CreateWebhookDelivery/abstractions.js";
6
+ import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
7
+ import { TaskService } from "@webiny/api-core/exports/api/tasks.js";
8
+ declare class ResendWebhookDeliveryUseCaseImpl implements UseCaseAbstraction.Interface {
9
+ private permissions;
10
+ private getDeliveryRepository;
11
+ private getWebhookRepository;
12
+ private createDeliveryRepository;
13
+ private taskService;
14
+ constructor(permissions: WebhookPermissions.Interface, getDeliveryRepository: GetWebhookDeliveryRepository.Interface, getWebhookRepository: GetWebhookRepository.Interface, createDeliveryRepository: CreateWebhookDeliveryRepository.Interface, taskService: TaskService.Interface);
15
+ execute(deliveryId: string): Promise<Result<boolean, UseCaseAbstraction.Error>>;
16
+ }
17
+ export declare const ResendWebhookDeliveryUseCase: typeof ResendWebhookDeliveryUseCaseImpl & {
18
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IResendWebhookDeliveryUseCase>;
19
+ };
20
+ export {};
@@ -0,0 +1,60 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ResendWebhookDeliveryUseCase } from "./abstractions.js";
3
+ import { GetWebhookDeliveryRepository } from "../GetWebhookDelivery/abstractions.js";
4
+ import { GetWebhookRepository } from "../GetWebhook/abstractions.js";
5
+ import { CreateWebhookDeliveryRepository } from "../CreateWebhookDelivery/abstractions.js";
6
+ import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
7
+ import { WebhookNotAuthorizedError } from "../../domain/errors.js";
8
+ import { TaskService } from "@webiny/api-core/exports/api/tasks.js";
9
+ import { SEND_WEBHOOK_TASK, WEBHOOK_DELIVERY_RETENTION_DAYS } from "../../domain/constants.js";
10
+ class ResendWebhookDeliveryUseCaseImpl {
11
+ constructor(permissions, getDeliveryRepository, getWebhookRepository, createDeliveryRepository, taskService){
12
+ this.permissions = permissions;
13
+ this.getDeliveryRepository = getDeliveryRepository;
14
+ this.getWebhookRepository = getWebhookRepository;
15
+ this.createDeliveryRepository = createDeliveryRepository;
16
+ this.taskService = taskService;
17
+ }
18
+ async execute(deliveryId) {
19
+ if (!await this.permissions.canEdit("webhook")) return Result.fail(new WebhookNotAuthorizedError());
20
+ const deliveryResult = await this.getDeliveryRepository.execute(deliveryId);
21
+ if (deliveryResult.isFail()) return Result.fail(deliveryResult.error);
22
+ const delivery = deliveryResult.value;
23
+ const webhookResult = await this.getWebhookRepository.execute(delivery.webhookId);
24
+ if (webhookResult.isFail()) return Result.fail(webhookResult.error);
25
+ const originalPayload = delivery.payload;
26
+ const data = originalPayload?.data ?? {};
27
+ const expiresAt = new Date(Date.now() + 24 * WEBHOOK_DELIVERY_RETENTION_DAYS * 3600000).toISOString();
28
+ const newDeliveryResult = await this.createDeliveryRepository.execute({
29
+ webhookId: delivery.webhookId,
30
+ eventType: delivery.eventType,
31
+ status: "pending",
32
+ payload: data,
33
+ expiresAt
34
+ });
35
+ if (newDeliveryResult.isFail()) return Result.fail(newDeliveryResult.error);
36
+ await this.taskService.trigger({
37
+ definition: SEND_WEBHOOK_TASK,
38
+ name: `Resend webhook: ${delivery.eventType}`,
39
+ input: {
40
+ webhookId: delivery.webhookId,
41
+ eventName: delivery.eventType,
42
+ deliveryId: newDeliveryResult.value.id
43
+ }
44
+ });
45
+ return Result.ok(true);
46
+ }
47
+ }
48
+ const ResendWebhookDeliveryUseCase_ResendWebhookDeliveryUseCase = ResendWebhookDeliveryUseCase.createImplementation({
49
+ implementation: ResendWebhookDeliveryUseCaseImpl,
50
+ dependencies: [
51
+ WebhookPermissions,
52
+ GetWebhookDeliveryRepository,
53
+ GetWebhookRepository,
54
+ CreateWebhookDeliveryRepository,
55
+ TaskService
56
+ ]
57
+ });
58
+ export { ResendWebhookDeliveryUseCase_ResendWebhookDeliveryUseCase as ResendWebhookDeliveryUseCase };
59
+
60
+ //# sourceMappingURL=ResendWebhookDeliveryUseCase.js.map