@webiny/webhooks 0.0.0-unstable.7be00a75a9
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.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/admin/WebhookRoutes.d.ts +2 -0
- package/admin/WebhookRoutes.js +68 -0
- package/admin/WebhookRoutes.js.map +1 -0
- package/admin/Webhooks.d.ts +2 -0
- package/admin/Webhooks.js +64 -0
- package/admin/Webhooks.js.map +1 -0
- package/admin/features/ListWebhooks/ListWebhooksGateway.d.ts +11 -0
- package/admin/features/ListWebhooks/ListWebhooksGateway.js +62 -0
- package/admin/features/ListWebhooks/ListWebhooksGateway.js.map +1 -0
- package/admin/features/ListWebhooks/ListWebhooksRepository.d.ts +10 -0
- package/admin/features/ListWebhooks/ListWebhooksRepository.js +18 -0
- package/admin/features/ListWebhooks/ListWebhooksRepository.js.map +1 -0
- package/admin/features/ListWebhooks/ListWebhooksUseCase.d.ts +10 -0
- package/admin/features/ListWebhooks/ListWebhooksUseCase.js +18 -0
- package/admin/features/ListWebhooks/ListWebhooksUseCase.js.map +1 -0
- package/admin/features/ListWebhooks/abstractions.d.ts +36 -0
- package/admin/features/ListWebhooks/abstractions.js +7 -0
- package/admin/features/ListWebhooks/abstractions.js.map +1 -0
- package/admin/features/ListWebhooks/feature.d.ts +3 -0
- package/admin/features/ListWebhooks/feature.js +21 -0
- package/admin/features/ListWebhooks/feature.js.map +1 -0
- package/admin/features/ListWebhooks/index.d.ts +2 -0
- package/admin/features/ListWebhooks/index.js +2 -0
- package/admin/features/createWebhook/CreateWebhookGateway.d.ts +12 -0
- package/admin/features/createWebhook/CreateWebhookGateway.js +21 -0
- package/admin/features/createWebhook/CreateWebhookGateway.js.map +1 -0
- package/admin/features/createWebhook/CreateWebhookUseCase.d.ts +11 -0
- package/admin/features/createWebhook/CreateWebhookUseCase.js +18 -0
- package/admin/features/createWebhook/CreateWebhookUseCase.js.map +1 -0
- package/admin/features/createWebhook/abstractions.d.ts +23 -0
- package/admin/features/createWebhook/abstractions.js +6 -0
- package/admin/features/createWebhook/abstractions.js.map +1 -0
- package/admin/features/createWebhook/feature.d.ts +3 -0
- package/admin/features/createWebhook/feature.js +19 -0
- package/admin/features/createWebhook/feature.js.map +1 -0
- package/admin/features/createWebhook/index.d.ts +2 -0
- package/admin/features/createWebhook/index.js +2 -0
- package/admin/features/deleteWebhook/DeleteWebhookGateway.d.ts +11 -0
- package/admin/features/deleteWebhook/DeleteWebhookGateway.js +23 -0
- package/admin/features/deleteWebhook/DeleteWebhookGateway.js.map +1 -0
- package/admin/features/deleteWebhook/DeleteWebhookUseCase.d.ts +10 -0
- package/admin/features/deleteWebhook/DeleteWebhookUseCase.js +18 -0
- package/admin/features/deleteWebhook/DeleteWebhookUseCase.js.map +1 -0
- package/admin/features/deleteWebhook/abstractions.d.ts +14 -0
- package/admin/features/deleteWebhook/abstractions.js +6 -0
- package/admin/features/deleteWebhook/abstractions.js.map +1 -0
- package/admin/features/deleteWebhook/feature.d.ts +3 -0
- package/admin/features/deleteWebhook/feature.js +19 -0
- package/admin/features/deleteWebhook/feature.js.map +1 -0
- package/admin/features/deleteWebhook/index.d.ts +2 -0
- package/admin/features/deleteWebhook/index.js +2 -0
- package/admin/features/getWebhook/GetWebhookGateway.d.ts +12 -0
- package/admin/features/getWebhook/GetWebhookGateway.js +23 -0
- package/admin/features/getWebhook/GetWebhookGateway.js.map +1 -0
- package/admin/features/getWebhook/GetWebhookUseCase.d.ts +11 -0
- package/admin/features/getWebhook/GetWebhookUseCase.js +18 -0
- package/admin/features/getWebhook/GetWebhookUseCase.js.map +1 -0
- package/admin/features/getWebhook/abstractions.d.ts +15 -0
- package/admin/features/getWebhook/abstractions.js +6 -0
- package/admin/features/getWebhook/abstractions.js.map +1 -0
- package/admin/features/getWebhook/feature.d.ts +3 -0
- package/admin/features/getWebhook/feature.js +19 -0
- package/admin/features/getWebhook/feature.js.map +1 -0
- package/admin/features/getWebhook/index.d.ts +2 -0
- package/admin/features/getWebhook/index.js +2 -0
- package/admin/features/getWebhookSettings/GetWebhookSettingsGateway.d.ts +12 -0
- package/admin/features/getWebhookSettings/GetWebhookSettingsGateway.js +41 -0
- package/admin/features/getWebhookSettings/GetWebhookSettingsGateway.js.map +1 -0
- package/admin/features/getWebhookSettings/GetWebhookSettingsUseCase.d.ts +11 -0
- package/admin/features/getWebhookSettings/GetWebhookSettingsUseCase.js +18 -0
- package/admin/features/getWebhookSettings/GetWebhookSettingsUseCase.js.map +1 -0
- package/admin/features/getWebhookSettings/abstractions.d.ts +15 -0
- package/admin/features/getWebhookSettings/abstractions.js +6 -0
- package/admin/features/getWebhookSettings/abstractions.js.map +1 -0
- package/admin/features/getWebhookSettings/feature.d.ts +3 -0
- package/admin/features/getWebhookSettings/feature.js +19 -0
- package/admin/features/getWebhookSettings/feature.js.map +1 -0
- package/admin/features/getWebhookSettings/index.d.ts +2 -0
- package/admin/features/getWebhookSettings/index.js +2 -0
- package/admin/features/listAvailableEvents/ListAvailableEventsGateway.d.ts +12 -0
- package/admin/features/listAvailableEvents/ListAvailableEventsGateway.js +21 -0
- package/admin/features/listAvailableEvents/ListAvailableEventsGateway.js.map +1 -0
- package/admin/features/listAvailableEvents/ListAvailableEventsUseCase.d.ts +11 -0
- package/admin/features/listAvailableEvents/ListAvailableEventsUseCase.js +18 -0
- package/admin/features/listAvailableEvents/ListAvailableEventsUseCase.js.map +1 -0
- package/admin/features/listAvailableEvents/abstractions.d.ts +15 -0
- package/admin/features/listAvailableEvents/abstractions.js +6 -0
- package/admin/features/listAvailableEvents/abstractions.js.map +1 -0
- package/admin/features/listAvailableEvents/feature.d.ts +3 -0
- package/admin/features/listAvailableEvents/feature.js +19 -0
- package/admin/features/listAvailableEvents/feature.js.map +1 -0
- package/admin/features/listAvailableEvents/index.d.ts +2 -0
- package/admin/features/listAvailableEvents/index.js +2 -0
- package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesGateway.d.ts +11 -0
- package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesGateway.js +28 -0
- package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesGateway.js.map +1 -0
- package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesUseCase.d.ts +10 -0
- package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesUseCase.js +18 -0
- package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesUseCase.js.map +1 -0
- package/admin/features/listWebhookDeliveries/abstractions.d.ts +33 -0
- package/admin/features/listWebhookDeliveries/abstractions.js +6 -0
- package/admin/features/listWebhookDeliveries/abstractions.js.map +1 -0
- package/admin/features/listWebhookDeliveries/feature.d.ts +3 -0
- package/admin/features/listWebhookDeliveries/feature.js +19 -0
- package/admin/features/listWebhookDeliveries/feature.js.map +1 -0
- package/admin/features/listWebhookDeliveries/index.d.ts +2 -0
- package/admin/features/listWebhookDeliveries/index.js +2 -0
- package/admin/features/permissions/abstractions.d.ts +17 -0
- package/admin/features/permissions/abstractions.js +6 -0
- package/admin/features/permissions/abstractions.js.map +1 -0
- package/admin/features/permissions/feature.d.ts +14 -0
- package/admin/features/permissions/feature.js +7 -0
- package/admin/features/permissions/feature.js.map +1 -0
- package/admin/features/permissions/index.d.ts +2 -0
- package/admin/features/permissions/index.js +2 -0
- package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryGateway.d.ts +11 -0
- package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryGateway.js +23 -0
- package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryGateway.js.map +1 -0
- package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryUseCase.d.ts +10 -0
- package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryUseCase.js +18 -0
- package/admin/features/resendWebhookDelivery/ResendWebhookDeliveryUseCase.js.map +1 -0
- package/admin/features/resendWebhookDelivery/abstractions.d.ts +14 -0
- package/admin/features/resendWebhookDelivery/abstractions.js +6 -0
- package/admin/features/resendWebhookDelivery/abstractions.js.map +1 -0
- package/admin/features/resendWebhookDelivery/feature.d.ts +3 -0
- package/admin/features/resendWebhookDelivery/feature.js +19 -0
- package/admin/features/resendWebhookDelivery/feature.js.map +1 -0
- package/admin/features/resendWebhookDelivery/index.d.ts +2 -0
- package/admin/features/resendWebhookDelivery/index.js +2 -0
- package/admin/features/triggerWebhook/TriggerWebhookGateway.d.ts +12 -0
- package/admin/features/triggerWebhook/TriggerWebhookGateway.js +24 -0
- package/admin/features/triggerWebhook/TriggerWebhookGateway.js.map +1 -0
- package/admin/features/triggerWebhook/TriggerWebhookUseCase.d.ts +11 -0
- package/admin/features/triggerWebhook/TriggerWebhookUseCase.js +18 -0
- package/admin/features/triggerWebhook/TriggerWebhookUseCase.js.map +1 -0
- package/admin/features/triggerWebhook/abstractions.d.ts +15 -0
- package/admin/features/triggerWebhook/abstractions.js +6 -0
- package/admin/features/triggerWebhook/abstractions.js.map +1 -0
- package/admin/features/triggerWebhook/feature.d.ts +3 -0
- package/admin/features/triggerWebhook/feature.js +19 -0
- package/admin/features/triggerWebhook/feature.js.map +1 -0
- package/admin/features/triggerWebhook/index.d.ts +2 -0
- package/admin/features/triggerWebhook/index.js +2 -0
- package/admin/features/updateWebhook/UpdateWebhookGateway.d.ts +12 -0
- package/admin/features/updateWebhook/UpdateWebhookGateway.js +24 -0
- package/admin/features/updateWebhook/UpdateWebhookGateway.js.map +1 -0
- package/admin/features/updateWebhook/UpdateWebhookUseCase.d.ts +11 -0
- package/admin/features/updateWebhook/UpdateWebhookUseCase.js +18 -0
- package/admin/features/updateWebhook/UpdateWebhookUseCase.js.map +1 -0
- package/admin/features/updateWebhook/abstractions.d.ts +23 -0
- package/admin/features/updateWebhook/abstractions.js +6 -0
- package/admin/features/updateWebhook/abstractions.js.map +1 -0
- package/admin/features/updateWebhook/feature.d.ts +3 -0
- package/admin/features/updateWebhook/feature.js +19 -0
- package/admin/features/updateWebhook/feature.js.map +1 -0
- package/admin/features/updateWebhook/index.d.ts +2 -0
- package/admin/features/updateWebhook/index.js +2 -0
- package/admin/features/updateWebhookSettings/UpdateWebhookSettingsGateway.d.ts +12 -0
- package/admin/features/updateWebhookSettings/UpdateWebhookSettingsGateway.js +44 -0
- package/admin/features/updateWebhookSettings/UpdateWebhookSettingsGateway.js.map +1 -0
- package/admin/features/updateWebhookSettings/UpdateWebhookSettingsUseCase.d.ts +11 -0
- package/admin/features/updateWebhookSettings/UpdateWebhookSettingsUseCase.js +18 -0
- package/admin/features/updateWebhookSettings/UpdateWebhookSettingsUseCase.js.map +1 -0
- package/admin/features/updateWebhookSettings/abstractions.d.ts +19 -0
- package/admin/features/updateWebhookSettings/abstractions.js +6 -0
- package/admin/features/updateWebhookSettings/abstractions.js.map +1 -0
- package/admin/features/updateWebhookSettings/feature.d.ts +3 -0
- package/admin/features/updateWebhookSettings/feature.js +19 -0
- package/admin/features/updateWebhookSettings/feature.js.map +1 -0
- package/admin/features/updateWebhookSettings/index.d.ts +2 -0
- package/admin/features/updateWebhookSettings/index.js +2 -0
- package/admin/index.d.ts +2 -0
- package/admin/index.js +2 -0
- package/admin/permissions.d.ts +12 -0
- package/admin/permissions.js +22 -0
- package/admin/permissions.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.d.ts +16 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.js +68 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.d.ts +21 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js +57 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/abstractions.d.ts +18 -0
- package/admin/presentation/WebhookDeliveries/abstractions.js +5 -0
- package/admin/presentation/WebhookDeliveries/abstractions.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryAccordionRow.d.ts +11 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryAccordionRow.js +36 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryAccordionRow.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.d.ts +11 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.js +32 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetailContent.d.ts +7 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetailContent.js +76 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetailContent.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetailPanel.d.ts +9 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetailPanel.js +22 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetailPanel.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.d.ts +8 -0
- package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.js +119 -0
- package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/components/statusVariant.d.ts +1 -0
- package/admin/presentation/WebhookDeliveries/components/statusVariant.js +13 -0
- package/admin/presentation/WebhookDeliveries/components/statusVariant.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/feature.d.ts +3 -0
- package/admin/presentation/WebhookDeliveries/feature.js +17 -0
- package/admin/presentation/WebhookDeliveries/feature.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/index.d.ts +2 -0
- package/admin/presentation/WebhookDeliveries/index.js +2 -0
- package/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.d.ts +37 -0
- package/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.js +196 -0
- package/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/abstractions.d.ts +39 -0
- package/admin/presentation/WebhookDeliveriesPage/abstractions.js +5 -0
- package/admin/presentation/WebhookDeliveriesPage/abstractions.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryBottomInfoBar.d.ts +9 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryBottomInfoBar.js +43 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryBottomInfoBar.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryFilters.d.ts +9 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryFilters.js +66 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryFilters.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryList.d.ts +9 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryList.js +45 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryList.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDeliveriesPage.d.ts +2 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDeliveriesPage.js +64 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDeliveriesPage.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/feature.d.ts +3 -0
- package/admin/presentation/WebhookDeliveriesPage/feature.js +17 -0
- package/admin/presentation/WebhookDeliveriesPage/feature.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/index.d.ts +5 -0
- package/admin/presentation/WebhookDeliveriesPage/index.js +1 -0
- package/admin/presentation/WebhookForm/WebhookFormPresenter.d.ts +42 -0
- package/admin/presentation/WebhookForm/WebhookFormPresenter.js +252 -0
- package/admin/presentation/WebhookForm/WebhookFormPresenter.js.map +1 -0
- package/admin/presentation/WebhookForm/abstractions.d.ts +27 -0
- package/admin/presentation/WebhookForm/abstractions.js +5 -0
- package/admin/presentation/WebhookForm/abstractions.js.map +1 -0
- package/admin/presentation/WebhookForm/components/SigningSecret.d.ts +9 -0
- package/admin/presentation/WebhookForm/components/SigningSecret.js +47 -0
- package/admin/presentation/WebhookForm/components/SigningSecret.js.map +1 -0
- package/admin/presentation/WebhookForm/components/WebhookFormView.d.ts +2 -0
- package/admin/presentation/WebhookForm/components/WebhookFormView.js +97 -0
- package/admin/presentation/WebhookForm/components/WebhookFormView.js.map +1 -0
- package/admin/presentation/WebhookForm/feature.d.ts +3 -0
- package/admin/presentation/WebhookForm/feature.js +17 -0
- package/admin/presentation/WebhookForm/feature.js.map +1 -0
- package/admin/presentation/WebhookForm/index.d.ts +2 -0
- package/admin/presentation/WebhookForm/index.js +2 -0
- package/admin/presentation/WebhookList/WebhookListDataSource.d.ts +15 -0
- package/admin/presentation/WebhookList/WebhookListDataSource.js +67 -0
- package/admin/presentation/WebhookList/WebhookListDataSource.js.map +1 -0
- package/admin/presentation/WebhookList/WebhookListPresenter.d.ts +46 -0
- package/admin/presentation/WebhookList/WebhookListPresenter.js +92 -0
- package/admin/presentation/WebhookList/WebhookListPresenter.js.map +1 -0
- package/admin/presentation/WebhookList/abstractions.d.ts +45 -0
- package/admin/presentation/WebhookList/abstractions.js +5 -0
- package/admin/presentation/WebhookList/abstractions.js.map +1 -0
- package/admin/presentation/WebhookList/components/CreateWebhookButton.d.ts +2 -0
- package/admin/presentation/WebhookList/components/CreateWebhookButton.js +22 -0
- package/admin/presentation/WebhookList/components/CreateWebhookButton.js.map +1 -0
- package/admin/presentation/WebhookList/components/WebhookListContent.d.ts +9 -0
- package/admin/presentation/WebhookList/components/WebhookListContent.js +158 -0
- package/admin/presentation/WebhookList/components/WebhookListContent.js.map +1 -0
- package/admin/presentation/WebhookList/components/WebhookListView.d.ts +2 -0
- package/admin/presentation/WebhookList/components/WebhookListView.js +46 -0
- package/admin/presentation/WebhookList/components/WebhookListView.js.map +1 -0
- package/admin/presentation/WebhookList/feature.d.ts +3 -0
- package/admin/presentation/WebhookList/feature.js +17 -0
- package/admin/presentation/WebhookList/feature.js.map +1 -0
- package/admin/presentation/WebhookList/index.d.ts +2 -0
- package/admin/presentation/WebhookList/index.js +2 -0
- package/admin/presentation/WebhookSettings/WebhookSettingsPresenter.d.ts +21 -0
- package/admin/presentation/WebhookSettings/WebhookSettingsPresenter.js +89 -0
- package/admin/presentation/WebhookSettings/WebhookSettingsPresenter.js.map +1 -0
- package/admin/presentation/WebhookSettings/abstractions.d.ts +16 -0
- package/admin/presentation/WebhookSettings/abstractions.js +5 -0
- package/admin/presentation/WebhookSettings/abstractions.js.map +1 -0
- package/admin/presentation/WebhookSettings/components/WebhookSettingsView.d.ts +2 -0
- package/admin/presentation/WebhookSettings/components/WebhookSettingsView.js +56 -0
- package/admin/presentation/WebhookSettings/components/WebhookSettingsView.js.map +1 -0
- package/admin/presentation/WebhookSettings/feature.d.ts +3 -0
- package/admin/presentation/WebhookSettings/feature.js +17 -0
- package/admin/presentation/WebhookSettings/feature.js.map +1 -0
- package/admin/presentation/WebhookSettings/index.d.ts +2 -0
- package/admin/presentation/WebhookSettings/index.js +2 -0
- package/admin/presentation/security/HasPermission.d.ts +12 -0
- package/admin/presentation/security/HasPermission.js +6 -0
- package/admin/presentation/security/HasPermission.js.map +1 -0
- package/admin/presentation/security/usePermissions.d.ts +12 -0
- package/admin/presentation/security/usePermissions.js +6 -0
- package/admin/presentation/security/usePermissions.js.map +1 -0
- package/admin/routes.d.ts +9 -0
- package/admin/routes.js +25 -0
- package/admin/routes.js.map +1 -0
- package/admin/shared/types.d.ts +9 -0
- package/admin/shared/types.js +0 -0
- package/api/Extension.d.ts +1 -0
- package/api/Extension.js +1 -0
- package/api/WebhooksFeature.d.ts +4 -0
- package/api/WebhooksFeature.js +65 -0
- package/api/WebhooksFeature.js.map +1 -0
- package/api/domain/Webhook.d.ts +27 -0
- package/api/domain/Webhook.js +0 -0
- package/api/domain/WebhookDelivery.d.ts +35 -0
- package/api/domain/WebhookDelivery.js +0 -0
- package/api/domain/WebhookSettings.d.ts +4 -0
- package/api/domain/WebhookSettings.js +0 -0
- package/api/domain/constants.d.ts +5 -0
- package/api/domain/constants.js +8 -0
- package/api/domain/constants.js.map +1 -0
- package/api/domain/errors.d.ts +41 -0
- package/api/domain/errors.js +83 -0
- package/api/domain/errors.js.map +1 -0
- package/api/features/CreateWebhook/CreateWebhookRepository.d.ts +18 -0
- package/api/features/CreateWebhook/CreateWebhookRepository.js +43 -0
- package/api/features/CreateWebhook/CreateWebhookRepository.js.map +1 -0
- package/api/features/CreateWebhook/CreateWebhookUseCase.d.ts +16 -0
- package/api/features/CreateWebhook/CreateWebhookUseCase.js +48 -0
- package/api/features/CreateWebhook/CreateWebhookUseCase.js.map +1 -0
- package/api/features/CreateWebhook/abstractions.d.ts +33 -0
- package/api/features/CreateWebhook/abstractions.js +6 -0
- package/api/features/CreateWebhook/abstractions.js.map +1 -0
- package/api/features/CreateWebhook/feature.d.ts +4 -0
- package/api/features/CreateWebhook/feature.js +13 -0
- package/api/features/CreateWebhook/feature.js.map +1 -0
- package/api/features/CreateWebhook/schema.d.ts +10 -0
- package/api/features/CreateWebhook/schema.js +16 -0
- package/api/features/CreateWebhook/schema.js.map +1 -0
- package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.d.ts +20 -0
- package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.js +60 -0
- package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.js.map +1 -0
- package/api/features/CreateWebhookDelivery/abstractions.d.ts +21 -0
- package/api/features/CreateWebhookDelivery/abstractions.js +5 -0
- package/api/features/CreateWebhookDelivery/abstractions.js.map +1 -0
- package/api/features/CreateWebhookDelivery/feature.d.ts +4 -0
- package/api/features/CreateWebhookDelivery/feature.js +11 -0
- package/api/features/CreateWebhookDelivery/feature.js.map +1 -0
- package/api/features/DeleteWebhook/DeleteWebhookRepository.d.ts +19 -0
- package/api/features/DeleteWebhook/DeleteWebhookRepository.js +66 -0
- package/api/features/DeleteWebhook/DeleteWebhookRepository.js.map +1 -0
- package/api/features/DeleteWebhook/DeleteWebhookUseCase.d.ts +15 -0
- package/api/features/DeleteWebhook/DeleteWebhookUseCase.js +34 -0
- package/api/features/DeleteWebhook/DeleteWebhookUseCase.js.map +1 -0
- package/api/features/DeleteWebhook/abstractions.d.ts +20 -0
- package/api/features/DeleteWebhook/abstractions.js +6 -0
- package/api/features/DeleteWebhook/abstractions.js.map +1 -0
- package/api/features/DeleteWebhook/feature.d.ts +4 -0
- package/api/features/DeleteWebhook/feature.js +13 -0
- package/api/features/DeleteWebhook/feature.js.map +1 -0
- package/api/features/DeleteWebhook/schema.d.ts +4 -0
- package/api/features/DeleteWebhook/schema.js +7 -0
- package/api/features/DeleteWebhook/schema.js.map +1 -0
- package/api/features/GetWebhook/GetWebhookRepository.d.ts +17 -0
- package/api/features/GetWebhook/GetWebhookRepository.js +39 -0
- package/api/features/GetWebhook/GetWebhookRepository.js.map +1 -0
- package/api/features/GetWebhook/GetWebhookUseCase.d.ts +14 -0
- package/api/features/GetWebhook/GetWebhookUseCase.js +29 -0
- package/api/features/GetWebhook/GetWebhookUseCase.js.map +1 -0
- package/api/features/GetWebhook/abstractions.d.ts +21 -0
- package/api/features/GetWebhook/abstractions.js +6 -0
- package/api/features/GetWebhook/abstractions.js.map +1 -0
- package/api/features/GetWebhook/feature.d.ts +4 -0
- package/api/features/GetWebhook/feature.js +13 -0
- package/api/features/GetWebhook/feature.js.map +1 -0
- package/api/features/GetWebhook/schema.d.ts +4 -0
- package/api/features/GetWebhook/schema.js +7 -0
- package/api/features/GetWebhook/schema.js.map +1 -0
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.d.ts +17 -0
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.js +39 -0
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.js.map +1 -0
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.d.ts +14 -0
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.js +29 -0
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.js.map +1 -0
- package/api/features/GetWebhookDelivery/abstractions.d.ts +21 -0
- package/api/features/GetWebhookDelivery/abstractions.js +6 -0
- package/api/features/GetWebhookDelivery/abstractions.js.map +1 -0
- package/api/features/GetWebhookDelivery/feature.d.ts +4 -0
- package/api/features/GetWebhookDelivery/feature.js +13 -0
- package/api/features/GetWebhookDelivery/feature.js.map +1 -0
- package/api/features/GetWebhookDelivery/schema.d.ts +4 -0
- package/api/features/GetWebhookDelivery/schema.js +7 -0
- package/api/features/GetWebhookDelivery/schema.js.map +1 -0
- package/api/features/GetWebhookSettings/GetWebhookSettingsRepository.d.ts +19 -0
- package/api/features/GetWebhookSettings/GetWebhookSettingsRepository.js +57 -0
- package/api/features/GetWebhookSettings/GetWebhookSettingsRepository.js.map +1 -0
- package/api/features/GetWebhookSettings/abstractions.d.ts +13 -0
- package/api/features/GetWebhookSettings/abstractions.js +5 -0
- package/api/features/GetWebhookSettings/abstractions.js.map +1 -0
- package/api/features/GetWebhookSettings/feature.d.ts +4 -0
- package/api/features/GetWebhookSettings/feature.js +11 -0
- package/api/features/GetWebhookSettings/feature.js.map +1 -0
- package/api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.d.ts +14 -0
- package/api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.js +30 -0
- package/api/features/ListAvailableWebhookEvents/ListAvailableWebhookEventsUseCase.js.map +1 -0
- package/api/features/ListAvailableWebhookEvents/abstractions.d.ts +9 -0
- package/api/features/ListAvailableWebhookEvents/abstractions.js +5 -0
- package/api/features/ListAvailableWebhookEvents/abstractions.js.map +1 -0
- package/api/features/ListAvailableWebhookEvents/feature.d.ts +4 -0
- package/api/features/ListAvailableWebhookEvents/feature.js +11 -0
- package/api/features/ListAvailableWebhookEvents/feature.js.map +1 -0
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.d.ts +21 -0
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.js +63 -0
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesRepository.js.map +1 -0
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.d.ts +14 -0
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.js +27 -0
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.js.map +1 -0
- package/api/features/ListWebhookDeliveries/abstractions.d.ts +40 -0
- package/api/features/ListWebhookDeliveries/abstractions.js +6 -0
- package/api/features/ListWebhookDeliveries/abstractions.js.map +1 -0
- package/api/features/ListWebhookDeliveries/feature.d.ts +4 -0
- package/api/features/ListWebhookDeliveries/feature.js +13 -0
- package/api/features/ListWebhookDeliveries/feature.js.map +1 -0
- package/api/features/ListWebhookDeliveries/schema.d.ts +7 -0
- package/api/features/ListWebhookDeliveries/schema.js +10 -0
- package/api/features/ListWebhookDeliveries/schema.js.map +1 -0
- package/api/features/ListWebhooks/ListWebhooksRepository.d.ts +21 -0
- package/api/features/ListWebhooks/ListWebhooksRepository.js +63 -0
- package/api/features/ListWebhooks/ListWebhooksRepository.js.map +1 -0
- package/api/features/ListWebhooks/ListWebhooksUseCase.d.ts +14 -0
- package/api/features/ListWebhooks/ListWebhooksUseCase.js +27 -0
- package/api/features/ListWebhooks/ListWebhooksUseCase.js.map +1 -0
- package/api/features/ListWebhooks/abstractions.d.ts +41 -0
- package/api/features/ListWebhooks/abstractions.js +6 -0
- package/api/features/ListWebhooks/abstractions.js.map +1 -0
- package/api/features/ListWebhooks/feature.d.ts +4 -0
- package/api/features/ListWebhooks/feature.js +13 -0
- package/api/features/ListWebhooks/feature.js.map +1 -0
- package/api/features/ListWebhooks/schema.d.ts +7 -0
- package/api/features/ListWebhooks/schema.js +10 -0
- package/api/features/ListWebhooks/schema.js.map +1 -0
- package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.d.ts +22 -0
- package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.js +70 -0
- package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.js.map +1 -0
- package/api/features/ResendWebhookDelivery/abstractions.d.ts +12 -0
- package/api/features/ResendWebhookDelivery/abstractions.js +5 -0
- package/api/features/ResendWebhookDelivery/abstractions.js.map +1 -0
- package/api/features/ResendWebhookDelivery/feature.d.ts +4 -0
- package/api/features/ResendWebhookDelivery/feature.js +11 -0
- package/api/features/ResendWebhookDelivery/feature.js.map +1 -0
- package/api/features/ResendWebhookDelivery/schema.d.ts +4 -0
- package/api/features/ResendWebhookDelivery/schema.js +7 -0
- package/api/features/ResendWebhookDelivery/schema.js.map +1 -0
- package/api/features/SendWebhookTask/SendWebhookTask.d.ts +33 -0
- package/api/features/SendWebhookTask/SendWebhookTask.js +111 -0
- package/api/features/SendWebhookTask/SendWebhookTask.js.map +1 -0
- package/api/features/SendWebhookTask/feature.d.ts +4 -0
- package/api/features/SendWebhookTask/feature.js +11 -0
- package/api/features/SendWebhookTask/feature.js.map +1 -0
- package/api/features/SendWebhookTask/types.d.ts +16 -0
- package/api/features/SendWebhookTask/types.js +0 -0
- package/api/features/Transformers/WebhookDeliveryTransformer.d.ts +13 -0
- package/api/features/Transformers/WebhookDeliveryTransformer.js +57 -0
- package/api/features/Transformers/WebhookDeliveryTransformer.js.map +1 -0
- package/api/features/Transformers/WebhookTransformer.d.ts +11 -0
- package/api/features/Transformers/WebhookTransformer.js +35 -0
- package/api/features/Transformers/WebhookTransformer.js.map +1 -0
- package/api/features/Transformers/abstractions/WebhookDeliveryTransformer.d.ts +10 -0
- package/api/features/Transformers/abstractions/WebhookDeliveryTransformer.js +5 -0
- package/api/features/Transformers/abstractions/WebhookDeliveryTransformer.js.map +1 -0
- package/api/features/Transformers/abstractions/WebhookTransformer.d.ts +10 -0
- package/api/features/Transformers/abstractions/WebhookTransformer.js +5 -0
- package/api/features/Transformers/abstractions/WebhookTransformer.js.map +1 -0
- package/api/features/Transformers/feature.d.ts +4 -0
- package/api/features/Transformers/feature.js +13 -0
- package/api/features/Transformers/feature.js.map +1 -0
- package/api/features/Transformers/index.d.ts +2 -0
- package/api/features/Transformers/index.js +2 -0
- package/api/features/TriggerWebhook/TriggerWebhookUseCase.d.ts +21 -0
- package/api/features/TriggerWebhook/TriggerWebhookUseCase.js +65 -0
- package/api/features/TriggerWebhook/TriggerWebhookUseCase.js.map +1 -0
- package/api/features/TriggerWebhook/abstractions.d.ts +13 -0
- package/api/features/TriggerWebhook/abstractions.js +5 -0
- package/api/features/TriggerWebhook/abstractions.js.map +1 -0
- package/api/features/TriggerWebhook/feature.d.ts +4 -0
- package/api/features/TriggerWebhook/feature.js +11 -0
- package/api/features/TriggerWebhook/feature.js.map +1 -0
- package/api/features/TriggerWebhook/schema.d.ts +5 -0
- package/api/features/TriggerWebhook/schema.js +8 -0
- package/api/features/TriggerWebhook/schema.js.map +1 -0
- package/api/features/UpdateWebhook/UpdateWebhookRepository.d.ts +21 -0
- package/api/features/UpdateWebhook/UpdateWebhookRepository.js +50 -0
- package/api/features/UpdateWebhook/UpdateWebhookRepository.js.map +1 -0
- package/api/features/UpdateWebhook/UpdateWebhookUseCase.d.ts +16 -0
- package/api/features/UpdateWebhook/UpdateWebhookUseCase.js +42 -0
- package/api/features/UpdateWebhook/UpdateWebhookUseCase.js.map +1 -0
- package/api/features/UpdateWebhook/abstractions.d.ts +30 -0
- package/api/features/UpdateWebhook/abstractions.js +6 -0
- package/api/features/UpdateWebhook/abstractions.js.map +1 -0
- package/api/features/UpdateWebhook/feature.d.ts +4 -0
- package/api/features/UpdateWebhook/feature.js +13 -0
- package/api/features/UpdateWebhook/feature.js.map +1 -0
- package/api/features/UpdateWebhook/schema.d.ts +9 -0
- package/api/features/UpdateWebhook/schema.js +15 -0
- package/api/features/UpdateWebhook/schema.js.map +1 -0
- package/api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.d.ts +22 -0
- package/api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.js +62 -0
- package/api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.js.map +1 -0
- package/api/features/UpdateWebhookDelivery/abstractions.d.ts +23 -0
- package/api/features/UpdateWebhookDelivery/abstractions.js +5 -0
- package/api/features/UpdateWebhookDelivery/abstractions.js.map +1 -0
- package/api/features/UpdateWebhookDelivery/feature.d.ts +4 -0
- package/api/features/UpdateWebhookDelivery/feature.js +11 -0
- package/api/features/UpdateWebhookDelivery/feature.js.map +1 -0
- package/api/features/UpdateWebhookSettings/UpdateWebhookSettingsRepository.d.ts +21 -0
- package/api/features/UpdateWebhookSettings/UpdateWebhookSettingsRepository.js +62 -0
- package/api/features/UpdateWebhookSettings/UpdateWebhookSettingsRepository.js.map +1 -0
- package/api/features/UpdateWebhookSettings/UpdateWebhookSettingsUseCase.d.ts +14 -0
- package/api/features/UpdateWebhookSettings/UpdateWebhookSettingsUseCase.js +27 -0
- package/api/features/UpdateWebhookSettings/UpdateWebhookSettingsUseCase.js.map +1 -0
- package/api/features/UpdateWebhookSettings/abstractions.d.ts +27 -0
- package/api/features/UpdateWebhookSettings/abstractions.js +6 -0
- package/api/features/UpdateWebhookSettings/abstractions.js.map +1 -0
- package/api/features/UpdateWebhookSettings/feature.d.ts +4 -0
- package/api/features/UpdateWebhookSettings/feature.js +13 -0
- package/api/features/UpdateWebhookSettings/feature.js.map +1 -0
- package/api/features/UpdateWebhookSettings/schema.d.ts +5 -0
- package/api/features/UpdateWebhookSettings/schema.js +9 -0
- package/api/features/UpdateWebhookSettings/schema.js.map +1 -0
- package/api/features/WebhookDeliver/WebhookDeliver.d.ts +13 -0
- package/api/features/WebhookDeliver/WebhookDeliver.js +79 -0
- package/api/features/WebhookDeliver/WebhookDeliver.js.map +1 -0
- package/api/features/WebhookDeliver/abstractions.d.ts +24 -0
- package/api/features/WebhookDeliver/abstractions.js +5 -0
- package/api/features/WebhookDeliver/abstractions.js.map +1 -0
- package/api/features/WebhookDeliver/feature.d.ts +4 -0
- package/api/features/WebhookDeliver/feature.js +11 -0
- package/api/features/WebhookDeliver/feature.js.map +1 -0
- package/api/features/WebhookDeliver/index.d.ts +2 -0
- package/api/features/WebhookDeliver/index.js +2 -0
- package/api/features/WebhookDispatcher/WebhookDispatcher.d.ts +19 -0
- package/api/features/WebhookDispatcher/WebhookDispatcher.js +61 -0
- package/api/features/WebhookDispatcher/WebhookDispatcher.js.map +1 -0
- package/api/features/WebhookDispatcher/feature.d.ts +4 -0
- package/api/features/WebhookDispatcher/feature.js +11 -0
- package/api/features/WebhookDispatcher/feature.js.map +1 -0
- package/api/features/WebhookPermissions/abstractions.d.ts +17 -0
- package/api/features/WebhookPermissions/abstractions.js +6 -0
- package/api/features/WebhookPermissions/abstractions.js.map +1 -0
- package/api/features/WebhookPermissions/feature.d.ts +4 -0
- package/api/features/WebhookPermissions/feature.js +7 -0
- package/api/features/WebhookPermissions/feature.js.map +1 -0
- package/api/features/WebhookSignPayload/WebhookSignPayload.d.ts +9 -0
- package/api/features/WebhookSignPayload/WebhookSignPayload.js +26 -0
- package/api/features/WebhookSignPayload/WebhookSignPayload.js.map +1 -0
- package/api/features/WebhookSignPayload/feature.d.ts +4 -0
- package/api/features/WebhookSignPayload/feature.js +11 -0
- package/api/features/WebhookSignPayload/feature.js.map +1 -0
- package/api/features/WebhookVerifyPayload/WebhookVerifyPayload.d.ts +10 -0
- package/api/features/WebhookVerifyPayload/WebhookVerifyPayload.js +22 -0
- package/api/features/WebhookVerifyPayload/WebhookVerifyPayload.js.map +1 -0
- package/api/features/WebhookVerifyPayload/feature.d.ts +4 -0
- package/api/features/WebhookVerifyPayload/feature.js +11 -0
- package/api/features/WebhookVerifyPayload/feature.js.map +1 -0
- package/api/graphql/WebhookCrudSchema.d.ts +8 -0
- package/api/graphql/WebhookCrudSchema.js +166 -0
- package/api/graphql/WebhookCrudSchema.js.map +1 -0
- package/api/graphql/WebhookDeliverySchema.d.ts +8 -0
- package/api/graphql/WebhookDeliverySchema.js +100 -0
- package/api/graphql/WebhookDeliverySchema.js.map +1 -0
- package/api/graphql/WebhookEventSchema.d.ts +8 -0
- package/api/graphql/WebhookEventSchema.js +45 -0
- package/api/graphql/WebhookEventSchema.js.map +1 -0
- package/api/graphql/WebhookSettingsSchema.d.ts +8 -0
- package/api/graphql/WebhookSettingsSchema.js +62 -0
- package/api/graphql/WebhookSettingsSchema.js.map +1 -0
- package/api/graphql/WebhookTriggerSchema.d.ts +8 -0
- package/api/graphql/WebhookTriggerSchema.js +36 -0
- package/api/graphql/WebhookTriggerSchema.js.map +1 -0
- package/api/index.d.ts +1 -0
- package/api/index.js +8 -0
- package/api/index.js.map +1 -0
- package/api/models/WebhookDeliveryModel.d.ts +8 -0
- package/api/models/WebhookDeliveryModel.js +36 -0
- package/api/models/WebhookDeliveryModel.js.map +1 -0
- package/api/models/WebhookModel.d.ts +8 -0
- package/api/models/WebhookModel.js +33 -0
- package/api/models/WebhookModel.js.map +1 -0
- package/api/models/WebhookSettingsModel.d.ts +8 -0
- package/api/models/WebhookSettingsModel.js +28 -0
- package/api/models/WebhookSettingsModel.js.map +1 -0
- package/api/permissions.d.ts +12 -0
- package/api/permissions.js +22 -0
- package/api/permissions.js.map +1 -0
- package/api/utils/isValidEndpointUrl.d.ts +1 -0
- package/api/utils/isValidEndpointUrl.js +13 -0
- package/api/utils/isValidEndpointUrl.js.map +1 -0
- package/exports/api/webhooks.d.ts +5 -0
- package/exports/api/webhooks.js +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/Transformers/WebhookDeliveryTransformer.js","sources":["../../../../src/api/features/Transformers/WebhookDeliveryTransformer.ts"],"sourcesContent":["import { WebhookDeliveryTransformer as WebhookDeliveryTransformerAbstraction } from \"./abstractions/WebhookDeliveryTransformer.js\";\nimport type { CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\nimport type {\n WebhookDelivery,\n WebhookDeliveryCmsEntryValues\n} from \"~/api/domain/WebhookDelivery.js\";\n\nclass WebhookDeliveryTransformerImpl implements WebhookDeliveryTransformerAbstraction.Interface {\n public fromStorage(entry: CmsEntry<WebhookDeliveryCmsEntryValues>): WebhookDelivery {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n savedOn: entry.savedOn,\n webhookId: entry.values.webhookId,\n backgroundTaskId: entry.values.backgroundTaskId,\n eventType: entry.values.eventType,\n status: entry.values.status,\n payload: this.decompress(entry.values.payload),\n requestHeaders: this.decompress(entry.values.requestHeaders),\n responseTime: entry.values.responseTime,\n responseStatus: entry.values.responseStatus,\n responseHeaders: this.decompress(entry.values.responseHeaders),\n responseBody: this.decompress(entry.values.responseBody)\n };\n }\n\n public toStorage(delivery: WebhookDelivery): WebhookDeliveryCmsEntryValues {\n return {\n webhookId: delivery.webhookId,\n backgroundTaskId: delivery.backgroundTaskId,\n eventType: delivery.eventType,\n status: delivery.status,\n payload: this.compress(delivery.payload),\n requestHeaders: this.compress(delivery.requestHeaders),\n responseTime: delivery.responseTime,\n responseStatus: delivery.responseStatus,\n responseHeaders: this.compress(delivery.responseHeaders),\n responseBody: this.compress(delivery.responseBody)\n };\n }\n\n private compress(value: unknown): string {\n if (value === null || value === undefined) {\n return null as unknown as string;\n }\n try {\n return JSON.stringify(value);\n } catch {\n return value as string;\n }\n }\n\n private decompress<T>(stored: string | null | undefined): T {\n if (!stored) {\n return null as T;\n }\n try {\n return JSON.parse(stored) as T;\n } catch {\n return stored as T;\n }\n }\n}\n\nexport const WebhookDeliveryTransformer =\n WebhookDeliveryTransformerAbstraction.createImplementation({\n implementation: WebhookDeliveryTransformerImpl,\n dependencies: []\n });\n"],"names":["WebhookDeliveryTransformerImpl","entry","delivery","value","JSON","stored","WebhookDeliveryTransformer","WebhookDeliveryTransformerAbstraction"],"mappings":";AAOA,MAAMA;IACK,YAAYC,KAA8C,EAAmB;QAChF,OAAO;YACH,IAAIA,MAAM,OAAO;YACjB,WAAWA,MAAM,SAAS;YAC1B,SAASA,MAAM,OAAO;YACtB,WAAWA,MAAM,MAAM,CAAC,SAAS;YACjC,kBAAkBA,MAAM,MAAM,CAAC,gBAAgB;YAC/C,WAAWA,MAAM,MAAM,CAAC,SAAS;YACjC,QAAQA,MAAM,MAAM,CAAC,MAAM;YAC3B,SAAS,IAAI,CAAC,UAAU,CAACA,MAAM,MAAM,CAAC,OAAO;YAC7C,gBAAgB,IAAI,CAAC,UAAU,CAACA,MAAM,MAAM,CAAC,cAAc;YAC3D,cAAcA,MAAM,MAAM,CAAC,YAAY;YACvC,gBAAgBA,MAAM,MAAM,CAAC,cAAc;YAC3C,iBAAiB,IAAI,CAAC,UAAU,CAACA,MAAM,MAAM,CAAC,eAAe;YAC7D,cAAc,IAAI,CAAC,UAAU,CAACA,MAAM,MAAM,CAAC,YAAY;QAC3D;IACJ;IAEO,UAAUC,QAAyB,EAAiC;QACvE,OAAO;YACH,WAAWA,SAAS,SAAS;YAC7B,kBAAkBA,SAAS,gBAAgB;YAC3C,WAAWA,SAAS,SAAS;YAC7B,QAAQA,SAAS,MAAM;YACvB,SAAS,IAAI,CAAC,QAAQ,CAACA,SAAS,OAAO;YACvC,gBAAgB,IAAI,CAAC,QAAQ,CAACA,SAAS,cAAc;YACrD,cAAcA,SAAS,YAAY;YACnC,gBAAgBA,SAAS,cAAc;YACvC,iBAAiB,IAAI,CAAC,QAAQ,CAACA,SAAS,eAAe;YACvD,cAAc,IAAI,CAAC,QAAQ,CAACA,SAAS,YAAY;QACrD;IACJ;IAEQ,SAASC,KAAc,EAAU;QACrC,IAAIA,QAAAA,OACA,OAAO;QAEX,IAAI;YACA,OAAOC,KAAK,SAAS,CAACD;QAC1B,EAAE,OAAM;YACJ,OAAOA;QACX;IACJ;IAEQ,WAAcE,MAAiC,EAAK;QACxD,IAAI,CAACA,QACD,OAAO;QAEX,IAAI;YACA,OAAOD,KAAK,KAAK,CAACC;QACtB,EAAE,OAAM;YACJ,OAAOA;QACX;IACJ;AACJ;AAEO,MAAMC,wDACTC,2BAAAA,oBAA0D,CAAC;IACvD,gBAAgBP;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { WebhookTransformer as WebhookTransformerAbstraction } from "./abstractions/WebhookTransformer.js";
|
|
2
|
+
import type { CmsEntry } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
import type { Webhook, WebhookCmsEntryValues } from "../../../api/domain/Webhook.js";
|
|
4
|
+
declare class WebhookTransformerImpl implements WebhookTransformerAbstraction.Interface {
|
|
5
|
+
fromStorage(entry: CmsEntry<WebhookCmsEntryValues>): Webhook;
|
|
6
|
+
toStorage(webhook: Webhook): WebhookCmsEntryValues;
|
|
7
|
+
}
|
|
8
|
+
export declare const WebhookTransformer: typeof WebhookTransformerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions/WebhookTransformer.js").IWebhookTransformer>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { WebhookTransformer } from "./abstractions/WebhookTransformer.js";
|
|
2
|
+
class WebhookTransformerImpl {
|
|
3
|
+
fromStorage(entry) {
|
|
4
|
+
return {
|
|
5
|
+
id: entry.entryId,
|
|
6
|
+
name: entry.values.name,
|
|
7
|
+
slug: entry.values.slug,
|
|
8
|
+
endpointUrl: entry.values.endpointUrl,
|
|
9
|
+
description: entry.values.description,
|
|
10
|
+
enabled: entry.values.enabled,
|
|
11
|
+
events: entry.values.events,
|
|
12
|
+
signingSecret: entry.values.signingSecret,
|
|
13
|
+
createdOn: entry.createdOn,
|
|
14
|
+
savedOn: entry.savedOn
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
toStorage(webhook) {
|
|
18
|
+
return {
|
|
19
|
+
name: webhook.name,
|
|
20
|
+
slug: webhook.slug,
|
|
21
|
+
endpointUrl: webhook.endpointUrl,
|
|
22
|
+
description: webhook.description,
|
|
23
|
+
enabled: webhook.enabled,
|
|
24
|
+
events: webhook.events,
|
|
25
|
+
signingSecret: webhook.signingSecret
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const WebhookTransformer_WebhookTransformer = WebhookTransformer.createImplementation({
|
|
30
|
+
implementation: WebhookTransformerImpl,
|
|
31
|
+
dependencies: []
|
|
32
|
+
});
|
|
33
|
+
export { WebhookTransformer_WebhookTransformer as WebhookTransformer };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=WebhookTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/Transformers/WebhookTransformer.js","sources":["../../../../src/api/features/Transformers/WebhookTransformer.ts"],"sourcesContent":["import { WebhookTransformer as WebhookTransformerAbstraction } from \"./abstractions/WebhookTransformer.js\";\nimport type { CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { Webhook, WebhookCmsEntryValues } from \"~/api/domain/Webhook.js\";\n\nclass WebhookTransformerImpl implements WebhookTransformerAbstraction.Interface {\n public fromStorage(entry: CmsEntry<WebhookCmsEntryValues>): Webhook {\n return {\n id: entry.entryId,\n name: entry.values.name,\n slug: entry.values.slug,\n endpointUrl: entry.values.endpointUrl,\n description: entry.values.description,\n enabled: entry.values.enabled,\n events: entry.values.events,\n signingSecret: entry.values.signingSecret,\n createdOn: entry.createdOn,\n savedOn: entry.savedOn\n };\n }\n\n public toStorage(webhook: Webhook): WebhookCmsEntryValues {\n return {\n name: webhook.name,\n slug: webhook.slug,\n endpointUrl: webhook.endpointUrl,\n description: webhook.description,\n enabled: webhook.enabled,\n events: webhook.events,\n signingSecret: webhook.signingSecret\n };\n }\n}\n\nexport const WebhookTransformer = WebhookTransformerAbstraction.createImplementation({\n implementation: WebhookTransformerImpl,\n dependencies: []\n});\n"],"names":["WebhookTransformerImpl","entry","webhook","WebhookTransformer","WebhookTransformerAbstraction"],"mappings":";AAIA,MAAMA;IACK,YAAYC,KAAsC,EAAW;QAChE,OAAO;YACH,IAAIA,MAAM,OAAO;YACjB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,aAAaA,MAAM,MAAM,CAAC,WAAW;YACrC,aAAaA,MAAM,MAAM,CAAC,WAAW;YACrC,SAASA,MAAM,MAAM,CAAC,OAAO;YAC7B,QAAQA,MAAM,MAAM,CAAC,MAAM;YAC3B,eAAeA,MAAM,MAAM,CAAC,aAAa;YACzC,WAAWA,MAAM,SAAS;YAC1B,SAASA,MAAM,OAAO;QAC1B;IACJ;IAEO,UAAUC,OAAgB,EAAyB;QACtD,OAAO;YACH,MAAMA,QAAQ,IAAI;YAClB,MAAMA,QAAQ,IAAI;YAClB,aAAaA,QAAQ,WAAW;YAChC,aAAaA,QAAQ,WAAW;YAChC,SAASA,QAAQ,OAAO;YACxB,QAAQA,QAAQ,MAAM;YACtB,eAAeA,QAAQ,aAAa;QACxC;IACJ;AACJ;AAEO,MAAMC,wCAAqBC,mBAAAA,oBAAkD,CAAC;IACjF,gBAAgBJ;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CmsEntry } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import type { WebhookDelivery, WebhookDeliveryCmsEntryValues } from "../../../../api/domain/WebhookDelivery.js";
|
|
3
|
+
export interface IWebhookDeliveryTransformer {
|
|
4
|
+
fromStorage(entry: CmsEntry<WebhookDeliveryCmsEntryValues>): WebhookDelivery;
|
|
5
|
+
toStorage(delivery: WebhookDelivery): WebhookDeliveryCmsEntryValues;
|
|
6
|
+
}
|
|
7
|
+
export declare const WebhookDeliveryTransformer: import("@webiny/di").Abstraction<IWebhookDeliveryTransformer>;
|
|
8
|
+
export declare namespace WebhookDeliveryTransformer {
|
|
9
|
+
type Interface = IWebhookDeliveryTransformer;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/Transformers/abstractions/WebhookDeliveryTransformer.js","sources":["../../../../../src/api/features/Transformers/abstractions/WebhookDeliveryTransformer.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\nimport type {\n WebhookDelivery,\n WebhookDeliveryCmsEntryValues\n} from \"~/api/domain/WebhookDelivery.js\";\nimport { createAbstraction } from \"@webiny/feature/api\";\n\nexport interface IWebhookDeliveryTransformer {\n fromStorage(entry: CmsEntry<WebhookDeliveryCmsEntryValues>): WebhookDelivery;\n toStorage(delivery: WebhookDelivery): WebhookDeliveryCmsEntryValues;\n}\n\nexport const WebhookDeliveryTransformer = createAbstraction<IWebhookDeliveryTransformer>(\n \"Webhooks/WebhookDeliveryTransformer\"\n);\n\nexport namespace WebhookDeliveryTransformer {\n export type Interface = IWebhookDeliveryTransformer;\n}\n"],"names":["WebhookDeliveryTransformer","createAbstraction"],"mappings":";AAYO,MAAMA,6BAA6BC,kBACtC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CmsEntry } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import type { Webhook, WebhookCmsEntryValues } from "../../../../api/domain/Webhook.js";
|
|
3
|
+
export interface IWebhookTransformer {
|
|
4
|
+
fromStorage(entry: CmsEntry<WebhookCmsEntryValues>): Webhook;
|
|
5
|
+
toStorage(webhook: Webhook): WebhookCmsEntryValues;
|
|
6
|
+
}
|
|
7
|
+
export declare const WebhookTransformer: import("@webiny/di").Abstraction<IWebhookTransformer>;
|
|
8
|
+
export declare namespace WebhookTransformer {
|
|
9
|
+
type Interface = IWebhookTransformer;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/Transformers/abstractions/WebhookTransformer.js","sources":["../../../../../src/api/features/Transformers/abstractions/WebhookTransformer.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { Webhook, WebhookCmsEntryValues } from \"~/api/domain/Webhook.js\";\nimport { createAbstraction } from \"@webiny/feature/api\";\n\nexport interface IWebhookTransformer {\n fromStorage(entry: CmsEntry<WebhookCmsEntryValues>): Webhook;\n toStorage(webhook: Webhook): WebhookCmsEntryValues;\n}\n\nexport const WebhookTransformer = createAbstraction<IWebhookTransformer>(\n \"Webhooks/WebhookTransformer\"\n);\n\nexport namespace WebhookTransformer {\n export type Interface = IWebhookTransformer;\n}\n"],"names":["WebhookTransformer","createAbstraction"],"mappings":";AASO,MAAMA,qBAAqBC,kBAC9B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { WebhookTransformer } from "./WebhookTransformer.js";
|
|
3
|
+
import { WebhookDeliveryTransformer } from "./WebhookDeliveryTransformer.js";
|
|
4
|
+
const WebhooksTransformerFeature = createFeature({
|
|
5
|
+
name: "Webhooks/Transformer",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(WebhookTransformer).inSingletonScope();
|
|
8
|
+
container.register(WebhookDeliveryTransformer).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { WebhooksTransformerFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/Transformers/feature.js","sources":["../../../../src/api/features/Transformers/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WebhookTransformer } from \"./WebhookTransformer.js\";\nimport { WebhookDeliveryTransformer } from \"./WebhookDeliveryTransformer.js\";\n\nexport const WebhooksTransformerFeature = createFeature({\n name: \"Webhooks/Transformer\",\n register(container) {\n container.register(WebhookTransformer).inSingletonScope();\n container.register(WebhookDeliveryTransformer).inSingletonScope();\n }\n});\n"],"names":["WebhooksTransformerFeature","createFeature","container","WebhookTransformer","WebhookDeliveryTransformer"],"mappings":";;;AAIO,MAAMA,6BAA6BC,cAAc;IACpD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,oBAAoB,gBAAgB;QACvDD,UAAU,QAAQ,CAACE,4BAA4B,gBAAgB;IACnE;AACJ"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TaskService } from "@webiny/api-core/exports/api/tasks.js";
|
|
3
|
+
import { TriggerWebhookUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
4
|
+
import { GetWebhookRepository } from "../../../api/features/GetWebhook/abstractions.js";
|
|
5
|
+
import { CreateWebhookDeliveryRepository } from "../../../api/features/CreateWebhookDelivery/abstractions.js";
|
|
6
|
+
import { GetWebhookSettingsRepository } from "../../../api/features/GetWebhookSettings/abstractions.js";
|
|
7
|
+
import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
|
|
8
|
+
import type { WebhookDelivery } from "../../../api/domain/WebhookDelivery.js";
|
|
9
|
+
declare class TriggerWebhookUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
10
|
+
private readonly permissions;
|
|
11
|
+
private readonly getWebhookRepository;
|
|
12
|
+
private readonly createDeliveryRepository;
|
|
13
|
+
private readonly taskService;
|
|
14
|
+
private readonly getSettingsRepository;
|
|
15
|
+
constructor(permissions: WebhookPermissions.Interface, getWebhookRepository: GetWebhookRepository.Interface, createDeliveryRepository: CreateWebhookDeliveryRepository.Interface, taskService: TaskService.Interface, getSettingsRepository: GetWebhookSettingsRepository.Interface);
|
|
16
|
+
execute(webhookId: string, payload: Record<string, unknown>): Promise<Result<WebhookDelivery, UseCaseAbstraction.Error>>;
|
|
17
|
+
}
|
|
18
|
+
export declare const TriggerWebhookUseCase: typeof TriggerWebhookUseCaseImpl & {
|
|
19
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITriggerWebhookUseCase>;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { TaskService } from "@webiny/api-core/exports/api/tasks.js";
|
|
3
|
+
import { TriggerWebhookUseCase } from "./abstractions.js";
|
|
4
|
+
import { TriggerWebhookInputSchema } from "./schema.js";
|
|
5
|
+
import { GetWebhookRepository } from "../GetWebhook/abstractions.js";
|
|
6
|
+
import { CreateWebhookDeliveryRepository } from "../CreateWebhookDelivery/abstractions.js";
|
|
7
|
+
import { GetWebhookSettingsRepository } from "../GetWebhookSettings/abstractions.js";
|
|
8
|
+
import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
|
|
9
|
+
import { WebhookNotAuthorizedError, WebhookValidationError } from "../../domain/errors.js";
|
|
10
|
+
import { SEND_WEBHOOK_TASK, WEBHOOK_DELIVERY_MAX_RETENTION_DAYS } from "../../domain/constants.js";
|
|
11
|
+
class TriggerWebhookUseCaseImpl {
|
|
12
|
+
constructor(permissions, getWebhookRepository, createDeliveryRepository, taskService, getSettingsRepository){
|
|
13
|
+
this.permissions = permissions;
|
|
14
|
+
this.getWebhookRepository = getWebhookRepository;
|
|
15
|
+
this.createDeliveryRepository = createDeliveryRepository;
|
|
16
|
+
this.taskService = taskService;
|
|
17
|
+
this.getSettingsRepository = getSettingsRepository;
|
|
18
|
+
}
|
|
19
|
+
async execute(webhookId, payload) {
|
|
20
|
+
if (!await this.permissions.canEdit("webhook")) return Result.fail(new WebhookNotAuthorizedError());
|
|
21
|
+
const parsed = TriggerWebhookInputSchema.safeParse({
|
|
22
|
+
webhookId,
|
|
23
|
+
payload
|
|
24
|
+
});
|
|
25
|
+
if (!parsed.success) return Result.fail(new WebhookValidationError(parsed.error));
|
|
26
|
+
const webhookResult = await this.getWebhookRepository.execute(parsed.data.webhookId);
|
|
27
|
+
if (webhookResult.isFail()) return Result.fail(webhookResult.error);
|
|
28
|
+
const webhook = webhookResult.value;
|
|
29
|
+
const settingsResult = await this.getSettingsRepository.execute();
|
|
30
|
+
const retentionDays = settingsResult.isOk() ? settingsResult.value.deliveryRetentionDays ?? WEBHOOK_DELIVERY_MAX_RETENTION_DAYS : WEBHOOK_DELIVERY_MAX_RETENTION_DAYS;
|
|
31
|
+
const expiresAt = new Date(Date.now() + 24 * retentionDays * 3600000);
|
|
32
|
+
const deliveryResult = await this.createDeliveryRepository.execute({
|
|
33
|
+
webhookId: webhook.id,
|
|
34
|
+
eventType: "webhook.test",
|
|
35
|
+
status: "pending",
|
|
36
|
+
payload,
|
|
37
|
+
expiresAt
|
|
38
|
+
});
|
|
39
|
+
if (deliveryResult.isFail()) return Result.fail(deliveryResult.error);
|
|
40
|
+
const delivery = deliveryResult.value;
|
|
41
|
+
await this.taskService.trigger({
|
|
42
|
+
definition: SEND_WEBHOOK_TASK,
|
|
43
|
+
name: `Test webhook: ${webhook.slug}`,
|
|
44
|
+
input: {
|
|
45
|
+
webhookId: webhook.id,
|
|
46
|
+
eventName: "webhook.test",
|
|
47
|
+
deliveryId: delivery.id
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return Result.ok(delivery);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const TriggerWebhookUseCase_TriggerWebhookUseCase = TriggerWebhookUseCase.createImplementation({
|
|
54
|
+
implementation: TriggerWebhookUseCaseImpl,
|
|
55
|
+
dependencies: [
|
|
56
|
+
WebhookPermissions,
|
|
57
|
+
GetWebhookRepository,
|
|
58
|
+
CreateWebhookDeliveryRepository,
|
|
59
|
+
TaskService,
|
|
60
|
+
GetWebhookSettingsRepository
|
|
61
|
+
]
|
|
62
|
+
});
|
|
63
|
+
export { TriggerWebhookUseCase_TriggerWebhookUseCase as TriggerWebhookUseCase };
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=TriggerWebhookUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerWebhook/TriggerWebhookUseCase.js","sources":["../../../../src/api/features/TriggerWebhook/TriggerWebhookUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { TaskService } from \"@webiny/api-core/exports/api/tasks.js\";\nimport { TriggerWebhookUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { TriggerWebhookInputSchema } from \"./schema.js\";\nimport { GetWebhookRepository } from \"~/api/features/GetWebhook/abstractions.js\";\nimport { CreateWebhookDeliveryRepository } from \"~/api/features/CreateWebhookDelivery/abstractions.js\";\nimport { GetWebhookSettingsRepository } from \"~/api/features/GetWebhookSettings/abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError, WebhookValidationError } from \"~/api/domain/errors.js\";\nimport { SEND_WEBHOOK_TASK, WEBHOOK_DELIVERY_MAX_RETENTION_DAYS } from \"~/api/domain/constants.js\";\nimport type { ISendWebhookTaskInput } from \"~/api/features/SendWebhookTask/types.js\";\nimport type { WebhookDelivery } from \"~/api/domain/WebhookDelivery.js\";\n\nclass TriggerWebhookUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private readonly permissions: WebhookPermissions.Interface,\n private readonly getWebhookRepository: GetWebhookRepository.Interface,\n private readonly createDeliveryRepository: CreateWebhookDeliveryRepository.Interface,\n private readonly taskService: TaskService.Interface,\n private readonly getSettingsRepository: GetWebhookSettingsRepository.Interface\n ) {}\n\n async execute(\n webhookId: string,\n payload: Record<string, unknown>\n ): Promise<Result<WebhookDelivery, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canEdit(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n\n const parsed = TriggerWebhookInputSchema.safeParse({ webhookId, payload });\n if (!parsed.success) {\n return Result.fail(new WebhookValidationError(parsed.error));\n }\n\n const webhookResult = await this.getWebhookRepository.execute(parsed.data.webhookId);\n if (webhookResult.isFail()) {\n return Result.fail(webhookResult.error);\n }\n\n const webhook = webhookResult.value;\n\n const settingsResult = await this.getSettingsRepository.execute();\n const retentionDays = settingsResult.isOk()\n ? (settingsResult.value.deliveryRetentionDays ?? WEBHOOK_DELIVERY_MAX_RETENTION_DAYS)\n : WEBHOOK_DELIVERY_MAX_RETENTION_DAYS;\n\n const expiresAt = new Date(Date.now() + retentionDays * 24 * 60 * 60 * 1000);\n\n const deliveryResult = await this.createDeliveryRepository.execute({\n webhookId: webhook.id,\n eventType: \"webhook.test\",\n status: \"pending\",\n payload,\n expiresAt\n });\n\n if (deliveryResult.isFail()) {\n return Result.fail(deliveryResult.error);\n }\n\n const delivery = deliveryResult.value;\n\n await this.taskService.trigger<ISendWebhookTaskInput>({\n definition: SEND_WEBHOOK_TASK,\n name: `Test webhook: ${webhook.slug}`,\n input: {\n webhookId: webhook.id,\n eventName: \"webhook.test\",\n deliveryId: delivery.id\n }\n });\n\n return Result.ok(delivery);\n }\n}\n\nexport const TriggerWebhookUseCase = UseCaseAbstraction.createImplementation({\n implementation: TriggerWebhookUseCaseImpl,\n dependencies: [\n WebhookPermissions,\n GetWebhookRepository,\n CreateWebhookDeliveryRepository,\n TaskService,\n GetWebhookSettingsRepository\n ]\n});\n"],"names":["TriggerWebhookUseCaseImpl","permissions","getWebhookRepository","createDeliveryRepository","taskService","getSettingsRepository","webhookId","payload","Result","WebhookNotAuthorizedError","parsed","TriggerWebhookInputSchema","WebhookValidationError","webhookResult","webhook","settingsResult","retentionDays","WEBHOOK_DELIVERY_MAX_RETENTION_DAYS","expiresAt","Date","deliveryResult","delivery","SEND_WEBHOOK_TASK","TriggerWebhookUseCase","UseCaseAbstraction","WebhookPermissions","GetWebhookRepository","CreateWebhookDeliveryRepository","TaskService","GetWebhookSettingsRepository"],"mappings":";;;;;;;;;;AAaA,MAAMA;IACF,YACqBC,WAAyC,EACzCC,oBAAoD,EACpDC,wBAAmE,EACnEC,WAAkC,EAClCC,qBAA6D,CAChF;aALmBJ,WAAW,GAAXA;aACAC,oBAAoB,GAApBA;aACAC,wBAAwB,GAAxBA;aACAC,WAAW,GAAXA;aACAC,qBAAqB,GAArBA;IAClB;IAEH,MAAM,QACFC,SAAiB,EACjBC,OAAgC,EAC0B;QAC1D,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,SAASC,0BAA0B,SAAS,CAAC;YAAEL;YAAWC;QAAQ;QACxE,IAAI,CAACG,OAAO,OAAO,EACf,OAAOF,OAAO,IAAI,CAAC,IAAII,uBAAuBF,OAAO,KAAK;QAG9D,MAAMG,gBAAgB,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAACH,OAAO,IAAI,CAAC,SAAS;QACnF,IAAIG,cAAc,MAAM,IACpB,OAAOL,OAAO,IAAI,CAACK,cAAc,KAAK;QAG1C,MAAMC,UAAUD,cAAc,KAAK;QAEnC,MAAME,iBAAiB,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO;QAC/D,MAAMC,gBAAgBD,eAAe,IAAI,KAClCA,eAAe,KAAK,CAAC,qBAAqB,IAAIE,sCAC/CA;QAEN,MAAMC,YAAY,IAAIC,KAAKA,KAAK,GAAG,KAAKH,AAAgB,KAAhBA,gBAAAA;QAExC,MAAMI,iBAAiB,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;YAC/D,WAAWN,QAAQ,EAAE;YACrB,WAAW;YACX,QAAQ;YACRP;YACAW;QACJ;QAEA,IAAIE,eAAe,MAAM,IACrB,OAAOZ,OAAO,IAAI,CAACY,eAAe,KAAK;QAG3C,MAAMC,WAAWD,eAAe,KAAK;QAErC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAwB;YAClD,YAAYE;YACZ,MAAM,CAAC,cAAc,EAAER,QAAQ,IAAI,EAAE;YACrC,OAAO;gBACH,WAAWA,QAAQ,EAAE;gBACrB,WAAW;gBACX,YAAYO,SAAS,EAAE;YAC3B;QACJ;QAEA,OAAOb,OAAO,EAAE,CAACa;IACrB;AACJ;AAEO,MAAME,8CAAwBC,sBAAAA,oBAAuC,CAAC;IACzE,gBAAgBxB;IAChB,cAAc;QACVyB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { WebhookDelivery } from "../../../api/domain/WebhookDelivery.js";
|
|
3
|
+
import type { WebhookNotFoundError, WebhookPersistenceError, WebhookModelNotFoundError, WebhookNotAuthorizedError, WebhookValidationError } from "../../../api/domain/errors.js";
|
|
4
|
+
type IError = WebhookNotFoundError | WebhookPersistenceError | WebhookModelNotFoundError | WebhookNotAuthorizedError | WebhookValidationError;
|
|
5
|
+
export interface ITriggerWebhookUseCase {
|
|
6
|
+
execute(webhookId: string, payload: Record<string, unknown>): Promise<Result<WebhookDelivery, IError>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const TriggerWebhookUseCase: import("@webiny/di").Abstraction<ITriggerWebhookUseCase>;
|
|
9
|
+
export declare namespace TriggerWebhookUseCase {
|
|
10
|
+
type Interface = ITriggerWebhookUseCase;
|
|
11
|
+
type Error = IError;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerWebhook/abstractions.js","sources":["../../../../src/api/features/TriggerWebhook/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { WebhookDelivery } from \"~/api/domain/WebhookDelivery.js\";\nimport type {\n WebhookNotFoundError,\n WebhookPersistenceError,\n WebhookModelNotFoundError,\n WebhookNotAuthorizedError,\n WebhookValidationError\n} from \"~/api/domain/errors.js\";\n\ntype IError =\n | WebhookNotFoundError\n | WebhookPersistenceError\n | WebhookModelNotFoundError\n | WebhookNotAuthorizedError\n | WebhookValidationError;\n\nexport interface ITriggerWebhookUseCase {\n execute(\n webhookId: string,\n payload: Record<string, unknown>\n ): Promise<Result<WebhookDelivery, IError>>;\n}\n\nexport const TriggerWebhookUseCase = createAbstraction<ITriggerWebhookUseCase>(\n \"Webhooks/TriggerWebhookUseCase\"\n);\n\nexport namespace TriggerWebhookUseCase {\n export type Interface = ITriggerWebhookUseCase;\n export type Error = IError;\n}\n"],"names":["TriggerWebhookUseCase","createAbstraction"],"mappings":";AAwBO,MAAMA,wBAAwBC,kBACjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { TriggerWebhookUseCase } from "./TriggerWebhookUseCase.js";
|
|
3
|
+
const TriggerWebhookFeature = createFeature({
|
|
4
|
+
name: "TriggerWebhook",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(TriggerWebhookUseCase);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { TriggerWebhookFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerWebhook/feature.js","sources":["../../../../src/api/features/TriggerWebhook/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TriggerWebhookUseCase } from \"./TriggerWebhookUseCase.js\";\n\nexport const TriggerWebhookFeature = createFeature({\n name: \"TriggerWebhook\",\n register(container) {\n container.register(TriggerWebhookUseCase);\n }\n});\n"],"names":["TriggerWebhookFeature","createFeature","container","TriggerWebhookUseCase"],"mappings":";;AAGO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/TriggerWebhook/schema.js","sources":["../../../../src/api/features/TriggerWebhook/schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const TriggerWebhookInputSchema = z.object({\n webhookId: z.string().min(1, \"Webhook ID is required.\"),\n payload: z.record(z.string(), z.unknown())\n});\n"],"names":["TriggerWebhookInputSchema","z"],"mappings":";AAEO,MAAMA,4BAA4BC,EAAE,MAAM,CAAC;IAC9C,WAAWA,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG;IAC7B,SAASA,EAAE,MAAM,CAACA,EAAE,MAAM,IAAIA,EAAE,OAAO;AAC3C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
3
|
+
import { GetLatestRevisionByEntryIdRepository } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
4
|
+
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
5
|
+
import { UpdateEntryDataFactory } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
6
|
+
import { WebhookTransformer } from "../../../api/features/Transformers/abstractions/WebhookTransformer.js";
|
|
7
|
+
import { UpdateWebhookRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
8
|
+
import type { Webhook } from "../../../api/domain/Webhook.js";
|
|
9
|
+
declare class UpdateWebhookRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
10
|
+
private readonly getModelRepository;
|
|
11
|
+
private readonly getLatestRevisionRepository;
|
|
12
|
+
private readonly updateEntryDataFactory;
|
|
13
|
+
private readonly updateEntryRepository;
|
|
14
|
+
private readonly transformer;
|
|
15
|
+
constructor(getModelRepository: GetModelRepository.Interface, getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface, updateEntryDataFactory: UpdateEntryDataFactory.Interface, updateEntryRepository: UpdateEntryRepository.Interface, transformer: WebhookTransformer.Interface);
|
|
16
|
+
execute(webhook: Webhook): Promise<Result<Webhook, RepositoryAbstraction.Error>>;
|
|
17
|
+
}
|
|
18
|
+
export declare const UpdateWebhookRepository: typeof UpdateWebhookRepositoryImpl & {
|
|
19
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateWebhookRepository>;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
3
|
+
import { GetLatestRevisionByEntryIdRepository } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
4
|
+
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
5
|
+
import { UpdateEntryDataFactory } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
6
|
+
import { WebhookTransformer } from "../Transformers/abstractions/WebhookTransformer.js";
|
|
7
|
+
import { UpdateWebhookRepository } from "./abstractions.js";
|
|
8
|
+
import { WebhookModelNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
|
|
9
|
+
import { WEBHOOK_MODEL_ID } from "../../domain/constants.js";
|
|
10
|
+
class UpdateWebhookRepositoryImpl {
|
|
11
|
+
constructor(getModelRepository, getLatestRevisionRepository, updateEntryDataFactory, updateEntryRepository, transformer){
|
|
12
|
+
this.getModelRepository = getModelRepository;
|
|
13
|
+
this.getLatestRevisionRepository = getLatestRevisionRepository;
|
|
14
|
+
this.updateEntryDataFactory = updateEntryDataFactory;
|
|
15
|
+
this.updateEntryRepository = updateEntryRepository;
|
|
16
|
+
this.transformer = transformer;
|
|
17
|
+
}
|
|
18
|
+
async execute(webhook) {
|
|
19
|
+
try {
|
|
20
|
+
const modelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);
|
|
21
|
+
if (modelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));
|
|
22
|
+
const entryResult = await this.getLatestRevisionRepository.execute(modelResult.value, {
|
|
23
|
+
id: webhook.id
|
|
24
|
+
});
|
|
25
|
+
if (entryResult.isFail()) return Result.fail(WebhookPersistenceError.from(entryResult.error));
|
|
26
|
+
const values = this.transformer.toStorage(webhook);
|
|
27
|
+
const { entry } = await this.updateEntryDataFactory.create(modelResult.value, {
|
|
28
|
+
values
|
|
29
|
+
}, entryResult.value);
|
|
30
|
+
const updateResult = await this.updateEntryRepository.execute(modelResult.value, entry);
|
|
31
|
+
if (updateResult.isFail()) return Result.fail(WebhookPersistenceError.from(updateResult.error));
|
|
32
|
+
return Result.ok(webhook);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
return Result.fail(WebhookPersistenceError.from(error));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const UpdateWebhookRepository_UpdateWebhookRepository = UpdateWebhookRepository.createImplementation({
|
|
39
|
+
implementation: UpdateWebhookRepositoryImpl,
|
|
40
|
+
dependencies: [
|
|
41
|
+
GetModelRepository,
|
|
42
|
+
GetLatestRevisionByEntryIdRepository,
|
|
43
|
+
UpdateEntryDataFactory,
|
|
44
|
+
UpdateEntryRepository,
|
|
45
|
+
WebhookTransformer
|
|
46
|
+
]
|
|
47
|
+
});
|
|
48
|
+
export { UpdateWebhookRepository_UpdateWebhookRepository as UpdateWebhookRepository };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=UpdateWebhookRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhook/UpdateWebhookRepository.js","sources":["../../../../src/api/features/UpdateWebhook/UpdateWebhookRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetModelRepository } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { GetLatestRevisionByEntryIdRepository } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport { UpdateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { UpdateEntryDataFactory } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { WebhookTransformer } from \"~/api/features/Transformers/abstractions/WebhookTransformer.js\";\nimport { UpdateWebhookRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { WebhookModelNotFoundError, WebhookPersistenceError } from \"~/api/domain/errors.js\";\nimport { WEBHOOK_MODEL_ID } from \"~/api/domain/constants.js\";\nimport type { Webhook, WebhookCmsEntryValues } from \"~/api/domain/Webhook.js\";\n\nclass UpdateWebhookRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly updateEntryDataFactory: UpdateEntryDataFactory.Interface,\n private readonly updateEntryRepository: UpdateEntryRepository.Interface,\n private readonly transformer: WebhookTransformer.Interface\n ) {}\n\n async execute(webhook: Webhook): Promise<Result<Webhook, RepositoryAbstraction.Error>> {\n try {\n const modelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));\n }\n\n const entryResult =\n await this.getLatestRevisionRepository.execute<WebhookCmsEntryValues>(\n modelResult.value,\n { id: webhook.id }\n );\n if (entryResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(entryResult.error));\n }\n\n const values = this.transformer.toStorage(webhook);\n\n const { entry } = await this.updateEntryDataFactory.create<WebhookCmsEntryValues>(\n modelResult.value,\n { values },\n entryResult.value\n );\n\n const updateResult = await this.updateEntryRepository.execute(modelResult.value, entry);\n\n if (updateResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(updateResult.error));\n }\n\n return Result.ok(webhook);\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n}\n\nexport const UpdateWebhookRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateWebhookRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetLatestRevisionByEntryIdRepository,\n UpdateEntryDataFactory,\n UpdateEntryRepository,\n WebhookTransformer\n ]\n});\n"],"names":["UpdateWebhookRepositoryImpl","getModelRepository","getLatestRevisionRepository","updateEntryDataFactory","updateEntryRepository","transformer","webhook","modelResult","WEBHOOK_MODEL_ID","Result","WebhookModelNotFoundError","entryResult","WebhookPersistenceError","values","entry","updateResult","error","UpdateWebhookRepository","RepositoryAbstraction","GetModelRepository","GetLatestRevisionByEntryIdRepository","UpdateEntryDataFactory","UpdateEntryRepository","WebhookTransformer"],"mappings":";;;;;;;;;AAWA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,2BAA2E,EAC3EC,sBAAwD,EACxDC,qBAAsD,EACtDC,WAAyC,CAC5D;aALmBJ,kBAAkB,GAAlBA;aACAC,2BAA2B,GAA3BA;aACAC,sBAAsB,GAAtBA;aACAC,qBAAqB,GAArBA;aACAC,WAAW,GAAXA;IAClB;IAEH,MAAM,QAAQC,OAAgB,EAAyD;QACnF,IAAI;YACA,MAAMC,cAAc,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACC;YAC1D,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CAAC,IAAIC,0BAA0BF;YAGrD,MAAMG,cACF,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAC1CJ,YAAY,KAAK,EACjB;gBAAE,IAAID,QAAQ,EAAE;YAAC;YAEzB,IAAIK,YAAY,MAAM,IAClB,OAAOF,OAAO,IAAI,CAACG,wBAAwB,IAAI,CAACD,YAAY,KAAK;YAGrE,MAAME,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,CAACP;YAE1C,MAAM,EAAEQ,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CACtDP,YAAY,KAAK,EACjB;gBAAEM;YAAO,GACTF,YAAY,KAAK;YAGrB,MAAMI,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACR,YAAY,KAAK,EAAEO;YAEjF,IAAIC,aAAa,MAAM,IACnB,OAAON,OAAO,IAAI,CAACG,wBAAwB,IAAI,CAACG,aAAa,KAAK;YAGtE,OAAON,OAAO,EAAE,CAACH;QACrB,EAAE,OAAOU,OAAO;YACZ,OAAOP,OAAO,IAAI,CAACG,wBAAwB,IAAI,CAACI;QACpD;IACJ;AACJ;AAEO,MAAMC,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBlB;IAChB,cAAc;QACVmB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWebhookRepository, UpdateWebhookUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import { GetWebhookRepository } from "../../../api/features/GetWebhook/abstractions.js";
|
|
4
|
+
import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
|
|
5
|
+
import type { Webhook } from "../../../api/domain/Webhook.js";
|
|
6
|
+
declare class UpdateWebhookUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
7
|
+
private readonly permissions;
|
|
8
|
+
private readonly getWebhookRepository;
|
|
9
|
+
private readonly updateRepository;
|
|
10
|
+
constructor(permissions: WebhookPermissions.Interface, getWebhookRepository: GetWebhookRepository.Interface, updateRepository: UpdateWebhookRepository.Interface);
|
|
11
|
+
execute(id: string, input: UseCaseAbstraction.Input): Promise<Result<Webhook, UseCaseAbstraction.Error>>;
|
|
12
|
+
}
|
|
13
|
+
export declare const UpdateWebhookUseCase: typeof UpdateWebhookUseCaseImpl & {
|
|
14
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateWebhookUseCase>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWebhookRepository, UpdateWebhookUseCase } from "./abstractions.js";
|
|
3
|
+
import { UpdateWebhookInputSchema } from "./schema.js";
|
|
4
|
+
import { GetWebhookRepository } from "../GetWebhook/abstractions.js";
|
|
5
|
+
import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
|
|
6
|
+
import { WebhookNotAuthorizedError, WebhookValidationError } from "../../domain/errors.js";
|
|
7
|
+
class UpdateWebhookUseCaseImpl {
|
|
8
|
+
constructor(permissions, getWebhookRepository, updateRepository){
|
|
9
|
+
this.permissions = permissions;
|
|
10
|
+
this.getWebhookRepository = getWebhookRepository;
|
|
11
|
+
this.updateRepository = updateRepository;
|
|
12
|
+
}
|
|
13
|
+
async execute(id, input) {
|
|
14
|
+
if (!await this.permissions.canEdit("webhook")) return Result.fail(new WebhookNotAuthorizedError());
|
|
15
|
+
const parsed = UpdateWebhookInputSchema.safeParse(input);
|
|
16
|
+
if (!parsed.success) return Result.fail(new WebhookValidationError(parsed.error));
|
|
17
|
+
const getResult = await this.getWebhookRepository.execute(id);
|
|
18
|
+
if (getResult.isFail()) return Result.fail(getResult.error);
|
|
19
|
+
const existing = getResult.value;
|
|
20
|
+
const updated = {
|
|
21
|
+
...existing,
|
|
22
|
+
name: parsed.data.name ?? existing.name,
|
|
23
|
+
endpointUrl: parsed.data.endpointUrl ?? existing.endpointUrl,
|
|
24
|
+
description: parsed.data.description ?? existing.description,
|
|
25
|
+
enabled: parsed.data.enabled ?? existing.enabled,
|
|
26
|
+
events: parsed.data.events ?? existing.events,
|
|
27
|
+
signingSecret: parsed.data.signingSecret ?? existing.signingSecret
|
|
28
|
+
};
|
|
29
|
+
return this.updateRepository.execute(updated);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const UpdateWebhookUseCase_UpdateWebhookUseCase = UpdateWebhookUseCase.createImplementation({
|
|
33
|
+
implementation: UpdateWebhookUseCaseImpl,
|
|
34
|
+
dependencies: [
|
|
35
|
+
WebhookPermissions,
|
|
36
|
+
GetWebhookRepository,
|
|
37
|
+
UpdateWebhookRepository
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
export { UpdateWebhookUseCase_UpdateWebhookUseCase as UpdateWebhookUseCase };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=UpdateWebhookUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhook/UpdateWebhookUseCase.js","sources":["../../../../src/api/features/UpdateWebhook/UpdateWebhookUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n UpdateWebhookRepository,\n UpdateWebhookUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { UpdateWebhookInputSchema } from \"./schema.js\";\nimport { GetWebhookRepository } from \"~/api/features/GetWebhook/abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError, WebhookValidationError } from \"~/api/domain/errors.js\";\nimport type { Webhook } from \"~/api/domain/Webhook.js\";\n\nclass UpdateWebhookUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private readonly permissions: WebhookPermissions.Interface,\n private readonly getWebhookRepository: GetWebhookRepository.Interface,\n private readonly updateRepository: UpdateWebhookRepository.Interface\n ) {}\n\n async execute(\n id: string,\n input: UseCaseAbstraction.Input\n ): Promise<Result<Webhook, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canEdit(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n\n const parsed = UpdateWebhookInputSchema.safeParse(input);\n if (!parsed.success) {\n return Result.fail(new WebhookValidationError(parsed.error));\n }\n\n const getResult = await this.getWebhookRepository.execute(id);\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n\n const existing = getResult.value;\n\n const updated: Webhook = {\n ...existing,\n name: parsed.data.name ?? existing.name,\n endpointUrl: parsed.data.endpointUrl ?? existing.endpointUrl,\n description: parsed.data.description ?? existing.description,\n enabled: parsed.data.enabled ?? existing.enabled,\n events: parsed.data.events ?? existing.events,\n signingSecret: parsed.data.signingSecret ?? existing.signingSecret\n };\n\n return this.updateRepository.execute(updated);\n }\n}\n\nexport const UpdateWebhookUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateWebhookUseCaseImpl,\n dependencies: [WebhookPermissions, GetWebhookRepository, UpdateWebhookRepository]\n});\n"],"names":["UpdateWebhookUseCaseImpl","permissions","getWebhookRepository","updateRepository","id","input","Result","WebhookNotAuthorizedError","parsed","UpdateWebhookInputSchema","WebhookValidationError","getResult","existing","updated","UpdateWebhookUseCase","UseCaseAbstraction","WebhookPermissions","GetWebhookRepository","UpdateWebhookRepository"],"mappings":";;;;;;AAWA,MAAMA;IACF,YACqBC,WAAyC,EACzCC,oBAAoD,EACpDC,gBAAmD,CACtE;aAHmBF,WAAW,GAAXA;aACAC,oBAAoB,GAApBA;aACAC,gBAAgB,GAAhBA;IAClB;IAEH,MAAM,QACFC,EAAU,EACVC,KAA+B,EACmB;QAClD,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,SAASC,yBAAyB,SAAS,CAACJ;QAClD,IAAI,CAACG,OAAO,OAAO,EACf,OAAOF,OAAO,IAAI,CAAC,IAAII,uBAAuBF,OAAO,KAAK;QAG9D,MAAMG,YAAY,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAACP;QAC1D,IAAIO,UAAU,MAAM,IAChB,OAAOL,OAAO,IAAI,CAACK,UAAU,KAAK;QAGtC,MAAMC,WAAWD,UAAU,KAAK;QAEhC,MAAME,UAAmB;YACrB,GAAGD,QAAQ;YACX,MAAMJ,OAAO,IAAI,CAAC,IAAI,IAAII,SAAS,IAAI;YACvC,aAAaJ,OAAO,IAAI,CAAC,WAAW,IAAII,SAAS,WAAW;YAC5D,aAAaJ,OAAO,IAAI,CAAC,WAAW,IAAII,SAAS,WAAW;YAC5D,SAASJ,OAAO,IAAI,CAAC,OAAO,IAAII,SAAS,OAAO;YAChD,QAAQJ,OAAO,IAAI,CAAC,MAAM,IAAII,SAAS,MAAM;YAC7C,eAAeJ,OAAO,IAAI,CAAC,aAAa,IAAII,SAAS,aAAa;QACtE;QAEA,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACC;IACzC;AACJ;AAEO,MAAMC,4CAAuBC,qBAAAA,oBAAuC,CAAC;IACxE,gBAAgBf;IAChB,cAAc;QAACgB;QAAoBC;QAAsBC;KAAwB;AACrF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { Webhook } from "../../../api/domain/Webhook.js";
|
|
3
|
+
import type { WebhookNotFoundError, WebhookValidationError, WebhookPersistenceError, WebhookModelNotFoundError, WebhookNotAuthorizedError } from "../../../api/domain/errors.js";
|
|
4
|
+
export interface IUpdateWebhookInput {
|
|
5
|
+
name?: string;
|
|
6
|
+
endpointUrl?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
events?: string[];
|
|
10
|
+
signingSecret?: string;
|
|
11
|
+
}
|
|
12
|
+
type IError = WebhookNotFoundError | WebhookValidationError | WebhookPersistenceError | WebhookModelNotFoundError | WebhookNotAuthorizedError;
|
|
13
|
+
export interface IUpdateWebhookUseCase {
|
|
14
|
+
execute(id: string, input: IUpdateWebhookInput): Promise<Result<Webhook, IError>>;
|
|
15
|
+
}
|
|
16
|
+
export declare const UpdateWebhookUseCase: import("@webiny/di").Abstraction<IUpdateWebhookUseCase>;
|
|
17
|
+
export declare namespace UpdateWebhookUseCase {
|
|
18
|
+
type Interface = IUpdateWebhookUseCase;
|
|
19
|
+
type Input = IUpdateWebhookInput;
|
|
20
|
+
type Error = IError;
|
|
21
|
+
}
|
|
22
|
+
export interface IUpdateWebhookRepository {
|
|
23
|
+
execute(webhook: Webhook): Promise<Result<Webhook, WebhookPersistenceError | WebhookModelNotFoundError>>;
|
|
24
|
+
}
|
|
25
|
+
export declare const UpdateWebhookRepository: import("@webiny/di").Abstraction<IUpdateWebhookRepository>;
|
|
26
|
+
export declare namespace UpdateWebhookRepository {
|
|
27
|
+
type Interface = IUpdateWebhookRepository;
|
|
28
|
+
type Error = WebhookPersistenceError | WebhookModelNotFoundError;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const UpdateWebhookUseCase = createAbstraction("Webhooks/UpdateWebhookUseCase");
|
|
3
|
+
const UpdateWebhookRepository = createAbstraction("Webhooks/UpdateWebhookRepository");
|
|
4
|
+
export { UpdateWebhookRepository, UpdateWebhookUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhook/abstractions.js","sources":["../../../../src/api/features/UpdateWebhook/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Webhook } from \"~/api/domain/Webhook.js\";\nimport type {\n WebhookNotFoundError,\n WebhookValidationError,\n WebhookPersistenceError,\n WebhookModelNotFoundError,\n WebhookNotAuthorizedError\n} from \"~/api/domain/errors.js\";\n\nexport interface IUpdateWebhookInput {\n name?: string;\n endpointUrl?: string;\n description?: string;\n enabled?: boolean;\n events?: string[];\n signingSecret?: string;\n}\n\ntype IError =\n | WebhookNotFoundError\n | WebhookValidationError\n | WebhookPersistenceError\n | WebhookModelNotFoundError\n | WebhookNotAuthorizedError;\n\nexport interface IUpdateWebhookUseCase {\n execute(id: string, input: IUpdateWebhookInput): Promise<Result<Webhook, IError>>;\n}\n\nexport const UpdateWebhookUseCase = createAbstraction<IUpdateWebhookUseCase>(\n \"Webhooks/UpdateWebhookUseCase\"\n);\n\nexport namespace UpdateWebhookUseCase {\n export type Interface = IUpdateWebhookUseCase;\n export type Input = IUpdateWebhookInput;\n export type Error = IError;\n}\n\nexport interface IUpdateWebhookRepository {\n execute(\n webhook: Webhook\n ): Promise<Result<Webhook, WebhookPersistenceError | WebhookModelNotFoundError>>;\n}\n\nexport const UpdateWebhookRepository = createAbstraction<IUpdateWebhookRepository>(\n \"Webhooks/UpdateWebhookRepository\"\n);\n\nexport namespace UpdateWebhookRepository {\n export type Interface = IUpdateWebhookRepository;\n export type Error = WebhookPersistenceError | WebhookModelNotFoundError;\n}\n"],"names":["UpdateWebhookUseCase","createAbstraction","UpdateWebhookRepository"],"mappings":";AA8BO,MAAMA,uBAAuBC,kBAChC;AAeG,MAAMC,0BAA0BD,kBACnC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWebhookUseCase } from "./UpdateWebhookUseCase.js";
|
|
3
|
+
import { UpdateWebhookRepository } from "./UpdateWebhookRepository.js";
|
|
4
|
+
const UpdateWebhookFeature = createFeature({
|
|
5
|
+
name: "UpdateWebhook",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(UpdateWebhookUseCase);
|
|
8
|
+
container.register(UpdateWebhookRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { UpdateWebhookFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhook/feature.js","sources":["../../../../src/api/features/UpdateWebhook/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateWebhookUseCase } from \"./UpdateWebhookUseCase.js\";\nimport { UpdateWebhookRepository } from \"./UpdateWebhookRepository.js\";\n\nexport const UpdateWebhookFeature = createFeature({\n name: \"UpdateWebhook\",\n register(container) {\n container.register(UpdateWebhookUseCase);\n container.register(UpdateWebhookRepository).inSingletonScope();\n }\n});\n"],"names":["UpdateWebhookFeature","createFeature","container","UpdateWebhookUseCase","UpdateWebhookRepository"],"mappings":";;;AAIO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,yBAAyB,gBAAgB;IAChE;AACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const UpdateWebhookInputSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodOptional<z.ZodString>;
|
|
4
|
+
endpointUrl: z.ZodOptional<z.ZodString>;
|
|
5
|
+
description: z.ZodOptional<z.ZodString>;
|
|
6
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
7
|
+
events: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
|
+
signingSecret: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { isValidEndpointUrl } from "../../utils/isValidEndpointUrl.js";
|
|
3
|
+
const UpdateWebhookInputSchema = z.object({
|
|
4
|
+
name: z.string().min(1, "Name must not be empty.").optional(),
|
|
5
|
+
endpointUrl: z.string().refine(isValidEndpointUrl, {
|
|
6
|
+
message: "Endpoint URL must use HTTPS. HTTP is only allowed for localhost."
|
|
7
|
+
}).optional(),
|
|
8
|
+
description: z.string().optional(),
|
|
9
|
+
enabled: z.boolean().optional(),
|
|
10
|
+
events: z.array(z.string()).min(1, "At least one event must be selected.").optional(),
|
|
11
|
+
signingSecret: z.string().optional()
|
|
12
|
+
});
|
|
13
|
+
export { UpdateWebhookInputSchema };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhook/schema.js","sources":["../../../../src/api/features/UpdateWebhook/schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { isValidEndpointUrl } from \"~/api/utils/isValidEndpointUrl.js\";\n\nexport const UpdateWebhookInputSchema = z.object({\n name: z.string().min(1, \"Name must not be empty.\").optional(),\n endpointUrl: z\n .string()\n .refine(isValidEndpointUrl, {\n message: \"Endpoint URL must use HTTPS. HTTP is only allowed for localhost.\"\n })\n .optional(),\n description: z.string().optional(),\n enabled: z.boolean().optional(),\n events: z.array(z.string()).min(1, \"At least one event must be selected.\").optional(),\n signingSecret: z.string().optional()\n});\n"],"names":["UpdateWebhookInputSchema","z","isValidEndpointUrl"],"mappings":";;AAGO,MAAMA,2BAA2BC,EAAE,MAAM,CAAC;IAC7C,MAAMA,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,2BAA2B,QAAQ;IAC3D,aAAaA,EAAAA,MACF,GACN,MAAM,CAACC,oBAAoB;QACxB,SAAS;IACb,GACC,QAAQ;IACb,aAAaD,EAAE,MAAM,GAAG,QAAQ;IAChC,SAASA,EAAE,OAAO,GAAG,QAAQ;IAC7B,QAAQA,EAAE,KAAK,CAACA,EAAE,MAAM,IAAI,GAAG,CAAC,GAAG,wCAAwC,QAAQ;IACnF,eAAeA,EAAE,MAAM,GAAG,QAAQ;AACtC"}
|