@webiny/webhooks 6.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/admin/SecurityPermission.d.ts +2 -0
- package/admin/SecurityPermission.js +15 -0
- package/admin/SecurityPermission.js.map +1 -0
- package/admin/WebhookRoutes.d.ts +2 -0
- package/admin/WebhookRoutes.js +33 -0
- package/admin/WebhookRoutes.js.map +1 -0
- package/admin/Webhooks.d.ts +2 -0
- package/admin/Webhooks.js +53 -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/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 +28 -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/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 +19 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js +77 -0
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/abstractions.d.ts +22 -0
- package/admin/presentation/WebhookDeliveries/abstractions.js +5 -0
- package/admin/presentation/WebhookDeliveries/abstractions.js.map +1 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.d.ts +11 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.js +73 -0
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.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/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/WebhookForm/WebhookFormPresenter.d.ts +35 -0
- package/admin/presentation/WebhookForm/WebhookFormPresenter.js +163 -0
- package/admin/presentation/WebhookForm/WebhookFormPresenter.js.map +1 -0
- package/admin/presentation/WebhookForm/abstractions.d.ts +35 -0
- package/admin/presentation/WebhookForm/abstractions.js +5 -0
- package/admin/presentation/WebhookForm/abstractions.js.map +1 -0
- package/admin/presentation/WebhookForm/components/EventsSelector.d.ts +12 -0
- package/admin/presentation/WebhookForm/components/EventsSelector.js +44 -0
- package/admin/presentation/WebhookForm/components/EventsSelector.js.map +1 -0
- package/admin/presentation/WebhookForm/components/SigningSecret.d.ts +6 -0
- package/admin/presentation/WebhookForm/components/SigningSecret.js +43 -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 +88 -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 +22 -0
- package/admin/presentation/WebhookList/WebhookListPresenter.js +90 -0
- package/admin/presentation/WebhookList/WebhookListPresenter.js.map +1 -0
- package/admin/presentation/WebhookList/abstractions.d.ts +27 -0
- package/admin/presentation/WebhookList/abstractions.js +5 -0
- package/admin/presentation/WebhookList/abstractions.js.map +1 -0
- package/admin/presentation/WebhookList/components/WebhookListView.d.ts +2 -0
- package/admin/presentation/WebhookList/components/WebhookListView.js +172 -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/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 +7 -0
- package/admin/routes.js +17 -0
- package/admin/routes.js.map +1 -0
- package/admin/shared/types.d.ts +5 -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 +55 -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 +36 -0
- package/api/domain/WebhookDelivery.js +0 -0
- package/api/domain/constants.d.ts +4 -0
- package/api/domain/constants.js +7 -0
- package/api/domain/constants.js.map +1 -0
- package/api/domain/errors.d.ts +36 -0
- package/api/domain/errors.js +70 -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 +57 -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/CreateWebhookDelivery/CreateWebhookDeliveryRepository.d.ts +20 -0
- package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.js +58 -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 +29 -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/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 +24 -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/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 +24 -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/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 +24 -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/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 +24 -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/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.d.ts +20 -0
- package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.js +60 -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/SendWebhookTask/SendWebhookTask.d.ts +29 -0
- package/api/features/SendWebhookTask/SendWebhookTask.js +99 -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 +15 -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 +19 -0
- package/api/features/TriggerWebhook/TriggerWebhookUseCase.js +54 -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/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 +66 -0
- package/api/features/UpdateWebhook/UpdateWebhookUseCase.js.map +1 -0
- package/api/features/UpdateWebhook/abstractions.d.ts +31 -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/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/WebhookDispatcher/WebhookDispatcher.d.ts +17 -0
- package/api/features/WebhookDispatcher/WebhookDispatcher.js +56 -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 +8 -0
- package/api/features/WebhookSignPayload/WebhookSignPayload.js +20 -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 +167 -0
- package/api/graphql/WebhookCrudSchema.js.map +1 -0
- package/api/graphql/WebhookDeliverySchema.d.ts +8 -0
- package/api/graphql/WebhookDeliverySchema.js +96 -0
- package/api/graphql/WebhookDeliverySchema.js.map +1 -0
- package/api/graphql/WebhookEventSchema.d.ts +8 -0
- package/api/graphql/WebhookEventSchema.js +43 -0
- package/api/graphql/WebhookEventSchema.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/permissions.d.ts +12 -0
- package/api/permissions.js +22 -0
- package/api/permissions.js.map +1 -0
- package/exports/api/webhooks.d.ts +6 -0
- package/exports/api/webhooks.js +2 -0
- package/package.json +54 -0
|
@@ -0,0 +1,66 @@
|
|
|
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 { ListEntriesRepository } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
|
|
5
|
+
import { DeleteEntryRepository } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js";
|
|
6
|
+
import { DeleteWebhookRepository } from "./abstractions.js";
|
|
7
|
+
import { WebhookModelNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
|
|
8
|
+
import { WEBHOOK_DELIVERY_MODEL_ID, WEBHOOK_MODEL_ID } from "../../domain/constants.js";
|
|
9
|
+
class DeleteWebhookRepositoryImpl {
|
|
10
|
+
constructor(getModelRepository, getLatestRevisionRepository, listEntriesRepository, deleteEntryRepository){
|
|
11
|
+
this.getModelRepository = getModelRepository;
|
|
12
|
+
this.getLatestRevisionRepository = getLatestRevisionRepository;
|
|
13
|
+
this.listEntriesRepository = listEntriesRepository;
|
|
14
|
+
this.deleteEntryRepository = deleteEntryRepository;
|
|
15
|
+
}
|
|
16
|
+
async execute(id) {
|
|
17
|
+
try {
|
|
18
|
+
const webhookModelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);
|
|
19
|
+
if (webhookModelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));
|
|
20
|
+
const deliveryModelResult = await this.getModelRepository.execute(WEBHOOK_DELIVERY_MODEL_ID);
|
|
21
|
+
if (!deliveryModelResult.isFail()) try {
|
|
22
|
+
await this.deleteAllDeliveries(deliveryModelResult.value, id);
|
|
23
|
+
} catch {}
|
|
24
|
+
const entryResult = await this.getLatestRevisionRepository.execute(webhookModelResult.value, {
|
|
25
|
+
id
|
|
26
|
+
});
|
|
27
|
+
if (entryResult.isFail()) return Result.fail(WebhookPersistenceError.from(entryResult.error));
|
|
28
|
+
const deleteResult = await this.deleteEntryRepository.execute(webhookModelResult.value, entryResult.value);
|
|
29
|
+
if (deleteResult.isFail()) return Result.fail(WebhookPersistenceError.from(deleteResult.error));
|
|
30
|
+
return Result.ok(true);
|
|
31
|
+
} catch (error) {
|
|
32
|
+
return Result.fail(WebhookPersistenceError.from(error));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async deleteAllDeliveries(deliveryModel, webhookId) {
|
|
36
|
+
let cursor;
|
|
37
|
+
let hasMore = true;
|
|
38
|
+
while(hasMore){
|
|
39
|
+
const listResult = await this.listEntriesRepository.execute(deliveryModel, {
|
|
40
|
+
where: {
|
|
41
|
+
values: {
|
|
42
|
+
webhookId
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
limit: 100,
|
|
46
|
+
after: cursor
|
|
47
|
+
});
|
|
48
|
+
if (listResult.isFail()) throw listResult.error;
|
|
49
|
+
for (const entry of listResult.value.entries)await this.deleteEntryRepository.execute(deliveryModel, entry);
|
|
50
|
+
cursor = listResult.value.meta.cursor ?? void 0;
|
|
51
|
+
hasMore = !!cursor;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const DeleteWebhookRepository_DeleteWebhookRepository = DeleteWebhookRepository.createImplementation({
|
|
56
|
+
implementation: DeleteWebhookRepositoryImpl,
|
|
57
|
+
dependencies: [
|
|
58
|
+
GetModelRepository,
|
|
59
|
+
GetLatestRevisionByEntryIdRepository,
|
|
60
|
+
ListEntriesRepository,
|
|
61
|
+
DeleteEntryRepository
|
|
62
|
+
]
|
|
63
|
+
});
|
|
64
|
+
export { DeleteWebhookRepository_DeleteWebhookRepository as DeleteWebhookRepository };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=DeleteWebhookRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/DeleteWebhook/DeleteWebhookRepository.js","sources":["../../../../src/api/features/DeleteWebhook/DeleteWebhookRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/exports/api/cms/model.js\";\nimport type { CmsEntry } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\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 { ListEntriesRepository } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js\";\nimport { DeleteEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js\";\nimport { DeleteWebhookRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport { WebhookModelNotFoundError, WebhookPersistenceError } from \"~/api/domain/errors.js\";\nimport { WEBHOOK_MODEL_ID, WEBHOOK_DELIVERY_MODEL_ID } from \"~/api/domain/constants.js\";\n\nclass DeleteWebhookRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly listEntriesRepository: ListEntriesRepository.Interface,\n private readonly deleteEntryRepository: DeleteEntryRepository.Interface\n ) {}\n\n async execute(id: string): Promise<Result<boolean, RepositoryAbstraction.Error>> {\n try {\n const webhookModelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);\n if (webhookModelResult.isFail()) {\n return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));\n }\n\n const deliveryModelResult =\n await this.getModelRepository.execute(WEBHOOK_DELIVERY_MODEL_ID);\n if (!deliveryModelResult.isFail()) {\n try {\n await this.deleteAllDeliveries(deliveryModelResult.value, id);\n } catch {\n /* Delivery cleanup is best-effort; proceed with webhook delete regardless. */\n }\n }\n\n const entryResult = await this.getLatestRevisionRepository.execute(\n webhookModelResult.value,\n { id }\n );\n if (entryResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(entryResult.error));\n }\n\n const deleteResult = await this.deleteEntryRepository.execute(\n webhookModelResult.value,\n entryResult.value\n );\n\n if (deleteResult.isFail()) {\n return Result.fail(WebhookPersistenceError.from(deleteResult.error));\n }\n\n return Result.ok(true);\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n\n private async deleteAllDeliveries(deliveryModel: CmsModel, webhookId: string): Promise<void> {\n let cursor: string | undefined = undefined;\n let hasMore = true;\n while (hasMore) {\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n const listResult: Result<any, any> = await this.listEntriesRepository.execute(\n deliveryModel,\n {\n where: { values: { webhookId } },\n limit: 100,\n after: cursor\n }\n );\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n for (const entry of listResult.value.entries as CmsEntry[]) {\n /* Individual delivery delete failures are best-effort; continue with the rest. */\n await this.deleteEntryRepository.execute(deliveryModel, entry);\n }\n\n cursor = listResult.value.meta.cursor ?? undefined;\n hasMore = !!cursor;\n }\n }\n}\n\nexport const DeleteWebhookRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteWebhookRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetLatestRevisionByEntryIdRepository,\n ListEntriesRepository,\n DeleteEntryRepository\n ]\n});\n"],"names":["DeleteWebhookRepositoryImpl","getModelRepository","getLatestRevisionRepository","listEntriesRepository","deleteEntryRepository","id","webhookModelResult","WEBHOOK_MODEL_ID","Result","WebhookModelNotFoundError","deliveryModelResult","WEBHOOK_DELIVERY_MODEL_ID","entryResult","WebhookPersistenceError","deleteResult","error","deliveryModel","webhookId","cursor","hasMore","listResult","entry","undefined","DeleteWebhookRepository","RepositoryAbstraction","GetModelRepository","GetLatestRevisionByEntryIdRepository","ListEntriesRepository","DeleteEntryRepository"],"mappings":";;;;;;;;AAWA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,2BAA2E,EAC3EC,qBAAsD,EACtDC,qBAAsD,CACzE;aAJmBH,kBAAkB,GAAlBA;aACAC,2BAA2B,GAA3BA;aACAC,qBAAqB,GAArBA;aACAC,qBAAqB,GAArBA;IAClB;IAEH,MAAM,QAAQC,EAAU,EAAyD;QAC7E,IAAI;YACA,MAAMC,qBAAqB,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACC;YACjE,IAAID,mBAAmB,MAAM,IACzB,OAAOE,OAAO,IAAI,CAAC,IAAIC,0BAA0BF;YAGrD,MAAMG,sBACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACC;YAC1C,IAAI,CAACD,oBAAoB,MAAM,IAC3B,IAAI;gBACA,MAAM,IAAI,CAAC,mBAAmB,CAACA,oBAAoB,KAAK,EAAEL;YAC9D,EAAE,OAAM,CAER;YAGJ,MAAMO,cAAc,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAC9DN,mBAAmB,KAAK,EACxB;gBAAED;YAAG;YAET,IAAIO,YAAY,MAAM,IAClB,OAAOJ,OAAO,IAAI,CAACK,wBAAwB,IAAI,CAACD,YAAY,KAAK;YAGrE,MAAME,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACzDR,mBAAmB,KAAK,EACxBM,YAAY,KAAK;YAGrB,IAAIE,aAAa,MAAM,IACnB,OAAON,OAAO,IAAI,CAACK,wBAAwB,IAAI,CAACC,aAAa,KAAK;YAGtE,OAAON,OAAO,EAAE,CAAC;QACrB,EAAE,OAAOO,OAAO;YACZ,OAAOP,OAAO,IAAI,CAACK,wBAAwB,IAAI,CAACE;QACpD;IACJ;IAEA,MAAc,oBAAoBC,aAAuB,EAAEC,SAAiB,EAAiB;QACzF,IAAIC;QACJ,IAAIC,UAAU;QACd,MAAOA,QAAS;YAEZ,MAAMC,aAA+B,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACzEJ,eACA;gBACI,OAAO;oBAAE,QAAQ;wBAAEC;oBAAU;gBAAE;gBAC/B,OAAO;gBACP,OAAOC;YACX;YAGJ,IAAIE,WAAW,MAAM,IACjB,MAAMA,WAAW,KAAK;YAG1B,KAAK,MAAMC,SAASD,WAAW,KAAK,CAAC,OAAO,CAExC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACJ,eAAeK;YAG5DH,SAASE,WAAW,KAAK,CAAC,IAAI,CAAC,MAAM,IAAIE;YACzCH,UAAU,CAAC,CAACD;QAChB;IACJ;AACJ;AAEO,MAAMK,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBxB;IAChB,cAAc;QACVyB;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteWebhookUseCase as UseCaseAbstraction, DeleteWebhookRepository } from "./abstractions.js";
|
|
3
|
+
import { GetWebhookRepository } from "../../../api/features/GetWebhook/abstractions.js";
|
|
4
|
+
import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
|
|
5
|
+
declare class DeleteWebhookUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
7
|
+
private getWebhookRepository;
|
|
8
|
+
private deleteRepository;
|
|
9
|
+
constructor(permissions: WebhookPermissions.Interface, getWebhookRepository: GetWebhookRepository.Interface, deleteRepository: DeleteWebhookRepository.Interface);
|
|
10
|
+
execute(id: string): Promise<Result<boolean, UseCaseAbstraction.Error>>;
|
|
11
|
+
}
|
|
12
|
+
export declare const DeleteWebhookUseCase: typeof DeleteWebhookUseCaseImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDeleteWebhookUseCase>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteWebhookRepository, DeleteWebhookUseCase } from "./abstractions.js";
|
|
3
|
+
import { GetWebhookRepository } from "../GetWebhook/abstractions.js";
|
|
4
|
+
import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
|
|
5
|
+
import { WebhookNotAuthorizedError } from "../../domain/errors.js";
|
|
6
|
+
class DeleteWebhookUseCaseImpl {
|
|
7
|
+
constructor(permissions, getWebhookRepository, deleteRepository){
|
|
8
|
+
this.permissions = permissions;
|
|
9
|
+
this.getWebhookRepository = getWebhookRepository;
|
|
10
|
+
this.deleteRepository = deleteRepository;
|
|
11
|
+
}
|
|
12
|
+
async execute(id) {
|
|
13
|
+
if (!await this.permissions.canDelete("webhook")) return Result.fail(new WebhookNotAuthorizedError());
|
|
14
|
+
const getResult = await this.getWebhookRepository.execute(id);
|
|
15
|
+
if (getResult.isFail()) return Result.fail(getResult.error);
|
|
16
|
+
return this.deleteRepository.execute(id);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const DeleteWebhookUseCase_DeleteWebhookUseCase = DeleteWebhookUseCase.createImplementation({
|
|
20
|
+
implementation: DeleteWebhookUseCaseImpl,
|
|
21
|
+
dependencies: [
|
|
22
|
+
WebhookPermissions,
|
|
23
|
+
GetWebhookRepository,
|
|
24
|
+
DeleteWebhookRepository
|
|
25
|
+
]
|
|
26
|
+
});
|
|
27
|
+
export { DeleteWebhookUseCase_DeleteWebhookUseCase as DeleteWebhookUseCase };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=DeleteWebhookUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/DeleteWebhook/DeleteWebhookUseCase.js","sources":["../../../../src/api/features/DeleteWebhook/DeleteWebhookUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n DeleteWebhookUseCase as UseCaseAbstraction,\n DeleteWebhookRepository\n} from \"./abstractions.js\";\nimport { GetWebhookRepository } from \"~/api/features/GetWebhook/abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError } from \"~/api/domain/errors.js\";\n\nclass DeleteWebhookUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WebhookPermissions.Interface,\n private getWebhookRepository: GetWebhookRepository.Interface,\n private deleteRepository: DeleteWebhookRepository.Interface\n ) {}\n\n async execute(id: string): Promise<Result<boolean, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canDelete(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n const getResult = await this.getWebhookRepository.execute(id);\n if (getResult.isFail()) {\n return Result.fail(getResult.error);\n }\n return this.deleteRepository.execute(id);\n }\n}\n\nexport const DeleteWebhookUseCase = UseCaseAbstraction.createImplementation({\n implementation: DeleteWebhookUseCaseImpl,\n dependencies: [WebhookPermissions, GetWebhookRepository, DeleteWebhookRepository]\n});\n"],"names":["DeleteWebhookUseCaseImpl","permissions","getWebhookRepository","deleteRepository","id","Result","WebhookNotAuthorizedError","getResult","DeleteWebhookUseCase","UseCaseAbstraction","WebhookPermissions","GetWebhookRepository","DeleteWebhookRepository"],"mappings":";;;;;AASA,MAAMA;IACF,YACYC,WAAyC,EACzCC,oBAAoD,EACpDC,gBAAmD,CAC7D;aAHUF,WAAW,GAAXA;aACAC,oBAAoB,GAApBA;aACAC,gBAAgB,GAAhBA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAsD;QAC1E,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YACnC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE3B,MAAMC,YAAY,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAACH;QAC1D,IAAIG,UAAU,MAAM,IAChB,OAAOF,OAAO,IAAI,CAACE,UAAU,KAAK;QAEtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACH;IACzC;AACJ;AAEO,MAAMI,4CAAuBC,qBAAAA,oBAAuC,CAAC;IACxE,gBAAgBT;IAChB,cAAc;QAACU;QAAoBC;QAAsBC;KAAwB;AACrF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { WebhookNotFoundError, WebhookPersistenceError, WebhookModelNotFoundError, WebhookNotAuthorizedError } from "../../../api/domain/errors.js";
|
|
3
|
+
type IError = WebhookNotFoundError | WebhookPersistenceError | WebhookModelNotFoundError | WebhookNotAuthorizedError;
|
|
4
|
+
export interface IDeleteWebhookUseCase {
|
|
5
|
+
execute(id: string): Promise<Result<boolean, IError>>;
|
|
6
|
+
}
|
|
7
|
+
export declare const DeleteWebhookUseCase: import("@webiny/di").Abstraction<IDeleteWebhookUseCase>;
|
|
8
|
+
export declare namespace DeleteWebhookUseCase {
|
|
9
|
+
type Interface = IDeleteWebhookUseCase;
|
|
10
|
+
type Error = IError;
|
|
11
|
+
}
|
|
12
|
+
export interface IDeleteWebhookRepository {
|
|
13
|
+
execute(id: string): Promise<Result<boolean, IError>>;
|
|
14
|
+
}
|
|
15
|
+
export declare const DeleteWebhookRepository: import("@webiny/di").Abstraction<IDeleteWebhookRepository>;
|
|
16
|
+
export declare namespace DeleteWebhookRepository {
|
|
17
|
+
type Interface = IDeleteWebhookRepository;
|
|
18
|
+
type Error = IError;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const DeleteWebhookUseCase = createAbstraction("Webhooks/DeleteWebhookUseCase");
|
|
3
|
+
const DeleteWebhookRepository = createAbstraction("Webhooks/DeleteWebhookRepository");
|
|
4
|
+
export { DeleteWebhookRepository, DeleteWebhookUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/DeleteWebhook/abstractions.js","sources":["../../../../src/api/features/DeleteWebhook/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type {\n WebhookNotFoundError,\n WebhookPersistenceError,\n WebhookModelNotFoundError,\n WebhookNotAuthorizedError\n} from \"~/api/domain/errors.js\";\n\ntype IError =\n | WebhookNotFoundError\n | WebhookPersistenceError\n | WebhookModelNotFoundError\n | WebhookNotAuthorizedError;\n\nexport interface IDeleteWebhookUseCase {\n execute(id: string): Promise<Result<boolean, IError>>;\n}\n\nexport const DeleteWebhookUseCase = createAbstraction<IDeleteWebhookUseCase>(\n \"Webhooks/DeleteWebhookUseCase\"\n);\n\nexport namespace DeleteWebhookUseCase {\n export type Interface = IDeleteWebhookUseCase;\n export type Error = IError;\n}\n\nexport interface IDeleteWebhookRepository {\n execute(id: string): Promise<Result<boolean, IError>>;\n}\n\nexport const DeleteWebhookRepository = createAbstraction<IDeleteWebhookRepository>(\n \"Webhooks/DeleteWebhookRepository\"\n);\n\nexport namespace DeleteWebhookRepository {\n export type Interface = IDeleteWebhookRepository;\n export type Error = IError;\n}\n"],"names":["DeleteWebhookUseCase","createAbstraction","DeleteWebhookRepository"],"mappings":";AAkBO,MAAMA,uBAAuBC,kBAChC;AAYG,MAAMC,0BAA0BD,kBACnC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { DeleteWebhookUseCase } from "./DeleteWebhookUseCase.js";
|
|
3
|
+
import { DeleteWebhookRepository } from "./DeleteWebhookRepository.js";
|
|
4
|
+
const DeleteWebhookFeature = createFeature({
|
|
5
|
+
name: "DeleteWebhook",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(DeleteWebhookUseCase);
|
|
8
|
+
container.register(DeleteWebhookRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { DeleteWebhookFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/DeleteWebhook/feature.js","sources":["../../../../src/api/features/DeleteWebhook/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteWebhookUseCase } from \"./DeleteWebhookUseCase.js\";\nimport { DeleteWebhookRepository } from \"./DeleteWebhookRepository.js\";\n\nexport const DeleteWebhookFeature = createFeature({\n name: \"DeleteWebhook\",\n register(container) {\n container.register(DeleteWebhookUseCase);\n container.register(DeleteWebhookRepository).inSingletonScope();\n }\n});\n"],"names":["DeleteWebhookFeature","createFeature","container","DeleteWebhookUseCase","DeleteWebhookRepository"],"mappings":";;;AAIO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,yBAAyB,gBAAgB;IAChE;AACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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 { WebhookTransformer } from "../../../api/features/Transformers/abstractions/WebhookTransformer.js";
|
|
5
|
+
import { GetWebhookRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
6
|
+
import type { Webhook } from "../../../api/domain/Webhook.js";
|
|
7
|
+
declare class GetWebhookRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
8
|
+
private readonly getModelRepository;
|
|
9
|
+
private readonly getLatestRevisionRepository;
|
|
10
|
+
private readonly transformer;
|
|
11
|
+
constructor(getModelRepository: GetModelRepository.Interface, getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface, transformer: WebhookTransformer.Interface);
|
|
12
|
+
execute(id: string): Promise<Result<Webhook, RepositoryAbstraction.Error>>;
|
|
13
|
+
}
|
|
14
|
+
export declare const GetWebhookRepository: typeof GetWebhookRepositoryImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetWebhookRepository>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
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 { WebhookTransformer } from "../Transformers/abstractions/WebhookTransformer.js";
|
|
5
|
+
import { GetWebhookRepository } from "./abstractions.js";
|
|
6
|
+
import { WebhookModelNotFoundError, WebhookNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
|
|
7
|
+
import { WEBHOOK_MODEL_ID } from "../../domain/constants.js";
|
|
8
|
+
class GetWebhookRepositoryImpl {
|
|
9
|
+
constructor(getModelRepository, getLatestRevisionRepository, transformer){
|
|
10
|
+
this.getModelRepository = getModelRepository;
|
|
11
|
+
this.getLatestRevisionRepository = getLatestRevisionRepository;
|
|
12
|
+
this.transformer = transformer;
|
|
13
|
+
}
|
|
14
|
+
async execute(id) {
|
|
15
|
+
try {
|
|
16
|
+
const modelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);
|
|
17
|
+
if (modelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));
|
|
18
|
+
const entryResult = await this.getLatestRevisionRepository.execute(modelResult.value, {
|
|
19
|
+
id
|
|
20
|
+
});
|
|
21
|
+
if (entryResult.isFail()) return Result.fail(new WebhookNotFoundError(id));
|
|
22
|
+
const webhook = this.transformer.fromStorage(entryResult.value);
|
|
23
|
+
return Result.ok(webhook);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
return Result.fail(WebhookPersistenceError.from(error));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const GetWebhookRepository_GetWebhookRepository = GetWebhookRepository.createImplementation({
|
|
30
|
+
implementation: GetWebhookRepositoryImpl,
|
|
31
|
+
dependencies: [
|
|
32
|
+
GetModelRepository,
|
|
33
|
+
GetLatestRevisionByEntryIdRepository,
|
|
34
|
+
WebhookTransformer
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
export { GetWebhookRepository_GetWebhookRepository as GetWebhookRepository };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=GetWebhookRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhook/GetWebhookRepository.js","sources":["../../../../src/api/features/GetWebhook/GetWebhookRepository.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 { WebhookTransformer } from \"~/api/features/Transformers/abstractions/WebhookTransformer.js\";\nimport { GetWebhookRepository as RepositoryAbstraction } from \"./abstractions.js\";\nimport {\n WebhookNotFoundError,\n WebhookModelNotFoundError,\n WebhookPersistenceError\n} from \"~/api/domain/errors.js\";\nimport { WEBHOOK_MODEL_ID } from \"~/api/domain/constants.js\";\nimport type { Webhook, WebhookCmsEntryValues } from \"~/api/domain/Webhook.js\";\n\nclass GetWebhookRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly transformer: WebhookTransformer.Interface\n ) {}\n\n async execute(id: string): Promise<Result<Webhook, RepositoryAbstraction.Error>> {\n try {\n const modelResult = await this.getModelRepository.execute(WEBHOOK_MODEL_ID);\n if (modelResult.isFail()) {\n return Result.fail(new WebhookModelNotFoundError(WEBHOOK_MODEL_ID));\n }\n\n const entryResult =\n await this.getLatestRevisionRepository.execute<WebhookCmsEntryValues>(\n modelResult.value,\n { id }\n );\n\n if (entryResult.isFail()) {\n return Result.fail(new WebhookNotFoundError(id));\n }\n\n const webhook = this.transformer.fromStorage(entryResult.value);\n\n return Result.ok(webhook);\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n}\n\nexport const GetWebhookRepository = RepositoryAbstraction.createImplementation({\n implementation: GetWebhookRepositoryImpl,\n dependencies: [GetModelRepository, GetLatestRevisionByEntryIdRepository, WebhookTransformer]\n});\n"],"names":["GetWebhookRepositoryImpl","getModelRepository","getLatestRevisionRepository","transformer","id","modelResult","WEBHOOK_MODEL_ID","Result","WebhookModelNotFoundError","entryResult","WebhookNotFoundError","webhook","error","WebhookPersistenceError","GetWebhookRepository","RepositoryAbstraction","GetModelRepository","GetLatestRevisionByEntryIdRepository","WebhookTransformer"],"mappings":";;;;;;;AAaA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,2BAA2E,EAC3EC,WAAyC,CAC5D;aAHmBF,kBAAkB,GAAlBA;aACAC,2BAA2B,GAA3BA;aACAC,WAAW,GAAXA;IAClB;IAEH,MAAM,QAAQC,EAAU,EAAyD;QAC7E,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;gBAAED;YAAG;YAGb,IAAIK,YAAY,MAAM,IAClB,OAAOF,OAAO,IAAI,CAAC,IAAIG,qBAAqBN;YAGhD,MAAMO,UAAU,IAAI,CAAC,WAAW,CAAC,WAAW,CAACF,YAAY,KAAK;YAE9D,OAAOF,OAAO,EAAE,CAACI;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOL,OAAO,IAAI,CAACM,wBAAwB,IAAI,CAACD;QACpD;IACJ;AACJ;AAEO,MAAME,4CAAuBC,qBAAAA,oBAA0C,CAAC;IAC3E,gBAAgBf;IAChB,cAAc;QAACgB;QAAoBC;QAAsCC;KAAmB;AAChG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetWebhookUseCase as UseCaseAbstraction, GetWebhookRepository } from "./abstractions.js";
|
|
3
|
+
import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
|
|
4
|
+
import type { Webhook } from "../../../api/domain/Webhook.js";
|
|
5
|
+
declare class GetWebhookUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(permissions: WebhookPermissions.Interface, repository: GetWebhookRepository.Interface);
|
|
9
|
+
execute(id: string): Promise<Result<Webhook, UseCaseAbstraction.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const GetWebhookUseCase: typeof GetWebhookUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetWebhookUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetWebhookRepository, GetWebhookUseCase } from "./abstractions.js";
|
|
3
|
+
import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
|
|
4
|
+
import { WebhookNotAuthorizedError } from "../../domain/errors.js";
|
|
5
|
+
class GetWebhookUseCaseImpl {
|
|
6
|
+
constructor(permissions, repository){
|
|
7
|
+
this.permissions = permissions;
|
|
8
|
+
this.repository = repository;
|
|
9
|
+
}
|
|
10
|
+
async execute(id) {
|
|
11
|
+
if (!await this.permissions.canRead("webhook")) return Result.fail(new WebhookNotAuthorizedError());
|
|
12
|
+
return this.repository.execute(id);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const GetWebhookUseCase_GetWebhookUseCase = GetWebhookUseCase.createImplementation({
|
|
16
|
+
implementation: GetWebhookUseCaseImpl,
|
|
17
|
+
dependencies: [
|
|
18
|
+
WebhookPermissions,
|
|
19
|
+
GetWebhookRepository
|
|
20
|
+
]
|
|
21
|
+
});
|
|
22
|
+
export { GetWebhookUseCase_GetWebhookUseCase as GetWebhookUseCase };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=GetWebhookUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhook/GetWebhookUseCase.js","sources":["../../../../src/api/features/GetWebhook/GetWebhookUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetWebhookUseCase as UseCaseAbstraction, GetWebhookRepository } from \"./abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError } from \"~/api/domain/errors.js\";\nimport type { Webhook } from \"~/api/domain/Webhook.js\";\n\nclass GetWebhookUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WebhookPermissions.Interface,\n private repository: GetWebhookRepository.Interface\n ) {}\n\n async execute(id: string): Promise<Result<Webhook, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canRead(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n return this.repository.execute(id);\n }\n}\n\nexport const GetWebhookUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetWebhookUseCaseImpl,\n dependencies: [WebhookPermissions, GetWebhookRepository]\n});\n"],"names":["GetWebhookUseCaseImpl","permissions","repository","id","Result","WebhookNotAuthorizedError","GetWebhookUseCase","UseCaseAbstraction","WebhookPermissions","GetWebhookRepository"],"mappings":";;;;AAMA,MAAMA;IACF,YACYC,WAAyC,EACzCC,UAA0C,CACpD;aAFUD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAsD;QAC1E,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACF;IACnC;AACJ;AAEO,MAAMG,sCAAoBC,kBAAAA,oBAAuC,CAAC;IACrE,gBAAgBP;IAChB,cAAc;QAACQ;QAAoBC;KAAqB;AAC5D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { Webhook } from "../../../api/domain/Webhook.js";
|
|
3
|
+
import type { WebhookNotFoundError, WebhookModelNotFoundError, WebhookPersistenceError, WebhookNotAuthorizedError } from "../../../api/domain/errors.js";
|
|
4
|
+
type IError = WebhookNotFoundError | WebhookModelNotFoundError | WebhookPersistenceError | WebhookNotAuthorizedError;
|
|
5
|
+
export interface IGetWebhookUseCase {
|
|
6
|
+
execute(id: string): Promise<Result<Webhook, IError>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const GetWebhookUseCase: import("@webiny/di").Abstraction<IGetWebhookUseCase>;
|
|
9
|
+
export declare namespace GetWebhookUseCase {
|
|
10
|
+
type Interface = IGetWebhookUseCase;
|
|
11
|
+
type Error = IError;
|
|
12
|
+
}
|
|
13
|
+
export interface IGetWebhookRepository {
|
|
14
|
+
execute(id: string): Promise<Result<Webhook, IError>>;
|
|
15
|
+
}
|
|
16
|
+
export declare const GetWebhookRepository: import("@webiny/di").Abstraction<IGetWebhookRepository>;
|
|
17
|
+
export declare namespace GetWebhookRepository {
|
|
18
|
+
type Interface = IGetWebhookRepository;
|
|
19
|
+
type Error = IError;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const GetWebhookUseCase = createAbstraction("Webhooks/GetWebhookUseCase");
|
|
3
|
+
const GetWebhookRepository = createAbstraction("Webhooks/GetWebhookRepository");
|
|
4
|
+
export { GetWebhookRepository, GetWebhookUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhook/abstractions.js","sources":["../../../../src/api/features/GetWebhook/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { Webhook } from \"~/api/domain/Webhook.js\";\nimport type {\n WebhookNotFoundError,\n WebhookModelNotFoundError,\n WebhookPersistenceError,\n WebhookNotAuthorizedError\n} from \"~/api/domain/errors.js\";\n\ntype IError =\n | WebhookNotFoundError\n | WebhookModelNotFoundError\n | WebhookPersistenceError\n | WebhookNotAuthorizedError;\n\nexport interface IGetWebhookUseCase {\n execute(id: string): Promise<Result<Webhook, IError>>;\n}\n\nexport const GetWebhookUseCase = createAbstraction<IGetWebhookUseCase>(\n \"Webhooks/GetWebhookUseCase\"\n);\n\nexport namespace GetWebhookUseCase {\n export type Interface = IGetWebhookUseCase;\n export type Error = IError;\n}\n\nexport interface IGetWebhookRepository {\n execute(id: string): Promise<Result<Webhook, IError>>;\n}\n\nexport const GetWebhookRepository = createAbstraction<IGetWebhookRepository>(\n \"Webhooks/GetWebhookRepository\"\n);\n\nexport namespace GetWebhookRepository {\n export type Interface = IGetWebhookRepository;\n export type Error = IError;\n}\n"],"names":["GetWebhookUseCase","createAbstraction","GetWebhookRepository"],"mappings":";AAmBO,MAAMA,oBAAoBC,kBAC7B;AAYG,MAAMC,uBAAuBD,kBAChC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GetWebhookUseCase } from "./GetWebhookUseCase.js";
|
|
3
|
+
import { GetWebhookRepository } from "./GetWebhookRepository.js";
|
|
4
|
+
const GetWebhookFeature = createFeature({
|
|
5
|
+
name: "GetWebhook",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(GetWebhookUseCase);
|
|
8
|
+
container.register(GetWebhookRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { GetWebhookFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhook/feature.js","sources":["../../../../src/api/features/GetWebhook/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetWebhookUseCase } from \"./GetWebhookUseCase.js\";\nimport { GetWebhookRepository } from \"./GetWebhookRepository.js\";\n\nexport const GetWebhookFeature = createFeature({\n name: \"GetWebhook\",\n register(container) {\n container.register(GetWebhookUseCase);\n container.register(GetWebhookRepository).inSingletonScope();\n }\n});\n"],"names":["GetWebhookFeature","createFeature","container","GetWebhookUseCase","GetWebhookRepository"],"mappings":";;;AAIO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,sBAAsB,gBAAgB;IAC7D;AACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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 { WebhookDeliveryTransformer } from "../../../api/features/Transformers/abstractions/WebhookDeliveryTransformer.js";
|
|
5
|
+
import { GetWebhookDeliveryRepository as RepositoryAbstraction } from "./abstractions.js";
|
|
6
|
+
import type { WebhookDelivery } from "../../../api/domain/WebhookDelivery.js";
|
|
7
|
+
declare class GetWebhookDeliveryRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
8
|
+
private readonly getModelRepository;
|
|
9
|
+
private readonly getLatestRevisionRepository;
|
|
10
|
+
private readonly transformer;
|
|
11
|
+
constructor(getModelRepository: GetModelRepository.Interface, getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface, transformer: WebhookDeliveryTransformer.Interface);
|
|
12
|
+
execute(id: string): Promise<Result<WebhookDelivery, RepositoryAbstraction.Error>>;
|
|
13
|
+
}
|
|
14
|
+
export declare const GetWebhookDeliveryRepository: typeof GetWebhookDeliveryRepositoryImpl & {
|
|
15
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetWebhookDeliveryRepository>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
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 { WebhookDeliveryTransformer } from "../Transformers/abstractions/WebhookDeliveryTransformer.js";
|
|
5
|
+
import { GetWebhookDeliveryRepository } from "./abstractions.js";
|
|
6
|
+
import { WebhookDeliveryNotFoundError, WebhookModelNotFoundError, WebhookPersistenceError } from "../../domain/errors.js";
|
|
7
|
+
import { WEBHOOK_DELIVERY_MODEL_ID } from "../../domain/constants.js";
|
|
8
|
+
class GetWebhookDeliveryRepositoryImpl {
|
|
9
|
+
constructor(getModelRepository, getLatestRevisionRepository, transformer){
|
|
10
|
+
this.getModelRepository = getModelRepository;
|
|
11
|
+
this.getLatestRevisionRepository = getLatestRevisionRepository;
|
|
12
|
+
this.transformer = transformer;
|
|
13
|
+
}
|
|
14
|
+
async execute(id) {
|
|
15
|
+
try {
|
|
16
|
+
const modelResult = await this.getModelRepository.execute(WEBHOOK_DELIVERY_MODEL_ID);
|
|
17
|
+
if (modelResult.isFail()) return Result.fail(new WebhookModelNotFoundError(WEBHOOK_DELIVERY_MODEL_ID));
|
|
18
|
+
const entryResult = await this.getLatestRevisionRepository.execute(modelResult.value, {
|
|
19
|
+
id
|
|
20
|
+
});
|
|
21
|
+
if (entryResult.isFail()) return Result.fail(new WebhookDeliveryNotFoundError(id));
|
|
22
|
+
const delivery = this.transformer.fromStorage(entryResult.value);
|
|
23
|
+
return Result.ok(delivery);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
return Result.fail(WebhookPersistenceError.from(error));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const GetWebhookDeliveryRepository_GetWebhookDeliveryRepository = GetWebhookDeliveryRepository.createImplementation({
|
|
30
|
+
implementation: GetWebhookDeliveryRepositoryImpl,
|
|
31
|
+
dependencies: [
|
|
32
|
+
GetModelRepository,
|
|
33
|
+
GetLatestRevisionByEntryIdRepository,
|
|
34
|
+
WebhookDeliveryTransformer
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
export { GetWebhookDeliveryRepository_GetWebhookDeliveryRepository as GetWebhookDeliveryRepository };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=GetWebhookDeliveryRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.js","sources":["../../../../src/api/features/GetWebhookDelivery/GetWebhookDeliveryRepository.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 { WebhookDeliveryTransformer } from \"~/api/features/Transformers/abstractions/WebhookDeliveryTransformer.js\";\nimport { GetWebhookDeliveryRepository 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 {\n WebhookDelivery,\n WebhookDeliveryCmsEntryValues\n} from \"~/api/domain/WebhookDelivery.js\";\n\nclass GetWebhookDeliveryRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly transformer: WebhookDeliveryTransformer.Interface\n ) {}\n\n async execute(id: string): 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 delivery = this.transformer.fromStorage(entryResult.value);\n\n return Result.ok(delivery);\n } catch (error) {\n return Result.fail(WebhookPersistenceError.from(error));\n }\n }\n}\n\nexport const GetWebhookDeliveryRepository = RepositoryAbstraction.createImplementation({\n implementation: GetWebhookDeliveryRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetLatestRevisionByEntryIdRepository,\n WebhookDeliveryTransformer\n ]\n});\n"],"names":["GetWebhookDeliveryRepositoryImpl","getModelRepository","getLatestRevisionRepository","transformer","id","modelResult","WEBHOOK_DELIVERY_MODEL_ID","Result","WebhookModelNotFoundError","entryResult","WebhookDeliveryNotFoundError","delivery","error","WebhookPersistenceError","GetWebhookDeliveryRepository","RepositoryAbstraction","GetModelRepository","GetLatestRevisionByEntryIdRepository","WebhookDeliveryTransformer"],"mappings":";;;;;;;AAgBA,MAAMA;IACF,YACqBC,kBAAgD,EAChDC,2BAA2E,EAC3EC,WAAiD,CACpE;aAHmBF,kBAAkB,GAAlBA;aACAC,2BAA2B,GAA3BA;aACAC,WAAW,GAAXA;IAClB;IAEH,MAAM,QAAQC,EAAU,EAAiE;QACrF,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;gBAAED;YAAG;YAGb,IAAIK,YAAY,MAAM,IAClB,OAAOF,OAAO,IAAI,CAAC,IAAIG,6BAA6BN;YAGxD,MAAMO,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,CAACF,YAAY,KAAK;YAE/D,OAAOF,OAAO,EAAE,CAACI;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOL,OAAO,IAAI,CAACM,wBAAwB,IAAI,CAACD;QACpD;IACJ;AACJ;AAEO,MAAME,4DAA+BC,6BAAAA,oBAA0C,CAAC;IACnF,gBAAgBf;IAChB,cAAc;QACVgB;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Result as ResultType } from "@webiny/feature/api";
|
|
2
|
+
import { GetWebhookDeliveryUseCase as UseCaseAbstraction, GetWebhookDeliveryRepository } from "./abstractions.js";
|
|
3
|
+
import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
|
|
4
|
+
import type { WebhookDelivery } from "../../../api/domain/WebhookDelivery.js";
|
|
5
|
+
declare class GetWebhookDeliveryUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private permissions;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(permissions: WebhookPermissions.Interface, repository: GetWebhookDeliveryRepository.Interface);
|
|
9
|
+
execute(id: string): Promise<ResultType<WebhookDelivery, UseCaseAbstraction.Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const GetWebhookDeliveryUseCase: typeof GetWebhookDeliveryUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetWebhookDeliveryUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { GetWebhookDeliveryRepository, GetWebhookDeliveryUseCase } from "./abstractions.js";
|
|
3
|
+
import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
|
|
4
|
+
import { WebhookNotAuthorizedError } from "../../domain/errors.js";
|
|
5
|
+
class GetWebhookDeliveryUseCaseImpl {
|
|
6
|
+
constructor(permissions, repository){
|
|
7
|
+
this.permissions = permissions;
|
|
8
|
+
this.repository = repository;
|
|
9
|
+
}
|
|
10
|
+
async execute(id) {
|
|
11
|
+
if (!await this.permissions.canRead("webhook")) return Result.fail(new WebhookNotAuthorizedError());
|
|
12
|
+
return this.repository.execute(id);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const GetWebhookDeliveryUseCase_GetWebhookDeliveryUseCase = GetWebhookDeliveryUseCase.createImplementation({
|
|
16
|
+
implementation: GetWebhookDeliveryUseCaseImpl,
|
|
17
|
+
dependencies: [
|
|
18
|
+
WebhookPermissions,
|
|
19
|
+
GetWebhookDeliveryRepository
|
|
20
|
+
]
|
|
21
|
+
});
|
|
22
|
+
export { GetWebhookDeliveryUseCase_GetWebhookDeliveryUseCase as GetWebhookDeliveryUseCase };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=GetWebhookDeliveryUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.js","sources":["../../../../src/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.ts"],"sourcesContent":["import { Result, type Result as ResultType } from \"@webiny/feature/api\";\nimport {\n GetWebhookDeliveryUseCase as UseCaseAbstraction,\n GetWebhookDeliveryRepository\n} from \"./abstractions.js\";\nimport { WebhookPermissions } from \"~/api/features/WebhookPermissions/abstractions.js\";\nimport { WebhookNotAuthorizedError } from \"~/api/domain/errors.js\";\nimport type { WebhookDelivery } from \"~/api/domain/WebhookDelivery.js\";\n\nclass GetWebhookDeliveryUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private permissions: WebhookPermissions.Interface,\n private repository: GetWebhookDeliveryRepository.Interface\n ) {}\n\n async execute(id: string): Promise<ResultType<WebhookDelivery, UseCaseAbstraction.Error>> {\n if (!(await this.permissions.canRead(\"webhook\"))) {\n return Result.fail(new WebhookNotAuthorizedError());\n }\n return this.repository.execute(id);\n }\n}\n\nexport const GetWebhookDeliveryUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetWebhookDeliveryUseCaseImpl,\n dependencies: [WebhookPermissions, GetWebhookDeliveryRepository]\n});\n"],"names":["GetWebhookDeliveryUseCaseImpl","permissions","repository","id","Result","WebhookNotAuthorizedError","GetWebhookDeliveryUseCase","UseCaseAbstraction","WebhookPermissions","GetWebhookDeliveryRepository"],"mappings":";;;;AASA,MAAMA;IACF,YACYC,WAAyC,EACzCC,UAAkD,CAC5D;aAFUD,WAAW,GAAXA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAkE;QACtF,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YACjC,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACF;IACnC;AACJ;AAEO,MAAMG,sDAA4BC,0BAAAA,oBAAuC,CAAC;IAC7E,gBAAgBP;IAChB,cAAc;QAACQ;QAAoBC;KAA6B;AACpE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type Result } from "@webiny/feature/api";
|
|
2
|
+
import type { WebhookDelivery } from "../../../api/domain/WebhookDelivery.js";
|
|
3
|
+
import type { WebhookDeliveryNotFoundError, WebhookPersistenceError, WebhookModelNotFoundError, WebhookNotAuthorizedError } from "../../../api/domain/errors.js";
|
|
4
|
+
type IError = WebhookDeliveryNotFoundError | WebhookPersistenceError | WebhookModelNotFoundError | WebhookNotAuthorizedError;
|
|
5
|
+
export interface IGetWebhookDeliveryUseCase {
|
|
6
|
+
execute(id: string): Promise<Result<WebhookDelivery, IError>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const GetWebhookDeliveryUseCase: import("@webiny/di").Abstraction<IGetWebhookDeliveryUseCase>;
|
|
9
|
+
export declare namespace GetWebhookDeliveryUseCase {
|
|
10
|
+
type Interface = IGetWebhookDeliveryUseCase;
|
|
11
|
+
type Error = IError;
|
|
12
|
+
}
|
|
13
|
+
export interface IGetWebhookDeliveryRepository {
|
|
14
|
+
execute(id: string): Promise<Result<WebhookDelivery, IError>>;
|
|
15
|
+
}
|
|
16
|
+
export declare const GetWebhookDeliveryRepository: import("@webiny/di").Abstraction<IGetWebhookDeliveryRepository>;
|
|
17
|
+
export declare namespace GetWebhookDeliveryRepository {
|
|
18
|
+
type Interface = IGetWebhookDeliveryRepository;
|
|
19
|
+
type Error = IError;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const GetWebhookDeliveryUseCase = createAbstraction("Webhooks/GetWebhookDeliveryUseCase");
|
|
3
|
+
const GetWebhookDeliveryRepository = createAbstraction("Webhooks/GetWebhookDeliveryRepository");
|
|
4
|
+
export { GetWebhookDeliveryRepository, GetWebhookDeliveryUseCase };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhookDelivery/abstractions.js","sources":["../../../../src/api/features/GetWebhookDelivery/abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { WebhookDelivery } from \"~/api/domain/WebhookDelivery.js\";\nimport type {\n WebhookDeliveryNotFoundError,\n WebhookPersistenceError,\n WebhookModelNotFoundError,\n WebhookNotAuthorizedError\n} from \"~/api/domain/errors.js\";\n\ntype IError =\n | WebhookDeliveryNotFoundError\n | WebhookPersistenceError\n | WebhookModelNotFoundError\n | WebhookNotAuthorizedError;\n\nexport interface IGetWebhookDeliveryUseCase {\n execute(id: string): Promise<Result<WebhookDelivery, IError>>;\n}\n\nexport const GetWebhookDeliveryUseCase = createAbstraction<IGetWebhookDeliveryUseCase>(\n \"Webhooks/GetWebhookDeliveryUseCase\"\n);\n\nexport namespace GetWebhookDeliveryUseCase {\n export type Interface = IGetWebhookDeliveryUseCase;\n export type Error = IError;\n}\n\nexport interface IGetWebhookDeliveryRepository {\n execute(id: string): Promise<Result<WebhookDelivery, IError>>;\n}\n\nexport const GetWebhookDeliveryRepository = createAbstraction<IGetWebhookDeliveryRepository>(\n \"Webhooks/GetWebhookDeliveryRepository\"\n);\n\nexport namespace GetWebhookDeliveryRepository {\n export type Interface = IGetWebhookDeliveryRepository;\n export type Error = IError;\n}\n"],"names":["GetWebhookDeliveryUseCase","createAbstraction","GetWebhookDeliveryRepository"],"mappings":";AAmBO,MAAMA,4BAA4BC,kBACrC;AAYG,MAAMC,+BAA+BD,kBACxC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { GetWebhookDeliveryUseCase } from "./GetWebhookDeliveryUseCase.js";
|
|
3
|
+
import { GetWebhookDeliveryRepository } from "./GetWebhookDeliveryRepository.js";
|
|
4
|
+
const GetWebhookDeliveryFeature = createFeature({
|
|
5
|
+
name: "GetWebhookDelivery",
|
|
6
|
+
register (container) {
|
|
7
|
+
container.register(GetWebhookDeliveryUseCase);
|
|
8
|
+
container.register(GetWebhookDeliveryRepository).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { GetWebhookDeliveryFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api/features/GetWebhookDelivery/feature.js","sources":["../../../../src/api/features/GetWebhookDelivery/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetWebhookDeliveryUseCase } from \"./GetWebhookDeliveryUseCase.js\";\nimport { GetWebhookDeliveryRepository } from \"./GetWebhookDeliveryRepository.js\";\n\nexport const GetWebhookDeliveryFeature = createFeature({\n name: \"GetWebhookDelivery\",\n register(container) {\n container.register(GetWebhookDeliveryUseCase);\n container.register(GetWebhookDeliveryRepository).inSingletonScope();\n }\n});\n"],"names":["GetWebhookDeliveryFeature","createFeature","container","GetWebhookDeliveryUseCase","GetWebhookDeliveryRepository"],"mappings":";;;AAIO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,8BAA8B,gBAAgB;IACrE;AACJ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { ListAvailableWebhookEventsUseCase as UseCaseAbstraction } from "./abstractions.js";
|
|
3
|
+
import { WebhookPermissions } from "../../../api/features/WebhookPermissions/abstractions.js";
|
|
4
|
+
import { WebhookProvider } from "@webiny/api-core/features/webhooks/index.js";
|
|
5
|
+
declare class ListAvailableWebhookEventsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
6
|
+
private readonly provider;
|
|
7
|
+
private readonly permissions;
|
|
8
|
+
constructor(provider: WebhookProvider.Interface, permissions: WebhookPermissions.Interface);
|
|
9
|
+
execute(): Promise<Result<WebhookProvider.Response, Error>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const ListAvailableWebhookEventsUseCase: typeof ListAvailableWebhookEventsUseCaseImpl & {
|
|
12
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListAvailableWebhookEventsUseCase>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Result } from "@webiny/feature/api";
|
|
2
|
+
import { ListAvailableWebhookEventsUseCase } from "./abstractions.js";
|
|
3
|
+
import { WebhookPermissions } from "../WebhookPermissions/abstractions.js";
|
|
4
|
+
import { WebhookNotAuthorizedError } from "../../domain/errors.js";
|
|
5
|
+
import { WebhookProvider } from "@webiny/api-core/features/webhooks/index.js";
|
|
6
|
+
class ListAvailableWebhookEventsUseCaseImpl {
|
|
7
|
+
constructor(provider, permissions){
|
|
8
|
+
this.provider = provider;
|
|
9
|
+
this.permissions = permissions;
|
|
10
|
+
}
|
|
11
|
+
async execute() {
|
|
12
|
+
if (!await this.permissions.canRead("webhook")) return Result.fail(new WebhookNotAuthorizedError());
|
|
13
|
+
try {
|
|
14
|
+
const events = await this.provider.execute();
|
|
15
|
+
return Result.ok(events);
|
|
16
|
+
} catch (ex) {
|
|
17
|
+
return Result.fail(ex);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const ListAvailableWebhookEventsUseCase_ListAvailableWebhookEventsUseCase = ListAvailableWebhookEventsUseCase.createImplementation({
|
|
22
|
+
implementation: ListAvailableWebhookEventsUseCaseImpl,
|
|
23
|
+
dependencies: [
|
|
24
|
+
WebhookProvider,
|
|
25
|
+
WebhookPermissions
|
|
26
|
+
]
|
|
27
|
+
});
|
|
28
|
+
export { ListAvailableWebhookEventsUseCase_ListAvailableWebhookEventsUseCase as ListAvailableWebhookEventsUseCase };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=ListAvailableWebhookEventsUseCase.js.map
|