From 80dcc04df004c61caad7202d683607dc0329d2e8 Mon Sep 17 00:00:00 2001 From: Erik-Jan Westendorp Date: Mon, 4 Dec 2023 14:04:57 +0100 Subject: [PATCH] Add HealthCheckCompletedWebhookEvent (#15337) --- .../HealthCheckCompletedWebhookEvent.cs | 19 +++++++++++++++++++ ...hookEventCollectionBuilderCmsExtensions.cs | 12 ++++++++++++ ...WebhookEventCollectionBuilderExtensions.cs | 3 ++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Core/Webhooks/Events/HealthCheck/HealthCheckCompletedWebhookEvent.cs diff --git a/src/Umbraco.Core/Webhooks/Events/HealthCheck/HealthCheckCompletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/HealthCheck/HealthCheckCompletedWebhookEvent.cs new file mode 100644 index 0000000000..0e5fddbf39 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/Events/HealthCheck/HealthCheckCompletedWebhookEvent.cs @@ -0,0 +1,19 @@ +using Microsoft.Extensions.Options; +using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.Notifications; +using Umbraco.Cms.Core.Services; +using Umbraco.Cms.Core.Sync; + +namespace Umbraco.Cms.Core.Webhooks.Events.HealthCheck; + +[WebhookEvent("Health Check Completed")] +public class HealthCheckCompletedWebhookEvent : WebhookEventBase +{ + public HealthCheckCompletedWebhookEvent(IWebhookFiringService webhookFiringService, IWebhookService webhookService, IOptionsMonitor webhookSettings, IServerRoleAccessor serverRoleAccessor) : base(webhookFiringService, webhookService, webhookSettings, serverRoleAccessor) + { + } + + public override string Alias => "healthCheckCompleted"; + + public override object? ConvertNotificationToRequestPayload(HealthCheckCompletedNotification notification) => notification.HealthCheckResults; +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs index ba30984ee3..69ffddd252 100644 --- a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs @@ -1,5 +1,6 @@ using Umbraco.Cms.Core.Webhooks; using Umbraco.Cms.Core.Webhooks.Events; +using Umbraco.Cms.Core.Webhooks.Events.HealthCheck; using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderExtensions; namespace Umbraco.Cms.Core.DependencyInjection; @@ -313,6 +314,17 @@ public static class WebhookEventCollectionBuilderCmsExtensions return builder; } + /// + /// Adds the healthcheck webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilder AddHealthCheck(this WebhookEventCollectionBuilder builder) + => builder + .Append(); + /// /// Adds all available user (including password, login and user group) webhook events. /// diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs index 4205ce8e3b..f5fa205832 100644 --- a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs @@ -38,7 +38,8 @@ public static class WebhookEventCollectionBuilderExtensions .AddPublicAccess() .AddRelation() .AddRelationType() - .AddUser(); + .AddUser() + .AddHealthCheck(); } });