@webiny/webhooks 6.4.0-beta.2 → 6.4.0-beta.4
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/admin/WebhookRoutes.js +32 -3
- package/admin/WebhookRoutes.js.map +1 -1
- package/admin/Webhooks.js +10 -2
- package/admin/Webhooks.js.map +1 -1
- 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/listWebhookDeliveries/ListWebhookDeliveriesGateway.js +1 -1
- package/admin/features/listWebhookDeliveries/ListWebhookDeliveriesGateway.js.map +1 -1
- package/admin/features/listWebhookDeliveries/abstractions.d.ts +6 -1
- package/admin/features/listWebhookDeliveries/abstractions.js.map +1 -1
- 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/presentation/{WebhookDeliveries → WebhookDeliveriesPage}/WebhookDeliveriesDataSource.d.ts +1 -2
- package/admin/presentation/{WebhookDeliveries → WebhookDeliveriesPage}/WebhookDeliveriesDataSource.js +5 -7
- package/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesDataSource.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.d.ts +41 -0
- package/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.js +223 -0
- package/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/abstractions.d.ts +42 -0
- package/admin/presentation/WebhookDeliveriesPage/abstractions.js +5 -0
- package/admin/presentation/WebhookDeliveriesPage/abstractions.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryAccordionRow.d.ts +11 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryAccordionRow.js +36 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryAccordionRow.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/DeliveryDetailContent.d.ts +7 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryDetailContent.js +76 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryDetailContent.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryFilters.d.ts +9 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryFilters.js +85 -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 +61 -0
- package/admin/presentation/WebhookDeliveriesPage/components/DeliveryList.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDefinitionsButton.d.ts +2 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDefinitionsButton.js +16 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDefinitionsButton.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDeliveriesPage.d.ts +2 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDeliveriesPage.js +73 -0
- package/admin/presentation/WebhookDeliveriesPage/components/WebhookDeliveriesPage.js.map +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/statusVariant.d.ts +1 -0
- package/admin/presentation/WebhookDeliveriesPage/components/statusVariant.js +13 -0
- package/admin/presentation/WebhookDeliveriesPage/components/statusVariant.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 +9 -5
- package/admin/presentation/WebhookForm/WebhookFormPresenter.js +144 -60
- package/admin/presentation/WebhookForm/WebhookFormPresenter.js.map +1 -1
- package/admin/presentation/WebhookForm/abstractions.d.ts +2 -13
- package/admin/presentation/WebhookForm/abstractions.js.map +1 -1
- package/admin/presentation/WebhookForm/components/SigningSecret.d.ts +5 -2
- package/admin/presentation/WebhookForm/components/SigningSecret.js +7 -3
- package/admin/presentation/WebhookForm/components/SigningSecret.js.map +1 -1
- package/admin/presentation/WebhookForm/components/WebhookFormView.js +49 -41
- package/admin/presentation/WebhookForm/components/WebhookFormView.js.map +1 -1
- package/admin/presentation/WebhookList/WebhookListPresenter.d.ts +26 -2
- package/admin/presentation/WebhookList/WebhookListPresenter.js +36 -34
- package/admin/presentation/WebhookList/WebhookListPresenter.js.map +1 -1
- package/admin/presentation/WebhookList/abstractions.d.ts +25 -7
- package/admin/presentation/WebhookList/abstractions.js.map +1 -1
- 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/WebhookDeliveriesButton.d.ts +2 -0
- package/admin/presentation/WebhookList/components/WebhookDeliveriesButton.js +16 -0
- package/admin/presentation/WebhookList/components/WebhookDeliveriesButton.js.map +1 -0
- package/admin/presentation/WebhookList/components/WebhookListContent.d.ts +9 -0
- package/admin/presentation/WebhookList/components/WebhookListContent.js +170 -0
- package/admin/presentation/WebhookList/components/WebhookListContent.js.map +1 -0
- package/admin/presentation/WebhookList/components/WebhookListView.js +10 -133
- package/admin/presentation/WebhookList/components/WebhookListView.js.map +1 -1
- package/admin/presentation/WebhookSettings/WebhookSettingsPresenter.d.ts +21 -0
- package/admin/presentation/WebhookSettings/WebhookSettingsPresenter.js +91 -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/routes.d.ts +4 -0
- package/admin/routes.js +11 -0
- package/admin/routes.js.map +1 -1
- package/admin/shared/types.d.ts +4 -0
- package/api/WebhooksFeature.js +10 -0
- package/api/WebhooksFeature.js.map +1 -1
- package/api/domain/WebhookDelivery.d.ts +0 -1
- package/api/domain/WebhookSettings.d.ts +4 -0
- package/api/domain/WebhookSettings.js +0 -0
- package/api/domain/constants.d.ts +2 -1
- package/api/domain/constants.js +3 -2
- package/api/domain/constants.js.map +1 -1
- package/api/domain/errors.d.ts +7 -2
- package/api/domain/errors.js +16 -3
- package/api/domain/errors.js.map +1 -1
- package/api/features/CreateWebhook/CreateWebhookUseCase.d.ts +3 -3
- package/api/features/CreateWebhook/CreateWebhookUseCase.js +10 -19
- package/api/features/CreateWebhook/CreateWebhookUseCase.js.map +1 -1
- package/api/features/CreateWebhook/abstractions.d.ts +1 -1
- package/api/features/CreateWebhook/abstractions.js.map +1 -1
- 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 +1 -1
- package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.js +3 -1
- package/api/features/CreateWebhookDelivery/CreateWebhookDeliveryRepository.js.map +1 -1
- package/api/features/CreateWebhookDelivery/abstractions.d.ts +1 -1
- package/api/features/CreateWebhookDelivery/abstractions.js.map +1 -1
- package/api/features/DeleteWebhook/DeleteWebhookUseCase.d.ts +3 -3
- package/api/features/DeleteWebhook/DeleteWebhookUseCase.js +8 -3
- package/api/features/DeleteWebhook/DeleteWebhookUseCase.js.map +1 -1
- package/api/features/DeleteWebhook/abstractions.d.ts +2 -2
- package/api/features/DeleteWebhook/abstractions.js.map +1 -1
- 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/GetWebhookUseCase.d.ts +2 -2
- package/api/features/GetWebhook/GetWebhookUseCase.js +7 -2
- package/api/features/GetWebhook/GetWebhookUseCase.js.map +1 -1
- package/api/features/GetWebhook/abstractions.d.ts +2 -2
- package/api/features/GetWebhook/abstractions.js.map +1 -1
- 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/GetWebhookDeliveryUseCase.d.ts +2 -2
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.js +7 -2
- package/api/features/GetWebhookDelivery/GetWebhookDeliveryUseCase.js.map +1 -1
- package/api/features/GetWebhookDelivery/abstractions.d.ts +2 -2
- package/api/features/GetWebhookDelivery/abstractions.js.map +1 -1
- 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/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.d.ts +2 -2
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.js +4 -1
- package/api/features/ListWebhookDeliveries/ListWebhookDeliveriesUseCase.js.map +1 -1
- package/api/features/ListWebhookDeliveries/abstractions.d.ts +2 -2
- package/api/features/ListWebhookDeliveries/abstractions.js.map +1 -1
- 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/ListWebhooksUseCase.d.ts +2 -2
- package/api/features/ListWebhooks/ListWebhooksUseCase.js +4 -1
- package/api/features/ListWebhooks/ListWebhooksUseCase.js.map +1 -1
- package/api/features/ListWebhooks/abstractions.d.ts +2 -2
- package/api/features/ListWebhooks/abstractions.js.map +1 -1
- 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 +8 -6
- package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.js +16 -6
- package/api/features/ResendWebhookDelivery/ResendWebhookDeliveryUseCase.js.map +1 -1
- package/api/features/ResendWebhookDelivery/abstractions.d.ts +2 -2
- package/api/features/ResendWebhookDelivery/abstractions.js.map +1 -1
- 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 +7 -3
- package/api/features/SendWebhookTask/SendWebhookTask.js +46 -34
- package/api/features/SendWebhookTask/SendWebhookTask.js.map +1 -1
- package/api/features/SendWebhookTask/types.d.ts +1 -0
- package/api/features/TriggerWebhook/TriggerWebhookUseCase.d.ts +3 -1
- package/api/features/TriggerWebhook/TriggerWebhookUseCase.js +17 -6
- package/api/features/TriggerWebhook/TriggerWebhookUseCase.js.map +1 -1
- package/api/features/TriggerWebhook/abstractions.d.ts +2 -2
- package/api/features/TriggerWebhook/abstractions.js.map +1 -1
- 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/UpdateWebhookUseCase.d.ts +4 -4
- package/api/features/UpdateWebhook/UpdateWebhookUseCase.js +9 -33
- package/api/features/UpdateWebhook/UpdateWebhookUseCase.js.map +1 -1
- package/api/features/UpdateWebhook/abstractions.d.ts +0 -1
- package/api/features/UpdateWebhook/abstractions.js.map +1 -1
- 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/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 +3 -1
- package/api/features/WebhookDispatcher/WebhookDispatcher.js +9 -4
- package/api/features/WebhookDispatcher/WebhookDispatcher.js.map +1 -1
- package/api/features/WebhookSignPayload/WebhookSignPayload.d.ts +1 -0
- package/api/features/WebhookSignPayload/WebhookSignPayload.js +7 -1
- package/api/features/WebhookSignPayload/WebhookSignPayload.js.map +1 -1
- package/api/graphql/WebhookCrudSchema.js +1 -2
- package/api/graphql/WebhookCrudSchema.js.map +1 -1
- package/api/graphql/WebhookDeliverySchema.js +12 -8
- package/api/graphql/WebhookDeliverySchema.js.map +1 -1
- package/api/graphql/WebhookEventSchema.js +2 -0
- package/api/graphql/WebhookEventSchema.js.map +1 -1
- 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/models/WebhookDeliveryModel.js +4 -4
- package/api/models/WebhookDeliveryModel.js.map +1 -1
- package/api/models/WebhookModel.js +1 -1
- package/api/models/WebhookModel.js.map +1 -1
- 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/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 +0 -1
- package/exports/api/webhooks.js +0 -1
- package/package.json +27 -23
- package/admin/SecurityPermission.d.ts +0 -2
- package/admin/SecurityPermission.js +0 -15
- package/admin/SecurityPermission.js.map +0 -1
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesDataSource.js.map +0 -1
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.d.ts +0 -19
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js +0 -77
- package/admin/presentation/WebhookDeliveries/WebhookDeliveriesPresenter.js.map +0 -1
- package/admin/presentation/WebhookDeliveries/abstractions.d.ts +0 -22
- package/admin/presentation/WebhookDeliveries/abstractions.js +0 -5
- package/admin/presentation/WebhookDeliveries/abstractions.js.map +0 -1
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.d.ts +0 -11
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.js +0 -73
- package/admin/presentation/WebhookDeliveries/components/DeliveryDetail.js.map +0 -1
- package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.d.ts +0 -8
- package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.js +0 -119
- package/admin/presentation/WebhookDeliveries/components/WebhookDeliveriesDrawer.js.map +0 -1
- package/admin/presentation/WebhookDeliveries/feature.d.ts +0 -3
- package/admin/presentation/WebhookDeliveries/feature.js +0 -17
- package/admin/presentation/WebhookDeliveries/feature.js.map +0 -1
- package/admin/presentation/WebhookDeliveries/index.d.ts +0 -2
- package/admin/presentation/WebhookDeliveries/index.js +0 -2
- package/admin/presentation/WebhookForm/components/EventsSelector.d.ts +0 -12
- package/admin/presentation/WebhookForm/components/EventsSelector.js +0 -44
- package/admin/presentation/WebhookForm/components/EventsSelector.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesDataSource.js","sources":["../../../../src/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesDataSource.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport type {\n IDataSource,\n IDataSourceQuery,\n IDataSourceMeta\n} from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\nimport type {\n IListWebhookDeliveriesUseCase,\n ListWebhookDeliveriesWhere\n} from \"~/admin/features/listWebhookDeliveries/abstractions.js\";\n\nexport class WebhookDeliveriesDataSource implements IDataSource<WebhookDelivery> {\n private _rows: WebhookDelivery[] = [];\n private _meta: IDataSourceMeta = { cursor: null, hasMoreItems: false, totalCount: 0 };\n private _loading = false;\n\n constructor(private readonly listDeliveriesUseCase: IListWebhookDeliveriesUseCase) {\n makeAutoObservable<WebhookDeliveriesDataSource, \"listDeliveriesUseCase\">(this, {\n listDeliveriesUseCase: false\n });\n }\n\n get rows(): WebhookDelivery[] {\n return this._rows;\n }\n\n get meta(): IDataSourceMeta {\n return this._meta;\n }\n\n get loading(): boolean {\n return this._loading;\n }\n\n async query(params: IDataSourceQuery): Promise<void> {\n this._loading = true;\n const result = await this.listDeliveriesUseCase.execute({\n where: (params.filters ?? {}) as ListWebhookDeliveriesWhere,\n limit: params.limit,\n after: params.cursor\n });\n runInAction(() => {\n this._rows = result.data;\n this._meta = {\n cursor: result.meta.cursor,\n hasMoreItems: result.meta.hasMoreItems,\n totalCount: result.meta.totalCount\n };\n this._loading = false;\n });\n }\n\n async loadMore(params: IDataSourceQuery): Promise<void> {\n if (!this._meta.hasMoreItems || this._loading) {\n return;\n }\n this._loading = true;\n const result = await this.listDeliveriesUseCase.execute({\n where: (params.filters ?? {}) as ListWebhookDeliveriesWhere,\n limit: params.limit,\n after: this._meta.cursor ?? undefined\n });\n runInAction(() => {\n this._rows = [...this._rows, ...result.data];\n this._meta = {\n cursor: result.meta.cursor,\n hasMoreItems: result.meta.hasMoreItems,\n totalCount: result.meta.totalCount\n };\n this._loading = false;\n });\n }\n}\n"],"names":["WebhookDeliveriesDataSource","listDeliveriesUseCase","makeAutoObservable","params","result","runInAction","undefined"],"mappings":";AAYO,MAAMA;IAKT,YAA6BC,qBAAoD,CAAE;aAAtDA,qBAAqB,GAArBA;aAJrB,KAAK,GAAsB,EAAE;aAC7B,KAAK,GAAoB;YAAE,QAAQ;YAAM,cAAc;YAAO,YAAY;QAAE;aAC5E,QAAQ,GAAG;QAGfC,mBAAyE,IAAI,EAAE;YAC3E,uBAAuB;QAC3B;IACJ;IAEA,IAAI,OAA0B;QAC1B,OAAO,IAAI,CAAC,KAAK;IACrB;IAEA,IAAI,OAAwB;QACxB,OAAO,IAAI,CAAC,KAAK;IACrB;IAEA,IAAI,UAAmB;QACnB,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,MAAM,MAAMC,MAAwB,EAAiB;QACjD,IAAI,CAAC,QAAQ,GAAG;QAChB,MAAMC,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACpD,OAAQD,OAAO,OAAO,IAAI,CAAC;YAC3B,OAAOA,OAAO,KAAK;YACnB,OAAOA,OAAO,MAAM;QACxB;QACAE,YAAY;YACR,IAAI,CAAC,KAAK,GAAGD,OAAO,IAAI;YACxB,IAAI,CAAC,KAAK,GAAG;gBACT,QAAQA,OAAO,IAAI,CAAC,MAAM;gBAC1B,cAAcA,OAAO,IAAI,CAAC,YAAY;gBACtC,YAAYA,OAAO,IAAI,CAAC,UAAU;YACtC;YACA,IAAI,CAAC,QAAQ,GAAG;QACpB;IACJ;IAEA,MAAM,SAASD,MAAwB,EAAiB;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EACzC;QAEJ,IAAI,CAAC,QAAQ,GAAG;QAChB,MAAMC,SAAS,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACpD,OAAQD,OAAO,OAAO,IAAI,CAAC;YAC3B,OAAOA,OAAO,KAAK;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAIG;QAChC;QACAD,YAAY;YACR,IAAI,CAAC,KAAK,GAAG;mBAAI,IAAI,CAAC,KAAK;mBAAKD,OAAO,IAAI;aAAC;YAC5C,IAAI,CAAC,KAAK,GAAG;gBACT,QAAQA,OAAO,IAAI,CAAC,MAAM;gBAC1B,cAAcA,OAAO,IAAI,CAAC,YAAY;gBACtC,YAAYA,OAAO,IAAI,CAAC,UAAU;YACtC;YACA,IAAI,CAAC,QAAQ,GAAG;QACpB;IACJ;AACJ"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ListPresenter } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
|
|
2
|
+
import type { WebhookDelivery } from "../../../admin/shared/types.js";
|
|
3
|
+
import { ListWebhookDeliveriesUseCase } from "../../../admin/features/listWebhookDeliveries/abstractions.js";
|
|
4
|
+
import { ResendWebhookDeliveryUseCase } from "../../../admin/features/resendWebhookDelivery/abstractions.js";
|
|
5
|
+
import { ListAvailableEventsUseCase } from "../../../admin/features/listAvailableEvents/abstractions.js";
|
|
6
|
+
import { ListWebhooksUseCase } from "../../../admin/features/ListWebhooks/abstractions.js";
|
|
7
|
+
import { type IWebhookDeliveriesPagePresenter, type IWebhookDeliveriesPageViewModel } from "./abstractions.js";
|
|
8
|
+
declare class WebhookDeliveriesPagePresenterImpl implements IWebhookDeliveriesPagePresenter {
|
|
9
|
+
private readonly listPresenter;
|
|
10
|
+
private readonly listDeliveriesUseCase;
|
|
11
|
+
private readonly listAvailableEventsUseCase;
|
|
12
|
+
private readonly resendDeliveryUseCase;
|
|
13
|
+
private readonly listWebhooksUseCase;
|
|
14
|
+
private _availableEvents;
|
|
15
|
+
private _availableWebhooks;
|
|
16
|
+
private _filters;
|
|
17
|
+
private _resendingIds;
|
|
18
|
+
private _loading;
|
|
19
|
+
private _error;
|
|
20
|
+
constructor(listPresenter: ListPresenter.Interface<WebhookDelivery>, listDeliveriesUseCase: ListWebhookDeliveriesUseCase.Interface, listAvailableEventsUseCase: ListAvailableEventsUseCase.Interface, resendDeliveryUseCase: ResendWebhookDeliveryUseCase.Interface, listWebhooksUseCase: ListWebhooksUseCase.Interface);
|
|
21
|
+
get vm(): IWebhookDeliveriesPageViewModel;
|
|
22
|
+
init(webhookId?: string): Promise<void>;
|
|
23
|
+
clearFilters(): void;
|
|
24
|
+
setWebhookFilter(webhookId: string | null): void;
|
|
25
|
+
setAppFilter(app: string | null): void;
|
|
26
|
+
setEntityFilter(entity: string | null): void;
|
|
27
|
+
setEventFilter(eventName: string | null): void;
|
|
28
|
+
setStatusFilter(status: string[]): void;
|
|
29
|
+
loadMore(): Promise<void>;
|
|
30
|
+
resend(id: string): Promise<void>;
|
|
31
|
+
private _hasFilters;
|
|
32
|
+
private _syncFilters;
|
|
33
|
+
private _buildWhere;
|
|
34
|
+
private _computeAvailableApps;
|
|
35
|
+
private _computeAvailableEntities;
|
|
36
|
+
private _computeAvailableEventNames;
|
|
37
|
+
}
|
|
38
|
+
export declare const WebhookDeliveriesPagePresenter: typeof WebhookDeliveriesPagePresenterImpl & {
|
|
39
|
+
__abstraction: import("@webiny/di").Abstraction<IWebhookDeliveriesPagePresenter>;
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { computed, makeAutoObservable, runInAction } from "mobx";
|
|
2
|
+
import { ListPresenter } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
|
|
3
|
+
import { ListWebhookDeliveriesUseCase } from "../../features/listWebhookDeliveries/abstractions.js";
|
|
4
|
+
import { ResendWebhookDeliveryUseCase } from "../../features/resendWebhookDelivery/abstractions.js";
|
|
5
|
+
import { ListAvailableEventsUseCase } from "../../features/listAvailableEvents/abstractions.js";
|
|
6
|
+
import { ListWebhooksUseCase } from "../../features/ListWebhooks/abstractions.js";
|
|
7
|
+
import { WebhookDeliveriesDataSource } from "./WebhookDeliveriesDataSource.js";
|
|
8
|
+
import { WebhookDeliveriesPagePresenter } from "./abstractions.js";
|
|
9
|
+
const createEmptyFilters = ()=>({
|
|
10
|
+
webhookId: null,
|
|
11
|
+
app: null,
|
|
12
|
+
entity: null,
|
|
13
|
+
eventName: null,
|
|
14
|
+
status: []
|
|
15
|
+
});
|
|
16
|
+
class WebhookDeliveriesPagePresenterImpl {
|
|
17
|
+
constructor(listPresenter, listDeliveriesUseCase, listAvailableEventsUseCase, resendDeliveryUseCase, listWebhooksUseCase){
|
|
18
|
+
this.listPresenter = listPresenter;
|
|
19
|
+
this.listDeliveriesUseCase = listDeliveriesUseCase;
|
|
20
|
+
this.listAvailableEventsUseCase = listAvailableEventsUseCase;
|
|
21
|
+
this.resendDeliveryUseCase = resendDeliveryUseCase;
|
|
22
|
+
this.listWebhooksUseCase = listWebhooksUseCase;
|
|
23
|
+
this._availableEvents = [];
|
|
24
|
+
this._availableWebhooks = [];
|
|
25
|
+
this._filters = createEmptyFilters();
|
|
26
|
+
this._resendingIds = new Set();
|
|
27
|
+
this._loading = false;
|
|
28
|
+
this._error = null;
|
|
29
|
+
makeAutoObservable(this, {
|
|
30
|
+
vm: computed
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
get vm() {
|
|
34
|
+
return {
|
|
35
|
+
availableWebhooks: this._availableWebhooks,
|
|
36
|
+
availableApps: this._computeAvailableApps(),
|
|
37
|
+
availableEntities: this._computeAvailableEntities(),
|
|
38
|
+
availableEventNames: this._computeAvailableEventNames(),
|
|
39
|
+
filters: {
|
|
40
|
+
...this._filters
|
|
41
|
+
},
|
|
42
|
+
hasFilters: this._hasFilters(),
|
|
43
|
+
list: this.listPresenter.vm,
|
|
44
|
+
resendingIds: new Set(this._resendingIds),
|
|
45
|
+
loading: this._loading || this.listPresenter.vm.pagination.loading,
|
|
46
|
+
error: this._error
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async init(webhookId) {
|
|
50
|
+
runInAction(()=>{
|
|
51
|
+
this._loading = true;
|
|
52
|
+
this._error = null;
|
|
53
|
+
if (webhookId) this._filters = {
|
|
54
|
+
...this._filters,
|
|
55
|
+
webhookId
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
try {
|
|
59
|
+
const [events, webhooksResult] = await Promise.all([
|
|
60
|
+
this.listAvailableEventsUseCase.execute(),
|
|
61
|
+
this.listWebhooksUseCase.execute({
|
|
62
|
+
limit: 1000
|
|
63
|
+
})
|
|
64
|
+
]);
|
|
65
|
+
runInAction(()=>{
|
|
66
|
+
this._availableEvents = events;
|
|
67
|
+
this._availableWebhooks = webhooksResult.items.map((w)=>({
|
|
68
|
+
value: w.id,
|
|
69
|
+
label: w.name
|
|
70
|
+
}));
|
|
71
|
+
});
|
|
72
|
+
} catch (err) {
|
|
73
|
+
runInAction(()=>{
|
|
74
|
+
this._error = err instanceof Error ? err.message : "Failed to load data.";
|
|
75
|
+
});
|
|
76
|
+
} finally{
|
|
77
|
+
runInAction(()=>{
|
|
78
|
+
this._loading = false;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const dataSource = new WebhookDeliveriesDataSource(this.listDeliveriesUseCase);
|
|
82
|
+
this.listPresenter.init({
|
|
83
|
+
dataSource,
|
|
84
|
+
initialSort: {
|
|
85
|
+
field: "createdOn",
|
|
86
|
+
direction: "DESC"
|
|
87
|
+
},
|
|
88
|
+
initialFilters: this._buildWhere(),
|
|
89
|
+
limit: 20
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
clearFilters() {
|
|
93
|
+
this._filters = createEmptyFilters();
|
|
94
|
+
this.listPresenter.actions.filter.clearAll();
|
|
95
|
+
}
|
|
96
|
+
setWebhookFilter(webhookId) {
|
|
97
|
+
this._filters = {
|
|
98
|
+
...this._filters,
|
|
99
|
+
webhookId
|
|
100
|
+
};
|
|
101
|
+
this._syncFilters();
|
|
102
|
+
}
|
|
103
|
+
setAppFilter(app) {
|
|
104
|
+
this._filters = {
|
|
105
|
+
...this._filters,
|
|
106
|
+
app,
|
|
107
|
+
entity: null,
|
|
108
|
+
eventName: null
|
|
109
|
+
};
|
|
110
|
+
this._syncFilters();
|
|
111
|
+
}
|
|
112
|
+
setEntityFilter(entity) {
|
|
113
|
+
this._filters = {
|
|
114
|
+
...this._filters,
|
|
115
|
+
entity,
|
|
116
|
+
eventName: null
|
|
117
|
+
};
|
|
118
|
+
this._syncFilters();
|
|
119
|
+
}
|
|
120
|
+
setEventFilter(eventName) {
|
|
121
|
+
this._filters = {
|
|
122
|
+
...this._filters,
|
|
123
|
+
eventName
|
|
124
|
+
};
|
|
125
|
+
this._syncFilters();
|
|
126
|
+
}
|
|
127
|
+
setStatusFilter(status) {
|
|
128
|
+
this._filters = {
|
|
129
|
+
...this._filters,
|
|
130
|
+
status
|
|
131
|
+
};
|
|
132
|
+
this._syncFilters();
|
|
133
|
+
}
|
|
134
|
+
async loadMore() {
|
|
135
|
+
await this.listPresenter.actions.loadMore();
|
|
136
|
+
}
|
|
137
|
+
async resend(id) {
|
|
138
|
+
runInAction(()=>{
|
|
139
|
+
this._resendingIds.add(id);
|
|
140
|
+
});
|
|
141
|
+
try {
|
|
142
|
+
await this.resendDeliveryUseCase.execute(id);
|
|
143
|
+
await this.listPresenter.actions.refresh();
|
|
144
|
+
} finally{
|
|
145
|
+
runInAction(()=>{
|
|
146
|
+
this._resendingIds.delete(id);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
_hasFilters() {
|
|
151
|
+
return null !== this._filters.webhookId || null !== this._filters.app || null !== this._filters.entity || null !== this._filters.eventName || this._filters.status.length > 0;
|
|
152
|
+
}
|
|
153
|
+
_syncFilters() {
|
|
154
|
+
const where = this._buildWhere();
|
|
155
|
+
this.listPresenter.actions.filter.clearAll();
|
|
156
|
+
for (const [key, value] of Object.entries(where))this.listPresenter.actions.filter.set(key, value);
|
|
157
|
+
}
|
|
158
|
+
_buildWhere() {
|
|
159
|
+
const where = {};
|
|
160
|
+
if (this._filters.webhookId) where.webhookId_eq = this._filters.webhookId;
|
|
161
|
+
const { app, entity, eventName } = this._filters;
|
|
162
|
+
if (app || entity || eventName) {
|
|
163
|
+
const matching = this._availableEvents.filter((event)=>{
|
|
164
|
+
if (app && event.app !== app) return false;
|
|
165
|
+
if (entity && event.entity !== entity) return false;
|
|
166
|
+
if (eventName && event.eventName !== eventName) return false;
|
|
167
|
+
return true;
|
|
168
|
+
});
|
|
169
|
+
if (matching.length > 0) where.eventType_in = matching.map((e)=>e.eventName);
|
|
170
|
+
}
|
|
171
|
+
if (this._filters.status.length > 0) where.status_in = this._filters.status;
|
|
172
|
+
return where;
|
|
173
|
+
}
|
|
174
|
+
_computeAvailableApps() {
|
|
175
|
+
const seen = new Set();
|
|
176
|
+
const result = [];
|
|
177
|
+
for (const event of this._availableEvents)if (!seen.has(event.app)) {
|
|
178
|
+
seen.add(event.app);
|
|
179
|
+
result.push({
|
|
180
|
+
value: event.app,
|
|
181
|
+
label: event.appLabel
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
_computeAvailableEntities() {
|
|
187
|
+
if (!this._filters.app) return [];
|
|
188
|
+
const seen = new Set();
|
|
189
|
+
const result = [];
|
|
190
|
+
for (const event of this._availableEvents)if (event.app === this._filters.app && !seen.has(event.entity)) {
|
|
191
|
+
seen.add(event.entity);
|
|
192
|
+
result.push({
|
|
193
|
+
value: event.entity,
|
|
194
|
+
label: event.entityLabel
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return result;
|
|
198
|
+
}
|
|
199
|
+
_computeAvailableEventNames() {
|
|
200
|
+
if (!this._filters.app) return [];
|
|
201
|
+
return this._availableEvents.filter((event)=>{
|
|
202
|
+
if (event.app !== this._filters.app) return false;
|
|
203
|
+
if (this._filters.entity && event.entity !== this._filters.entity) return false;
|
|
204
|
+
return true;
|
|
205
|
+
}).map((event)=>({
|
|
206
|
+
value: event.eventName,
|
|
207
|
+
label: event.label
|
|
208
|
+
}));
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
const WebhookDeliveriesPagePresenter_WebhookDeliveriesPagePresenter = WebhookDeliveriesPagePresenter.createImplementation({
|
|
212
|
+
implementation: WebhookDeliveriesPagePresenterImpl,
|
|
213
|
+
dependencies: [
|
|
214
|
+
ListPresenter,
|
|
215
|
+
ListWebhookDeliveriesUseCase,
|
|
216
|
+
ListAvailableEventsUseCase,
|
|
217
|
+
ResendWebhookDeliveryUseCase,
|
|
218
|
+
ListWebhooksUseCase
|
|
219
|
+
]
|
|
220
|
+
});
|
|
221
|
+
export { WebhookDeliveriesPagePresenter_WebhookDeliveriesPagePresenter as WebhookDeliveriesPagePresenter };
|
|
222
|
+
|
|
223
|
+
//# sourceMappingURL=WebhookDeliveriesPagePresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.js","sources":["../../../../src/admin/presentation/WebhookDeliveriesPage/WebhookDeliveriesPagePresenter.ts"],"sourcesContent":["import { makeAutoObservable, computed, runInAction } from \"mobx\";\nimport { ListPresenter } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { WebhookDelivery, WebhookEvent } from \"~/admin/shared/types.js\";\nimport { ListWebhookDeliveriesUseCase } from \"~/admin/features/listWebhookDeliveries/abstractions.js\";\nimport { ResendWebhookDeliveryUseCase } from \"~/admin/features/resendWebhookDelivery/abstractions.js\";\nimport { ListAvailableEventsUseCase } from \"~/admin/features/listAvailableEvents/abstractions.js\";\nimport { ListWebhooksUseCase } from \"~/admin/features/ListWebhooks/abstractions.js\";\nimport { WebhookDeliveriesDataSource } from \"./WebhookDeliveriesDataSource.js\";\nimport {\n WebhookDeliveriesPagePresenter as Abstraction,\n type IWebhookDeliveriesPagePresenter,\n type IWebhookDeliveriesPageViewModel,\n type IDeliveryFilterOption,\n type IDeliveryPageFilters\n} from \"./abstractions.js\";\n\nconst createEmptyFilters = (): IDeliveryPageFilters => {\n return {\n webhookId: null,\n app: null,\n entity: null,\n eventName: null,\n status: []\n };\n};\n\nclass WebhookDeliveriesPagePresenterImpl implements IWebhookDeliveriesPagePresenter {\n private _availableEvents: WebhookEvent[] = [];\n private _availableWebhooks: IDeliveryFilterOption[] = [];\n private _filters: IDeliveryPageFilters = createEmptyFilters();\n private _resendingIds: Set<string> = new Set();\n private _loading = false;\n private _error: string | null = null;\n\n constructor(\n private readonly listPresenter: ListPresenter.Interface<WebhookDelivery>,\n private readonly listDeliveriesUseCase: ListWebhookDeliveriesUseCase.Interface,\n private readonly listAvailableEventsUseCase: ListAvailableEventsUseCase.Interface,\n private readonly resendDeliveryUseCase: ResendWebhookDeliveryUseCase.Interface,\n private readonly listWebhooksUseCase: ListWebhooksUseCase.Interface\n ) {\n makeAutoObservable(this, { vm: computed });\n }\n\n get vm(): IWebhookDeliveriesPageViewModel {\n return {\n availableWebhooks: this._availableWebhooks,\n availableApps: this._computeAvailableApps(),\n availableEntities: this._computeAvailableEntities(),\n availableEventNames: this._computeAvailableEventNames(),\n filters: { ...this._filters },\n hasFilters: this._hasFilters(),\n list: this.listPresenter.vm,\n resendingIds: new Set(this._resendingIds),\n loading: this._loading || this.listPresenter.vm.pagination.loading,\n error: this._error\n };\n }\n\n public async init(webhookId?: string): Promise<void> {\n runInAction(() => {\n this._loading = true;\n this._error = null;\n if (webhookId) {\n this._filters = { ...this._filters, webhookId };\n }\n });\n try {\n const [events, webhooksResult] = await Promise.all([\n this.listAvailableEventsUseCase.execute(),\n this.listWebhooksUseCase.execute({ limit: 1000 })\n ]);\n runInAction(() => {\n this._availableEvents = events;\n this._availableWebhooks = webhooksResult.items.map(w => ({\n value: w.id,\n label: w.name\n }));\n });\n } catch (err) {\n runInAction(() => {\n this._error = err instanceof Error ? err.message : \"Failed to load data.\";\n });\n } finally {\n runInAction(() => {\n this._loading = false;\n });\n }\n\n const dataSource = new WebhookDeliveriesDataSource(this.listDeliveriesUseCase);\n this.listPresenter.init({\n dataSource,\n initialSort: { field: \"createdOn\", direction: \"DESC\" },\n initialFilters: this._buildWhere(),\n limit: 20\n });\n }\n\n public clearFilters(): void {\n this._filters = createEmptyFilters();\n this.listPresenter.actions.filter.clearAll();\n }\n\n public setWebhookFilter(webhookId: string | null): void {\n this._filters = { ...this._filters, webhookId };\n this._syncFilters();\n }\n\n public setAppFilter(app: string | null): void {\n this._filters = { ...this._filters, app, entity: null, eventName: null };\n this._syncFilters();\n }\n\n public setEntityFilter(entity: string | null): void {\n this._filters = { ...this._filters, entity, eventName: null };\n this._syncFilters();\n }\n\n public setEventFilter(eventName: string | null): void {\n this._filters = { ...this._filters, eventName };\n this._syncFilters();\n }\n\n public setStatusFilter(status: string[]): void {\n this._filters = { ...this._filters, status };\n this._syncFilters();\n }\n\n public async loadMore(): Promise<void> {\n await this.listPresenter.actions.loadMore();\n }\n\n public async resend(id: string): Promise<void> {\n runInAction(() => {\n this._resendingIds.add(id);\n });\n try {\n await this.resendDeliveryUseCase.execute(id);\n await this.listPresenter.actions.refresh();\n } finally {\n runInAction(() => {\n this._resendingIds.delete(id);\n });\n }\n }\n\n private _hasFilters(): boolean {\n return (\n this._filters.webhookId !== null ||\n this._filters.app !== null ||\n this._filters.entity !== null ||\n this._filters.eventName !== null ||\n this._filters.status.length > 0\n );\n }\n\n private _syncFilters(): void {\n const where = this._buildWhere();\n this.listPresenter.actions.filter.clearAll();\n for (const [key, value] of Object.entries(where)) {\n this.listPresenter.actions.filter.set(key, value);\n }\n }\n\n private _buildWhere(): Record<string, unknown> {\n const where: Record<string, unknown> = {};\n\n if (this._filters.webhookId) {\n where.webhookId_eq = this._filters.webhookId;\n }\n\n const { app, entity, eventName } = this._filters;\n\n if (app || entity || eventName) {\n const matching = this._availableEvents.filter(event => {\n if (app && event.app !== app) {\n return false;\n }\n if (entity && event.entity !== entity) {\n return false;\n }\n if (eventName && event.eventName !== eventName) {\n return false;\n }\n return true;\n });\n if (matching.length > 0) {\n where.eventType_in = matching.map(e => e.eventName);\n }\n }\n\n if (this._filters.status.length > 0) {\n where.status_in = this._filters.status;\n }\n\n return where;\n }\n\n private _computeAvailableApps(): IDeliveryFilterOption[] {\n const seen = new Set<string>();\n const result: IDeliveryFilterOption[] = [];\n for (const event of this._availableEvents) {\n if (!seen.has(event.app)) {\n seen.add(event.app);\n result.push({ value: event.app, label: event.appLabel });\n }\n }\n return result;\n }\n\n private _computeAvailableEntities(): IDeliveryFilterOption[] {\n if (!this._filters.app) {\n return [];\n }\n const seen = new Set<string>();\n const result: IDeliveryFilterOption[] = [];\n for (const event of this._availableEvents) {\n if (event.app === this._filters.app && !seen.has(event.entity)) {\n seen.add(event.entity);\n result.push({ value: event.entity, label: event.entityLabel });\n }\n }\n return result;\n }\n\n private _computeAvailableEventNames(): IDeliveryFilterOption[] {\n if (!this._filters.app) {\n return [];\n }\n return this._availableEvents\n .filter(event => {\n if (event.app !== this._filters.app) {\n return false;\n }\n if (this._filters.entity && event.entity !== this._filters.entity) {\n return false;\n }\n return true;\n })\n .map(event => ({ value: event.eventName, label: event.label }));\n }\n}\n\nexport const WebhookDeliveriesPagePresenter = Abstraction.createImplementation({\n implementation: WebhookDeliveriesPagePresenterImpl,\n dependencies: [\n ListPresenter,\n ListWebhookDeliveriesUseCase,\n ListAvailableEventsUseCase,\n ResendWebhookDeliveryUseCase,\n ListWebhooksUseCase\n ]\n});\n"],"names":["createEmptyFilters","WebhookDeliveriesPagePresenterImpl","listPresenter","listDeliveriesUseCase","listAvailableEventsUseCase","resendDeliveryUseCase","listWebhooksUseCase","Set","makeAutoObservable","computed","webhookId","runInAction","events","webhooksResult","Promise","w","err","Error","dataSource","WebhookDeliveriesDataSource","app","entity","eventName","status","id","where","key","value","Object","matching","event","e","seen","result","WebhookDeliveriesPagePresenter","Abstraction","ListPresenter","ListWebhookDeliveriesUseCase","ListAvailableEventsUseCase","ResendWebhookDeliveryUseCase","ListWebhooksUseCase"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { WebhookDelivery } from "../../../admin/shared/types.js";
|
|
2
|
+
import type { IListViewModel } from "@webiny/app-admin/presentation/listPresenter/abstractions.js";
|
|
3
|
+
export interface IDeliveryPageFilters {
|
|
4
|
+
webhookId: string | null;
|
|
5
|
+
app: string | null;
|
|
6
|
+
entity: string | null;
|
|
7
|
+
eventName: string | null;
|
|
8
|
+
status: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface IDeliveryFilterOption {
|
|
11
|
+
value: string;
|
|
12
|
+
label: string;
|
|
13
|
+
}
|
|
14
|
+
export interface IWebhookDeliveriesPageViewModel {
|
|
15
|
+
availableWebhooks: IDeliveryFilterOption[];
|
|
16
|
+
availableApps: IDeliveryFilterOption[];
|
|
17
|
+
availableEntities: IDeliveryFilterOption[];
|
|
18
|
+
availableEventNames: IDeliveryFilterOption[];
|
|
19
|
+
filters: IDeliveryPageFilters;
|
|
20
|
+
list: IListViewModel<WebhookDelivery>;
|
|
21
|
+
resendingIds: Set<string>;
|
|
22
|
+
hasFilters: boolean;
|
|
23
|
+
loading: boolean;
|
|
24
|
+
error: string | null;
|
|
25
|
+
}
|
|
26
|
+
export interface IWebhookDeliveriesPagePresenter {
|
|
27
|
+
vm: IWebhookDeliveriesPageViewModel;
|
|
28
|
+
init(webhookId?: string): Promise<void>;
|
|
29
|
+
setWebhookFilter(webhookId: string | null): void;
|
|
30
|
+
setAppFilter(app: string | null): void;
|
|
31
|
+
setEntityFilter(entity: string | null): void;
|
|
32
|
+
setEventFilter(eventName: string | null): void;
|
|
33
|
+
setStatusFilter(status: string[]): void;
|
|
34
|
+
clearFilters(): void;
|
|
35
|
+
loadMore(): Promise<void>;
|
|
36
|
+
resend(id: string): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
export declare const WebhookDeliveriesPagePresenter: import("@webiny/di").Abstraction<IWebhookDeliveriesPagePresenter>;
|
|
39
|
+
export declare namespace WebhookDeliveriesPagePresenter {
|
|
40
|
+
type Interface = IWebhookDeliveriesPagePresenter;
|
|
41
|
+
type ViewModel = IWebhookDeliveriesPageViewModel;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WebhookDeliveriesPage/abstractions.js","sources":["../../../../src/admin/presentation/WebhookDeliveriesPage/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\nimport type { IListViewModel } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\n\nexport interface IDeliveryPageFilters {\n webhookId: string | null;\n app: string | null;\n entity: string | null;\n eventName: string | null;\n status: string[];\n}\n\nexport interface IDeliveryFilterOption {\n value: string;\n label: string;\n}\n\nexport interface IWebhookDeliveriesPageViewModel {\n availableWebhooks: IDeliveryFilterOption[];\n availableApps: IDeliveryFilterOption[];\n availableEntities: IDeliveryFilterOption[];\n availableEventNames: IDeliveryFilterOption[];\n filters: IDeliveryPageFilters;\n list: IListViewModel<WebhookDelivery>;\n resendingIds: Set<string>;\n hasFilters: boolean;\n loading: boolean;\n error: string | null;\n}\n\nexport interface IWebhookDeliveriesPagePresenter {\n vm: IWebhookDeliveriesPageViewModel;\n init(webhookId?: string): Promise<void>;\n setWebhookFilter(webhookId: string | null): void;\n setAppFilter(app: string | null): void;\n setEntityFilter(entity: string | null): void;\n setEventFilter(eventName: string | null): void;\n setStatusFilter(status: string[]): void;\n clearFilters(): void;\n loadMore(): Promise<void>;\n resend(id: string): Promise<void>;\n}\n\nexport const WebhookDeliveriesPagePresenter = createAbstraction<IWebhookDeliveriesPagePresenter>(\n \"WebhookDeliveriesPagePresenter\"\n);\n\nexport namespace WebhookDeliveriesPagePresenter {\n export type Interface = IWebhookDeliveriesPagePresenter;\n export type ViewModel = IWebhookDeliveriesPageViewModel;\n}\n"],"names":["WebhookDeliveriesPagePresenter","createAbstraction"],"mappings":";AA2CO,MAAMA,iCAAiCC,kBAC1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { WebhookDelivery } from "../../../../admin/shared/types.js";
|
|
3
|
+
interface DeliveryAccordionRowProps {
|
|
4
|
+
delivery: WebhookDelivery;
|
|
5
|
+
open: boolean;
|
|
6
|
+
resending: boolean;
|
|
7
|
+
onOpenChange: (open: boolean) => void;
|
|
8
|
+
onResend: (id: string) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const DeliveryAccordionRow: ({ delivery, open, resending, onOpenChange, onResend }: DeliveryAccordionRowProps) => React.JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { Accordion, Tag, Text, TimeAgo } from "@webiny/admin-ui";
|
|
3
|
+
import { ReactComponent } from "@webiny/icons/replay.svg";
|
|
4
|
+
import { DeliveryDetailContent } from "./DeliveryDetailContent.js";
|
|
5
|
+
import { statusVariant } from "./statusVariant.js";
|
|
6
|
+
const DeliveryAccordionRow = ({ delivery, open, resending, onOpenChange, onResend })=>/*#__PURE__*/ react.createElement(Accordion.Item, {
|
|
7
|
+
open: open,
|
|
8
|
+
onOpenChange: onOpenChange,
|
|
9
|
+
title: delivery.eventType,
|
|
10
|
+
description: /*#__PURE__*/ react.createElement("div", {
|
|
11
|
+
className: "flex items-center gap-sm"
|
|
12
|
+
}, /*#__PURE__*/ react.createElement(Tag, {
|
|
13
|
+
variant: statusVariant(delivery.status),
|
|
14
|
+
content: delivery.status
|
|
15
|
+
}), null !== delivery.responseStatus ? /*#__PURE__*/ react.createElement(Text, {
|
|
16
|
+
size: "sm"
|
|
17
|
+
}, "HTTP ", delivery.responseStatus) : null, delivery.responseTime ? /*#__PURE__*/ react.createElement(Text, {
|
|
18
|
+
size: "sm"
|
|
19
|
+
}, delivery.responseTime, "ms") : null, /*#__PURE__*/ react.createElement(Text, {
|
|
20
|
+
size: "sm",
|
|
21
|
+
className: "text-neutral-strong"
|
|
22
|
+
}, /*#__PURE__*/ react.createElement(TimeAgo, {
|
|
23
|
+
datetime: delivery.createdOn
|
|
24
|
+
}))),
|
|
25
|
+
actions: /*#__PURE__*/ react.createElement(Accordion.Item.Action, {
|
|
26
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
27
|
+
onClick: ()=>onResend(delivery.id),
|
|
28
|
+
"aria-label": "Resend delivery",
|
|
29
|
+
disabled: resending
|
|
30
|
+
})
|
|
31
|
+
}, /*#__PURE__*/ react.createElement(DeliveryDetailContent, {
|
|
32
|
+
delivery: delivery
|
|
33
|
+
}));
|
|
34
|
+
export { DeliveryAccordionRow };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=DeliveryAccordionRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WebhookDeliveriesPage/components/DeliveryAccordionRow.js","sources":["../../../../../src/admin/presentation/WebhookDeliveriesPage/components/DeliveryAccordionRow.tsx"],"sourcesContent":["import React from \"react\";\nimport { Accordion, Tag, Text, TimeAgo } from \"@webiny/admin-ui\";\nimport { ReactComponent as ReplayIcon } from \"@webiny/icons/replay.svg\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\nimport { DeliveryDetailContent } from \"./DeliveryDetailContent.js\";\nimport { statusVariant } from \"./statusVariant.js\";\n\ninterface DeliveryAccordionRowProps {\n delivery: WebhookDelivery;\n open: boolean;\n resending: boolean;\n onOpenChange: (open: boolean) => void;\n onResend: (id: string) => void;\n}\n\nexport const DeliveryAccordionRow = ({\n delivery,\n open,\n resending,\n onOpenChange,\n onResend\n}: DeliveryAccordionRowProps) => {\n return (\n <Accordion.Item\n open={open}\n onOpenChange={onOpenChange}\n title={delivery.eventType}\n description={\n <div className=\"flex items-center gap-sm\">\n <Tag variant={statusVariant(delivery.status)} content={delivery.status} />\n {delivery.responseStatus !== null ? (\n <Text size=\"sm\">HTTP {delivery.responseStatus}</Text>\n ) : null}\n {delivery.responseTime ? (\n <Text size=\"sm\">{delivery.responseTime}ms</Text>\n ) : null}\n <Text size=\"sm\" className=\"text-neutral-strong\">\n <TimeAgo datetime={delivery.createdOn} />\n </Text>\n </div>\n }\n actions={\n <Accordion.Item.Action\n icon={<ReplayIcon />}\n onClick={() => onResend(delivery.id)}\n aria-label=\"Resend delivery\"\n disabled={resending}\n />\n }\n >\n <DeliveryDetailContent delivery={delivery} />\n </Accordion.Item>\n );\n};\n"],"names":["DeliveryAccordionRow","delivery","open","resending","onOpenChange","onResend","Accordion","Tag","statusVariant","Text","TimeAgo","ReplayIcon","DeliveryDetailContent"],"mappings":";;;;;AAeO,MAAMA,uBAAuB,CAAC,EACjCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACTC,YAAY,EACZC,QAAQ,EACgB,GACjB,WAAP,GACI,oBAACC,UAAU,IAAI;QACX,MAAMJ;QACN,cAAcE;QACd,OAAOH,SAAS,SAAS;QACzB,2BACI,oBAAC;YAAI,WAAU;yBACX,oBAACM,KAAGA;YAAC,SAASC,cAAcP,SAAS,MAAM;YAAG,SAASA,SAAS,MAAM;YACrEA,AAA4B,SAA5BA,SAAS,cAAc,GAAY,WAAP,GACzB,oBAACQ,MAAIA;YAAC,MAAK;WAAK,SAAMR,SAAS,cAAc,IAC7C,MACHA,SAAS,YAAY,GAAG,WAAH,GAClB,oBAACQ,MAAIA;YAAC,MAAK;WAAMR,SAAS,YAAY,EAAC,QACvC,oBACJ,oBAACQ,MAAIA;YAAC,MAAK;YAAK,WAAU;yBACtB,oBAACC,SAAOA;YAAC,UAAUT,SAAS,SAAS;;QAIjD,uBACI,oBAACK,UAAU,IAAI,CAAC,MAAM;YAClB,oBAAM,oBAACK,gBAAUA;YACjB,SAAS,IAAMN,SAASJ,SAAS,EAAE;YACnC,cAAW;YACX,UAAUE;;qBAIlB,oBAACS,uBAAqBA;QAAC,UAAUX"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IWebhookDeliveriesPagePresenter } from "../abstractions.js";
|
|
3
|
+
interface DeliveryBottomInfoBarProps {
|
|
4
|
+
presenter: IWebhookDeliveriesPagePresenter;
|
|
5
|
+
}
|
|
6
|
+
export declare const DeliveryBottomInfoBar: (({ presenter }: DeliveryBottomInfoBarProps) => React.JSX.Element | null) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { Loader, Separator, Text } from "@webiny/admin-ui";
|
|
4
|
+
const DeliveryBottomInfoBar_DeliveryBottomInfoBar = observer(function({ presenter }) {
|
|
5
|
+
const { vm } = presenter;
|
|
6
|
+
const { pagination } = vm.list;
|
|
7
|
+
if (pagination.loading && 0 === vm.list.rows.length) return null;
|
|
8
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
9
|
+
className: "sticky bottom-0 z-5 bg-neutral-base w-full transform translate-z-0 overflow-hidden"
|
|
10
|
+
}, /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
|
|
11
|
+
className: "h-xl px-md py-sm flex items-center justify-between"
|
|
12
|
+
}, /*#__PURE__*/ react.createElement(DeliveryMeta, {
|
|
13
|
+
loading: pagination.loading,
|
|
14
|
+
currentCount: pagination.currentCount,
|
|
15
|
+
totalCount: pagination.totalCount
|
|
16
|
+
}), /*#__PURE__*/ react.createElement(DeliveryLoadingStatus, {
|
|
17
|
+
loading: pagination.loadingMore
|
|
18
|
+
})));
|
|
19
|
+
});
|
|
20
|
+
const DeliveryMeta = ({ loading, currentCount, totalCount })=>{
|
|
21
|
+
if (loading) return null;
|
|
22
|
+
const label = 1 === totalCount ? "delivery" : "deliveries";
|
|
23
|
+
return /*#__PURE__*/ react.createElement(Text, {
|
|
24
|
+
size: "sm",
|
|
25
|
+
as: "div",
|
|
26
|
+
className: "text-neutral-strong"
|
|
27
|
+
}, `Showing ${currentCount} out of ${totalCount} ${label}.`);
|
|
28
|
+
};
|
|
29
|
+
const DeliveryLoadingStatus = ({ loading })=>{
|
|
30
|
+
if (!loading) return null;
|
|
31
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
32
|
+
className: "flex items-center gap-sm"
|
|
33
|
+
}, /*#__PURE__*/ react.createElement(Text, {
|
|
34
|
+
size: "sm",
|
|
35
|
+
as: "div",
|
|
36
|
+
className: "text-neutral-strong"
|
|
37
|
+
}, "Loading more deliveries..."), /*#__PURE__*/ react.createElement(Loader, {
|
|
38
|
+
size: "xs"
|
|
39
|
+
}));
|
|
40
|
+
};
|
|
41
|
+
export { DeliveryBottomInfoBar_DeliveryBottomInfoBar as DeliveryBottomInfoBar };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=DeliveryBottomInfoBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WebhookDeliveriesPage/components/DeliveryBottomInfoBar.js","sources":["../../../../../src/admin/presentation/WebhookDeliveriesPage/components/DeliveryBottomInfoBar.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Loader, Separator, Text } from \"@webiny/admin-ui\";\nimport type { IWebhookDeliveriesPagePresenter } from \"../abstractions.js\";\n\ninterface DeliveryBottomInfoBarProps {\n presenter: IWebhookDeliveriesPagePresenter;\n}\n\nexport const DeliveryBottomInfoBar = observer(function DeliveryBottomInfoBar({\n presenter\n}: DeliveryBottomInfoBarProps) {\n const { vm } = presenter;\n const { pagination } = vm.list;\n\n if (pagination.loading && vm.list.rows.length === 0) {\n return null;\n }\n\n return (\n <div className=\"sticky bottom-0 z-5 bg-neutral-base w-full transform translate-z-0 overflow-hidden\">\n <Separator />\n <div className=\"h-xl px-md py-sm flex items-center justify-between\">\n <DeliveryMeta\n loading={pagination.loading}\n currentCount={pagination.currentCount}\n totalCount={pagination.totalCount}\n />\n <DeliveryLoadingStatus loading={pagination.loadingMore} />\n </div>\n </div>\n );\n});\n\ninterface DeliveryMetaProps {\n loading: boolean;\n currentCount: number;\n totalCount: number;\n}\n\nconst DeliveryMeta = ({ loading, currentCount, totalCount }: DeliveryMetaProps) => {\n if (loading) {\n return null;\n }\n\n const label = totalCount === 1 ? \"delivery\" : \"deliveries\";\n\n return (\n <Text size=\"sm\" as=\"div\" className=\"text-neutral-strong\">\n {`Showing ${currentCount} out of ${totalCount} ${label}.`}\n </Text>\n );\n};\n\ninterface DeliveryLoadingStatusProps {\n loading: boolean;\n}\n\nconst DeliveryLoadingStatus = ({ loading }: DeliveryLoadingStatusProps) => {\n if (!loading) {\n return null;\n }\n\n return (\n <div className=\"flex items-center gap-sm\">\n <Text size=\"sm\" as=\"div\" className=\"text-neutral-strong\">\n Loading more deliveries...\n </Text>\n <Loader size=\"xs\" />\n </div>\n );\n};\n"],"names":["DeliveryBottomInfoBar","observer","presenter","vm","pagination","Separator","DeliveryMeta","DeliveryLoadingStatus","loading","currentCount","totalCount","label","Text","Loader"],"mappings":";;;AASO,MAAMA,8CAAwBC,SAAS,SAA+B,EACzEC,SAAS,EACgB;IACzB,MAAM,EAAEC,EAAE,EAAE,GAAGD;IACf,MAAM,EAAEE,UAAU,EAAE,GAAGD,GAAG,IAAI;IAE9B,IAAIC,WAAW,OAAO,IAAID,AAAwB,MAAxBA,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EACzC,OAAO;IAGX,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAACE,WAASA,OAAAA,WAAAA,GACV,oBAAC;QAAI,WAAU;qBACX,oBAACC,cAAYA;QACT,SAASF,WAAW,OAAO;QAC3B,cAAcA,WAAW,YAAY;QACrC,YAAYA,WAAW,UAAU;sBAErC,oBAACG,uBAAqBA;QAAC,SAASH,WAAW,WAAW;;AAItE;AAQA,MAAME,eAAe,CAAC,EAAEE,OAAO,EAAEC,YAAY,EAAEC,UAAU,EAAqB;IAC1E,IAAIF,SACA,OAAO;IAGX,MAAMG,QAAQD,AAAe,MAAfA,aAAmB,aAAa;IAE9C,OAAO,WAAP,GACI,oBAACE,MAAIA;QAAC,MAAK;QAAK,IAAG;QAAM,WAAU;OAC9B,CAAC,QAAQ,EAAEH,aAAa,QAAQ,EAAEC,WAAW,CAAC,EAAEC,MAAM,CAAC,CAAC;AAGrE;AAMA,MAAMJ,wBAAwB,CAAC,EAAEC,OAAO,EAA8B;IAClE,IAAI,CAACA,SACD,OAAO;IAGX,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAACI,MAAIA;QAAC,MAAK;QAAK,IAAG;QAAM,WAAU;OAAsB,6CAGzD,oBAACC,QAAMA;QAAC,MAAK;;AAGzB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { WebhookDelivery } from "../../../../admin/shared/types.js";
|
|
3
|
+
interface DeliveryDetailContentProps {
|
|
4
|
+
delivery: WebhookDelivery;
|
|
5
|
+
}
|
|
6
|
+
export declare const DeliveryDetailContent: ({ delivery }: DeliveryDetailContentProps) => React.JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { Separator, Tabs } from "@webiny/admin-ui";
|
|
3
|
+
const formatJson = (value)=>{
|
|
4
|
+
if (null == value) return "—";
|
|
5
|
+
if ("string" == typeof value) try {
|
|
6
|
+
return JSON.stringify(JSON.parse(value), null, 2);
|
|
7
|
+
} catch {
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
return JSON.stringify(value, null, 2);
|
|
11
|
+
};
|
|
12
|
+
const getContentType = (responseHeaders)=>{
|
|
13
|
+
if (!responseHeaders || "object" != typeof responseHeaders) return null;
|
|
14
|
+
const headers = responseHeaders;
|
|
15
|
+
const key = Object.keys(headers).find((k)=>"content-type" === k.toLowerCase());
|
|
16
|
+
if (!key) return null;
|
|
17
|
+
return headers[key].split(";")[0].trim().toLowerCase();
|
|
18
|
+
};
|
|
19
|
+
const getContentTypeLabel = (contentType)=>{
|
|
20
|
+
if (!contentType) return null;
|
|
21
|
+
if (contentType.includes("json")) return "JSON";
|
|
22
|
+
if (contentType.includes("html")) return "HTML";
|
|
23
|
+
if (contentType.includes("xml")) return "XML";
|
|
24
|
+
if (contentType.includes("plain")) return "TEXT";
|
|
25
|
+
return null;
|
|
26
|
+
};
|
|
27
|
+
const renderResponseBody = (body, contentType)=>{
|
|
28
|
+
if (null === body) return "—";
|
|
29
|
+
if (!contentType || contentType.includes("json")) return formatJson(body);
|
|
30
|
+
return body;
|
|
31
|
+
};
|
|
32
|
+
const DeliveryDetailContent = ({ delivery })=>{
|
|
33
|
+
const contentType = getContentType(delivery.responseHeaders);
|
|
34
|
+
const contentTypeLabel = getContentTypeLabel(contentType);
|
|
35
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
36
|
+
className: "flex flex-col gap-md"
|
|
37
|
+
}, /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement(Tabs, {
|
|
38
|
+
tabs: [
|
|
39
|
+
/*#__PURE__*/ react.createElement(Tabs.Tab, {
|
|
40
|
+
key: "payload",
|
|
41
|
+
value: "payload",
|
|
42
|
+
trigger: "Payload",
|
|
43
|
+
content: /*#__PURE__*/ react.createElement("pre", {
|
|
44
|
+
className: "bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[250px]"
|
|
45
|
+
}, formatJson(delivery.payload))
|
|
46
|
+
}),
|
|
47
|
+
/*#__PURE__*/ react.createElement(Tabs.Tab, {
|
|
48
|
+
key: "req-headers",
|
|
49
|
+
value: "req-headers",
|
|
50
|
+
trigger: "Request Headers",
|
|
51
|
+
content: /*#__PURE__*/ react.createElement("pre", {
|
|
52
|
+
className: "bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]"
|
|
53
|
+
}, formatJson(delivery.requestHeaders))
|
|
54
|
+
}),
|
|
55
|
+
/*#__PURE__*/ react.createElement(Tabs.Tab, {
|
|
56
|
+
key: "resp-headers",
|
|
57
|
+
value: "resp-headers",
|
|
58
|
+
trigger: "Response Headers",
|
|
59
|
+
content: /*#__PURE__*/ react.createElement("pre", {
|
|
60
|
+
className: "bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]"
|
|
61
|
+
}, formatJson(delivery.responseHeaders))
|
|
62
|
+
}),
|
|
63
|
+
/*#__PURE__*/ react.createElement(Tabs.Tab, {
|
|
64
|
+
key: "resp-body",
|
|
65
|
+
value: "resp-body",
|
|
66
|
+
trigger: contentTypeLabel ? `Response Body (${contentTypeLabel})` : "Response Body",
|
|
67
|
+
content: /*#__PURE__*/ react.createElement("pre", {
|
|
68
|
+
className: "bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]"
|
|
69
|
+
}, renderResponseBody(delivery.responseBody, contentType))
|
|
70
|
+
})
|
|
71
|
+
]
|
|
72
|
+
}));
|
|
73
|
+
};
|
|
74
|
+
export { DeliveryDetailContent };
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=DeliveryDetailContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/presentation/WebhookDeliveriesPage/components/DeliveryDetailContent.js","sources":["../../../../../src/admin/presentation/WebhookDeliveriesPage/components/DeliveryDetailContent.tsx"],"sourcesContent":["import React from \"react\";\nimport { Separator, Tabs } from \"@webiny/admin-ui\";\nimport type { WebhookDelivery } from \"~/admin/shared/types.js\";\n\ninterface DeliveryDetailContentProps {\n delivery: WebhookDelivery;\n}\n\nconst formatJson = (value: unknown): string => {\n if (value === null || value === undefined) {\n return \"—\";\n }\n if (typeof value === \"string\") {\n try {\n return JSON.stringify(JSON.parse(value), null, 2);\n } catch {\n return value;\n }\n }\n return JSON.stringify(value, null, 2);\n};\n\nconst getContentType = (responseHeaders: unknown): string | null => {\n if (!responseHeaders || typeof responseHeaders !== \"object\") {\n return null;\n }\n const headers = responseHeaders as Record<string, string>;\n const key = Object.keys(headers).find(k => k.toLowerCase() === \"content-type\");\n if (!key) {\n return null;\n }\n return headers[key].split(\";\")[0].trim().toLowerCase();\n};\n\nconst getContentTypeLabel = (contentType: string | null): string | null => {\n if (!contentType) {\n return null;\n }\n if (contentType.includes(\"json\")) {\n return \"JSON\";\n }\n if (contentType.includes(\"html\")) {\n return \"HTML\";\n }\n if (contentType.includes(\"xml\")) {\n return \"XML\";\n }\n if (contentType.includes(\"plain\")) {\n return \"TEXT\";\n }\n return null;\n};\n\nconst renderResponseBody = (body: string | null, contentType: string | null): string => {\n if (body === null) {\n return \"—\";\n }\n if (!contentType || contentType.includes(\"json\")) {\n return formatJson(body);\n }\n return body;\n};\n\nexport const DeliveryDetailContent = ({ delivery }: DeliveryDetailContentProps) => {\n const contentType = getContentType(delivery.responseHeaders);\n const contentTypeLabel = getContentTypeLabel(contentType);\n\n return (\n <div className=\"flex flex-col gap-md\">\n <Separator />\n <Tabs\n tabs={[\n <Tabs.Tab\n key=\"payload\"\n value=\"payload\"\n trigger=\"Payload\"\n content={\n <pre className=\"bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[250px]\">\n {formatJson(delivery.payload)}\n </pre>\n }\n />,\n <Tabs.Tab\n key=\"req-headers\"\n value=\"req-headers\"\n trigger=\"Request Headers\"\n content={\n <pre className=\"bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]\">\n {formatJson(delivery.requestHeaders)}\n </pre>\n }\n />,\n <Tabs.Tab\n key=\"resp-headers\"\n value=\"resp-headers\"\n trigger=\"Response Headers\"\n content={\n <pre className=\"bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]\">\n {formatJson(delivery.responseHeaders)}\n </pre>\n }\n />,\n <Tabs.Tab\n key=\"resp-body\"\n value=\"resp-body\"\n trigger={\n contentTypeLabel\n ? `Response Body (${contentTypeLabel})`\n : \"Response Body\"\n }\n content={\n <pre className=\"bg-neutral-light rounded-sm p-sm text-xs overflow-auto max-h-[200px]\">\n {renderResponseBody(delivery.responseBody, contentType)}\n </pre>\n }\n />\n ]}\n />\n </div>\n );\n};\n"],"names":["formatJson","value","JSON","getContentType","responseHeaders","headers","key","Object","k","getContentTypeLabel","contentType","renderResponseBody","body","DeliveryDetailContent","delivery","contentTypeLabel","Separator","Tabs"],"mappings":";;AAQA,MAAMA,aAAa,CAACC;IAChB,IAAIA,QAAAA,OACA,OAAO;IAEX,IAAI,AAAiB,YAAjB,OAAOA,OACP,IAAI;QACA,OAAOC,KAAK,SAAS,CAACA,KAAK,KAAK,CAACD,QAAQ,MAAM;IACnD,EAAE,OAAM;QACJ,OAAOA;IACX;IAEJ,OAAOC,KAAK,SAAS,CAACD,OAAO,MAAM;AACvC;AAEA,MAAME,iBAAiB,CAACC;IACpB,IAAI,CAACA,mBAAmB,AAA2B,YAA3B,OAAOA,iBAC3B,OAAO;IAEX,MAAMC,UAAUD;IAChB,MAAME,MAAMC,OAAO,IAAI,CAACF,SAAS,IAAI,CAACG,CAAAA,IAAKA,AAAoB,mBAApBA,EAAE,WAAW;IACxD,IAAI,CAACF,KACD,OAAO;IAEX,OAAOD,OAAO,CAACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,WAAW;AACxD;AAEA,MAAMG,sBAAsB,CAACC;IACzB,IAAI,CAACA,aACD,OAAO;IAEX,IAAIA,YAAY,QAAQ,CAAC,SACrB,OAAO;IAEX,IAAIA,YAAY,QAAQ,CAAC,SACrB,OAAO;IAEX,IAAIA,YAAY,QAAQ,CAAC,QACrB,OAAO;IAEX,IAAIA,YAAY,QAAQ,CAAC,UACrB,OAAO;IAEX,OAAO;AACX;AAEA,MAAMC,qBAAqB,CAACC,MAAqBF;IAC7C,IAAIE,AAAS,SAATA,MACA,OAAO;IAEX,IAAI,CAACF,eAAeA,YAAY,QAAQ,CAAC,SACrC,OAAOV,WAAWY;IAEtB,OAAOA;AACX;AAEO,MAAMC,wBAAwB,CAAC,EAAEC,QAAQ,EAA8B;IAC1E,MAAMJ,cAAcP,eAAeW,SAAS,eAAe;IAC3D,MAAMC,mBAAmBN,oBAAoBC;IAE7C,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAACM,WAASA,OAAAA,WAAAA,GACV,oBAACC,MAAIA;QACD,MAAM;0BACF,oBAACA,KAAK,GAAG;gBACL,KAAI;gBACJ,OAAM;gBACN,SAAQ;gBACR,uBACI,oBAAC;oBAAI,WAAU;mBACVjB,WAAWc,SAAS,OAAO;;0BAIxC,oBAACG,KAAK,GAAG;gBACL,KAAI;gBACJ,OAAM;gBACN,SAAQ;gBACR,uBACI,oBAAC;oBAAI,WAAU;mBACVjB,WAAWc,SAAS,cAAc;;0BAI/C,oBAACG,KAAK,GAAG;gBACL,KAAI;gBACJ,OAAM;gBACN,SAAQ;gBACR,uBACI,oBAAC;oBAAI,WAAU;mBACVjB,WAAWc,SAAS,eAAe;;0BAIhD,oBAACG,KAAK,GAAG;gBACL,KAAI;gBACJ,OAAM;gBACN,SACIF,mBACM,CAAC,eAAe,EAAEA,iBAAiB,CAAC,CAAC,GACrC;gBAEV,uBACI,oBAAC;oBAAI,WAAU;mBACVJ,mBAAmBG,SAAS,YAAY,EAAEJ;;SAI1D;;AAIjB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IWebhookDeliveriesPagePresenter } from "../abstractions.js";
|
|
3
|
+
interface DeliveryFiltersProps {
|
|
4
|
+
presenter: IWebhookDeliveriesPagePresenter;
|
|
5
|
+
}
|
|
6
|
+
export declare const DeliveryFilters: (({ presenter }: DeliveryFiltersProps) => React.JSX.Element) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export {};
|