@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,22 @@
|
|
|
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 { UpdateEntryDataFactory } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
5
|
+
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
6
|
+
import { WebhookDeliveryTransformer } from "../../../api/features/Transformers/abstractions/WebhookDeliveryTransformer.js";
|
|
7
|
+
import { UpdateWebhookDeliveryRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
8
|
+
import type { IUpdateDeliveryInput } from "./abstractions.js";
|
|
9
|
+
import type { WebhookDelivery } from "../../../api/domain/WebhookDelivery.js";
|
|
10
|
+
declare class UpdateWebhookDeliveryRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
11
|
+
private readonly getModelRepository;
|
|
12
|
+
private readonly getLatestRevisionRepository;
|
|
13
|
+
private readonly updateEntryDataFactory;
|
|
14
|
+
private readonly updateEntryRepository;
|
|
15
|
+
private readonly transformer;
|
|
16
|
+
constructor(getModelRepository: GetModelRepository.Interface, getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface, updateEntryDataFactory: UpdateEntryDataFactory.Interface, updateEntryRepository: UpdateEntryRepository.Interface, transformer: WebhookDeliveryTransformer.Interface);
|
|
17
|
+
execute(id: string, input: IUpdateDeliveryInput): Promise<Result<WebhookDelivery, RepositoryAbstraction.Error>>;
|
|
18
|
+
}
|
|
19
|
+
export declare const UpdateWebhookDeliveryRepository: typeof UpdateWebhookDeliveryRepositoryImpl & {
|
|
20
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateWebhookDeliveryRepository>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
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 { UpdateEntryDataFactory } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
5
|
+
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
6
|
+
import { WebhookDeliveryTransformer } from "../Transformers/abstractions/WebhookDeliveryTransformer.js";
|
|
7
|
+
import { UpdateWebhookDeliveryRepository } from "./abstractions.js";
|
|
8
|
+
import { WebhookDeliveryNotFoundError, WebhookModelNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
|
|
9
|
+
import { WEBHOOK_DELIVERY_MODEL_ID } from "../../domain/constants.js";
|
|
10
|
+
class UpdateWebhookDeliveryRepositoryImpl {
|
|
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(id, input) {
|
|
19
|
+
try {
|
|
20
|
+
const modelResult = await this.getModelRepository.execute(WEBHOOK_DELIVERY_MODEL_ID);
|
|
21
|
+
if (modelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_DELIVERY_MODEL_ID));
|
|
22
|
+
const entryResult = await this.getLatestRevisionRepository.execute(modelResult.value, {
|
|
23
|
+
id
|
|
24
|
+
});
|
|
25
|
+
if (entryResult.isFail()) return Result.fail(new WebhookDeliveryNotFoundError(id));
|
|
26
|
+
const originalEntry = entryResult.value;
|
|
27
|
+
const existing = this.transformer.fromStorage(originalEntry);
|
|
28
|
+
const updated = {
|
|
29
|
+
...existing,
|
|
30
|
+
backgroundTaskId: input.backgroundTaskId ?? existing.backgroundTaskId,
|
|
31
|
+
status: input.status ?? existing.status,
|
|
32
|
+
payload: input.payload ?? existing.payload,
|
|
33
|
+
requestHeaders: input.requestHeaders ?? existing.requestHeaders,
|
|
34
|
+
responseTime: input.responseTime ?? existing.responseTime,
|
|
35
|
+
responseStatus: input.responseStatus ?? existing.responseStatus,
|
|
36
|
+
responseBody: input.responseBody ?? existing.responseBody
|
|
37
|
+
};
|
|
38
|
+
const storageValues = this.transformer.toStorage(updated);
|
|
39
|
+
const { entry } = await this.updateEntryDataFactory.create(modelResult.value, {
|
|
40
|
+
values: storageValues
|
|
41
|
+
}, originalEntry);
|
|
42
|
+
const updateResult = await this.updateEntryRepository.execute(modelResult.value, entry);
|
|
43
|
+
if (updateResult.isFail()) return Result.fail(WebhookPersistenceError.from(updateResult.error));
|
|
44
|
+
return Result.ok(updated);
|
|
45
|
+
} catch (error) {
|
|
46
|
+
return Result.fail(WebhookPersistenceError.from(error));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const UpdateWebhookDeliveryRepository_UpdateWebhookDeliveryRepository = UpdateWebhookDeliveryRepository.createImplementation({
|
|
51
|
+
implementation: UpdateWebhookDeliveryRepositoryImpl,
|
|
52
|
+
dependencies: [
|
|
53
|
+
GetModelRepository,
|
|
54
|
+
GetLatestRevisionByEntryIdRepository,
|
|
55
|
+
UpdateEntryDataFactory,
|
|
56
|
+
UpdateEntryRepository,
|
|
57
|
+
WebhookDeliveryTransformer
|
|
58
|
+
]
|
|
59
|
+
});
|
|
60
|
+
export { UpdateWebhookDeliveryRepository_UpdateWebhookDeliveryRepository as UpdateWebhookDeliveryRepository };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=UpdateWebhookDeliveryRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.js","sources":["../../../../src/api/features/UpdateWebhookDelivery/UpdateWebhookDeliveryRepository.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 { UpdateEntryDataFactory } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { UpdateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { WebhookDeliveryTransformer } from \"~/api/features/Transformers/abstractions/WebhookDeliveryTransformer.js\";\nimport { UpdateWebhookDeliveryRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport {\n WebhookDeliveryNotFoundError,\n WebhookModelNotFoundError,\n WebhookPersistenceError\n} from \"~/api/domain/errors.js\";\nimport { WEBHOOK_DELIVERY_MODEL_ID } from \"~/api/domain/constants.js\";\nimport type { IUpdateDeliveryInput } from \"./abstractions.js\";\nimport type {\n WebhookDelivery,\n WebhookDeliveryCmsEntryValues\n} from \"~/api/domain/WebhookDelivery.js\";\n\nclass UpdateWebhookDeliveryRepositoryImpl 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: WebhookDeliveryTransformer.Interface\n ) {}\n\n async execute(\n id: string,\n input: IUpdateDeliveryInput\n ): Promise<Result<WebhookDelivery, RepositoryAbstraction.Error>> {\n try {\n const modelResult = await this.getModelRepository.execute(WEBHOOK_DELIVERY_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new WebhookModelNotFoundError(WEBHOOK_DELIVERY_MODEL_ID));\n }\n\n const entryResult =\n await this.getLatestRevisionRepository.execute<WebhookDeliveryCmsEntryValues>(\n modelResult.value,\n { id }\n );\n\n if (entryResult.isFail()) {\n return Result.fail(new WebhookDeliveryNotFoundError(id));\n }\n\n const originalEntry = entryResult.value;\n const existing = this.transformer.fromStorage(originalEntry);\n\n const updated: WebhookDelivery = {\n ...existing,\n backgroundTaskId: input.backgroundTaskId ?? existing.backgroundTaskId,\n status: input.status ?? existing.status,\n payload: input.payload ?? existing.payload,\n requestHeaders: input.requestHeaders ?? existing.requestHeaders,\n responseTime: input.responseTime ?? existing.responseTime,\n responseStatus: input.responseStatus ?? existing.responseStatus,\n responseBody: input.responseBody ?? existing.responseBody\n };\n\n const storageValues = this.transformer.toStorage(updated);\n\n const { entry } =\n await this.updateEntryDataFactory.create<WebhookDeliveryCmsEntryValues>(\n modelResult.value,\n { values: storageValues },\n originalEntry\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(updated);\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n}\n\nexport const UpdateWebhookDeliveryRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateWebhookDeliveryRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetLatestRevisionByEntryIdRepository,\n UpdateEntryDataFactory,\n UpdateEntryRepository,\n WebhookDeliveryTransformer\n ]\n});\n"],"names":["UpdateWebhookDeliveryRepositoryImpl","getModelRepository","getLatestRevisionRepository","updateEntryDataFactory","updateEntryRepository","transformer","id","input","modelResult","WEBHOOK_DELIVERY_MODEL_ID","Result","WebhookModelNotFoundError","entryResult","WebhookDeliveryNotFoundError","originalEntry","existing","updated","storageValues","entry","updateResult","WebhookPersistenceError","error","UpdateWebhookDeliveryRepository","RepositoryAbstraction","GetModelRepository","GetLatestRevisionByEntryIdRepository","UpdateEntryDataFactory","UpdateEntryRepository","WebhookDeliveryTransformer"],"mappings":";;;;;;;;;AAmBA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,2BAA2E,EAC3EC,sBAAwD,EACxDC,qBAAsD,EACtDC,WAAiD,CACpE;aALmBJ,kBAAkB,GAAlBA;aACAC,2BAA2B,GAA3BA;aACAC,sBAAsB,GAAtBA;aACAC,qBAAqB,GAArBA;aACAC,WAAW,GAAXA;IAClB;IAEH,MAAM,QACFC,EAAU,EACVC,KAA2B,EACkC;QAC7D,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;gBAAEF;YAAG;YAGb,IAAIM,YAAY,MAAM,IAClB,OAAOF,OAAO,IAAI,CAAC,IAAIG,6BAA6BP;YAGxD,MAAMQ,gBAAgBF,YAAY,KAAK;YACvC,MAAMG,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,CAACD;YAE9C,MAAME,UAA2B;gBAC7B,GAAGD,QAAQ;gBACX,kBAAkBR,MAAM,gBAAgB,IAAIQ,SAAS,gBAAgB;gBACrE,QAAQR,MAAM,MAAM,IAAIQ,SAAS,MAAM;gBACvC,SAASR,MAAM,OAAO,IAAIQ,SAAS,OAAO;gBAC1C,gBAAgBR,MAAM,cAAc,IAAIQ,SAAS,cAAc;gBAC/D,cAAcR,MAAM,YAAY,IAAIQ,SAAS,YAAY;gBACzD,gBAAgBR,MAAM,cAAc,IAAIQ,SAAS,cAAc;gBAC/D,cAAcR,MAAM,YAAY,IAAIQ,SAAS,YAAY;YAC7D;YAEA,MAAME,gBAAgB,IAAI,CAAC,WAAW,CAAC,SAAS,CAACD;YAEjD,MAAM,EAAEE,KAAK,EAAE,GACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CACpCV,YAAY,KAAK,EACjB;gBAAE,QAAQS;YAAc,GACxBH;YAGR,MAAMK,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACX,YAAY,KAAK,EAAEU;YAEjF,IAAIC,aAAa,MAAM,IACnB,OAAOT,OAAO,IAAI,CAACU,wBAAwB,IAAI,CAACD,aAAa,KAAK;YAGtE,OAAOT,OAAO,EAAE,CAACM;QACrB,EAAE,OAAOK,OAAO;YACZ,OAAOX,OAAO,IAAI,CAACU,wBAAwB,IAAI,CAACC;QACpD;IACJ;AACJ;AAEO,MAAMC,kEAAkCC,gCAAAA,oBAA0C,CAAC;IACtF,gBAAgBvB;IAChB,cAAc;QACVwB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
3
|
+
import type { WebhookDelivery, WebhookDeliveryStatus } from "../../../api/domain/WebhookDelivery.js";
|
|
4
|
+
import type { WebhookPersistenceError, WebhookModelNotFoundError, WebhookDeliveryNotFoundError } from "../../../api/domain/errors.js";
|
|
5
|
+
export interface IUpdateDeliveryInput {
|
|
6
|
+
backgroundTaskId?: string;
|
|
7
|
+
status?: WebhookDeliveryStatus;
|
|
8
|
+
payload?: GenericRecord;
|
|
9
|
+
requestHeaders?: object;
|
|
10
|
+
responseTime?: number;
|
|
11
|
+
responseStatus?: number;
|
|
12
|
+
responseBody?: string;
|
|
13
|
+
}
|
|
14
|
+
type IError = WebhookPersistenceError | WebhookModelNotFoundError | WebhookDeliveryNotFoundError;
|
|
15
|
+
export interface IUpdateWebhookDeliveryRepository {
|
|
16
|
+
execute(id: string, input: IUpdateDeliveryInput): Promise<Result<WebhookDelivery, IError>>;
|
|
17
|
+
}
|
|
18
|
+
export declare const UpdateWebhookDeliveryRepository: import("@webiny/di").Abstraction<IUpdateWebhookDeliveryRepository>;
|
|
19
|
+
export declare namespace UpdateWebhookDeliveryRepository {
|
|
20
|
+
type Interface = IUpdateWebhookDeliveryRepository;
|
|
21
|
+
type Error = IError;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookDelivery/abstractions.js","sources":["../../../../src/api/features/UpdateWebhookDelivery/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { WebhookDelivery, WebhookDeliveryStatus } from \"~/api/domain/WebhookDelivery.js\";\nimport type {\n WebhookPersistenceError,\n WebhookModelNotFoundError,\n WebhookDeliveryNotFoundError\n} from \"~/api/domain/errors.js\";\n\nexport interface IUpdateDeliveryInput {\n backgroundTaskId?: string;\n status?: WebhookDeliveryStatus;\n payload?: GenericRecord;\n requestHeaders?: object;\n responseTime?: number;\n responseStatus?: number;\n responseBody?: string;\n}\n\ntype IError = WebhookPersistenceError | WebhookModelNotFoundError | WebhookDeliveryNotFoundError;\n\nexport interface IUpdateWebhookDeliveryRepository {\n execute(id: string, input: IUpdateDeliveryInput): Promise<Result<WebhookDelivery, IError>>;\n}\n\nexport const UpdateWebhookDeliveryRepository = createAbstraction<IUpdateWebhookDeliveryRepository>(\n \"Webhooks/UpdateWebhookDeliveryRepository\"\n);\n\nexport namespace UpdateWebhookDeliveryRepository {\n export type Interface = IUpdateWebhookDeliveryRepository;\n export type Error = IError;\n}\n"],"names":["UpdateWebhookDeliveryRepository","createAbstraction"],"mappings":";AAyBO,MAAMA,kCAAkCC,kBAC3C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWebhookDeliveryRepository } from "./UpdateWebhookDeliveryRepository.js";
|
|
3
|
+
const UpdateWebhookDeliveryFeature = createFeature({
|
|
4
|
+
name: "UpdateWebhookDelivery",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(UpdateWebhookDeliveryRepository).inSingletonScope();
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { UpdateWebhookDeliveryFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookDelivery/feature.js","sources":["../../../../src/api/features/UpdateWebhookDelivery/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateWebhookDeliveryRepository } from \"./UpdateWebhookDeliveryRepository.js\";\n\nexport const UpdateWebhookDeliveryFeature = createFeature({\n name: \"UpdateWebhookDelivery\",\n register(container) {\n container.register(UpdateWebhookDeliveryRepository).inSingletonScope();\n }\n});\n"],"names":["UpdateWebhookDeliveryFeature","createFeature","container","UpdateWebhookDeliveryRepository"],"mappings":";;AAGO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,iCAAiC,gBAAgB;IACxE;AACJ"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
3
|
+
import { 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 { GetWebhookSettingsRepository } from "../../../api/features/GetWebhookSettings/abstractions.js";
|
|
7
|
+
import { UpdateWebhookSettingsRepository as RepositoryAbstraction, type IUpdateWebhookSettingsInput } from "./abstractions.js";
|
|
8
|
+
import type { IWebhookSettings } from "../../../api/domain/WebhookSettings.js";
|
|
9
|
+
declare class UpdateWebhookSettingsRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
10
|
+
private readonly getModelRepository;
|
|
11
|
+
private readonly getWebhookSettingsRepository;
|
|
12
|
+
private readonly getLatestRevisionRepository;
|
|
13
|
+
private readonly updateEntryRepository;
|
|
14
|
+
private readonly updateEntryDataFactory;
|
|
15
|
+
constructor(getModelRepository: GetModelRepository.Interface, getWebhookSettingsRepository: GetWebhookSettingsRepository.Interface, getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface, updateEntryRepository: UpdateEntryRepository.Interface, updateEntryDataFactory: UpdateEntryDataFactory.Interface);
|
|
16
|
+
execute(input: IUpdateWebhookSettingsInput): Promise<Result<IWebhookSettings, RepositoryAbstraction.Error>>;
|
|
17
|
+
}
|
|
18
|
+
export declare const UpdateWebhookSettingsRepository: typeof UpdateWebhookSettingsRepositoryImpl & {
|
|
19
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateWebhookSettingsRepository>;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { createCacheKey } from "@webiny/utils";
|
|
3
|
+
import { GetModelRepository } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
4
|
+
import { GetLatestRevisionByEntryIdRepository } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js";
|
|
5
|
+
import { UpdateEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
6
|
+
import { UpdateEntryDataFactory } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
|
|
7
|
+
import { GetWebhookSettingsRepository } from "../GetWebhookSettings/abstractions.js";
|
|
8
|
+
import { UpdateWebhookSettingsRepository } from "./abstractions.js";
|
|
9
|
+
import { WebhookModelNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
|
|
10
|
+
import { WEBHOOK_SETTINGS_MODEL_ID } from "../../domain/constants.js";
|
|
11
|
+
class UpdateWebhookSettingsRepositoryImpl {
|
|
12
|
+
constructor(getModelRepository, getWebhookSettingsRepository, getLatestRevisionRepository, updateEntryRepository, updateEntryDataFactory){
|
|
13
|
+
this.getModelRepository = getModelRepository;
|
|
14
|
+
this.getWebhookSettingsRepository = getWebhookSettingsRepository;
|
|
15
|
+
this.getLatestRevisionRepository = getLatestRevisionRepository;
|
|
16
|
+
this.updateEntryRepository = updateEntryRepository;
|
|
17
|
+
this.updateEntryDataFactory = updateEntryDataFactory;
|
|
18
|
+
}
|
|
19
|
+
async execute(input) {
|
|
20
|
+
try {
|
|
21
|
+
const getResult = await this.getWebhookSettingsRepository.execute();
|
|
22
|
+
if (getResult.isFail()) return getResult;
|
|
23
|
+
const modelResult = await this.getModelRepository.execute(WEBHOOK_SETTINGS_MODEL_ID);
|
|
24
|
+
if (modelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_SETTINGS_MODEL_ID));
|
|
25
|
+
const model = modelResult.value;
|
|
26
|
+
const singletonId = createCacheKey(model.modelId);
|
|
27
|
+
const entryId = `${singletonId}#0001`;
|
|
28
|
+
const entryResult = await this.getLatestRevisionRepository.execute(model, {
|
|
29
|
+
id: entryId
|
|
30
|
+
});
|
|
31
|
+
if (entryResult.isFail()) return Result.fail(WebhookPersistenceError.from(entryResult.error));
|
|
32
|
+
const { entry } = await this.updateEntryDataFactory.create(model, {
|
|
33
|
+
values: {
|
|
34
|
+
signingSecret: input.signingSecret,
|
|
35
|
+
deliveryRetentionDays: input.deliveryRetentionDays
|
|
36
|
+
}
|
|
37
|
+
}, entryResult.value);
|
|
38
|
+
const updateResult = await this.updateEntryRepository.execute(model, entry);
|
|
39
|
+
if (updateResult.isFail()) return Result.fail(WebhookPersistenceError.from(updateResult.error));
|
|
40
|
+
const settings = {
|
|
41
|
+
signingSecret: entry.values.signingSecret,
|
|
42
|
+
deliveryRetentionDays: entry.values.deliveryRetentionDays
|
|
43
|
+
};
|
|
44
|
+
return Result.ok(settings);
|
|
45
|
+
} catch (error) {
|
|
46
|
+
return Result.fail(WebhookPersistenceError.from(error));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const UpdateWebhookSettingsRepository_UpdateWebhookSettingsRepository = UpdateWebhookSettingsRepository.createImplementation({
|
|
51
|
+
implementation: UpdateWebhookSettingsRepositoryImpl,
|
|
52
|
+
dependencies: [
|
|
53
|
+
GetModelRepository,
|
|
54
|
+
GetWebhookSettingsRepository,
|
|
55
|
+
GetLatestRevisionByEntryIdRepository,
|
|
56
|
+
UpdateEntryRepository,
|
|
57
|
+
UpdateEntryDataFactory
|
|
58
|
+
]
|
|
59
|
+
});
|
|
60
|
+
export { UpdateWebhookSettingsRepository_UpdateWebhookSettingsRepository as UpdateWebhookSettingsRepository };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=UpdateWebhookSettingsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookSettings/UpdateWebhookSettingsRepository.js","sources":["../../../../src/api/features/UpdateWebhookSettings/UpdateWebhookSettingsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createCacheKey } from \"@webiny/utils\";\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 { GetWebhookSettingsRepository } from \"~/api/features/GetWebhookSettings/abstractions.js\";\nimport {\n UpdateWebhookSettingsRepository as RepositoryAbstraction,\n type IUpdateWebhookSettingsInput\n} from \"./abstractions.js\";\nimport { WebhookModelNotFoundError, WebhookPersistenceError } from \"~/api/domain/errors.js\";\nimport { WEBHOOK_SETTINGS_MODEL_ID } from \"~/api/domain/constants.js\";\nimport type { IWebhookSettings } from \"~/api/domain/WebhookSettings.js\";\n\ninterface WebhookSettingsValues {\n signingSecret?: string;\n deliveryRetentionDays?: number;\n}\n\nclass UpdateWebhookSettingsRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getWebhookSettingsRepository: GetWebhookSettingsRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly updateEntryRepository: UpdateEntryRepository.Interface,\n private readonly updateEntryDataFactory: UpdateEntryDataFactory.Interface\n ) {}\n\n async execute(\n input: IUpdateWebhookSettingsInput\n ): Promise<Result<IWebhookSettings, RepositoryAbstraction.Error>> {\n try {\n /* Ensure the singleton entry exists (creates if missing). */\n const getResult = await this.getWebhookSettingsRepository.execute();\n if (getResult.isFail()) {\n return getResult;\n }\n\n const modelResult = await this.getModelRepository.execute(WEBHOOK_SETTINGS_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new WebhookModelNotFoundError(WEBHOOK_SETTINGS_MODEL_ID));\n }\n\n const model = modelResult.value;\n const singletonId = createCacheKey(model.modelId);\n const entryId = `${singletonId}#0001`;\n\n const entryResult =\n await this.getLatestRevisionRepository.execute<WebhookSettingsValues>(model, {\n id: entryId\n });\n\n if (entryResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(entryResult.error));\n }\n\n const { entry } = await this.updateEntryDataFactory.create<WebhookSettingsValues>(\n model,\n {\n values: {\n signingSecret: input.signingSecret,\n deliveryRetentionDays: input.deliveryRetentionDays\n }\n },\n entryResult.value\n );\n\n const updateResult = await this.updateEntryRepository.execute(model, entry);\n if (updateResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(updateResult.error));\n }\n\n const settings: IWebhookSettings = {\n signingSecret: entry.values.signingSecret,\n deliveryRetentionDays: entry.values.deliveryRetentionDays\n };\n\n return Result.ok(settings);\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n}\n\nexport const UpdateWebhookSettingsRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateWebhookSettingsRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetWebhookSettingsRepository,\n GetLatestRevisionByEntryIdRepository,\n UpdateEntryRepository,\n UpdateEntryDataFactory\n ]\n});\n"],"names":["UpdateWebhookSettingsRepositoryImpl","getModelRepository","getWebhookSettingsRepository","getLatestRevisionRepository","updateEntryRepository","updateEntryDataFactory","input","getResult","modelResult","WEBHOOK_SETTINGS_MODEL_ID","Result","WebhookModelNotFoundError","model","singletonId","createCacheKey","entryId","entryResult","WebhookPersistenceError","entry","updateResult","settings","error","UpdateWebhookSettingsRepository","RepositoryAbstraction","GetModelRepository","GetWebhookSettingsRepository","GetLatestRevisionByEntryIdRepository","UpdateEntryRepository","UpdateEntryDataFactory"],"mappings":";;;;;;;;;;AAoBA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,4BAAoE,EACpEC,2BAA2E,EAC3EC,qBAAsD,EACtDC,sBAAwD,CAC3E;aALmBJ,kBAAkB,GAAlBA;aACAC,4BAA4B,GAA5BA;aACAC,2BAA2B,GAA3BA;aACAC,qBAAqB,GAArBA;aACAC,sBAAsB,GAAtBA;IAClB;IAEH,MAAM,QACFC,KAAkC,EAC4B;QAC9D,IAAI;YAEA,MAAMC,YAAY,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO;YACjE,IAAIA,UAAU,MAAM,IAChB,OAAOA;YAGX,MAAMC,cAAc,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACC;YAC1D,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CAAC,IAAIC,0BAA0BF;YAGrD,MAAMG,QAAQJ,YAAY,KAAK;YAC/B,MAAMK,cAAcC,eAAeF,MAAM,OAAO;YAChD,MAAMG,UAAU,GAAGF,YAAY,KAAK,CAAC;YAErC,MAAMG,cACF,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAwBJ,OAAO;gBACzE,IAAIG;YACR;YAEJ,IAAIC,YAAY,MAAM,IAClB,OAAON,OAAO,IAAI,CAACO,wBAAwB,IAAI,CAACD,YAAY,KAAK;YAGrE,MAAM,EAAEE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CACtDN,OACA;gBACI,QAAQ;oBACJ,eAAeN,MAAM,aAAa;oBAClC,uBAAuBA,MAAM,qBAAqB;gBACtD;YACJ,GACAU,YAAY,KAAK;YAGrB,MAAMG,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACP,OAAOM;YACrE,IAAIC,aAAa,MAAM,IACnB,OAAOT,OAAO,IAAI,CAACO,wBAAwB,IAAI,CAACE,aAAa,KAAK;YAGtE,MAAMC,WAA6B;gBAC/B,eAAeF,MAAM,MAAM,CAAC,aAAa;gBACzC,uBAAuBA,MAAM,MAAM,CAAC,qBAAqB;YAC7D;YAEA,OAAOR,OAAO,EAAE,CAACU;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOX,OAAO,IAAI,CAACO,wBAAwB,IAAI,CAACI;QACpD;IACJ;AACJ;AAEO,MAAMC,kEAAkCC,gCAAAA,oBAA0C,CAAC;IACtF,gBAAgBvB;IAChB,cAAc;QACVwB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWebhookSettingsRepository, UpdateWebhookSettingsUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
|
|
4
|
+
import type { IWebhookSettings } from "../../../api/domain/WebhookSettings.js";
|
|
5
|
+
declare class UpdateWebhookSettingsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private readonly permissions;
|
|
7
|
+
private readonly repository;
|
|
8
|
+
constructor(permissions: WebhookPermissions.Interface, repository: UpdateWebhookSettingsRepository.Interface);
|
|
9
|
+
execute(input: UseCaseAbstraction.Input): Promise<Result<IWebhookSettings, UseCaseAbstraction.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const UpdateWebhookSettingsUseCase: typeof UpdateWebhookSettingsUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateWebhookSettingsUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWebhookSettingsRepository, UpdateWebhookSettingsUseCase } from "./abstractions.js";
|
|
3
|
+
import { UpdateWebhookSettingsInputSchema } from "./schema.js";
|
|
4
|
+
import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
|
|
5
|
+
import { WebhookNotAuthorizedError, WebhookValidationError } from "../../domain/errors.js";
|
|
6
|
+
class UpdateWebhookSettingsUseCaseImpl {
|
|
7
|
+
constructor(permissions, repository){
|
|
8
|
+
this.permissions = permissions;
|
|
9
|
+
this.repository = repository;
|
|
10
|
+
}
|
|
11
|
+
async execute(input) {
|
|
12
|
+
if (!await this.permissions.canEdit("webhook")) return Result.fail(new WebhookNotAuthorizedError());
|
|
13
|
+
const parsed = UpdateWebhookSettingsInputSchema.safeParse(input);
|
|
14
|
+
if (!parsed.success) return Result.fail(new WebhookValidationError(parsed.error));
|
|
15
|
+
return this.repository.execute(parsed.data);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const UpdateWebhookSettingsUseCase_UpdateWebhookSettingsUseCase = UpdateWebhookSettingsUseCase.createImplementation({
|
|
19
|
+
implementation: UpdateWebhookSettingsUseCaseImpl,
|
|
20
|
+
dependencies: [
|
|
21
|
+
WebhookPermissions,
|
|
22
|
+
UpdateWebhookSettingsRepository
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
export { UpdateWebhookSettingsUseCase_UpdateWebhookSettingsUseCase as UpdateWebhookSettingsUseCase };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=UpdateWebhookSettingsUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookSettings/UpdateWebhookSettingsUseCase.js","sources":["../../../../src/api/features/UpdateWebhookSettings/UpdateWebhookSettingsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n UpdateWebhookSettingsRepository,\n UpdateWebhookSettingsUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\nimport { UpdateWebhookSettingsInputSchema } from \"./schema.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError, WebhookValidationError } from \"~/api/domain/errors.js\";\nimport type { IWebhookSettings } from \"~/api/domain/WebhookSettings.js\";\n\nclass UpdateWebhookSettingsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private readonly permissions: WebhookPermissions.Interface,\n private readonly repository: UpdateWebhookSettingsRepository.Interface\n ) {}\n\n async execute(\n input: UseCaseAbstraction.Input\n ): Promise<Result<IWebhookSettings, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canEdit(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n\n const parsed = UpdateWebhookSettingsInputSchema.safeParse(input);\n if (!parsed.success) {\n return Result.fail(new WebhookValidationError(parsed.error));\n }\n\n return this.repository.execute(parsed.data);\n }\n}\n\nexport const UpdateWebhookSettingsUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateWebhookSettingsUseCaseImpl,\n dependencies: [WebhookPermissions, UpdateWebhookSettingsRepository]\n});\n"],"names":["UpdateWebhookSettingsUseCaseImpl","permissions","repository","input","Result","WebhookNotAuthorizedError","parsed","UpdateWebhookSettingsInputSchema","WebhookValidationError","UpdateWebhookSettingsUseCase","UseCaseAbstraction","WebhookPermissions","UpdateWebhookSettingsRepository"],"mappings":";;;;;AAUA,MAAMA;IACF,YACqBC,WAAyC,EACzCC,UAAqD,CACxE;aAFmBD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IAClB;IAEH,MAAM,QACFC,KAA+B,EAC4B;QAC3D,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,MAAMC,SAASC,iCAAiC,SAAS,CAACJ;QAC1D,IAAI,CAACG,OAAO,OAAO,EACf,OAAOF,OAAO,IAAI,CAAC,IAAII,uBAAuBF,OAAO,KAAK;QAG9D,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA,OAAO,IAAI;IAC9C;AACJ;AAEO,MAAMG,4DAA+BC,6BAAAA,oBAAuC,CAAC;IAChF,gBAAgBV;IAChB,cAAc;QAACW;QAAoBC;KAAgC;AACvE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { IWebhookSettings } from "../../../api/domain/WebhookSettings.js";
|
|
3
|
+
import type { WebhookModelNotFoundError, WebhookNotAuthorizedError, WebhookPersistenceError, WebhookValidationError } from "../../../api/domain/errors.js";
|
|
4
|
+
export interface IUpdateWebhookSettingsInput {
|
|
5
|
+
signingSecret?: string;
|
|
6
|
+
deliveryRetentionDays?: number;
|
|
7
|
+
}
|
|
8
|
+
type IError = WebhookModelNotFoundError | WebhookPersistenceError | WebhookNotAuthorizedError | WebhookValidationError;
|
|
9
|
+
export interface IUpdateWebhookSettingsUseCase {
|
|
10
|
+
execute(input: IUpdateWebhookSettingsInput): Promise<Result<IWebhookSettings, IError>>;
|
|
11
|
+
}
|
|
12
|
+
export declare const UpdateWebhookSettingsUseCase: import("@webiny/di").Abstraction<IUpdateWebhookSettingsUseCase>;
|
|
13
|
+
export declare namespace UpdateWebhookSettingsUseCase {
|
|
14
|
+
type Interface = IUpdateWebhookSettingsUseCase;
|
|
15
|
+
type Input = IUpdateWebhookSettingsInput;
|
|
16
|
+
type Error = IError;
|
|
17
|
+
}
|
|
18
|
+
type IRepositoryError = WebhookModelNotFoundError | WebhookPersistenceError;
|
|
19
|
+
export interface IUpdateWebhookSettingsRepository {
|
|
20
|
+
execute(input: IUpdateWebhookSettingsInput): Promise<Result<IWebhookSettings, IRepositoryError>>;
|
|
21
|
+
}
|
|
22
|
+
export declare const UpdateWebhookSettingsRepository: import("@webiny/di").Abstraction<IUpdateWebhookSettingsRepository>;
|
|
23
|
+
export declare namespace UpdateWebhookSettingsRepository {
|
|
24
|
+
type Interface = IUpdateWebhookSettingsRepository;
|
|
25
|
+
type Error = IRepositoryError;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const UpdateWebhookSettingsUseCase = createAbstraction("Webhooks/UpdateWebhookSettingsUseCase");
|
|
3
|
+
const UpdateWebhookSettingsRepository = createAbstraction("Webhooks/UpdateWebhookSettingsRepository");
|
|
4
|
+
export { UpdateWebhookSettingsRepository, UpdateWebhookSettingsUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookSettings/abstractions.js","sources":["../../../../src/api/features/UpdateWebhookSettings/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IWebhookSettings } from \"~/api/domain/WebhookSettings.js\";\nimport type {\n WebhookModelNotFoundError,\n WebhookNotAuthorizedError,\n WebhookPersistenceError,\n WebhookValidationError\n} from \"~/api/domain/errors.js\";\n\nexport interface IUpdateWebhookSettingsInput {\n signingSecret?: string;\n deliveryRetentionDays?: number;\n}\n\ntype IError =\n | WebhookModelNotFoundError\n | WebhookPersistenceError\n | WebhookNotAuthorizedError\n | WebhookValidationError;\n\nexport interface IUpdateWebhookSettingsUseCase {\n execute(input: IUpdateWebhookSettingsInput): Promise<Result<IWebhookSettings, IError>>;\n}\n\nexport const UpdateWebhookSettingsUseCase = createAbstraction<IUpdateWebhookSettingsUseCase>(\n \"Webhooks/UpdateWebhookSettingsUseCase\"\n);\n\nexport namespace UpdateWebhookSettingsUseCase {\n export type Interface = IUpdateWebhookSettingsUseCase;\n export type Input = IUpdateWebhookSettingsInput;\n export type Error = IError;\n}\n\ntype IRepositoryError = WebhookModelNotFoundError | WebhookPersistenceError;\n\nexport interface IUpdateWebhookSettingsRepository {\n execute(\n input: IUpdateWebhookSettingsInput\n ): Promise<Result<IWebhookSettings, IRepositoryError>>;\n}\n\nexport const UpdateWebhookSettingsRepository = createAbstraction<IUpdateWebhookSettingsRepository>(\n \"Webhooks/UpdateWebhookSettingsRepository\"\n);\n\nexport namespace UpdateWebhookSettingsRepository {\n export type Interface = IUpdateWebhookSettingsRepository;\n export type Error = IRepositoryError;\n}\n"],"names":["UpdateWebhookSettingsUseCase","createAbstraction","UpdateWebhookSettingsRepository"],"mappings":";AAwBO,MAAMA,+BAA+BC,kBACxC;AAiBG,MAAMC,kCAAkCD,kBAC3C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { UpdateWebhookSettingsUseCase } from "./UpdateWebhookSettingsUseCase.js";
|
|
3
|
+
import { UpdateWebhookSettingsRepository } from "./UpdateWebhookSettingsRepository.js";
|
|
4
|
+
const UpdateWebhookSettingsFeature = createFeature({
|
|
5
|
+
name: "UpdateWebhookSettings",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(UpdateWebhookSettingsUseCase);
|
|
8
|
+
container.register(UpdateWebhookSettingsRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { UpdateWebhookSettingsFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookSettings/feature.js","sources":["../../../../src/api/features/UpdateWebhookSettings/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateWebhookSettingsUseCase } from \"./UpdateWebhookSettingsUseCase.js\";\nimport { UpdateWebhookSettingsRepository } from \"./UpdateWebhookSettingsRepository.js\";\n\nexport const UpdateWebhookSettingsFeature = createFeature({\n name: \"UpdateWebhookSettings\",\n register(container) {\n container.register(UpdateWebhookSettingsUseCase);\n container.register(UpdateWebhookSettingsRepository).inSingletonScope();\n }\n});\n"],"names":["UpdateWebhookSettingsFeature","createFeature","container","UpdateWebhookSettingsUseCase","UpdateWebhookSettingsRepository"],"mappings":";;;AAIO,MAAMA,+BAA+BC,cAAc;IACtD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,iCAAiC,gBAAgB;IACxE;AACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { WEBHOOK_DELIVERY_MAX_RETENTION_DAYS } from "../../domain/constants.js";
|
|
3
|
+
const UpdateWebhookSettingsInputSchema = z.object({
|
|
4
|
+
signingSecret: z.string().optional(),
|
|
5
|
+
deliveryRetentionDays: z.number().int().min(0).max(WEBHOOK_DELIVERY_MAX_RETENTION_DAYS).optional()
|
|
6
|
+
});
|
|
7
|
+
export { UpdateWebhookSettingsInputSchema };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/UpdateWebhookSettings/schema.js","sources":["../../../../src/api/features/UpdateWebhookSettings/schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { WEBHOOK_DELIVERY_MAX_RETENTION_DAYS } from \"~/api/domain/constants.js\";\n\nexport const UpdateWebhookSettingsInputSchema = z.object({\n signingSecret: z.string().optional(),\n deliveryRetentionDays: z\n .number()\n .int()\n .min(0)\n .max(WEBHOOK_DELIVERY_MAX_RETENTION_DAYS)\n .optional()\n});\n"],"names":["UpdateWebhookSettingsInputSchema","z","WEBHOOK_DELIVERY_MAX_RETENTION_DAYS"],"mappings":";;AAGO,MAAMA,mCAAmCC,EAAE,MAAM,CAAC;IACrD,eAAeA,EAAE,MAAM,GAAG,QAAQ;IAClC,uBAAuBA,EAAAA,MACZ,GACN,GAAG,GACH,GAAG,CAAC,GACJ,GAAG,CAACC,qCACJ,QAAQ;AACjB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WebhookDeliver as Abstraction, type IWebhookDeliverInput, type IWebhookDeliverResult } from "./abstractions.js";
|
|
2
|
+
declare class WebhookDeliverImpl implements Abstraction.Interface {
|
|
3
|
+
execute(input: IWebhookDeliverInput): Promise<IWebhookDeliverResult>;
|
|
4
|
+
private attempt;
|
|
5
|
+
private isRetryable;
|
|
6
|
+
private computeDelay;
|
|
7
|
+
private parseRetryAfter;
|
|
8
|
+
private sleep;
|
|
9
|
+
}
|
|
10
|
+
export declare const WebhookDeliver: typeof WebhookDeliverImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IWebhookDeliver>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { WebhookDeliver } from "./abstractions.js";
|
|
2
|
+
class WebhookDeliverImpl {
|
|
3
|
+
async execute(input) {
|
|
4
|
+
const startTime = Date.now();
|
|
5
|
+
let attempts = 0;
|
|
6
|
+
let lastResult = {
|
|
7
|
+
status: 0,
|
|
8
|
+
body: "",
|
|
9
|
+
retryAfter: null
|
|
10
|
+
};
|
|
11
|
+
for(let i = 0; i <= input.maxRetries; i++){
|
|
12
|
+
if (i > 0) {
|
|
13
|
+
const delay = this.computeDelay(i - 1, input, lastResult);
|
|
14
|
+
await this.sleep(delay);
|
|
15
|
+
}
|
|
16
|
+
attempts++;
|
|
17
|
+
lastResult = await this.attempt(input);
|
|
18
|
+
if (!this.isRetryable(lastResult.status)) break;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
status: lastResult.status,
|
|
22
|
+
body: lastResult.body,
|
|
23
|
+
responseTime: Date.now() - startTime,
|
|
24
|
+
attempts
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async attempt(input) {
|
|
28
|
+
try {
|
|
29
|
+
const response = await fetch(input.url, {
|
|
30
|
+
method: "POST",
|
|
31
|
+
headers: input.headers,
|
|
32
|
+
body: input.body,
|
|
33
|
+
signal: AbortSignal.timeout(input.timeout)
|
|
34
|
+
});
|
|
35
|
+
const body = await response.text();
|
|
36
|
+
const retryAfter = response.headers.get("retry-after");
|
|
37
|
+
return {
|
|
38
|
+
status: response.status,
|
|
39
|
+
body,
|
|
40
|
+
retryAfter
|
|
41
|
+
};
|
|
42
|
+
} catch (error) {
|
|
43
|
+
return {
|
|
44
|
+
status: 0,
|
|
45
|
+
body: error instanceof Error ? error.message : "Unknown fetch error",
|
|
46
|
+
retryAfter: null
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
isRetryable(status) {
|
|
51
|
+
if (0 === status || 429 === status) return true;
|
|
52
|
+
return status >= 500 && status <= 599;
|
|
53
|
+
}
|
|
54
|
+
computeDelay(retryIndex, input, lastResult) {
|
|
55
|
+
const exponential = Math.min(input.initialDelay * Math.pow(2, retryIndex), input.maxDelay);
|
|
56
|
+
if (429 === lastResult.status && lastResult.retryAfter) {
|
|
57
|
+
const parsed = this.parseRetryAfter(lastResult.retryAfter);
|
|
58
|
+
if (null !== parsed) return Math.max(parsed, exponential);
|
|
59
|
+
}
|
|
60
|
+
return exponential;
|
|
61
|
+
}
|
|
62
|
+
parseRetryAfter(value) {
|
|
63
|
+
const seconds = Number(value);
|
|
64
|
+
if (!Number.isNaN(seconds) && Number.isFinite(seconds) && seconds >= 0) return 1000 * seconds;
|
|
65
|
+
const dateMs = Date.parse(value);
|
|
66
|
+
if (!Number.isNaN(dateMs)) return Math.max(0, dateMs - Date.now());
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
sleep(ms) {
|
|
70
|
+
return new Promise((resolve)=>setTimeout(resolve, ms));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const WebhookDeliver_WebhookDeliver = WebhookDeliver.createImplementation({
|
|
74
|
+
implementation: WebhookDeliverImpl,
|
|
75
|
+
dependencies: []
|
|
76
|
+
});
|
|
77
|
+
export { WebhookDeliver_WebhookDeliver as WebhookDeliver };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=WebhookDeliver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/WebhookDeliver/WebhookDeliver.js","sources":["../../../../src/api/features/WebhookDeliver/WebhookDeliver.ts"],"sourcesContent":["import {\n WebhookDeliver as Abstraction,\n type IWebhookDeliverInput,\n type IWebhookDeliverResult\n} from \"./abstractions.js\";\n\ninterface IAttemptResult {\n status: number;\n body: string;\n retryAfter: string | null;\n}\n\nclass WebhookDeliverImpl implements Abstraction.Interface {\n public async execute(input: IWebhookDeliverInput): Promise<IWebhookDeliverResult> {\n const startTime = Date.now();\n let attempts = 0;\n let lastResult: IAttemptResult = { status: 0, body: \"\", retryAfter: null };\n\n for (let i = 0; i <= input.maxRetries; i++) {\n if (i > 0) {\n const delay = this.computeDelay(i - 1, input, lastResult);\n await this.sleep(delay);\n }\n\n attempts++;\n lastResult = await this.attempt(input);\n\n if (!this.isRetryable(lastResult.status)) {\n break;\n }\n }\n\n return {\n status: lastResult.status,\n body: lastResult.body,\n responseTime: Date.now() - startTime,\n attempts\n };\n }\n\n private async attempt(input: IWebhookDeliverInput): Promise<IAttemptResult> {\n try {\n const response = await fetch(input.url, {\n method: \"POST\",\n headers: input.headers,\n body: input.body,\n signal: AbortSignal.timeout(input.timeout)\n });\n\n const body = await response.text();\n const retryAfter = response.headers.get(\"retry-after\");\n\n return { status: response.status, body, retryAfter };\n } catch (error) {\n return {\n status: 0,\n body: error instanceof Error ? error.message : \"Unknown fetch error\",\n retryAfter: null\n };\n }\n }\n\n private isRetryable(status: number): boolean {\n if (status === 0 || status === 429) {\n return true;\n }\n return status >= 500 && status <= 599;\n }\n\n private computeDelay(\n retryIndex: number,\n input: IWebhookDeliverInput,\n lastResult: IAttemptResult\n ): number {\n const exponential = Math.min(input.initialDelay * Math.pow(2, retryIndex), input.maxDelay);\n\n if (lastResult.status === 429 && lastResult.retryAfter) {\n const parsed = this.parseRetryAfter(lastResult.retryAfter);\n if (parsed !== null) {\n return Math.max(parsed, exponential);\n }\n }\n\n return exponential;\n }\n\n private parseRetryAfter(value: string): number | null {\n const seconds = Number(value);\n if (!Number.isNaN(seconds) && Number.isFinite(seconds) && seconds >= 0) {\n return seconds * 1000;\n }\n\n const dateMs = Date.parse(value);\n if (!Number.isNaN(dateMs)) {\n return Math.max(0, dateMs - Date.now());\n }\n\n return null;\n }\n\n private sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n}\n\nexport const WebhookDeliver = Abstraction.createImplementation({\n implementation: WebhookDeliverImpl,\n dependencies: []\n});\n"],"names":["WebhookDeliverImpl","input","startTime","Date","attempts","lastResult","i","delay","response","fetch","AbortSignal","body","retryAfter","error","Error","status","retryIndex","exponential","Math","parsed","value","seconds","Number","dateMs","ms","Promise","resolve","setTimeout","WebhookDeliver","Abstraction"],"mappings":";AAYA,MAAMA;IACF,MAAa,QAAQC,KAA2B,EAAkC;QAC9E,MAAMC,YAAYC,KAAK,GAAG;QAC1B,IAAIC,WAAW;QACf,IAAIC,aAA6B;YAAE,QAAQ;YAAG,MAAM;YAAI,YAAY;QAAK;QAEzE,IAAK,IAAIC,IAAI,GAAGA,KAAKL,MAAM,UAAU,EAAEK,IAAK;YACxC,IAAIA,IAAI,GAAG;gBACP,MAAMC,QAAQ,IAAI,CAAC,YAAY,CAACD,IAAI,GAAGL,OAAOI;gBAC9C,MAAM,IAAI,CAAC,KAAK,CAACE;YACrB;YAEAH;YACAC,aAAa,MAAM,IAAI,CAAC,OAAO,CAACJ;YAEhC,IAAI,CAAC,IAAI,CAAC,WAAW,CAACI,WAAW,MAAM,GACnC;QAER;QAEA,OAAO;YACH,QAAQA,WAAW,MAAM;YACzB,MAAMA,WAAW,IAAI;YACrB,cAAcF,KAAK,GAAG,KAAKD;YAC3BE;QACJ;IACJ;IAEA,MAAc,QAAQH,KAA2B,EAA2B;QACxE,IAAI;YACA,MAAMO,WAAW,MAAMC,MAAMR,MAAM,GAAG,EAAE;gBACpC,QAAQ;gBACR,SAASA,MAAM,OAAO;gBACtB,MAAMA,MAAM,IAAI;gBAChB,QAAQS,YAAY,OAAO,CAACT,MAAM,OAAO;YAC7C;YAEA,MAAMU,OAAO,MAAMH,SAAS,IAAI;YAChC,MAAMI,aAAaJ,SAAS,OAAO,CAAC,GAAG,CAAC;YAExC,OAAO;gBAAE,QAAQA,SAAS,MAAM;gBAAEG;gBAAMC;YAAW;QACvD,EAAE,OAAOC,OAAO;YACZ,OAAO;gBACH,QAAQ;gBACR,MAAMA,iBAAiBC,QAAQD,MAAM,OAAO,GAAG;gBAC/C,YAAY;YAChB;QACJ;IACJ;IAEQ,YAAYE,MAAc,EAAW;QACzC,IAAIA,AAAW,MAAXA,UAAgBA,AAAW,QAAXA,QAChB,OAAO;QAEX,OAAOA,UAAU,OAAOA,UAAU;IACtC;IAEQ,aACJC,UAAkB,EAClBf,KAA2B,EAC3BI,UAA0B,EACpB;QACN,MAAMY,cAAcC,KAAK,GAAG,CAACjB,MAAM,YAAY,GAAGiB,KAAK,GAAG,CAAC,GAAGF,aAAaf,MAAM,QAAQ;QAEzF,IAAII,AAAsB,QAAtBA,WAAW,MAAM,IAAYA,WAAW,UAAU,EAAE;YACpD,MAAMc,SAAS,IAAI,CAAC,eAAe,CAACd,WAAW,UAAU;YACzD,IAAIc,AAAW,SAAXA,QACA,OAAOD,KAAK,GAAG,CAACC,QAAQF;QAEhC;QAEA,OAAOA;IACX;IAEQ,gBAAgBG,KAAa,EAAiB;QAClD,MAAMC,UAAUC,OAAOF;QACvB,IAAI,CAACE,OAAO,KAAK,CAACD,YAAYC,OAAO,QAAQ,CAACD,YAAYA,WAAW,GACjE,OAAOA,AAAU,OAAVA;QAGX,MAAME,SAASpB,KAAK,KAAK,CAACiB;QAC1B,IAAI,CAACE,OAAO,KAAK,CAACC,SACd,OAAOL,KAAK,GAAG,CAAC,GAAGK,SAASpB,KAAK,GAAG;QAGxC,OAAO;IACX;IAEQ,MAAMqB,EAAU,EAAiB;QACrC,OAAO,IAAIC,QAAQC,CAAAA,UAAWC,WAAWD,SAASF;IACtD;AACJ;AAEO,MAAMI,gCAAiBC,eAAAA,oBAAgC,CAAC;IAC3D,gBAAgB7B;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface IWebhookDeliverInput {
|
|
2
|
+
url: string;
|
|
3
|
+
headers: Record<string, string>;
|
|
4
|
+
body: string;
|
|
5
|
+
timeout: number;
|
|
6
|
+
maxRetries: number;
|
|
7
|
+
initialDelay: number;
|
|
8
|
+
maxDelay: number;
|
|
9
|
+
}
|
|
10
|
+
export interface IWebhookDeliverResult {
|
|
11
|
+
status: number;
|
|
12
|
+
body: string;
|
|
13
|
+
responseTime: number;
|
|
14
|
+
attempts: number;
|
|
15
|
+
}
|
|
16
|
+
export interface IWebhookDeliver {
|
|
17
|
+
execute(input: IWebhookDeliverInput): Promise<IWebhookDeliverResult>;
|
|
18
|
+
}
|
|
19
|
+
export declare const WebhookDeliver: import("@webiny/di").Abstraction<IWebhookDeliver>;
|
|
20
|
+
export declare namespace WebhookDeliver {
|
|
21
|
+
type Interface = IWebhookDeliver;
|
|
22
|
+
type Input = IWebhookDeliverInput;
|
|
23
|
+
type Result = IWebhookDeliverResult;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/WebhookDeliver/abstractions.js","sources":["../../../../src/api/features/WebhookDeliver/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\n\nexport interface IWebhookDeliverInput {\n url: string;\n headers: Record<string, string>;\n body: string;\n timeout: number;\n maxRetries: number;\n initialDelay: number;\n maxDelay: number;\n}\n\nexport interface IWebhookDeliverResult {\n status: number;\n body: string;\n responseTime: number;\n attempts: number;\n}\n\nexport interface IWebhookDeliver {\n execute(input: IWebhookDeliverInput): Promise<IWebhookDeliverResult>;\n}\n\nexport const WebhookDeliver = createAbstraction<IWebhookDeliver>(\"Webhooks/WebhookDeliver\");\n\nexport namespace WebhookDeliver {\n export type Interface = IWebhookDeliver;\n export type Input = IWebhookDeliverInput;\n export type Result = IWebhookDeliverResult;\n}\n"],"names":["WebhookDeliver","createAbstraction"],"mappings":";AAuBO,MAAMA,iBAAiBC,kBAAmC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { WebhookDeliver } from "./WebhookDeliver.js";
|
|
3
|
+
const WebhookDeliverFeature = createFeature({
|
|
4
|
+
name: "Webhooks/WebhookDeliver",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(WebhookDeliver).inSingletonScope();
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { WebhookDeliverFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/WebhookDeliver/feature.js","sources":["../../../../src/api/features/WebhookDeliver/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WebhookDeliver } from \"./WebhookDeliver.js\";\n\nexport const WebhookDeliverFeature = createFeature({\n name: \"Webhooks/WebhookDeliver\",\n register(container) {\n container.register(WebhookDeliver).inSingletonScope();\n }\n});\n"],"names":["WebhookDeliverFeature","createFeature","container","WebhookDeliver"],"mappings":";;AAGO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,gBAAgB,gBAAgB;IACvD;AACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { WebhookDispatcher as WebhookDispatcherAbstraction, WebhookProvider } from "@webiny/api-core/features/webhooks/index.js";
|
|
2
|
+
import { TaskService } from "@webiny/api-core/exports/api/tasks.js";
|
|
3
|
+
import { ListWebhooksRepository } from "../../../api/features/ListWebhooks/abstractions.js";
|
|
4
|
+
import { CreateWebhookDeliveryRepository } from "../../../api/features/CreateWebhookDelivery/abstractions.js";
|
|
5
|
+
import { GetWebhookSettingsRepository } from "../../../api/features/GetWebhookSettings/abstractions.js";
|
|
6
|
+
import type { IWebhookDispatcherData } from "@webiny/api-core/features/webhooks/WebhookDispatcher/abstractions.js";
|
|
7
|
+
declare class WebhookDispatcherImpl implements WebhookDispatcherAbstraction.Interface {
|
|
8
|
+
private readonly listWebhooksRepository;
|
|
9
|
+
private readonly createDeliveryRepository;
|
|
10
|
+
private readonly taskService;
|
|
11
|
+
private readonly provider;
|
|
12
|
+
private readonly getSettingsRepository;
|
|
13
|
+
constructor(listWebhooksRepository: ListWebhooksRepository.Interface, createDeliveryRepository: CreateWebhookDeliveryRepository.Interface, taskService: TaskService.Interface, provider: WebhookProvider.Interface, getSettingsRepository: GetWebhookSettingsRepository.Interface);
|
|
14
|
+
dispatch<T extends IWebhookDispatcherData = IWebhookDispatcherData>(eventName: string, payload: T): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare const WebhookDispatcher: typeof WebhookDispatcherImpl & {
|
|
17
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/webhooks/WebhookDispatcher/abstractions.js").IWebhookDispatcher>;
|
|
18
|
+
};
|
|
19
|
+
export {};
|