@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,22 @@
1
+ import { ListPresenter } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
2
+ import type { Webhook } from "../../../admin/shared/types.js";
3
+ import { type IWebhookListPresenter, type IWebhookListViewModel, type IWebhookListActions } from "./abstractions.js";
4
+ import { ListWebhooksUseCase } from "../../../admin/features/ListWebhooks/abstractions.js";
5
+ import { DeleteWebhookUseCase } from "../../../admin/features/deleteWebhook/abstractions.js";
6
+ import { TriggerWebhookUseCase } from "../../../admin/features/triggerWebhook/abstractions.js";
7
+ import { WebhookPermissions } from "../../../admin/features/permissions/abstractions.js";
8
+ declare class WebhookListPresenterImpl implements IWebhookListPresenter {
9
+ private readonly listPresenter;
10
+ private readonly listWebhooksUseCase;
11
+ private readonly deleteWebhookUseCase;
12
+ private readonly triggerWebhookUseCase;
13
+ private readonly permissions;
14
+ constructor(listPresenter: ListPresenter.Interface<Webhook>, listWebhooksUseCase: ListWebhooksUseCase.Interface, deleteWebhookUseCase: DeleteWebhookUseCase.Interface, triggerWebhookUseCase: TriggerWebhookUseCase.Interface, permissions: WebhookPermissions.Interface);
15
+ get vm(): IWebhookListViewModel;
16
+ actions: IWebhookListActions;
17
+ init(): void;
18
+ }
19
+ export declare const WebhookListPresenter: typeof WebhookListPresenterImpl & {
20
+ __abstraction: import("@webiny/di").Abstraction<IWebhookListPresenter>;
21
+ };
22
+ export {};
@@ -0,0 +1,90 @@
1
+ import { computed, makeAutoObservable } from "mobx";
2
+ import { ListPresenter } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
3
+ import { WebhookListPresenter } from "./abstractions.js";
4
+ import { WebhookListDataSource } from "./WebhookListDataSource.js";
5
+ import { ListWebhooksUseCase } from "../../features/ListWebhooks/abstractions.js";
6
+ import { DeleteWebhookUseCase } from "../../features/deleteWebhook/abstractions.js";
7
+ import { TriggerWebhookUseCase } from "../../features/triggerWebhook/abstractions.js";
8
+ import { WebhookPermissions } from "../../features/permissions/abstractions.js";
9
+ class WebhookListPresenterImpl {
10
+ constructor(listPresenter, listWebhooksUseCase, deleteWebhookUseCase, triggerWebhookUseCase, permissions){
11
+ this.listPresenter = listPresenter;
12
+ this.listWebhooksUseCase = listWebhooksUseCase;
13
+ this.deleteWebhookUseCase = deleteWebhookUseCase;
14
+ this.triggerWebhookUseCase = triggerWebhookUseCase;
15
+ this.permissions = permissions;
16
+ this.actions = {
17
+ search: {
18
+ set: (query)=>this.listPresenter.actions.search.set(query),
19
+ clear: ()=>this.listPresenter.actions.search.clear()
20
+ },
21
+ sort: {
22
+ set: (field, direction)=>this.listPresenter.actions.sort.set(field, direction),
23
+ toggle: (field)=>this.listPresenter.actions.sort.toggle(field)
24
+ },
25
+ filter: {
26
+ set: (key, value)=>this.listPresenter.actions.filter.set(key, value),
27
+ clear: (key)=>this.listPresenter.actions.filter.clear(key),
28
+ clearAll: ()=>this.listPresenter.actions.filter.clearAll()
29
+ },
30
+ selection: {
31
+ toggle: (id)=>this.listPresenter.actions.selection.toggle(id),
32
+ selectRangeTo: (id)=>this.listPresenter.actions.selection.selectRangeTo(id),
33
+ selectAll: ()=>this.listPresenter.actions.selection.selectAll(),
34
+ deselectAll: ()=>this.listPresenter.actions.selection.deselectAll(),
35
+ selectRows: (ids)=>this.listPresenter.actions.selection.selectRows(ids),
36
+ isSelected: (id)=>this.listPresenter.actions.selection.isSelected(id)
37
+ },
38
+ loadMore: ()=>this.listPresenter.actions.loadMore(),
39
+ refresh: ()=>this.listPresenter.actions.refresh(),
40
+ deleteWebhook: async (id)=>{
41
+ await this.deleteWebhookUseCase.execute(id);
42
+ await this.listPresenter.actions.refresh();
43
+ },
44
+ triggerWebhook: async (id)=>{
45
+ await this.triggerWebhookUseCase.execute(id, {
46
+ test: true
47
+ });
48
+ await this.listPresenter.actions.refresh();
49
+ }
50
+ };
51
+ makeAutoObservable(this, {
52
+ vm: computed
53
+ });
54
+ }
55
+ get vm() {
56
+ return {
57
+ list: this.listPresenter.vm,
58
+ permissions: {
59
+ canRead: this.permissions.canRead("webhook"),
60
+ canCreate: this.permissions.canCreate("webhook"),
61
+ canEdit: this.permissions.canEdit("webhook"),
62
+ canDelete: this.permissions.canDelete("webhook")
63
+ }
64
+ };
65
+ }
66
+ init() {
67
+ const dataSource = new WebhookListDataSource(this.listWebhooksUseCase);
68
+ this.listPresenter.init({
69
+ dataSource,
70
+ initialSort: {
71
+ field: "createdOn",
72
+ direction: "DESC"
73
+ },
74
+ limit: 20
75
+ });
76
+ }
77
+ }
78
+ const WebhookListPresenter_WebhookListPresenter = WebhookListPresenter.createImplementation({
79
+ implementation: WebhookListPresenterImpl,
80
+ dependencies: [
81
+ ListPresenter,
82
+ ListWebhooksUseCase,
83
+ DeleteWebhookUseCase,
84
+ TriggerWebhookUseCase,
85
+ WebhookPermissions
86
+ ]
87
+ });
88
+ export { WebhookListPresenter_WebhookListPresenter as WebhookListPresenter };
89
+
90
+ //# sourceMappingURL=WebhookListPresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookList/WebhookListPresenter.js","sources":["../../../../src/admin/presentation/WebhookList/WebhookListPresenter.ts"],"sourcesContent":["import { makeAutoObservable, computed } from \"mobx\";\nimport { ListPresenter } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { Webhook } from \"~/admin/shared/types.js\";\nimport {\n WebhookListPresenter as Abstraction,\n type IWebhookListPresenter,\n type IWebhookListViewModel,\n type IWebhookListActions\n} from \"./abstractions.js\";\nimport { WebhookListDataSource } from \"./WebhookListDataSource.js\";\nimport { ListWebhooksUseCase } from \"~/admin/features/ListWebhooks/abstractions.js\";\nimport { DeleteWebhookUseCase } from \"~/admin/features/deleteWebhook/abstractions.js\";\nimport { TriggerWebhookUseCase } from \"~/admin/features/triggerWebhook/abstractions.js\";\nimport { WebhookPermissions } from \"~/admin/features/permissions/abstractions.js\";\n\nclass WebhookListPresenterImpl implements IWebhookListPresenter {\n constructor(\n private readonly listPresenter: ListPresenter.Interface<Webhook>,\n private readonly listWebhooksUseCase: ListWebhooksUseCase.Interface,\n private readonly deleteWebhookUseCase: DeleteWebhookUseCase.Interface,\n private readonly triggerWebhookUseCase: TriggerWebhookUseCase.Interface,\n private readonly permissions: WebhookPermissions.Interface\n ) {\n makeAutoObservable(this, { vm: computed });\n }\n\n get vm(): IWebhookListViewModel {\n return {\n list: this.listPresenter.vm,\n permissions: {\n canRead: this.permissions.canRead(\"webhook\"),\n canCreate: this.permissions.canCreate(\"webhook\"),\n canEdit: this.permissions.canEdit(\"webhook\"),\n canDelete: this.permissions.canDelete(\"webhook\")\n }\n };\n }\n\n actions: IWebhookListActions = {\n search: {\n set: (query: string) => this.listPresenter.actions.search.set(query),\n clear: () => this.listPresenter.actions.search.clear()\n },\n sort: {\n set: (field: string, direction: \"ASC\" | \"DESC\") =>\n this.listPresenter.actions.sort.set(field, direction),\n toggle: (field: string) => this.listPresenter.actions.sort.toggle(field)\n },\n filter: {\n set: (key: string, value: unknown) => this.listPresenter.actions.filter.set(key, value),\n clear: (key: string) => this.listPresenter.actions.filter.clear(key),\n clearAll: () => this.listPresenter.actions.filter.clearAll()\n },\n selection: {\n toggle: (id: string) => this.listPresenter.actions.selection.toggle(id),\n selectRangeTo: (id: string) => this.listPresenter.actions.selection.selectRangeTo(id),\n selectAll: () => this.listPresenter.actions.selection.selectAll(),\n deselectAll: () => this.listPresenter.actions.selection.deselectAll(),\n selectRows: (ids: string[]) => this.listPresenter.actions.selection.selectRows(ids),\n isSelected: (id: string) => this.listPresenter.actions.selection.isSelected(id)\n },\n loadMore: () => this.listPresenter.actions.loadMore(),\n refresh: () => this.listPresenter.actions.refresh(),\n deleteWebhook: async (id: string) => {\n await this.deleteWebhookUseCase.execute(id);\n await this.listPresenter.actions.refresh();\n },\n triggerWebhook: async (id: string) => {\n await this.triggerWebhookUseCase.execute(id, { test: true });\n await this.listPresenter.actions.refresh();\n }\n };\n\n init(): void {\n const dataSource = new WebhookListDataSource(this.listWebhooksUseCase);\n this.listPresenter.init({\n dataSource,\n initialSort: { field: \"createdOn\", direction: \"DESC\" },\n limit: 20\n });\n }\n}\n\nexport const WebhookListPresenter = Abstraction.createImplementation({\n implementation: WebhookListPresenterImpl,\n dependencies: [\n ListPresenter,\n ListWebhooksUseCase,\n DeleteWebhookUseCase,\n TriggerWebhookUseCase,\n WebhookPermissions\n ]\n});\n"],"names":["WebhookListPresenterImpl","listPresenter","listWebhooksUseCase","deleteWebhookUseCase","triggerWebhookUseCase","permissions","query","field","direction","key","value","id","ids","makeAutoObservable","computed","dataSource","WebhookListDataSource","WebhookListPresenter","Abstraction","ListPresenter","ListWebhooksUseCase","DeleteWebhookUseCase","TriggerWebhookUseCase","WebhookPermissions"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { Webhook } from "../../../admin/shared/types.js";
2
+ import type { IListViewModel } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
3
+ import type { IListActions } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
4
+ export interface IWebhookListViewModel {
5
+ list: IListViewModel<Webhook>;
6
+ permissions: {
7
+ canRead: boolean;
8
+ canCreate: boolean;
9
+ canEdit: boolean;
10
+ canDelete: boolean;
11
+ };
12
+ }
13
+ export interface IWebhookListActions extends IListActions {
14
+ deleteWebhook(id: string): Promise<void>;
15
+ triggerWebhook(id: string): Promise<void>;
16
+ }
17
+ export interface IWebhookListPresenter {
18
+ vm: IWebhookListViewModel;
19
+ actions: IWebhookListActions;
20
+ init(): void;
21
+ }
22
+ export declare const WebhookListPresenter: import("@webiny/di").Abstraction<IWebhookListPresenter>;
23
+ export declare namespace WebhookListPresenter {
24
+ type Interface = IWebhookListPresenter;
25
+ type ViewModel = IWebhookListViewModel;
26
+ type Actions = IWebhookListActions;
27
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+ const WebhookListPresenter = createAbstraction("WebhookListPresenter");
3
+ export { WebhookListPresenter };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookList/abstractions.js","sources":["../../../../src/admin/presentation/WebhookList/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { Webhook } from \"~/admin/shared/types.js\";\nimport type { IListViewModel } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { IListActions } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\n\nexport interface IWebhookListViewModel {\n list: IListViewModel<Webhook>;\n permissions: {\n canRead: boolean;\n canCreate: boolean;\n canEdit: boolean;\n canDelete: boolean;\n };\n}\n\nexport interface IWebhookListActions extends IListActions {\n deleteWebhook(id: string): Promise<void>;\n triggerWebhook(id: string): Promise<void>;\n}\n\nexport interface IWebhookListPresenter {\n vm: IWebhookListViewModel;\n actions: IWebhookListActions;\n init(): void;\n}\n\nexport const WebhookListPresenter =\n createAbstraction<IWebhookListPresenter>(\"WebhookListPresenter\");\n\nexport namespace WebhookListPresenter {\n export type Interface = IWebhookListPresenter;\n export type ViewModel = IWebhookListViewModel;\n export type Actions = IWebhookListActions;\n}\n"],"names":["WebhookListPresenter","createAbstraction"],"mappings":";AA0BO,MAAMA,uBACTC,kBAAyC"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const WebhookListView: () => React.JSX.Element;
@@ -0,0 +1,172 @@
1
+ import react, { useCallback, useEffect, useMemo } from "react";
2
+ import { observer } from "mobx-react-lite";
3
+ import { DiContainerProvider, useContainer, useFeature } from "@webiny/app";
4
+ import { useRouter } from "@webiny/app-admin";
5
+ import { Button, DataTable, DropdownMenu, Heading, IconButton, Separator, Tag, Text, TimeAgo } from "@webiny/admin-ui";
6
+ import { useConfirmationDialog, useSnackbar } from "@webiny/app-admin/hooks/index.js";
7
+ import { ReactComponent } from "@webiny/icons/more_vert.svg";
8
+ import { WebhookListPresenterFeature } from "../feature.js";
9
+ import { ListWebhooksFeature } from "../../../features/ListWebhooks/feature.js";
10
+ import { DeleteWebhookFeature } from "../../../features/deleteWebhook/feature.js";
11
+ import { TriggerWebhookFeature } from "../../../features/triggerWebhook/feature.js";
12
+ import { WebhookPermissionsFeature } from "../../../features/permissions/feature.js";
13
+ import { Routes } from "../../../routes.js";
14
+ const WebhookListView_WebhookListViewInner = observer(function() {
15
+ const { presenter } = useFeature(WebhookListPresenterFeature);
16
+ const { goToRoute } = useRouter();
17
+ useEffect(()=>{
18
+ presenter.init();
19
+ }, [
20
+ presenter
21
+ ]);
22
+ const { vm } = presenter;
23
+ const { showSnackbar } = useSnackbar();
24
+ const { showConfirmation: showDeleteConfirmation } = useConfirmationDialog({
25
+ title: "Delete Webhook",
26
+ message: "Are you sure you want to delete this webhook?"
27
+ });
28
+ const sorting = useMemo(()=>{
29
+ const sort = vm.list.sort;
30
+ if (!sort || !sort.field) return [];
31
+ return [
32
+ {
33
+ id: sort.field,
34
+ desc: "DESC" === sort.direction
35
+ }
36
+ ];
37
+ }, [
38
+ vm.list.sort
39
+ ]);
40
+ const onSortingChange = useCallback((updater)=>{
41
+ const next = "function" == typeof updater ? updater(sorting) : updater;
42
+ if (next.length > 0) {
43
+ const { id, desc } = next[0];
44
+ presenter.actions.sort.set(id, desc ? "DESC" : "ASC");
45
+ }
46
+ }, [
47
+ sorting,
48
+ presenter.actions.sort
49
+ ]);
50
+ const columns = useMemo(()=>({
51
+ name: {
52
+ header: "Name",
53
+ cell: (row)=>/*#__PURE__*/ react.createElement(Text, {
54
+ className: "cursor-pointer text-primary hover:underline",
55
+ onClick: ()=>goToRoute(Routes.Form, {
56
+ id: row.id
57
+ })
58
+ }, row.name),
59
+ enableSorting: true,
60
+ size: 200
61
+ },
62
+ endpointUrl: {
63
+ header: "Endpoint",
64
+ cell: (row)=>/*#__PURE__*/ react.createElement(Text, {
65
+ className: "font-mono text-sm truncate"
66
+ }, row.endpointUrl),
67
+ size: 250
68
+ },
69
+ enabled: {
70
+ header: "Status",
71
+ cell: (row)=>/*#__PURE__*/ react.createElement(Tag, {
72
+ variant: row.enabled ? "success" : "neutral-muted",
73
+ content: row.enabled ? "Active" : "Disabled"
74
+ }),
75
+ enableSorting: true,
76
+ size: 100
77
+ },
78
+ createdOn: {
79
+ header: "Created",
80
+ cell: (row)=>row.createdOn ? /*#__PURE__*/ react.createElement(TimeAgo, {
81
+ datetime: row.createdOn
82
+ }) : /*#__PURE__*/ react.createElement(Text, {
83
+ size: "sm"
84
+ }, "—"),
85
+ enableSorting: true,
86
+ size: 120
87
+ },
88
+ actions: {
89
+ header: " ",
90
+ cell: (row)=>/*#__PURE__*/ react.createElement(DropdownMenu, {
91
+ trigger: /*#__PURE__*/ react.createElement(IconButton, {
92
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
93
+ variant: "ghost",
94
+ size: "sm",
95
+ "aria-label": "Actions"
96
+ })
97
+ }, /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
98
+ onSelect: ()=>goToRoute(Routes.Form, {
99
+ id: row.id
100
+ })
101
+ }, "Edit"), vm.permissions.canEdit && /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
102
+ onSelect: ()=>{
103
+ presenter.actions.triggerWebhook(row.id).then(()=>{
104
+ showSnackbar("Test event triggered.");
105
+ });
106
+ }
107
+ }, "Trigger Test"), vm.permissions.canDelete && /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(DropdownMenu.Separator, null), /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
108
+ onSelect: ()=>{
109
+ showDeleteConfirmation(()=>presenter.actions.deleteWebhook(row.id));
110
+ }
111
+ }, "Delete"))),
112
+ size: 56,
113
+ enableSorting: false,
114
+ enableHiding: false,
115
+ enableResizing: false
116
+ }
117
+ }), [
118
+ vm.permissions,
119
+ presenter.actions,
120
+ goToRoute,
121
+ showDeleteConfirmation,
122
+ showSnackbar
123
+ ]);
124
+ return /*#__PURE__*/ react.createElement("div", {
125
+ className: "flex flex-col h-main-content"
126
+ }, /*#__PURE__*/ react.createElement("div", {
127
+ className: "flex items-center justify-between py-sm px-md"
128
+ }, /*#__PURE__*/ react.createElement(Heading, {
129
+ level: 5
130
+ }, "Webhooks"), vm.permissions.canCreate && /*#__PURE__*/ react.createElement(Button, {
131
+ variant: "primary",
132
+ onClick: ()=>goToRoute(Routes.Form, {
133
+ id: "new"
134
+ })
135
+ }, "Create Webhook")), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
136
+ className: "flex-1 overflow-auto"
137
+ }, vm.list.pagination.loading || 0 !== vm.list.rows.length ? /*#__PURE__*/ react.createElement(DataTable, {
138
+ columns: columns,
139
+ data: vm.list.rows,
140
+ loading: vm.list.pagination.loading,
141
+ sorting: sorting,
142
+ onSortingChange: onSortingChange,
143
+ stickyHeader: true
144
+ }) : /*#__PURE__*/ react.createElement("div", {
145
+ className: "flex flex-col items-center justify-center h-full gap-md"
146
+ }, /*#__PURE__*/ react.createElement(Text, {
147
+ className: "text-neutral-strong"
148
+ }, "No webhooks found."), vm.permissions.canCreate && /*#__PURE__*/ react.createElement(Button, {
149
+ variant: "primary",
150
+ onClick: ()=>goToRoute(Routes.Form, {
151
+ id: "new"
152
+ })
153
+ }, "Create Webhook"))));
154
+ });
155
+ const WebhookListView = ()=>{
156
+ const container = useContainer();
157
+ const scopedContainer = useMemo(()=>{
158
+ const child = container.createChildContainer();
159
+ ListWebhooksFeature.register(child);
160
+ DeleteWebhookFeature.register(child);
161
+ TriggerWebhookFeature.register(child);
162
+ WebhookPermissionsFeature.register(child);
163
+ WebhookListPresenterFeature.register(child);
164
+ return child;
165
+ }, []);
166
+ return /*#__PURE__*/ react.createElement(DiContainerProvider, {
167
+ container: scopedContainer
168
+ }, /*#__PURE__*/ react.createElement(WebhookListView_WebhookListViewInner, null));
169
+ };
170
+ export { WebhookListView };
171
+
172
+ //# sourceMappingURL=WebhookListView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookList/components/WebhookListView.js","sources":["../../../../../src/admin/presentation/WebhookList/components/WebhookListView.tsx"],"sourcesContent":["import React, { useMemo, useEffect, useCallback } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DiContainerProvider, useContainer, useFeature } from \"@webiny/app\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport {\n Button,\n DataTable,\n DropdownMenu,\n Heading,\n IconButton,\n Separator,\n Tag,\n Text,\n TimeAgo\n} from \"@webiny/admin-ui\";\nimport type { DataTableSorting, OnDataTableSortingChange } from \"@webiny/admin-ui\";\nimport { useConfirmationDialog, useSnackbar } from \"@webiny/app-admin/hooks/index.js\";\nimport { ReactComponent as MoreVerticalIcon } from \"@webiny/icons/more_vert.svg\";\nimport { WebhookListPresenterFeature } from \"../feature.js\";\nimport { ListWebhooksFeature } from \"~/admin/features/ListWebhooks/feature.js\";\nimport { DeleteWebhookFeature } from \"~/admin/features/deleteWebhook/feature.js\";\nimport { TriggerWebhookFeature } from \"~/admin/features/triggerWebhook/feature.js\";\nimport { WebhookPermissionsFeature } from \"~/admin/features/permissions/feature.js\";\nimport { Routes } from \"~/admin/routes.js\";\nimport type { Webhook } from \"~/admin/shared/types.js\";\n\nconst WebhookListViewInner = observer(function WebhookListViewInner() {\n const { presenter } = useFeature(WebhookListPresenterFeature);\n const { goToRoute } = useRouter();\n\n useEffect(() => {\n presenter.init();\n }, [presenter]);\n\n const { vm } = presenter;\n\n const { showSnackbar } = useSnackbar();\n\n const { showConfirmation: showDeleteConfirmation } = useConfirmationDialog({\n title: \"Delete Webhook\",\n message: \"Are you sure you want to delete this webhook?\"\n });\n\n const sorting: DataTableSorting = useMemo(() => {\n const sort = vm.list.sort;\n if (!sort || !sort.field) {\n return [];\n }\n return [{ id: sort.field, desc: sort.direction === \"DESC\" }];\n }, [vm.list.sort]);\n\n const onSortingChange: OnDataTableSortingChange = useCallback(\n updater => {\n const next = typeof updater === \"function\" ? updater(sorting) : updater;\n if (next.length > 0) {\n const { id, desc } = next[0];\n presenter.actions.sort.set(id, desc ? \"DESC\" : \"ASC\");\n }\n },\n [sorting, presenter.actions.sort]\n );\n\n const columns = useMemo(\n () => ({\n name: {\n header: \"Name\",\n cell: (row: Webhook) => (\n <Text\n className=\"cursor-pointer text-primary hover:underline\"\n onClick={() => goToRoute(Routes.Form, { id: row.id })}\n >\n {row.name}\n </Text>\n ),\n enableSorting: true,\n size: 200\n },\n endpointUrl: {\n header: \"Endpoint\",\n cell: (row: Webhook) => (\n <Text className=\"font-mono text-sm truncate\">{row.endpointUrl}</Text>\n ),\n size: 250\n },\n enabled: {\n header: \"Status\",\n cell: (row: Webhook) => (\n <Tag\n variant={row.enabled ? \"success\" : \"neutral-muted\"}\n content={row.enabled ? \"Active\" : \"Disabled\"}\n />\n ),\n enableSorting: true,\n size: 100\n },\n createdOn: {\n header: \"Created\",\n cell: (row: Webhook) =>\n row.createdOn ? <TimeAgo datetime={row.createdOn} /> : <Text size=\"sm\">—</Text>,\n enableSorting: true,\n size: 120\n },\n actions: {\n header: \" \",\n cell: (row: Webhook) => (\n <DropdownMenu\n trigger={\n <IconButton\n icon={<MoreVerticalIcon />}\n variant=\"ghost\"\n size=\"sm\"\n aria-label=\"Actions\"\n />\n }\n >\n <DropdownMenu.Item onSelect={() => goToRoute(Routes.Form, { id: row.id })}>\n Edit\n </DropdownMenu.Item>\n {vm.permissions.canEdit && (\n <DropdownMenu.Item\n onSelect={() => {\n void presenter.actions.triggerWebhook(row.id).then(() => {\n showSnackbar(\"Test event triggered.\");\n });\n }}\n >\n Trigger Test\n </DropdownMenu.Item>\n )}\n {vm.permissions.canDelete && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Item\n onSelect={() => {\n showDeleteConfirmation(() =>\n presenter.actions.deleteWebhook(row.id)\n );\n }}\n >\n Delete\n </DropdownMenu.Item>\n </>\n )}\n </DropdownMenu>\n ),\n size: 56,\n enableSorting: false,\n enableHiding: false,\n enableResizing: false\n }\n }),\n [vm.permissions, presenter.actions, goToRoute, showDeleteConfirmation, showSnackbar]\n );\n\n return (\n <div className=\"flex flex-col h-main-content\">\n <div className=\"flex items-center justify-between py-sm px-md\">\n <Heading level={5}>Webhooks</Heading>\n {vm.permissions.canCreate && (\n <Button variant=\"primary\" onClick={() => goToRoute(Routes.Form, { id: \"new\" })}>\n Create Webhook\n </Button>\n )}\n </div>\n <Separator />\n <div className=\"flex-1 overflow-auto\">\n {!vm.list.pagination.loading && vm.list.rows.length === 0 ? (\n <div className=\"flex flex-col items-center justify-center h-full gap-md\">\n <Text className=\"text-neutral-strong\">No webhooks found.</Text>\n {vm.permissions.canCreate && (\n <Button\n variant=\"primary\"\n onClick={() => goToRoute(Routes.Form, { id: \"new\" })}\n >\n Create Webhook\n </Button>\n )}\n </div>\n ) : (\n <DataTable<Webhook>\n columns={columns}\n data={vm.list.rows}\n loading={vm.list.pagination.loading}\n sorting={sorting}\n onSortingChange={onSortingChange}\n stickyHeader\n />\n )}\n </div>\n </div>\n );\n});\n\nexport const WebhookListView = () => {\n const container = useContainer();\n\n const scopedContainer = useMemo(() => {\n const child = container.createChildContainer();\n ListWebhooksFeature.register(child);\n DeleteWebhookFeature.register(child);\n TriggerWebhookFeature.register(child);\n WebhookPermissionsFeature.register(child);\n WebhookListPresenterFeature.register(child);\n return child;\n }, []);\n\n return (\n <DiContainerProvider container={scopedContainer}>\n <WebhookListViewInner />\n </DiContainerProvider>\n );\n};\n"],"names":["WebhookListViewInner","observer","presenter","useFeature","WebhookListPresenterFeature","goToRoute","useRouter","useEffect","vm","showSnackbar","useSnackbar","showDeleteConfirmation","useConfirmationDialog","sorting","useMemo","sort","onSortingChange","useCallback","updater","next","id","desc","columns","row","Text","Routes","Tag","TimeAgo","DropdownMenu","IconButton","MoreVerticalIcon","Heading","Button","Separator","DataTable","WebhookListView","container","useContainer","scopedContainer","child","ListWebhooksFeature","DeleteWebhookFeature","TriggerWebhookFeature","WebhookPermissionsFeature","DiContainerProvider"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const WebhookListPresenterFeature: import("@webiny/feature/admin").FeatureDefinition<{
2
+ presenter: import("./abstractions.js").IWebhookListPresenter;
3
+ }, []>;
@@ -0,0 +1,17 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { WebhookListPresenter } from "./abstractions.js";
3
+ import { WebhookListPresenter as external_WebhookListPresenter_js_WebhookListPresenter } from "./WebhookListPresenter.js";
4
+ const WebhookListPresenterFeature = createFeature({
5
+ name: "Webhooks/WebhookListPresenter",
6
+ register (container) {
7
+ container.register(external_WebhookListPresenter_js_WebhookListPresenter).inSingletonScope();
8
+ },
9
+ resolve (container) {
10
+ return {
11
+ presenter: container.resolve(WebhookListPresenter)
12
+ };
13
+ }
14
+ });
15
+ export { WebhookListPresenterFeature };
16
+
17
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookList/feature.js","sources":["../../../../src/admin/presentation/WebhookList/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { WebhookListPresenter as PresenterAbstraction } from \"./abstractions.js\";\nimport { WebhookListPresenter } from \"./WebhookListPresenter.js\";\n\nexport const WebhookListPresenterFeature = createFeature({\n name: \"Webhooks/WebhookListPresenter\",\n register(container) {\n container.register(WebhookListPresenter).inSingletonScope();\n },\n resolve(container) {\n return { presenter: container.resolve(PresenterAbstraction) };\n }\n});\n"],"names":["WebhookListPresenterFeature","createFeature","container","WebhookListPresenter","PresenterAbstraction"],"mappings":";;;AAIO,MAAMA,8BAA8BC,cAAc;IACrD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,uDAAsB,gBAAgB;IAC7D;IACA,SAAQD,SAAS;QACb,OAAO;YAAE,WAAWA,UAAU,OAAO,CAACE;QAAsB;IAChE;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { WebhookListPresenter } from "./abstractions.js";
2
+ export { WebhookListPresenterFeature } from "./feature.js";
@@ -0,0 +1,2 @@
1
+ export { WebhookListPresenter } from "./abstractions.js";
2
+ export { WebhookListPresenterFeature } from "./feature.js";
@@ -0,0 +1,12 @@
1
+ export declare const HasPermission: import("react").FC<import("@webiny/app-admin/permissions").HasPermissionProps<{
2
+ readonly prefix: "webhooks";
3
+ readonly fullAccess: true;
4
+ readonly entities: [{
5
+ readonly id: "webhook";
6
+ readonly permission: "webhooks.webhook";
7
+ readonly scopes: ["full"];
8
+ readonly actions: [{
9
+ readonly name: "rwd";
10
+ }];
11
+ }];
12
+ }>>;
@@ -0,0 +1,6 @@
1
+ import { createHasPermission } from "@webiny/app-admin/exports/admin/security.js";
2
+ import { WebhookPermissions } from "../../features/permissions/abstractions.js";
3
+ const HasPermission = createHasPermission(WebhookPermissions);
4
+ export { HasPermission };
5
+
6
+ //# sourceMappingURL=HasPermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/security/HasPermission.js","sources":["../../../../src/admin/presentation/security/HasPermission.tsx"],"sourcesContent":["import { createHasPermission } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { WebhookPermissions } from \"~/admin/features/permissions/abstractions.js\";\nimport { WEBHOOK_PERMISSIONS_SCHEMA } from \"~/admin/permissions.js\";\n\nexport const HasPermission =\n createHasPermission<typeof WEBHOOK_PERMISSIONS_SCHEMA>(WebhookPermissions);\n"],"names":["HasPermission","createHasPermission","WebhookPermissions"],"mappings":";;AAIO,MAAMA,gBACTC,oBAAuDC"}
@@ -0,0 +1,12 @@
1
+ export declare const usePermissions: () => {
2
+ canAccess: (entityId: "webhook") => boolean;
3
+ canAction: (action: string, entityId: "webhook") => boolean;
4
+ } & {
5
+ canRead: (entityId: "webhook") => boolean;
6
+ canCreate: (entityId: "webhook") => boolean;
7
+ canEdit: (entityId: "webhook", item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
8
+ canDelete: (entityId: "webhook", item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
9
+ } & {
10
+ canPublish: (entityId: string) => boolean;
11
+ canUnpublish: (entityId: string) => boolean;
12
+ };
@@ -0,0 +1,6 @@
1
+ import { createUsePermissions } from "@webiny/app-admin/exports/admin/security.js";
2
+ import { WebhookPermissions } from "../../features/permissions/abstractions.js";
3
+ const usePermissions = createUsePermissions(WebhookPermissions);
4
+ export { usePermissions };
5
+
6
+ //# sourceMappingURL=usePermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/security/usePermissions.js","sources":["../../../../src/admin/presentation/security/usePermissions.ts"],"sourcesContent":["import { createUsePermissions } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { WebhookPermissions } from \"~/admin/features/permissions/abstractions.js\";\n\nexport const usePermissions = createUsePermissions(WebhookPermissions);\n"],"names":["usePermissions","createUsePermissions","WebhookPermissions"],"mappings":";;AAGO,MAAMA,iBAAiBC,qBAAqBC"}
@@ -0,0 +1,7 @@
1
+ import { Route } from "@webiny/app-admin";
2
+ export declare const Routes: {
3
+ List: Route<undefined>;
4
+ Form: Route<{
5
+ id: import("zod").ZodString;
6
+ }>;
7
+ };
@@ -0,0 +1,17 @@
1
+ import { Route } from "@webiny/app-admin";
2
+ const Routes = {
3
+ List: new Route({
4
+ name: "Webhooks/List",
5
+ path: "/webhooks"
6
+ }),
7
+ Form: new Route({
8
+ name: "Webhooks/Form",
9
+ path: "/webhooks/:id",
10
+ params: (zod)=>({
11
+ id: zod.string()
12
+ })
13
+ })
14
+ };
15
+ export { Routes };
16
+
17
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/routes.js","sources":["../../src/admin/routes.ts"],"sourcesContent":["import { Route } from \"@webiny/app-admin\";\n\nexport const Routes = {\n List: new Route({\n name: \"Webhooks/List\",\n path: \"/webhooks\"\n }),\n Form: new Route({\n name: \"Webhooks/Form\",\n path: \"/webhooks/:id\",\n params: zod => ({\n id: zod.string()\n })\n })\n};\n"],"names":["Routes","Route","zod"],"mappings":";AAEO,MAAMA,SAAS;IAClB,MAAM,IAAIC,MAAM;QACZ,MAAM;QACN,MAAM;IACV;IACA,MAAM,IAAIA,MAAM;QACZ,MAAM;QACN,MAAM;QACN,QAAQC,CAAAA,MAAQ;gBACZ,IAAIA,IAAI,MAAM;YAClB;IACJ;AACJ"}
@@ -0,0 +1,5 @@
1
+ export type { Webhook, WebhookDelivery, WebhookEvent } from "@webiny/sdk";
2
+ export type { ListWebhooksParams, ListWebhooksResult } from "@webiny/sdk";
3
+ export type { ListWebhookDeliveriesParams, ListWebhookDeliveriesResult } from "@webiny/sdk";
4
+ export type { CreateWebhookParams } from "@webiny/sdk";
5
+ export type { UpdateWebhookParams } from "@webiny/sdk";
File without changes
@@ -0,0 +1 @@
1
+ export { WebhooksFeature as Extension } from "./WebhooksFeature.js";
@@ -0,0 +1 @@
1
+ export { WebhooksFeature as Extension } from "./WebhooksFeature.js";
@@ -0,0 +1,4 @@
1
+ export declare const WebhooksFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,55 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { WebhookModel } from "./models/WebhookModel.js";
3
+ import { WebhookDeliveryModel } from "./models/WebhookDeliveryModel.js";
4
+ import { WebhookCrudSchema } from "./graphql/WebhookCrudSchema.js";
5
+ import { WebhookDeliverySchema } from "./graphql/WebhookDeliverySchema.js";
6
+ import { WebhookEventSchema } from "./graphql/WebhookEventSchema.js";
7
+ import { WebhookTriggerSchema } from "./graphql/WebhookTriggerSchema.js";
8
+ import { CreateWebhookFeature } from "./features/CreateWebhook/feature.js";
9
+ import { GetWebhookFeature } from "./features/GetWebhook/feature.js";
10
+ import { ListWebhooksFeature } from "./features/ListWebhooks/feature.js";
11
+ import { UpdateWebhookFeature } from "./features/UpdateWebhook/feature.js";
12
+ import { DeleteWebhookFeature } from "./features/DeleteWebhook/feature.js";
13
+ import { CreateWebhookDeliveryFeature } from "./features/CreateWebhookDelivery/feature.js";
14
+ import { UpdateWebhookDeliveryFeature } from "./features/UpdateWebhookDelivery/feature.js";
15
+ import { GetWebhookDeliveryFeature } from "./features/GetWebhookDelivery/feature.js";
16
+ import { ListWebhookDeliveriesFeature } from "./features/ListWebhookDeliveries/feature.js";
17
+ import { ResendWebhookDeliveryFeature } from "./features/ResendWebhookDelivery/feature.js";
18
+ import { TriggerWebhookFeature } from "./features/TriggerWebhook/feature.js";
19
+ import { ListAvailableWebhookEventsFeature } from "./features/ListAvailableWebhookEvents/feature.js";
20
+ import { WebhookPermissionsFeature } from "./features/WebhookPermissions/feature.js";
21
+ import { WebhookSignPayloadFeature } from "./features/WebhookSignPayload/feature.js";
22
+ import { WebhookDispatcherFeature } from "./features/WebhookDispatcher/feature.js";
23
+ import { SendWebhookTaskFeature } from "./features/SendWebhookTask/feature.js";
24
+ import { WebhooksTransformerFeature } from "./features/Transformers/feature.js";
25
+ const WebhooksFeature = createFeature({
26
+ name: "WebhookManagement",
27
+ register (container) {
28
+ container.register(WebhookModel);
29
+ container.register(WebhookDeliveryModel);
30
+ WebhooksTransformerFeature.register(container);
31
+ container.register(WebhookCrudSchema);
32
+ container.register(WebhookDeliverySchema);
33
+ container.register(WebhookEventSchema);
34
+ container.register(WebhookTriggerSchema);
35
+ WebhookPermissionsFeature.register(container);
36
+ WebhookSignPayloadFeature.register(container);
37
+ WebhookDispatcherFeature.register(container);
38
+ SendWebhookTaskFeature.register(container);
39
+ CreateWebhookFeature.register(container);
40
+ GetWebhookFeature.register(container);
41
+ ListWebhooksFeature.register(container);
42
+ UpdateWebhookFeature.register(container);
43
+ DeleteWebhookFeature.register(container);
44
+ CreateWebhookDeliveryFeature.register(container);
45
+ UpdateWebhookDeliveryFeature.register(container);
46
+ GetWebhookDeliveryFeature.register(container);
47
+ ListWebhookDeliveriesFeature.register(container);
48
+ ResendWebhookDeliveryFeature.register(container);
49
+ TriggerWebhookFeature.register(container);
50
+ ListAvailableWebhookEventsFeature.register(container);
51
+ }
52
+ });
53
+ export { WebhooksFeature };
54
+
55
+ //# sourceMappingURL=WebhooksFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/WebhooksFeature.js","sources":["../../src/api/WebhooksFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WebhookModel } from \"./models/WebhookModel.js\";\nimport { WebhookDeliveryModel } from \"./models/WebhookDeliveryModel.js\";\nimport { WebhookCrudSchema } from \"./graphql/WebhookCrudSchema.js\";\nimport { WebhookDeliverySchema } from \"./graphql/WebhookDeliverySchema.js\";\nimport { WebhookEventSchema } from \"./graphql/WebhookEventSchema.js\";\nimport { WebhookTriggerSchema } from \"./graphql/WebhookTriggerSchema.js\";\nimport { CreateWebhookFeature } from \"./features/CreateWebhook/feature.js\";\nimport { GetWebhookFeature } from \"./features/GetWebhook/feature.js\";\nimport { ListWebhooksFeature } from \"./features/ListWebhooks/feature.js\";\nimport { UpdateWebhookFeature } from \"./features/UpdateWebhook/feature.js\";\nimport { DeleteWebhookFeature } from \"./features/DeleteWebhook/feature.js\";\nimport { CreateWebhookDeliveryFeature } from \"./features/CreateWebhookDelivery/feature.js\";\nimport { UpdateWebhookDeliveryFeature } from \"./features/UpdateWebhookDelivery/feature.js\";\nimport { GetWebhookDeliveryFeature } from \"./features/GetWebhookDelivery/feature.js\";\nimport { ListWebhookDeliveriesFeature } from \"./features/ListWebhookDeliveries/feature.js\";\nimport { ResendWebhookDeliveryFeature } from \"./features/ResendWebhookDelivery/feature.js\";\nimport { TriggerWebhookFeature } from \"./features/TriggerWebhook/feature.js\";\nimport { ListAvailableWebhookEventsFeature } from \"./features/ListAvailableWebhookEvents/feature.js\";\nimport { WebhookPermissionsFeature } from \"./features/WebhookPermissions/feature.js\";\nimport { WebhookSignPayloadFeature } from \"./features/WebhookSignPayload/feature.js\";\nimport { WebhookDispatcherFeature } from \"./features/WebhookDispatcher/feature.js\";\nimport { SendWebhookTaskFeature } from \"./features/SendWebhookTask/feature.js\";\nimport { WebhooksTransformerFeature } from \"./features/Transformers/feature.js\";\n\nexport const WebhooksFeature = createFeature({\n name: \"WebhookManagement\",\n register(container) {\n // CMS models.\n container.register(WebhookModel);\n container.register(WebhookDeliveryModel);\n\n // Transformers\n WebhooksTransformerFeature.register(container);\n\n // GraphQL.\n container.register(WebhookCrudSchema);\n container.register(WebhookDeliverySchema);\n container.register(WebhookEventSchema);\n container.register(WebhookTriggerSchema);\n\n // Core implementations.\n WebhookPermissionsFeature.register(container);\n WebhookSignPayloadFeature.register(container);\n WebhookDispatcherFeature.register(container);\n SendWebhookTaskFeature.register(container);\n\n // Webhook CRUD.\n CreateWebhookFeature.register(container);\n GetWebhookFeature.register(container);\n ListWebhooksFeature.register(container);\n UpdateWebhookFeature.register(container);\n DeleteWebhookFeature.register(container);\n\n // Delivery log.\n CreateWebhookDeliveryFeature.register(container);\n UpdateWebhookDeliveryFeature.register(container);\n GetWebhookDeliveryFeature.register(container);\n ListWebhookDeliveriesFeature.register(container);\n ResendWebhookDeliveryFeature.register(container);\n\n // Trigger + events.\n TriggerWebhookFeature.register(container);\n ListAvailableWebhookEventsFeature.register(container);\n }\n});\n"],"names":["WebhooksFeature","createFeature","container","WebhookModel","WebhookDeliveryModel","WebhooksTransformerFeature","WebhookCrudSchema","WebhookDeliverySchema","WebhookEventSchema","WebhookTriggerSchema","WebhookPermissionsFeature","WebhookSignPayloadFeature","WebhookDispatcherFeature","SendWebhookTaskFeature","CreateWebhookFeature","GetWebhookFeature","ListWebhooksFeature","UpdateWebhookFeature","DeleteWebhookFeature","CreateWebhookDeliveryFeature","UpdateWebhookDeliveryFeature","GetWebhookDeliveryFeature","ListWebhookDeliveriesFeature","ResendWebhookDeliveryFeature","TriggerWebhookFeature","ListAvailableWebhookEventsFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAMA,kBAAkBC,cAAc;IACzC,MAAM;IACN,UAASC,SAAS;QAEdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QAGnBC,2BAA2B,QAAQ,CAACH;QAGpCA,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;QACnBN,UAAU,QAAQ,CAACO;QAGnBC,0BAA0B,QAAQ,CAACR;QACnCS,0BAA0B,QAAQ,CAACT;QACnCU,yBAAyB,QAAQ,CAACV;QAClCW,uBAAuB,QAAQ,CAACX;QAGhCY,qBAAqB,QAAQ,CAACZ;QAC9Ba,kBAAkB,QAAQ,CAACb;QAC3Bc,oBAAoB,QAAQ,CAACd;QAC7Be,qBAAqB,QAAQ,CAACf;QAC9BgB,qBAAqB,QAAQ,CAAChB;QAG9BiB,6BAA6B,QAAQ,CAACjB;QACtCkB,6BAA6B,QAAQ,CAAClB;QACtCmB,0BAA0B,QAAQ,CAACnB;QACnCoB,6BAA6B,QAAQ,CAACpB;QACtCqB,6BAA6B,QAAQ,CAACrB;QAGtCsB,sBAAsB,QAAQ,CAACtB;QAC/BuB,kCAAkC,QAAQ,CAACvB;IAC/C;AACJ"}
@@ -0,0 +1,27 @@
1
+ export interface WebhookCmsEntryValues {
2
+ name: string;
3
+ slug: string;
4
+ endpointUrl: string;
5
+ description?: string;
6
+ enabled: boolean;
7
+ events: string[];
8
+ signingSecret: string;
9
+ }
10
+ export interface WebhookCmsEntry {
11
+ id: string;
12
+ createdOn: string;
13
+ savedOn: string;
14
+ values: WebhookCmsEntryValues;
15
+ }
16
+ export interface Webhook {
17
+ id: string;
18
+ createdOn: string;
19
+ savedOn: string;
20
+ name: string;
21
+ slug: string;
22
+ endpointUrl: string;
23
+ description?: string;
24
+ enabled: boolean;
25
+ events: string[];
26
+ signingSecret: string;
27
+ }
File without changes