@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,68 @@
1
+ import { computed, makeAutoObservable, runInAction } from "mobx";
2
+ class WebhookDeliveriesDataSource {
3
+ constructor(listDeliveriesUseCase, webhookId){
4
+ this.listDeliveriesUseCase = listDeliveriesUseCase;
5
+ this.webhookId = webhookId;
6
+ this._rows = [];
7
+ this._meta = {
8
+ cursor: null,
9
+ hasMoreItems: false,
10
+ totalCount: 0
11
+ };
12
+ this._loading = false;
13
+ makeAutoObservable(this, {
14
+ listDeliveriesUseCase: false,
15
+ rows: computed
16
+ });
17
+ }
18
+ get rows() {
19
+ return this._rows;
20
+ }
21
+ get meta() {
22
+ return this._meta;
23
+ }
24
+ get loading() {
25
+ return this._loading;
26
+ }
27
+ async query(params) {
28
+ this._loading = true;
29
+ const result = await this.listDeliveriesUseCase.execute({
30
+ webhookId: this.webhookId,
31
+ limit: params.limit,
32
+ after: params.cursor
33
+ });
34
+ runInAction(()=>{
35
+ this._rows = result.data;
36
+ this._meta = {
37
+ cursor: result.meta.cursor,
38
+ hasMoreItems: result.meta.hasMoreItems,
39
+ totalCount: result.meta.totalCount
40
+ };
41
+ this._loading = false;
42
+ });
43
+ }
44
+ async loadMore(params) {
45
+ if (!this._meta.hasMoreItems || this._loading) return;
46
+ this._loading = true;
47
+ const result = await this.listDeliveriesUseCase.execute({
48
+ webhookId: this.webhookId,
49
+ limit: params.limit,
50
+ after: this._meta.cursor ?? void 0
51
+ });
52
+ runInAction(()=>{
53
+ this._rows = [
54
+ ...this._rows,
55
+ ...result.data
56
+ ];
57
+ this._meta = {
58
+ cursor: result.meta.cursor,
59
+ hasMoreItems: result.meta.hasMoreItems,
60
+ totalCount: result.meta.totalCount
61
+ };
62
+ this._loading = false;
63
+ });
64
+ }
65
+ }
66
+ export { WebhookDeliveriesDataSource };
67
+
68
+ //# sourceMappingURL=WebhookDeliveriesDataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.js","sources":["../../../../src/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.ts"],"sourcesContent":["import { makeAutoObservable, runInAction, computed } from \"mobx\";\nimport type {\n IDataSource,\n IDataSourceQuery,\n IDataSourceMeta\n} from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\nimport type { IListWebhookDeliveriesUseCase } from \"~/admin/features/listWebhookDeliveries/abstractions.js\";\n\nexport class WebhookDeliveriesDataSource implements IDataSource<WebhookDelivery> {\n private _rows: WebhookDelivery[] = [];\n private _meta: IDataSourceMeta = { cursor: null, hasMoreItems: false, totalCount: 0 };\n private _loading = false;\n\n constructor(\n private readonly listDeliveriesUseCase: IListWebhookDeliveriesUseCase,\n private readonly webhookId: string\n ) {\n makeAutoObservable<WebhookDeliveriesDataSource, \"listDeliveriesUseCase\">(this, {\n listDeliveriesUseCase: false,\n rows: computed\n });\n }\n\n get rows(): WebhookDelivery[] {\n return this._rows;\n }\n\n get meta(): IDataSourceMeta {\n return this._meta;\n }\n\n get loading(): boolean {\n return this._loading;\n }\n\n async query(params: IDataSourceQuery): Promise<void> {\n this._loading = true;\n const result = await this.listDeliveriesUseCase.execute({\n webhookId: this.webhookId,\n limit: params.limit,\n after: params.cursor\n });\n runInAction(() => {\n this._rows = result.data;\n this._meta = {\n cursor: result.meta.cursor,\n hasMoreItems: result.meta.hasMoreItems,\n totalCount: result.meta.totalCount\n };\n this._loading = false;\n });\n }\n\n async loadMore(params: IDataSourceQuery): Promise<void> {\n if (!this._meta.hasMoreItems || this._loading) {\n return;\n }\n this._loading = true;\n const result = await this.listDeliveriesUseCase.execute({\n webhookId: this.webhookId,\n limit: params.limit,\n after: this._meta.cursor ?? undefined\n });\n runInAction(() => {\n this._rows = [...this._rows, ...result.data];\n this._meta = {\n cursor: result.meta.cursor,\n hasMoreItems: result.meta.hasMoreItems,\n totalCount: result.meta.totalCount\n };\n this._loading = false;\n });\n }\n}\n"],"names":["WebhookDeliveriesDataSource","listDeliveriesUseCase","webhookId","makeAutoObservable","computed","params","result","runInAction","undefined"],"mappings":";AASO,MAAMA;IAKT,YACqBC,qBAAoD,EACpDC,SAAiB,CACpC;aAFmBD,qBAAqB,GAArBA;aACAC,SAAS,GAATA;aANb,KAAK,GAAsB,EAAE;aAC7B,KAAK,GAAoB;YAAE,QAAQ;YAAM,cAAc;YAAO,YAAY;QAAE;aAC5E,QAAQ,GAAG;QAMfC,mBAAyE,IAAI,EAAE;YAC3E,uBAAuB;YACvB,MAAMC;QACV;IACJ;IAEA,IAAI,OAA0B;QAC1B,OAAO,IAAI,CAAC,KAAK;IACrB;IAEA,IAAI,OAAwB;QACxB,OAAO,IAAI,CAAC,KAAK;IACrB;IAEA,IAAI,UAAmB;QACnB,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,MAAM,MAAMC,MAAwB,EAAiB;QACjD,IAAI,CAAC,QAAQ,GAAG;QAChB,MAAMC,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACpD,WAAW,IAAI,CAAC,SAAS;YACzB,OAAOD,OAAO,KAAK;YACnB,OAAOA,OAAO,MAAM;QACxB;QACAE,YAAY;YACR,IAAI,CAAC,KAAK,GAAGD,OAAO,IAAI;YACxB,IAAI,CAAC,KAAK,GAAG;gBACT,QAAQA,OAAO,IAAI,CAAC,MAAM;gBAC1B,cAAcA,OAAO,IAAI,CAAC,YAAY;gBACtC,YAAYA,OAAO,IAAI,CAAC,UAAU;YACtC;YACA,IAAI,CAAC,QAAQ,GAAG;QACpB;IACJ;IAEA,MAAM,SAASD,MAAwB,EAAiB;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACzC;QAEJ,IAAI,CAAC,QAAQ,GAAG;QAChB,MAAMC,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACpD,WAAW,IAAI,CAAC,SAAS;YACzB,OAAOD,OAAO,KAAK;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAIG;QAChC;QACAD,YAAY;YACR,IAAI,CAAC,KAAK,GAAG;mBAAI,IAAI,CAAC,KAAK;mBAAKD,OAAO,IAAI;aAAC;YAC5C,IAAI,CAAC,KAAK,GAAG;gBACT,QAAQA,OAAO,IAAI,CAAC,MAAM;gBAC1B,cAAcA,OAAO,IAAI,CAAC,YAAY;gBACtC,YAAYA,OAAO,IAAI,CAAC,UAAU;YACtC;YACA,IAAI,CAAC,QAAQ,GAAG;QACpB;IACJ;AACJ"}
@@ -0,0 +1,19 @@
1
+ import { ListPresenter } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
2
+ import type { WebhookDelivery } from "../../../admin/shared/types.js";
3
+ import { type IWebhookDeliveriesPresenter, type IWebhookDeliveriesViewModel, type IWebhookDeliveriesActions } from "./abstractions.js";
4
+ import { ListWebhookDeliveriesUseCase } from "../../../admin/features/listWebhookDeliveries/abstractions.js";
5
+ import { ResendWebhookDeliveryUseCase } from "../../../admin/features/resendWebhookDelivery/abstractions.js";
6
+ declare class WebhookDeliveriesPresenterImpl implements IWebhookDeliveriesPresenter {
7
+ private readonly listPresenter;
8
+ private readonly listDeliveriesUseCase;
9
+ private readonly resendDeliveryUseCase;
10
+ private _selectedDelivery;
11
+ constructor(listPresenter: ListPresenter.Interface<WebhookDelivery>, listDeliveriesUseCase: ListWebhookDeliveriesUseCase.Interface, resendDeliveryUseCase: ResendWebhookDeliveryUseCase.Interface);
12
+ get vm(): IWebhookDeliveriesViewModel;
13
+ actions: IWebhookDeliveriesActions;
14
+ init(webhookId: string): void;
15
+ }
16
+ export declare const WebhookDeliveriesPresenter: typeof WebhookDeliveriesPresenterImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<IWebhookDeliveriesPresenter>;
18
+ };
19
+ export {};
@@ -0,0 +1,77 @@
1
+ import { computed, makeAutoObservable } from "mobx";
2
+ import { ListPresenter } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
3
+ import { WebhookDeliveriesPresenter } from "./abstractions.js";
4
+ import { WebhookDeliveriesDataSource } from "./WebhookDeliveriesDataSource.js";
5
+ import { ListWebhookDeliveriesUseCase } from "../../features/listWebhookDeliveries/abstractions.js";
6
+ import { ResendWebhookDeliveryUseCase } from "../../features/resendWebhookDelivery/abstractions.js";
7
+ class WebhookDeliveriesPresenterImpl {
8
+ constructor(listPresenter, listDeliveriesUseCase, resendDeliveryUseCase){
9
+ this.listPresenter = listPresenter;
10
+ this.listDeliveriesUseCase = listDeliveriesUseCase;
11
+ this.resendDeliveryUseCase = resendDeliveryUseCase;
12
+ this._selectedDelivery = null;
13
+ this.actions = {
14
+ search: {
15
+ set: (query)=>this.listPresenter.actions.search.set(query),
16
+ clear: ()=>this.listPresenter.actions.search.clear()
17
+ },
18
+ sort: {
19
+ set: (field, direction)=>this.listPresenter.actions.sort.set(field, direction),
20
+ toggle: (field)=>this.listPresenter.actions.sort.toggle(field)
21
+ },
22
+ filter: {
23
+ set: (key, value)=>this.listPresenter.actions.filter.set(key, value),
24
+ clear: (key)=>this.listPresenter.actions.filter.clear(key),
25
+ clearAll: ()=>this.listPresenter.actions.filter.clearAll()
26
+ },
27
+ selection: {
28
+ toggle: (id)=>this.listPresenter.actions.selection.toggle(id),
29
+ selectRangeTo: (id)=>this.listPresenter.actions.selection.selectRangeTo(id),
30
+ selectAll: ()=>this.listPresenter.actions.selection.selectAll(),
31
+ deselectAll: ()=>this.listPresenter.actions.selection.deselectAll(),
32
+ selectRows: (ids)=>this.listPresenter.actions.selection.selectRows(ids),
33
+ isSelected: (id)=>this.listPresenter.actions.selection.isSelected(id)
34
+ },
35
+ loadMore: ()=>this.listPresenter.actions.loadMore(),
36
+ refresh: ()=>this.listPresenter.actions.refresh(),
37
+ resend: async (id)=>{
38
+ await this.resendDeliveryUseCase.execute(id);
39
+ await this.listPresenter.actions.refresh();
40
+ },
41
+ selectDelivery: (delivery)=>{
42
+ this._selectedDelivery = delivery;
43
+ }
44
+ };
45
+ makeAutoObservable(this, {
46
+ vm: computed
47
+ });
48
+ }
49
+ get vm() {
50
+ return {
51
+ list: this.listPresenter.vm,
52
+ selectedDelivery: this._selectedDelivery
53
+ };
54
+ }
55
+ init(webhookId) {
56
+ const dataSource = new WebhookDeliveriesDataSource(this.listDeliveriesUseCase, webhookId);
57
+ this.listPresenter.init({
58
+ dataSource,
59
+ initialSort: {
60
+ field: "createdOn",
61
+ direction: "DESC"
62
+ },
63
+ limit: 20
64
+ });
65
+ }
66
+ }
67
+ const WebhookDeliveriesPresenter_WebhookDeliveriesPresenter = WebhookDeliveriesPresenter.createImplementation({
68
+ implementation: WebhookDeliveriesPresenterImpl,
69
+ dependencies: [
70
+ ListPresenter,
71
+ ListWebhookDeliveriesUseCase,
72
+ ResendWebhookDeliveryUseCase
73
+ ]
74
+ });
75
+ export { WebhookDeliveriesPresenter_WebhookDeliveriesPresenter as WebhookDeliveriesPresenter };
76
+
77
+ //# sourceMappingURL=WebhookDeliveriesPresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js","sources":["../../../../src/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.ts"],"sourcesContent":["import { makeAutoObservable, computed } from \"mobx\";\nimport { ListPresenter } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\nimport {\n WebhookDeliveriesPresenter as Abstraction,\n type IWebhookDeliveriesPresenter,\n type IWebhookDeliveriesViewModel,\n type IWebhookDeliveriesActions\n} from \"./abstractions.js\";\nimport { WebhookDeliveriesDataSource } from \"./WebhookDeliveriesDataSource.js\";\nimport { ListWebhookDeliveriesUseCase } from \"~/admin/features/listWebhookDeliveries/abstractions.js\";\nimport { ResendWebhookDeliveryUseCase } from \"~/admin/features/resendWebhookDelivery/abstractions.js\";\n\nclass WebhookDeliveriesPresenterImpl implements IWebhookDeliveriesPresenter {\n private _selectedDelivery: WebhookDelivery | null = null;\n\n constructor(\n private readonly listPresenter: ListPresenter.Interface<WebhookDelivery>,\n private readonly listDeliveriesUseCase: ListWebhookDeliveriesUseCase.Interface,\n private readonly resendDeliveryUseCase: ResendWebhookDeliveryUseCase.Interface\n ) {\n makeAutoObservable(this, { vm: computed });\n }\n\n get vm(): IWebhookDeliveriesViewModel {\n return {\n list: this.listPresenter.vm,\n selectedDelivery: this._selectedDelivery\n };\n }\n\n actions: IWebhookDeliveriesActions = {\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 resend: async (id: string) => {\n await this.resendDeliveryUseCase.execute(id);\n await this.listPresenter.actions.refresh();\n },\n selectDelivery: (delivery: WebhookDelivery | null) => {\n this._selectedDelivery = delivery;\n }\n };\n\n init(webhookId: string): void {\n const dataSource = new WebhookDeliveriesDataSource(this.listDeliveriesUseCase, webhookId);\n this.listPresenter.init({\n dataSource,\n initialSort: { field: \"createdOn\", direction: \"DESC\" },\n limit: 20\n });\n }\n}\n\nexport const WebhookDeliveriesPresenter = Abstraction.createImplementation({\n implementation: WebhookDeliveriesPresenterImpl,\n dependencies: [ListPresenter, ListWebhookDeliveriesUseCase, ResendWebhookDeliveryUseCase]\n});\n"],"names":["WebhookDeliveriesPresenterImpl","listPresenter","listDeliveriesUseCase","resendDeliveryUseCase","query","field","direction","key","value","id","ids","delivery","makeAutoObservable","computed","webhookId","dataSource","WebhookDeliveriesDataSource","WebhookDeliveriesPresenter","Abstraction","ListPresenter","ListWebhookDeliveriesUseCase","ResendWebhookDeliveryUseCase"],"mappings":";;;;;;AAaA,MAAMA;IAGF,YACqBC,aAAuD,EACvDC,qBAA6D,EAC7DC,qBAA6D,CAChF;aAHmBF,aAAa,GAAbA;aACAC,qBAAqB,GAArBA;aACAC,qBAAqB,GAArBA;aALb,iBAAiB,GAA2B;aAiBpD,OAAO,GAA8B;YACjC,QAAQ;gBACJ,KAAK,CAACC,QAAkB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAACA;gBAC9D,OAAO,IAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;YACxD;YACA,MAAM;gBACF,KAAK,CAACC,OAAeC,YACjB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAACD,OAAOC;gBAC/C,QAAQ,CAACD,QAAkB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA;YACtE;YACA,QAAQ;gBACJ,KAAK,CAACE,KAAaC,QAAmB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAACD,KAAKC;gBACjF,OAAO,CAACD,MAAgB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAACA;gBAChE,UAAU,IAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;YAC9D;YACA,WAAW;gBACP,QAAQ,CAACE,KAAe,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAACA;gBACpE,eAAe,CAACA,KAAe,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAACA;gBAClF,WAAW,IAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;gBAC/D,aAAa,IAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW;gBACnE,YAAY,CAACC,MAAkB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAACA;gBAC/E,YAAY,CAACD,KAAe,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAACA;YAChF;YACA,UAAU,IAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ;YACnD,SAAS,IAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO;YACjD,QAAQ,OAAOA;gBACX,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACA;gBACzC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO;YAC5C;YACA,gBAAgB,CAACE;gBACb,IAAI,CAAC,iBAAiB,GAAGA;YAC7B;QACJ;QA1CIC,mBAAmB,IAAI,EAAE;YAAE,IAAIC;QAAS;IAC5C;IAEA,IAAI,KAAkC;QAClC,OAAO;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE;YAC3B,kBAAkB,IAAI,CAAC,iBAAiB;QAC5C;IACJ;IAoCA,KAAKC,SAAiB,EAAQ;QAC1B,MAAMC,aAAa,IAAIC,4BAA4B,IAAI,CAAC,qBAAqB,EAAEF;QAC/E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACpBC;YACA,aAAa;gBAAE,OAAO;gBAAa,WAAW;YAAO;YACrD,OAAO;QACX;IACJ;AACJ;AAEO,MAAME,wDAA6BC,2BAAAA,oBAAgC,CAAC;IACvE,gBAAgBlB;IAChB,cAAc;QAACmB;QAAeC;QAA8BC;KAA6B;AAC7F"}
@@ -0,0 +1,22 @@
1
+ import type { WebhookDelivery } 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 IWebhookDeliveriesViewModel {
5
+ list: IListViewModel<WebhookDelivery>;
6
+ selectedDelivery: WebhookDelivery | null;
7
+ }
8
+ export interface IWebhookDeliveriesActions extends IListActions {
9
+ resend(id: string): Promise<void>;
10
+ selectDelivery(delivery: WebhookDelivery | null): void;
11
+ }
12
+ export interface IWebhookDeliveriesPresenter {
13
+ vm: IWebhookDeliveriesViewModel;
14
+ actions: IWebhookDeliveriesActions;
15
+ init(webhookId: string): void;
16
+ }
17
+ export declare const WebhookDeliveriesPresenter: import("@webiny/di").Abstraction<IWebhookDeliveriesPresenter>;
18
+ export declare namespace WebhookDeliveriesPresenter {
19
+ type Interface = IWebhookDeliveriesPresenter;
20
+ type ViewModel = IWebhookDeliveriesViewModel;
21
+ type Actions = IWebhookDeliveriesActions;
22
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+ const WebhookDeliveriesPresenter = createAbstraction("WebhookDeliveriesPresenter");
3
+ export { WebhookDeliveriesPresenter };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookDeliveries/abstractions.js","sources":["../../../../src/admin/presentation/WebhookDeliveries/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { WebhookDelivery } 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 IWebhookDeliveriesViewModel {\n list: IListViewModel<WebhookDelivery>;\n selectedDelivery: WebhookDelivery | null;\n}\n\nexport interface IWebhookDeliveriesActions extends IListActions {\n resend(id: string): Promise<void>;\n selectDelivery(delivery: WebhookDelivery | null): void;\n}\n\nexport interface IWebhookDeliveriesPresenter {\n vm: IWebhookDeliveriesViewModel;\n actions: IWebhookDeliveriesActions;\n init(webhookId: string): void;\n}\n\nexport const WebhookDeliveriesPresenter = createAbstraction<IWebhookDeliveriesPresenter>(\n \"WebhookDeliveriesPresenter\"\n);\n\nexport namespace WebhookDeliveriesPresenter {\n export type Interface = IWebhookDeliveriesPresenter;\n export type ViewModel = IWebhookDeliveriesViewModel;\n export type Actions = IWebhookDeliveriesActions;\n}\n"],"names":["WebhookDeliveriesPresenter","createAbstraction"],"mappings":";AAqBO,MAAMA,6BAA6BC,kBACtC"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import type { WebhookDelivery } from "../../../../admin/shared/types.js";
3
+ interface DeliveryDetailProps {
4
+ delivery: WebhookDelivery;
5
+ onClose: () => void;
6
+ onResend: (id: string) => void;
7
+ }
8
+ export declare const DeliveryDetail: (({ delivery, onClose, onResend }: DeliveryDetailProps) => React.JSX.Element) & {
9
+ displayName: string;
10
+ };
11
+ export {};
@@ -0,0 +1,73 @@
1
+ import react from "react";
2
+ import { observer } from "mobx-react-lite";
3
+ import { Button, Heading, IconButton, Separator, Tag, Text } from "@webiny/admin-ui";
4
+ import { ReactComponent } from "@webiny/icons/close.svg";
5
+ const statusVariant = (status)=>{
6
+ switch(status){
7
+ case "delivered":
8
+ return "success";
9
+ case "failed":
10
+ return "destructive";
11
+ default:
12
+ return "warning";
13
+ }
14
+ };
15
+ const formatJson = (value)=>{
16
+ if (null == value) return "—";
17
+ if ("string" == typeof value) try {
18
+ return JSON.stringify(JSON.parse(value), null, 2);
19
+ } catch {
20
+ return value;
21
+ }
22
+ return JSON.stringify(value, null, 2);
23
+ };
24
+ const DeliveryDetail_DeliveryDetail = observer(function({ delivery, onClose, onResend }) {
25
+ return /*#__PURE__*/ react.createElement("div", {
26
+ className: "flex flex-col h-full overflow-auto"
27
+ }, /*#__PURE__*/ react.createElement("div", {
28
+ className: "flex items-center justify-between px-md py-sm"
29
+ }, /*#__PURE__*/ react.createElement("div", {
30
+ className: "flex items-center gap-sm"
31
+ }, /*#__PURE__*/ react.createElement(Heading, {
32
+ level: 6
33
+ }, delivery.eventType), /*#__PURE__*/ react.createElement(Tag, {
34
+ variant: statusVariant(delivery.status),
35
+ content: delivery.status
36
+ })), /*#__PURE__*/ react.createElement(IconButton, {
37
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
38
+ variant: "ghost",
39
+ size: "sm",
40
+ onClick: onClose,
41
+ "aria-label": "Close detail"
42
+ })), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
43
+ className: "flex-1 overflow-auto px-md py-sm flex flex-col gap-md"
44
+ }, /*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(Text, {
45
+ size: "sm",
46
+ className: "text-neutral-strong"
47
+ }, "Response Time"), /*#__PURE__*/ react.createElement(Text, {
48
+ size: "sm"
49
+ }, null !== delivery.responseTime ? `${delivery.responseTime}ms` : "—")), /*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(Text, {
50
+ size: "sm",
51
+ className: "text-neutral-strong"
52
+ }, "Payload"), /*#__PURE__*/ react.createElement("pre", {
53
+ className: "bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]"
54
+ }, formatJson(delivery.payload))), /*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(Text, {
55
+ size: "sm",
56
+ className: "text-neutral-strong"
57
+ }, "Request Headers"), /*#__PURE__*/ react.createElement("pre", {
58
+ className: "bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]"
59
+ }, formatJson(delivery.requestHeaders))), /*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(Text, {
60
+ size: "sm",
61
+ className: "text-neutral-strong"
62
+ }, "Response Body"), /*#__PURE__*/ react.createElement("pre", {
63
+ className: "bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]"
64
+ }, delivery.responseBody ?? "—"))), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
65
+ className: "px-md py-sm"
66
+ }, /*#__PURE__*/ react.createElement(Button, {
67
+ variant: "secondary",
68
+ onClick: ()=>onResend(delivery.id)
69
+ }, "Resend")));
70
+ });
71
+ export { DeliveryDetail_DeliveryDetail as DeliveryDetail };
72
+
73
+ //# sourceMappingURL=DeliveryDetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookDeliveries/components/DeliveryDetail.js","sources":["../../../../../src/admin/presentation/WebhookDeliveries/components/DeliveryDetail.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button } from \"@webiny/admin-ui\";\nimport { Heading } from \"@webiny/admin-ui\";\nimport { IconButton } from \"@webiny/admin-ui\";\nimport { Separator } from \"@webiny/admin-ui\";\nimport { Tag } from \"@webiny/admin-ui\";\nimport { Text } from \"@webiny/admin-ui\";\nimport { ReactComponent as CloseIcon } from \"@webiny/icons/close.svg\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\n\ninterface DeliveryDetailProps {\n delivery: WebhookDelivery;\n onClose: () => void;\n onResend: (id: string) => void;\n}\n\nconst statusVariant = (status: string) => {\n switch (status) {\n case \"delivered\":\n return \"success\" as const;\n case \"failed\":\n return \"destructive\" as const;\n default:\n return \"warning\" as const;\n }\n};\n\nconst formatJson = (value: unknown): string => {\n if (value === null || value === undefined) {\n return \"—\";\n }\n\n if (typeof value === \"string\") {\n try {\n return JSON.stringify(JSON.parse(value), null, 2);\n } catch {\n return value;\n }\n }\n\n return JSON.stringify(value, null, 2);\n};\n\nexport const DeliveryDetail = observer(function DeliveryDetail({\n delivery,\n onClose,\n onResend\n}: DeliveryDetailProps) {\n return (\n <div className=\"flex flex-col h-full overflow-auto\">\n <div className=\"flex items-center justify-between px-md py-sm\">\n <div className=\"flex items-center gap-sm\">\n <Heading level={6}>{delivery.eventType}</Heading>\n <Tag variant={statusVariant(delivery.status)} content={delivery.status} />\n </div>\n <IconButton\n icon={<CloseIcon />}\n variant=\"ghost\"\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close detail\"\n />\n </div>\n <Separator />\n <div className=\"flex-1 overflow-auto px-md py-sm flex flex-col gap-md\">\n <div>\n <Text size=\"sm\" className=\"text-neutral-strong\">\n Response Time\n </Text>\n <Text size=\"sm\">\n {delivery.responseTime !== null ? `${delivery.responseTime}ms` : \"—\"}\n </Text>\n </div>\n\n <div>\n <Text size=\"sm\" className=\"text-neutral-strong\">\n Payload\n </Text>\n <pre className=\"bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]\">\n {formatJson(delivery.payload)}\n </pre>\n </div>\n\n <div>\n <Text size=\"sm\" className=\"text-neutral-strong\">\n Request Headers\n </Text>\n <pre className=\"bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]\">\n {formatJson(delivery.requestHeaders)}\n </pre>\n </div>\n\n <div>\n <Text size=\"sm\" className=\"text-neutral-strong\">\n Response Body\n </Text>\n <pre className=\"bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]\">\n {delivery.responseBody ?? \"—\"}\n </pre>\n </div>\n </div>\n <Separator />\n <div className=\"px-md py-sm\">\n <Button variant=\"secondary\" onClick={() => onResend(delivery.id)}>\n Resend\n </Button>\n </div>\n </div>\n );\n});\n"],"names":["statusVariant","status","formatJson","value","JSON","DeliveryDetail","observer","delivery","onClose","onResend","Heading","Tag","IconButton","CloseIcon","Separator","Text","Button"],"mappings":";;;;AAiBA,MAAMA,gBAAgB,CAACC;IACnB,OAAQA;QACJ,KAAK;YACD,OAAO;QACX,KAAK;YACD,OAAO;QACX;YACI,OAAO;IACf;AACJ;AAEA,MAAMC,aAAa,CAACC;IAChB,IAAIA,QAAAA,OACA,OAAO;IAGX,IAAI,AAAiB,YAAjB,OAAOA,OACP,IAAI;QACA,OAAOC,KAAK,SAAS,CAACA,KAAK,KAAK,CAACD,QAAQ,MAAM;IACnD,EAAE,OAAM;QACJ,OAAOA;IACX;IAGJ,OAAOC,KAAK,SAAS,CAACD,OAAO,MAAM;AACvC;AAEO,MAAME,gCAAiBC,SAAS,SAAwB,EAC3DC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACU;IAClB,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAACC,SAAOA;QAAC,OAAO;OAAIH,SAAS,SAAS,iBACtC,oBAACI,KAAGA;QAAC,SAASX,cAAcO,SAAS,MAAM;QAAG,SAASA,SAAS,MAAM;uBAE1E,oBAACK,YAAUA;QACP,oBAAM,oBAACC,gBAASA;QAChB,SAAQ;QACR,MAAK;QACL,SAASL;QACT,cAAW;uBAGnB,oBAACM,WAASA,OAAAA,WAAAA,GACV,oBAAC;QAAI,WAAU;qBACX,oBAAC,2BACG,oBAACC,MAAIA;QAAC,MAAK;QAAK,WAAU;OAAsB,gCAGhD,oBAACA,MAAIA;QAAC,MAAK;OACNR,AAA0B,SAA1BA,SAAS,YAAY,GAAY,GAAGA,SAAS,YAAY,CAAC,EAAE,CAAC,GAAG,qBAIzE,oBAAC,2BACG,oBAACQ,MAAIA;QAAC,MAAK;QAAK,WAAU;OAAsB,0BAGhD,oBAAC;QAAI,WAAU;OACVb,WAAWK,SAAS,OAAO,mBAIpC,oBAAC,2BACG,oBAACQ,MAAIA;QAAC,MAAK;QAAK,WAAU;OAAsB,kCAGhD,oBAAC;QAAI,WAAU;OACVb,WAAWK,SAAS,cAAc,mBAI3C,oBAAC,2BACG,oBAACQ,MAAIA;QAAC,MAAK;QAAK,WAAU;OAAsB,gCAGhD,oBAAC;QAAI,WAAU;OACVR,SAAS,YAAY,IAAI,sBAItC,oBAACO,WAASA,OAAAA,WAAAA,GACV,oBAAC;QAAI,WAAU;qBACX,oBAACE,QAAMA;QAAC,SAAQ;QAAY,SAAS,IAAMP,SAASF,SAAS,EAAE;OAAG;AAMlF"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ interface WebhookDeliveriesDrawerProps {
3
+ webhookId: string;
4
+ open: boolean;
5
+ onClose: () => void;
6
+ }
7
+ export declare const WebhookDeliveriesDrawer: (props: WebhookDeliveriesDrawerProps) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1,119 @@
1
+ import react, { useEffect, useMemo } from "react";
2
+ import { observer } from "mobx-react-lite";
3
+ import { DiContainerProvider, useContainer, useFeature } from "@webiny/app";
4
+ import { DataTable, Drawer, IconButton, Tag, Text, TimeAgo } from "@webiny/admin-ui";
5
+ import { ReactComponent } from "@webiny/icons/replay.svg";
6
+ import { WebhookDeliveriesPresenterFeature } from "../feature.js";
7
+ import { ListWebhookDeliveriesFeature } from "../../../features/listWebhookDeliveries/feature.js";
8
+ import { ResendWebhookDeliveryFeature } from "../../../features/resendWebhookDelivery/feature.js";
9
+ import { DeliveryDetail } from "./DeliveryDetail.js";
10
+ const statusVariant = (status)=>{
11
+ switch(status){
12
+ case "delivered":
13
+ return "success";
14
+ case "failed":
15
+ return "destructive";
16
+ default:
17
+ return "warning";
18
+ }
19
+ };
20
+ const WebhookDeliveriesDrawer_WebhookDeliveriesDrawerInner = observer(function({ webhookId, open, onClose }) {
21
+ const { presenter } = useFeature(WebhookDeliveriesPresenterFeature);
22
+ useEffect(()=>{
23
+ if (open) presenter.init(webhookId);
24
+ }, [
25
+ presenter,
26
+ webhookId,
27
+ open
28
+ ]);
29
+ const { vm } = presenter;
30
+ const columns = useMemo(()=>({
31
+ eventType: {
32
+ header: "Event",
33
+ size: 180
34
+ },
35
+ status: {
36
+ header: "Status",
37
+ cell: (row)=>/*#__PURE__*/ react.createElement(Tag, {
38
+ variant: statusVariant(row.status),
39
+ content: row.status
40
+ }),
41
+ size: 100
42
+ },
43
+ responseStatus: {
44
+ header: "HTTP",
45
+ cell: (row)=>/*#__PURE__*/ react.createElement(Text, {
46
+ size: "sm"
47
+ }, null !== row.responseStatus ? String(row.responseStatus) : "—"),
48
+ size: 60
49
+ },
50
+ createdOn: {
51
+ header: "Created",
52
+ cell: (row)=>row.createdOn ? /*#__PURE__*/ react.createElement(TimeAgo, {
53
+ datetime: row.createdOn
54
+ }) : /*#__PURE__*/ react.createElement(Text, {
55
+ size: "sm"
56
+ }, "—"),
57
+ enableSorting: true,
58
+ size: 120
59
+ },
60
+ actions: {
61
+ header: " ",
62
+ cell: (row)=>/*#__PURE__*/ react.createElement(IconButton, {
63
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
64
+ variant: "ghost",
65
+ size: "sm",
66
+ onClick: (e)=>{
67
+ e.stopPropagation();
68
+ presenter.actions.resend(row.id);
69
+ },
70
+ "aria-label": "Resend delivery"
71
+ }),
72
+ size: 48,
73
+ enableSorting: false,
74
+ enableHiding: false,
75
+ enableResizing: false
76
+ }
77
+ }), [
78
+ presenter.actions
79
+ ]);
80
+ return /*#__PURE__*/ react.createElement(Drawer, {
81
+ open: open,
82
+ onOpenChange: (isOpen)=>!isOpen && onClose(),
83
+ title: "Delivery Log",
84
+ modal: true,
85
+ width: "900px",
86
+ bodyPadding: false
87
+ }, /*#__PURE__*/ react.createElement("div", {
88
+ className: "flex h-full"
89
+ }, /*#__PURE__*/ react.createElement("div", {
90
+ className: vm.selectedDelivery ? "flex-[1.5] border-r-sm border-neutral-muted overflow-auto" : "flex-1 overflow-auto"
91
+ }, /*#__PURE__*/ react.createElement(DataTable, {
92
+ columns: columns,
93
+ data: vm.list.rows,
94
+ loading: vm.list.pagination.loading,
95
+ onToggleRow: (row)=>presenter.actions.selectDelivery(row)
96
+ })), vm.selectedDelivery && /*#__PURE__*/ react.createElement("div", {
97
+ className: "flex-1 overflow-auto"
98
+ }, /*#__PURE__*/ react.createElement(DeliveryDetail, {
99
+ delivery: vm.selectedDelivery,
100
+ onClose: ()=>presenter.actions.selectDelivery(null),
101
+ onResend: (id)=>void presenter.actions.resend(id)
102
+ }))));
103
+ });
104
+ const WebhookDeliveriesDrawer = (props)=>{
105
+ const container = useContainer();
106
+ const scopedContainer = useMemo(()=>{
107
+ const child = container.createChildContainer();
108
+ ListWebhookDeliveriesFeature.register(child);
109
+ ResendWebhookDeliveryFeature.register(child);
110
+ WebhookDeliveriesPresenterFeature.register(child);
111
+ return child;
112
+ }, []);
113
+ return /*#__PURE__*/ react.createElement(DiContainerProvider, {
114
+ container: scopedContainer
115
+ }, /*#__PURE__*/ react.createElement(WebhookDeliveriesDrawer_WebhookDeliveriesDrawerInner, props));
116
+ };
117
+ export { WebhookDeliveriesDrawer };
118
+
119
+ //# sourceMappingURL=WebhookDeliveriesDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.js","sources":["../../../../../src/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.tsx"],"sourcesContent":["import React, { useMemo, useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DiContainerProvider, useContainer, useFeature } from \"@webiny/app\";\nimport { DataTable, Drawer, IconButton, Tag, Text, TimeAgo } from \"@webiny/admin-ui\";\nimport { ReactComponent as ReplayIcon } from \"@webiny/icons/replay.svg\";\nimport { WebhookDeliveriesPresenterFeature } from \"../feature.js\";\nimport { ListWebhookDeliveriesFeature } from \"~/admin/features/listWebhookDeliveries/feature.js\";\nimport { ResendWebhookDeliveryFeature } from \"~/admin/features/resendWebhookDelivery/feature.js\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\nimport { DeliveryDetail } from \"./DeliveryDetail.js\";\n\ninterface WebhookDeliveriesDrawerProps {\n webhookId: string;\n open: boolean;\n onClose: () => void;\n}\n\nconst statusVariant = (status: string) => {\n switch (status) {\n case \"delivered\":\n return \"success\" as const;\n case \"failed\":\n return \"destructive\" as const;\n default:\n return \"warning\" as const;\n }\n};\n\nconst WebhookDeliveriesDrawerInner = observer(function WebhookDeliveriesDrawerInner({\n webhookId,\n open,\n onClose\n}: WebhookDeliveriesDrawerProps) {\n const { presenter } = useFeature(WebhookDeliveriesPresenterFeature);\n\n useEffect(() => {\n if (open) {\n presenter.init(webhookId);\n }\n }, [presenter, webhookId, open]);\n\n const { vm } = presenter;\n\n const columns = useMemo(\n () => ({\n eventType: {\n header: \"Event\",\n size: 180\n },\n status: {\n header: \"Status\",\n cell: (row: WebhookDelivery) => (\n <Tag variant={statusVariant(row.status)} content={row.status} />\n ),\n size: 100\n },\n responseStatus: {\n header: \"HTTP\",\n cell: (row: WebhookDelivery) => (\n <Text size=\"sm\">\n {row.responseStatus !== null ? String(row.responseStatus) : \"—\"}\n </Text>\n ),\n size: 60\n },\n createdOn: {\n header: \"Created\",\n cell: (row: WebhookDelivery) =>\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: WebhookDelivery) => (\n <IconButton\n icon={<ReplayIcon />}\n variant=\"ghost\"\n size=\"sm\"\n onClick={e => {\n e.stopPropagation();\n void presenter.actions.resend(row.id);\n }}\n aria-label=\"Resend delivery\"\n />\n ),\n size: 48,\n enableSorting: false,\n enableHiding: false,\n enableResizing: false\n }\n }),\n [presenter.actions]\n );\n\n return (\n <Drawer\n open={open}\n onOpenChange={isOpen => !isOpen && onClose()}\n title=\"Delivery Log\"\n modal={true}\n width=\"900px\"\n bodyPadding={false}\n >\n <div className=\"flex h-full\">\n <div\n className={\n vm.selectedDelivery\n ? \"flex-[1.5] border-r-sm border-neutral-muted overflow-auto\"\n : \"flex-1 overflow-auto\"\n }\n >\n <DataTable<WebhookDelivery>\n columns={columns}\n data={vm.list.rows}\n loading={vm.list.pagination.loading}\n onToggleRow={(row: WebhookDelivery) =>\n presenter.actions.selectDelivery(row)\n }\n />\n </div>\n {vm.selectedDelivery && (\n <div className=\"flex-1 overflow-auto\">\n <DeliveryDetail\n delivery={vm.selectedDelivery}\n onClose={() => presenter.actions.selectDelivery(null)}\n onResend={id => void presenter.actions.resend(id)}\n />\n </div>\n )}\n </div>\n </Drawer>\n );\n});\n\nexport const WebhookDeliveriesDrawer = (props: WebhookDeliveriesDrawerProps) => {\n const container = useContainer();\n\n const scopedContainer = useMemo(() => {\n const child = container.createChildContainer();\n ListWebhookDeliveriesFeature.register(child);\n ResendWebhookDeliveryFeature.register(child);\n WebhookDeliveriesPresenterFeature.register(child);\n return child;\n }, []);\n\n return (\n <DiContainerProvider container={scopedContainer}>\n <WebhookDeliveriesDrawerInner {...props} />\n </DiContainerProvider>\n );\n};\n"],"names":["statusVariant","status","WebhookDeliveriesDrawerInner","observer","webhookId","open","onClose","presenter","useFeature","WebhookDeliveriesPresenterFeature","useEffect","vm","columns","useMemo","row","Tag","Text","String","TimeAgo","IconButton","ReplayIcon","e","Drawer","isOpen","DataTable","DeliveryDetail","id","WebhookDeliveriesDrawer","props","container","useContainer","scopedContainer","child","ListWebhookDeliveriesFeature","ResendWebhookDeliveryFeature","DiContainerProvider"],"mappings":";;;;;;;;;AAiBA,MAAMA,gBAAgB,CAACC;IACnB,OAAQA;QACJ,KAAK;YACD,OAAO;QACX,KAAK;YACD,OAAO;QACX;YACI,OAAO;IACf;AACJ;AAEA,MAAMC,uDAA+BC,SAAS,SAAsC,EAChFC,SAAS,EACTC,IAAI,EACJC,OAAO,EACoB;IAC3B,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IAEjCC,UAAU;QACN,IAAIL,MACAE,UAAU,IAAI,CAACH;IAEvB,GAAG;QAACG;QAAWH;QAAWC;KAAK;IAE/B,MAAM,EAAEM,EAAE,EAAE,GAAGJ;IAEf,MAAMK,UAAUC,QACZ,IAAO;YACH,WAAW;gBACP,QAAQ;gBACR,MAAM;YACV;YACA,QAAQ;gBACJ,QAAQ;gBACR,MAAM,CAACC,MAAAA,WAAAA,GACH,oBAACC,KAAGA;wBAAC,SAASf,cAAcc,IAAI,MAAM;wBAAG,SAASA,IAAI,MAAM;;gBAEhE,MAAM;YACV;YACA,gBAAgB;gBACZ,QAAQ;gBACR,MAAM,CAACA,MAAAA,WAAAA,GACH,oBAACE,MAAIA;wBAAC,MAAK;uBACNF,AAAuB,SAAvBA,IAAI,cAAc,GAAYG,OAAOH,IAAI,cAAc,IAAI;gBAGpE,MAAM;YACV;YACA,WAAW;gBACP,QAAQ;gBACR,MAAM,CAACA,MACHA,IAAI,SAAS,GAAG,WAAH,GAAG,oBAACI,SAAOA;wBAAC,UAAUJ,IAAI,SAAS;uCAAO,oBAACE,MAAIA;wBAAC,MAAK;uBAAK;gBAC3E,eAAe;gBACf,MAAM;YACV;YACA,SAAS;gBACL,QAAQ;gBACR,MAAM,CAACF,MAAAA,WAAAA,GACH,oBAACK,YAAUA;wBACP,oBAAM,oBAACC,gBAAUA;wBACjB,SAAQ;wBACR,MAAK;wBACL,SAASC,CAAAA;4BACLA,EAAE,eAAe;4BACZd,UAAU,OAAO,CAAC,MAAM,CAACO,IAAI,EAAE;wBACxC;wBACA,cAAW;;gBAGnB,MAAM;gBACN,eAAe;gBACf,cAAc;gBACd,gBAAgB;YACpB;QACJ,IACA;QAACP,UAAU,OAAO;KAAC;IAGvB,OAAO,WAAP,GACI,oBAACe,QAAMA;QACH,MAAMjB;QACN,cAAckB,CAAAA,SAAU,CAACA,UAAUjB;QACnC,OAAM;QACN,OAAO;QACP,OAAM;QACN,aAAa;qBAEb,oBAAC;QAAI,WAAU;qBACX,oBAAC;QACG,WACIK,GAAG,gBAAgB,GACb,8DACA;qBAGV,oBAACa,WAASA;QACN,SAASZ;QACT,MAAMD,GAAG,IAAI,CAAC,IAAI;QAClB,SAASA,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;QACnC,aAAa,CAACG,MACVP,UAAU,OAAO,CAAC,cAAc,CAACO;SAI5CH,GAAG,gBAAgB,IAAI,WAAJ,GAChB,oBAAC;QAAI,WAAU;qBACX,oBAACc,gBAAcA;QACX,UAAUd,GAAG,gBAAgB;QAC7B,SAAS,IAAMJ,UAAU,OAAO,CAAC,cAAc,CAAC;QAChD,UAAUmB,CAAAA,KAAM,KAAKnB,UAAU,OAAO,CAAC,MAAM,CAACmB;;AAO1E;AAEO,MAAMC,0BAA0B,CAACC;IACpC,MAAMC,YAAYC;IAElB,MAAMC,kBAAkBlB,QAAQ;QAC5B,MAAMmB,QAAQH,UAAU,oBAAoB;QAC5CI,6BAA6B,QAAQ,CAACD;QACtCE,6BAA6B,QAAQ,CAACF;QACtCvB,kCAAkC,QAAQ,CAACuB;QAC3C,OAAOA;IACX,GAAG,EAAE;IAEL,OAAO,WAAP,GACI,oBAACG,qBAAmBA;QAAC,WAAWJ;qBAC5B,oBAAC7B,sDAAiC0B;AAG9C"}
@@ -0,0 +1,3 @@
1
+ export declare const WebhookDeliveriesPresenterFeature: import("@webiny/feature/admin").FeatureDefinition<{
2
+ presenter: import("./abstractions.js").IWebhookDeliveriesPresenter;
3
+ }, []>;
@@ -0,0 +1,17 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { WebhookDeliveriesPresenter } from "./abstractions.js";
3
+ import { WebhookDeliveriesPresenter as external_WebhookDeliveriesPresenter_js_WebhookDeliveriesPresenter } from "./WebhookDeliveriesPresenter.js";
4
+ const WebhookDeliveriesPresenterFeature = createFeature({
5
+ name: "Webhooks/WebhookDeliveriesPresenter",
6
+ register (container) {
7
+ container.register(external_WebhookDeliveriesPresenter_js_WebhookDeliveriesPresenter).inSingletonScope();
8
+ },
9
+ resolve (container) {
10
+ return {
11
+ presenter: container.resolve(WebhookDeliveriesPresenter)
12
+ };
13
+ }
14
+ });
15
+ export { WebhookDeliveriesPresenterFeature };
16
+
17
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/WebhookDeliveries/feature.js","sources":["../../../../src/admin/presentation/WebhookDeliveries/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { WebhookDeliveriesPresenter as PresenterAbstraction } from \"./abstractions.js\";\nimport { WebhookDeliveriesPresenter } from \"./WebhookDeliveriesPresenter.js\";\n\nexport const WebhookDeliveriesPresenterFeature = createFeature({\n name: \"Webhooks/WebhookDeliveriesPresenter\",\n register(container) {\n container.register(WebhookDeliveriesPresenter).inSingletonScope();\n },\n resolve(container) {\n return { presenter: container.resolve(PresenterAbstraction) };\n }\n});\n"],"names":["WebhookDeliveriesPresenterFeature","createFeature","container","WebhookDeliveriesPresenter","PresenterAbstraction"],"mappings":";;;AAIO,MAAMA,oCAAoCC,cAAc;IAC3D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,mEAA4B,gBAAgB;IACnE;IACA,SAAQD,SAAS;QACb,OAAO;YAAE,WAAWA,UAAU,OAAO,CAACE;QAAsB;IAChE;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { WebhookDeliveriesPresenter } from "./abstractions.js";
2
+ export { WebhookDeliveriesPresenterFeature } from "./feature.js";
@@ -0,0 +1,2 @@
1
+ export { WebhookDeliveriesPresenter } from "./abstractions.js";
2
+ export { WebhookDeliveriesPresenterFeature } from "./feature.js";
@@ -0,0 +1,35 @@
1
+ import { type IWebhookFormPresenter, type IWebhookFormViewModel, type IWebhookFormActions } from "./abstractions.js";
2
+ import { GetWebhookUseCase } from "../../../admin/features/getWebhook/abstractions.js";
3
+ import { CreateWebhookUseCase } from "../../../admin/features/createWebhook/abstractions.js";
4
+ import { UpdateWebhookUseCase } from "../../../admin/features/updateWebhook/abstractions.js";
5
+ import { DeleteWebhookUseCase } from "../../../admin/features/deleteWebhook/abstractions.js";
6
+ import { ListAvailableEventsUseCase } from "../../../admin/features/listAvailableEvents/abstractions.js";
7
+ import { WebhookPermissions } from "../../../admin/features/permissions/abstractions.js";
8
+ import { FormModelFactory } from "@webiny/app-admin/features/formModel/abstractions.js";
9
+ declare class WebhookFormPresenterImpl implements IWebhookFormPresenter {
10
+ private readonly formModelFactory;
11
+ private readonly getWebhookUseCase;
12
+ private readonly createWebhookUseCase;
13
+ private readonly updateWebhookUseCase;
14
+ private readonly deleteWebhookUseCase;
15
+ private readonly listAvailableEventsUseCase;
16
+ private readonly permissions;
17
+ private _loading;
18
+ private _saving;
19
+ private _isNew;
20
+ private _webhook;
21
+ private _showDeliveries;
22
+ private _availableEvents;
23
+ private _webhookId;
24
+ private _form;
25
+ private _selectedEvents;
26
+ get vm(): IWebhookFormViewModel;
27
+ constructor(formModelFactory: FormModelFactory.Interface, getWebhookUseCase: GetWebhookUseCase.Interface, createWebhookUseCase: CreateWebhookUseCase.Interface, updateWebhookUseCase: UpdateWebhookUseCase.Interface, deleteWebhookUseCase: DeleteWebhookUseCase.Interface, listAvailableEventsUseCase: ListAvailableEventsUseCase.Interface, permissions: WebhookPermissions.Interface);
28
+ private buildForm;
29
+ actions: IWebhookFormActions;
30
+ init(id: string): Promise<void>;
31
+ }
32
+ export declare const WebhookFormPresenter: typeof WebhookFormPresenterImpl & {
33
+ __abstraction: import("@webiny/di").Abstraction<IWebhookFormPresenter>;
34
+ };
35
+ export {};