From c20d96c705bdc45e0f3983debd0bf7c03dacac97 Mon Sep 17 00:00:00 2001 From: Ronald Barendse Date: Mon, 4 Dec 2023 13:25:51 +0100 Subject: [PATCH] Use fluent API for adding webhook events and add document type events (#15345) * Move adding webhooks to extension methods * Clean up WebhookEventCollectionBuilder * Rename AddAllAvailableWebhooks to AddCmsWebhooks and internalize defaults * Use fluent CmsWebhookEventCollectionBuilder for adding CMS specific webhook events * Split media and media type webhook events * Use fluent CmsUserWebhookEventCollectionBuilder for adding CMS user specific webhook events * Rename extension methods and add onlyDefault parameter * Remove duplicate UserForgotPasswordRequestedWebhookEvent * Add document type webhook events and use fluent builders for content and content types * Use fluent WebhookEventCollectionBuilderCmsMember for adding member/member group webhook events * Use fluent WebhookEventCollectionBuilderCmsTemplate for template/partial view webhook events * Use fluent WebhookEventCollectionBuilderCmsFile for file based webhook events (instead of only template/partial view) * Move all webhook events to Umbraco.Cms.Core.Webhooks.Events namespace * Reorder AddFile method and update documentation --- .../UmbracoBuilder.Collections.cs | 2 +- src/Umbraco.Core/Umbraco.Core.csproj | 6 +- .../Content/ContentCopiedWebhookEvent.cs | 4 +- .../ContentDeletedBlueprintWebhookEvent.cs | 4 +- .../ContentDeletedVersionsWebhookEvent.cs | 4 +- .../Content/ContentDeletedWebhookEvent.cs | 4 +- .../ContentEmptiedRecycleBinWebhookEvent.cs | 4 +- .../ContentMovedToRecycleBinWebhookEvent.cs | 4 +- .../Content/ContentMovedWebhookEvent.cs | 4 +- .../Content/ContentPublishedWebhookEvent.cs | 4 +- .../Events/Content/ContentRolledBack.cs | 4 +- .../ContentSavedBlueprintWebhookEvent.cs | 4 +- .../Content/ContentSavedWebhookEvent.cs | 4 +- .../Content/ContentSortedWebhookEvent.cs | 4 +- .../Content/ContentUnpublishedWebhookEvent.cs | 4 +- .../DocumentTypeChangedWebhookEvent.cs | 25 ++ .../DocumentTypeDeletedWebhookEvent.cs | 25 ++ .../DocumentTypeMovedWebhookEvent.cs | 25 ++ .../DocumentTypeSavedWebhookEvent.cs | 25 ++ .../MediaTypeChangedWebhookEvent.cs | 4 +- .../MediaTypeDeletedWebhookEvent.cs | 2 +- .../MediaTypeMovedWebhookEvent.cs | 2 +- .../MediaTypeSavedWebhookEvent.cs | 2 +- .../MemberTypeChangedWebhookEvent.cs | 4 +- .../MemberTypeDeletedWebhookEvent.cs | 2 +- .../MemberTypeMovedWebhookEvent.cs | 2 +- .../MemberTypeSavedWebhookEvent.cs | 2 +- .../DataType/DataTypeDeletedWebhookEvent.cs | 4 +- .../DataType/DataTypeMovedWebhookEvent.cs | 2 +- .../DataType/DataTypeSavedWebhookEvent.cs | 2 +- .../DictionaryItemDeletedWebhookEvent.cs | 4 +- .../DictionaryItemSavedWebhookEvent.cs | 4 +- .../Domain/DomainDeletedWebhookEvent.cs | 4 +- .../Events/Domain/DomainSavedWebhookEvent.cs | 4 +- .../PartialViewDeletedWebhookEvent.cs | 4 +- .../PartialViewSavedWebhookEvent.cs | 4 +- .../ScriptDeletedWebhookEvent.cs | 4 +- .../ScriptSavedWebhookEvent.cs | 4 +- .../StylesheetDeletedWebhookEvent.cs | 4 +- .../StylesheetSavedWebhookEvent.cs | 4 +- .../TemplateDeletedWebhookEvent.cs | 4 +- .../TemplateSavedWebhookEvent.cs | 18 +- .../Language/LanguageDeletedWebhookEvent.cs | 4 +- .../Language/LanguageSavedWebhookEvent.cs | 4 +- .../Events/Media/MediaDeletedWebhookEvent.cs | 4 +- .../MediaEmptiedRecycleBinWebhookEvent.cs | 4 +- .../MediaMovedToRecycleBinWebhookEvent.cs | 4 +- .../Events/Media/MediaMovedWebhookEvent.cs | 4 +- .../Events/Media/MediaSavedWebhookEvent.cs | 4 +- .../Member/AssignedMemberRolesWebhookEvent.cs | 4 +- .../Member/ExportedMemberWebhookEvent.cs | 2 +- .../Member/MemberDeletedWebhookEvent.cs | 2 +- .../Member/MemberGroupDeletedWebhookEvent.cs | 4 +- .../Member/MemberGroupSavedWebhookEvent.cs | 2 +- .../Events/Member/MemberSavedWebhookEvent.cs | 2 +- .../Member/RemovedMemberRolesWebhookEvent.cs | 2 +- .../Package/ImportedPackageWebhookEvent.cs | 4 +- .../PublicAccessEntryDeletedWebhookEvent.cs | 4 +- .../PublicAccessEntrySavedWebhookEvent.cs | 4 +- .../Relation/RelationDeletedWebhookEvent.cs | 4 +- .../Relation/RelationSavedWebhookEvent.cs | 4 +- .../RelationTypeDeletedWebhookEvent.cs | 4 +- .../RelationTypeSavedWebhookEvent.cs | 4 +- ...ssignedUserGroupPermissionsWebhookEvent.cs | 4 +- .../Events/User/UserDeletedWebhookEvent.cs | 2 +- ...UserForgotPasswordRequestedWebhookEvent.cs | 2 +- ...rForgottenPasswordRequestedWebhookEvent.cs | 22 - .../User/UserGroupDeletedWebhookEvent.cs | 2 +- .../Events/User/UserGroupSavedWebhookEvent.cs | 2 +- .../Events/User/UserLockedWebhookEvent.cs | 2 +- .../User/UserLoginFailedWebhookEvent.cs | 2 +- ...erLoginRequiresVerificationWebhookEvent.cs | 2 +- .../User/UserLoginSuccessWebhookEvent.cs | 2 +- .../User/UserLogoutSuccessWebhookEvent.cs | 2 +- .../User/UserPasswordChangedWebhookEvent.cs | 2 +- .../User/UserPasswordResetWebhookEvent.cs | 2 +- .../Events/User/UserSavedWebhookEvent.cs | 2 +- .../UserTwoFactorRequestedWebhookEvent.cs | 2 +- .../Events/User/UserUnlockedWebhookEvent.cs | 2 +- ...ntCollectionBuilderCmsContentExtensions.cs | 65 +++ ...llectionBuilderCmsContentTypeExtensions.cs | 65 +++ ...hookEventCollectionBuilderCmsExtensions.cs | 407 ++++++++++++++++++ ...EventCollectionBuilderCmsFileExtensions.cs | 74 ++++ ...entCollectionBuilderCmsMemberExtensions.cs | 59 +++ ...EventCollectionBuilderCmsUserExtensions.cs | 81 ++++ ...WebhookEventCollectionBuilderExtensions.cs | 299 ++----------- 86 files changed, 1024 insertions(+), 404 deletions(-) create mode 100644 src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeChangedWebhookEvent.cs create mode 100644 src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeDeletedWebhookEvent.cs create mode 100644 src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeMovedWebhookEvent.cs create mode 100644 src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeSavedWebhookEvent.cs rename src/Umbraco.Core/Webhooks/Events/{MediaType => ContentType}/MediaTypeChangedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{MediaType => ContentType}/MediaTypeDeletedWebhookEvent.cs (94%) rename src/Umbraco.Core/Webhooks/Events/{MediaType => ContentType}/MediaTypeMovedWebhookEvent.cs (94%) rename src/Umbraco.Core/Webhooks/Events/{MediaType => ContentType}/MediaTypeSavedWebhookEvent.cs (94%) rename src/Umbraco.Core/Webhooks/Events/{MemberType => ContentType}/MemberTypeChangedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{MemberType => ContentType}/MemberTypeDeletedWebhookEvent.cs (94%) rename src/Umbraco.Core/Webhooks/Events/{MemberType => ContentType}/MemberTypeMovedWebhookEvent.cs (94%) rename src/Umbraco.Core/Webhooks/Events/{MemberType => ContentType}/MemberTypeSavedWebhookEvent.cs (93%) rename src/Umbraco.Core/Webhooks/Events/{Template => File}/PartialViewDeletedWebhookEvent.cs (90%) rename src/Umbraco.Core/Webhooks/Events/{Template => File}/PartialViewSavedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{Script => File}/ScriptDeletedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{Script => File}/ScriptSavedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{Stylesheet => File}/StylesheetDeletedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{Stylesheet => File}/StylesheetSavedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{Template => File}/TemplateDeletedWebhookEvent.cs (89%) rename src/Umbraco.Core/Webhooks/Events/{Template => File}/TemplateSavedWebhookEvent.cs (70%) delete mode 100644 src/Umbraco.Core/Webhooks/Events/User/UserForgottenPasswordRequestedWebhookEvent.cs create mode 100644 src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentExtensions.cs create mode 100644 src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentTypeExtensions.cs create mode 100644 src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs create mode 100644 src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsFileExtensions.cs create mode 100644 src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsMemberExtensions.cs create mode 100644 src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsUserExtensions.cs diff --git a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs index b4c0461356..e008365709 100644 --- a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs +++ b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs @@ -145,7 +145,7 @@ public static partial class UmbracoBuilderExtensions builder.FilterHandlers().Add(() => builder.TypeLoader.GetTypes()); builder.SortHandlers().Add(() => builder.TypeLoader.GetTypes()); builder.ContentIndexHandlers().Add(() => builder.TypeLoader.GetTypes()); - builder.WebhookEvents().AddDefaultWebhooks(); + builder.WebhookEvents().AddCms(true); } /// diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 8aebb53f60..24a0663d83 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -11,11 +11,11 @@ - + - - + + diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentCopiedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentCopiedWebhookEvent.cs index 3d6f0163d7..5651a65c8c 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentCopiedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentCopiedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Copied", Constants.WebhookEvents.Types.Content)] public class ContentCopiedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedBlueprintWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedBlueprintWebhookEvent.cs index 996b8abd15..a17f2eb020 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedBlueprintWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedBlueprintWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Template [Blueprint] Deleted", Constants.WebhookEvents.Types.Content)] public class ContentDeletedBlueprintWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedVersionsWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedVersionsWebhookEvent.cs index c543bfe3ca..e691d13792 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedVersionsWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedVersionsWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Versions Deleted", Constants.WebhookEvents.Types.Content)] public class ContentDeletedVersionsWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedWebhookEvent.cs index 1282822995..00e9f3cf72 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentDeletedWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Deleted", Constants.WebhookEvents.Types.Content)] public class ContentDeletedWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentEmptiedRecycleBinWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentEmptiedRecycleBinWebhookEvent.cs index 8670d23c49..e37455da5e 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentEmptiedRecycleBinWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentEmptiedRecycleBinWebhookEvent.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DeliveryApi; using Umbraco.Cms.Core.Models; @@ -7,7 +7,7 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Recycle Bin Emptied", Constants.WebhookEvents.Types.Content)] public class ContentEmptiedRecycleBinWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedToRecycleBinWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedToRecycleBinWebhookEvent.cs index 6ed74d8c66..e227ccfa08 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedToRecycleBinWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedToRecycleBinWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Moved to Recycle Bin", Constants.WebhookEvents.Types.Content)] public class ContentMovedToRecycleBinWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedWebhookEvent.cs index 46d487c499..7cbc5ff244 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentMovedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Moved", Constants.WebhookEvents.Types.Content)] public class ContentMovedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentPublishedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentPublishedWebhookEvent.cs index 5847fb450e..952ae419d0 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentPublishedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentPublishedWebhookEvent.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DeliveryApi; using Umbraco.Cms.Core.Models; @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Published", Constants.WebhookEvents.Types.Content)] public class ContentPublishedWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentRolledBack.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentRolledBack.cs index f38ff571f9..577909d96b 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentRolledBack.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentRolledBack.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DeliveryApi; using Umbraco.Cms.Core.Models; @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Rolled Back", Constants.WebhookEvents.Types.Content)] public class ContentRolledBackWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedBlueprintWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedBlueprintWebhookEvent.cs index 40630b453f..d830963d6e 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedBlueprintWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedBlueprintWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Template [Blueprint] Saved", Constants.WebhookEvents.Types.Content)] public class ContentSavedBlueprintWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedWebhookEvent.cs index fac16de822..c8174371cc 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentSavedWebhookEvent.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DeliveryApi; using Umbraco.Cms.Core.Models; @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Saved", Constants.WebhookEvents.Types.Content)] public class ContentSavedWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentSortedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentSortedWebhookEvent.cs index d2a95028e2..e98b43580c 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentSortedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentSortedWebhookEvent.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DeliveryApi; using Umbraco.Cms.Core.Models; @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Sorted", Constants.WebhookEvents.Types.Content)] public class ContentSortedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Content/ContentUnpublishedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Content/ContentUnpublishedWebhookEvent.cs index 81245f9b75..d9d38feff9 100644 --- a/src/Umbraco.Core/Webhooks/Events/Content/ContentUnpublishedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Content/ContentUnpublishedWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Content; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Content Unpublished", Constants.WebhookEvents.Types.Content)] public class ContentUnpublishedWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeChangedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeChangedWebhookEvent.cs new file mode 100644 index 0000000000..e325030cc6 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeChangedWebhookEvent.cs @@ -0,0 +1,25 @@ +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; + +[WebhookEvent("Document Type Changed")] +public class DocumentTypeChangedWebhookEvent : WebhookEventBase +{ + public DocumentTypeChangedWebhookEvent( + IWebhookFiringService webhookFiringService, + IWebhookService webHookService, + IOptionsMonitor webhookSettings, + IServerRoleAccessor serverRoleAccessor) + : base(webhookFiringService, webHookService, webhookSettings, serverRoleAccessor) + { + } + + public override string Alias => "documentTypeChanged"; + + public override object? ConvertNotificationToRequestPayload(ContentTypeChangedNotification notification) + => notification.Changes; +} diff --git a/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeDeletedWebhookEvent.cs new file mode 100644 index 0000000000..4919e5a255 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeDeletedWebhookEvent.cs @@ -0,0 +1,25 @@ +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; + +[WebhookEvent("Document Type Deleted")] +public class DocumentTypeDeletedWebhookEvent : WebhookEventBase +{ + public DocumentTypeDeletedWebhookEvent( + IWebhookFiringService webhookFiringService, + IWebhookService webHookService, + IOptionsMonitor webhookSettings, + IServerRoleAccessor serverRoleAccessor) + : base(webhookFiringService, webHookService, webhookSettings, serverRoleAccessor) + { + } + + public override string Alias => "documentTypeDeleted"; + + public override object? ConvertNotificationToRequestPayload(ContentTypeDeletedNotification notification) + => notification.DeletedEntities; +} diff --git a/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeMovedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeMovedWebhookEvent.cs new file mode 100644 index 0000000000..d1688f133c --- /dev/null +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeMovedWebhookEvent.cs @@ -0,0 +1,25 @@ +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; + +[WebhookEvent("Document Type Moved")] +public class DocumentTypeMovedWebhookEvent : WebhookEventBase +{ + public DocumentTypeMovedWebhookEvent( + IWebhookFiringService webhookFiringService, + IWebhookService webHookService, + IOptionsMonitor webhookSettings, + IServerRoleAccessor serverRoleAccessor) + : base(webhookFiringService, webHookService, webhookSettings, serverRoleAccessor) + { + } + + public override string Alias => "documentTypeMoved"; + + public override object? ConvertNotificationToRequestPayload(ContentTypeMovedNotification notification) + => notification.MoveInfoCollection; +} diff --git a/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeSavedWebhookEvent.cs new file mode 100644 index 0000000000..90a7beafd9 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/DocumentTypeSavedWebhookEvent.cs @@ -0,0 +1,25 @@ +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; + +[WebhookEvent("Document Type Saved")] +public class DocumentTypeSavedWebhookEvent : WebhookEventBase +{ + public DocumentTypeSavedWebhookEvent( + IWebhookFiringService webhookFiringService, + IWebhookService webHookService, + IOptionsMonitor webhookSettings, + IServerRoleAccessor serverRoleAccessor) + : base(webhookFiringService, webHookService, webhookSettings, serverRoleAccessor) + { + } + + public override string Alias => "documentTypeSaved"; + + public override object? ConvertNotificationToRequestPayload(ContentTypeSavedNotification notification) + => notification.SavedEntities; +} diff --git a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeChangedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeChangedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeChangedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeChangedWebhookEvent.cs index 23decd0032..cbe5aeba90 100644 --- a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeChangedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeChangedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.MediaType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Type Changed")] public class MediaTypeChangedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeDeletedWebhookEvent.cs similarity index 94% rename from src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeDeletedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeDeletedWebhookEvent.cs index 7b46967d06..e025bfa80d 100644 --- a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeDeletedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.MediaType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Type Deleted")] public class MediaTypeDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeMovedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeMovedWebhookEvent.cs similarity index 94% rename from src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeMovedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeMovedWebhookEvent.cs index ae2a35995e..9d59d0eb44 100644 --- a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeMovedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeMovedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.MediaType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Type Moved")] public class MediaTypeMovedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeSavedWebhookEvent.cs similarity index 94% rename from src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeSavedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeSavedWebhookEvent.cs index 818b38f71b..4ef48fde91 100644 --- a/src/Umbraco.Core/Webhooks/Events/MediaType/MediaTypeSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MediaTypeSavedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.MediaType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Type Saved")] public class MediaTypeSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeChangedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeChangedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeChangedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeChangedWebhookEvent.cs index 68c4424e48..380bdd59bb 100644 --- a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeChangedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeChangedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.MemberType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Type Changed")] public class MemberTypeChangedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeDeletedWebhookEvent.cs similarity index 94% rename from src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeDeletedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeDeletedWebhookEvent.cs index 005143826c..35289588af 100644 --- a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeDeletedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.MemberType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Type Deleted")] public class MemberTypeDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeMovedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeMovedWebhookEvent.cs similarity index 94% rename from src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeMovedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeMovedWebhookEvent.cs index ddef29a0c2..42c38d644b 100644 --- a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeMovedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeMovedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.MemberType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Type Moved")] public class MemberTypeMovedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeSavedWebhookEvent.cs similarity index 93% rename from src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeSavedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeSavedWebhookEvent.cs index db4bcf8ad4..81f024c1df 100644 --- a/src/Umbraco.Core/Webhooks/Events/MemberType/MemberTypeSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/ContentType/MemberTypeSavedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.MemberType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Type Saved")] public class MemberTypeSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeDeletedWebhookEvent.cs index b121c6f394..fe419ba744 100644 --- a/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.DataType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Data Type Deleted")] public class DataTypeDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeMovedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeMovedWebhookEvent.cs index 03c0954305..280be11751 100644 --- a/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeMovedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeMovedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.DataType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Data Type Moved")] public class DataTypeMovedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeSavedWebhookEvent.cs index a6e5afe189..70cb70f573 100644 --- a/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/DataType/DataTypeSavedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.DataType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Data Type Saved")] public class DataTypeSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemDeletedWebhookEvent.cs index fa3c95cea5..0a415563c5 100644 --- a/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Dictionary; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Dictionary Item Deleted")] public class DictionaryItemDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemSavedWebhookEvent.cs index 7edd4e7849..f08569b39e 100644 --- a/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Dictionary/DictionaryItemSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Dictionary; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Dictionary Item Saved")] public class DictionaryItemSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Domain/DomainDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Domain/DomainDeletedWebhookEvent.cs index 30605a28de..884dff5705 100644 --- a/src/Umbraco.Core/Webhooks/Events/Domain/DomainDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Domain/DomainDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Domain; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Domain Deleted")] public class DomainDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Domain/DomainSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Domain/DomainSavedWebhookEvent.cs index 5cd80f743b..841bc9a55d 100644 --- a/src/Umbraco.Core/Webhooks/Events/Domain/DomainSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Domain/DomainSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Domain; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Domain Saved")] public class DomainSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Template/PartialViewDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/PartialViewDeletedWebhookEvent.cs similarity index 90% rename from src/Umbraco.Core/Webhooks/Events/Template/PartialViewDeletedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/PartialViewDeletedWebhookEvent.cs index 1f3fc756fb..c6058a63a8 100644 --- a/src/Umbraco.Core/Webhooks/Events/Template/PartialViewDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/PartialViewDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Template; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Partial View Deleted")] public class PartialViewDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Template/PartialViewSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/PartialViewSavedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/Template/PartialViewSavedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/PartialViewSavedWebhookEvent.cs index 224d71c837..342e95bc20 100644 --- a/src/Umbraco.Core/Webhooks/Events/Template/PartialViewSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/PartialViewSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Template; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Partial View Saved")] public class PartialViewSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Script/ScriptDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/ScriptDeletedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/Script/ScriptDeletedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/ScriptDeletedWebhookEvent.cs index 1dad592cb1..b8fb9f4ced 100644 --- a/src/Umbraco.Core/Webhooks/Events/Script/ScriptDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/ScriptDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Script; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Script Deleted")] public class ScriptDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Script/ScriptSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/ScriptSavedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/Script/ScriptSavedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/ScriptSavedWebhookEvent.cs index 4d026b9f6c..3e070f9790 100644 --- a/src/Umbraco.Core/Webhooks/Events/Script/ScriptSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/ScriptSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Script; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Script Saved")] public class ScriptSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Stylesheet/StylesheetDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/StylesheetDeletedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/Stylesheet/StylesheetDeletedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/StylesheetDeletedWebhookEvent.cs index 5214dc39cb..0996d92b00 100644 --- a/src/Umbraco.Core/Webhooks/Events/Stylesheet/StylesheetDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/StylesheetDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Stylesheet; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Stylesheet Deleted")] public class StylesheetDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Stylesheet/StylesheetSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/StylesheetSavedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/Stylesheet/StylesheetSavedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/StylesheetSavedWebhookEvent.cs index a135f70131..f2f05bc557 100644 --- a/src/Umbraco.Core/Webhooks/Events/Stylesheet/StylesheetSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/StylesheetSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Stylesheet; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Stylesheet Saved")] public class StylesheetSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Template/TemplateDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/TemplateDeletedWebhookEvent.cs similarity index 89% rename from src/Umbraco.Core/Webhooks/Events/Template/TemplateDeletedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/TemplateDeletedWebhookEvent.cs index 2e18dd9932..67274b7e6c 100644 --- a/src/Umbraco.Core/Webhooks/Events/Template/TemplateDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/TemplateDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Template; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Template Deleted")] public class TemplateDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Template/TemplateSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/File/TemplateSavedWebhookEvent.cs similarity index 70% rename from src/Umbraco.Core/Webhooks/Events/Template/TemplateSavedWebhookEvent.cs rename to src/Umbraco.Core/Webhooks/Events/File/TemplateSavedWebhookEvent.cs index 3950e7e370..d45ddbf9ca 100644 --- a/src/Umbraco.Core/Webhooks/Events/Template/TemplateSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/File/TemplateSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Template; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Template Saved")] public class TemplateSavedWebhookEvent : WebhookEventBase @@ -22,12 +22,12 @@ public class TemplateSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Language/LanguageSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Language/LanguageSavedWebhookEvent.cs index ccc52f4245..43ce2a183d 100644 --- a/src/Umbraco.Core/Webhooks/Events/Language/LanguageSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Language/LanguageSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Language; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Language Saved")] public class LanguageSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Media/MediaDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Media/MediaDeletedWebhookEvent.cs index 659917652d..c51d63d094 100644 --- a/src/Umbraco.Core/Webhooks/Events/Media/MediaDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Media/MediaDeletedWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Media; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Deleted", Constants.WebhookEvents.Types.Media)] public class MediaDeletedWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Media/MediaEmptiedRecycleBinWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Media/MediaEmptiedRecycleBinWebhookEvent.cs index 29d0e44e46..91b51dea34 100644 --- a/src/Umbraco.Core/Webhooks/Events/Media/MediaEmptiedRecycleBinWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Media/MediaEmptiedRecycleBinWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Media; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Recycle Bin Emptied", Constants.WebhookEvents.Types.Media)] public class MediaEmptiedRecycleBinWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedToRecycleBinWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedToRecycleBinWebhookEvent.cs index 1bd05c6d7b..e9411a56f4 100644 --- a/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedToRecycleBinWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedToRecycleBinWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Media; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Moved to Recycle Bin", Constants.WebhookEvents.Types.Media)] public class MediaMovedToRecycleBinWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedWebhookEvent.cs index 60b235f4cc..7c405baf84 100644 --- a/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Media/MediaMovedWebhookEvent.cs @@ -1,11 +1,11 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Media; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Moved", Constants.WebhookEvents.Types.Media)] public class MediaMovedWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Media/MediaSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Media/MediaSavedWebhookEvent.cs index 6c68e8edb1..c744f0c427 100644 --- a/src/Umbraco.Core/Webhooks/Events/Media/MediaSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Media/MediaSavedWebhookEvent.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Options; +using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DeliveryApi; using Umbraco.Cms.Core.Models; @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Media; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Media Saved", Constants.WebhookEvents.Types.Media)] public class MediaSavedWebhookEvent : WebhookEventContentBase diff --git a/src/Umbraco.Core/Webhooks/Events/Member/AssignedMemberRolesWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Member/AssignedMemberRolesWebhookEvent.cs index 4812bdcc73..002aebbc1b 100644 --- a/src/Umbraco.Core/Webhooks/Events/Member/AssignedMemberRolesWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Member/AssignedMemberRolesWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Member; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Roles Assigned")] public class AssignedMemberRolesWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Member/ExportedMemberWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Member/ExportedMemberWebhookEvent.cs index 3f72587c8f..0ab92a015e 100644 --- a/src/Umbraco.Core/Webhooks/Events/Member/ExportedMemberWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Member/ExportedMemberWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Member; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Exported")] public class ExportedMemberWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Member/MemberDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Member/MemberDeletedWebhookEvent.cs index c29e22003f..06d05514c0 100644 --- a/src/Umbraco.Core/Webhooks/Events/Member/MemberDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Member/MemberDeletedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Member; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Deleted")] public class MemberDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupDeletedWebhookEvent.cs index ab41dfed07..bcbefd0b2c 100644 --- a/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Member; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Group Deleted")] public class MemberGroupDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupSavedWebhookEvent.cs index 19d3e7d4b2..2759764f10 100644 --- a/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Member/MemberGroupSavedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Member; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Group Saved")] public class MemberGroupSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Member/MemberSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Member/MemberSavedWebhookEvent.cs index edb82cb518..044386eb1a 100644 --- a/src/Umbraco.Core/Webhooks/Events/Member/MemberSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Member/MemberSavedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Member; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Saved")] public class MemberSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Member/RemovedMemberRolesWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Member/RemovedMemberRolesWebhookEvent.cs index 8925b24059..873918ec8a 100644 --- a/src/Umbraco.Core/Webhooks/Events/Member/RemovedMemberRolesWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Member/RemovedMemberRolesWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.Member; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Member Roles Removed")] public class RemovedMemberRolesWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Package/ImportedPackageWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Package/ImportedPackageWebhookEvent.cs index 8495dde4c2..b099469910 100644 --- a/src/Umbraco.Core/Webhooks/Events/Package/ImportedPackageWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Package/ImportedPackageWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Package; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Package Imported")] public class ImportedPackageWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntryDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntryDeletedWebhookEvent.cs index 00f5a2ca86..f71fddb63b 100644 --- a/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntryDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntryDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.PublicAccess; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Public Access Entry Deleted")] public class PublicAccessEntryDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntrySavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntrySavedWebhookEvent.cs index 3977db2832..814f33059b 100644 --- a/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntrySavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/PublicAccess/PublicAccessEntrySavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.PublicAccess; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Public Access Entry Saved")] public class PublicAccessEntrySavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Relation/RelationDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Relation/RelationDeletedWebhookEvent.cs index 2ade4bd08e..08b9106c5d 100644 --- a/src/Umbraco.Core/Webhooks/Events/Relation/RelationDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Relation/RelationDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Relation; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Relation Deleted")] public class RelationDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/Relation/RelationSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/Relation/RelationSavedWebhookEvent.cs index 4cc775aa21..7a28a16615 100644 --- a/src/Umbraco.Core/Webhooks/Events/Relation/RelationSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/Relation/RelationSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.Relation; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Relation Saved")] public class RelationSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeDeletedWebhookEvent.cs index 41f9619a41..b50e146552 100644 --- a/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeDeletedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.RelationType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Relation Type Deleted")] public class RelationTypeDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeSavedWebhookEvent.cs index 915e95c6cb..b665b2479a 100644 --- a/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/RelationType/RelationTypeSavedWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.RelationType; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("Relation Type Saved")] public class RelationTypeSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/AssignedUserGroupPermissionsWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/AssignedUserGroupPermissionsWebhookEvent.cs index 1b8b1002bc..1d07e54337 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/AssignedUserGroupPermissionsWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/AssignedUserGroupPermissionsWebhookEvent.cs @@ -1,10 +1,10 @@ -using Microsoft.Extensions.Options; +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.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Group Permissions Assigned")] public class AssignedUserGroupPermissionsWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserDeletedWebhookEvent.cs index 3d7a6b2afa..944d5d1cde 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserDeletedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Deleted")] public class UserDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserForgotPasswordRequestedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserForgotPasswordRequestedWebhookEvent.cs index 0426d7a1e6..cfe388c97c 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserForgotPasswordRequestedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserForgotPasswordRequestedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Forgot Password Requested")] public class UserForgotPasswordRequestedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserForgottenPasswordRequestedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserForgottenPasswordRequestedWebhookEvent.cs deleted file mode 100644 index 7bd15f5a51..0000000000 --- a/src/Umbraco.Core/Webhooks/Events/User/UserForgottenPasswordRequestedWebhookEvent.cs +++ /dev/null @@ -1,22 +0,0 @@ -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.User; - -[WebhookEvent("User Forgotten Password Requested")] -public class UserForgottenPasswordRequestedWebhookEvent : WebhookEventBase -{ - public UserForgottenPasswordRequestedWebhookEvent( - IWebhookFiringService webhookFiringService, - IWebhookService webHookService, - IOptionsMonitor webhookSettings, - IServerRoleAccessor serverRoleAccessor) - : base(webhookFiringService, webHookService, webhookSettings, serverRoleAccessor) - { - } - - public override string Alias => "userForgottenPasswordRequested"; -} diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserGroupDeletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserGroupDeletedWebhookEvent.cs index c05bacb377..cb34e859ff 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserGroupDeletedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserGroupDeletedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Group Deleted")] public class UserGroupDeletedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserGroupSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserGroupSavedWebhookEvent.cs index 0bfe438a7b..c4d48c3565 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserGroupSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserGroupSavedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Group Saved")] public class UserGroupSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserLockedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserLockedWebhookEvent.cs index eb3106687f..f7afabb55f 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserLockedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserLockedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Locked")] public class UserLockedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserLoginFailedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserLoginFailedWebhookEvent.cs index e6957d39dc..85a7c41a93 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserLoginFailedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserLoginFailedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Login Failed")] public class UserLoginFailedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserLoginRequiresVerificationWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserLoginRequiresVerificationWebhookEvent.cs index a642827150..7cc2773dbc 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserLoginRequiresVerificationWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserLoginRequiresVerificationWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Login Requires Verification")] public class UserLoginRequiresVerificationWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserLoginSuccessWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserLoginSuccessWebhookEvent.cs index 58b98d8e07..651362cd42 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserLoginSuccessWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserLoginSuccessWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Login Success")] public class UserLoginSuccessWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserLogoutSuccessWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserLogoutSuccessWebhookEvent.cs index dc0f8d7bb2..93b10e3810 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserLogoutSuccessWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserLogoutSuccessWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Logout Success")] public class UserLogoutSuccessWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserPasswordChangedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserPasswordChangedWebhookEvent.cs index 99c654aba3..77d5dd0375 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserPasswordChangedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserPasswordChangedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Password Changed")] public class UserPasswordChangedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserPasswordResetWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserPasswordResetWebhookEvent.cs index 368116df0b..ee642bd434 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserPasswordResetWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserPasswordResetWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Password Reset")] public class UserPasswordResetWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserSavedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserSavedWebhookEvent.cs index ee65e9b2eb..a13ef13884 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserSavedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserSavedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Saved")] public class UserSavedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserTwoFactorRequestedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserTwoFactorRequestedWebhookEvent.cs index afcac294ca..706fa0fbf4 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserTwoFactorRequestedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserTwoFactorRequestedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Two Factor Requested")] public class UserTwoFactorRequestedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/Events/User/UserUnlockedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/User/UserUnlockedWebhookEvent.cs index a6aea62196..1d54188521 100644 --- a/src/Umbraco.Core/Webhooks/Events/User/UserUnlockedWebhookEvent.cs +++ b/src/Umbraco.Core/Webhooks/Events/User/UserUnlockedWebhookEvent.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Sync; -namespace Umbraco.Cms.Core.Webhooks.Events.User; +namespace Umbraco.Cms.Core.Webhooks.Events; [WebhookEvent("User Unlocked")] public class UserUnlockedWebhookEvent : WebhookEventBase diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentExtensions.cs new file mode 100644 index 0000000000..f8495514d8 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentExtensions.cs @@ -0,0 +1,65 @@ +using Umbraco.Cms.Core.Webhooks.Events; +using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderCmsExtensions; + +namespace Umbraco.Cms.Core.DependencyInjection; + +/// +/// Extension methods for . +/// +public static class WebhookEventCollectionBuilderCmsContentExtensions +{ + /// + /// Adds the content events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsContent AddDefault(this WebhookEventCollectionBuilderCmsContent builder) + { + builder.Builder + .Append() + .Append() + .Append() + .Append() + .Append() + .Append() + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the content blueprint events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsContent AddBlueprint(this WebhookEventCollectionBuilderCmsContent builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the content version events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsContent AddVersion(this WebhookEventCollectionBuilderCmsContent builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentTypeExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentTypeExtensions.cs new file mode 100644 index 0000000000..c8b84ef4e1 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsContentTypeExtensions.cs @@ -0,0 +1,65 @@ +using Umbraco.Cms.Core.Webhooks.Events; +using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderCmsExtensions; + +namespace Umbraco.Cms.Core.DependencyInjection; + +/// +/// Extension methods for . +/// +public static class WebhookEventCollectionBuilderCmsContentTypeExtensions +{ + /// + /// Adds the document type webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsContentType AddDocumentType(this WebhookEventCollectionBuilderCmsContentType builder) + { + builder.Builder + .Append() + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the media type webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsContentType AddMediaType(this WebhookEventCollectionBuilderCmsContentType builder) + { + builder.Builder + .Append() + .Append() + .Append() + .Append(); + + return builder; + } + + + /// + /// Adds the member type webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsContentType AddMemberType(this WebhookEventCollectionBuilderCmsContentType builder) + { + builder.Builder + .Append() + .Append() + .Append() + .Append(); + + return builder; + } +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs new file mode 100644 index 0000000000..ba30984ee3 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs @@ -0,0 +1,407 @@ +using Umbraco.Cms.Core.Webhooks; +using Umbraco.Cms.Core.Webhooks.Events; +using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderExtensions; + +namespace Umbraco.Cms.Core.DependencyInjection; + +/// +/// Extension methods for . +/// +public static class WebhookEventCollectionBuilderCmsExtensions +{ + /// + /// Adds the default webhook events. + /// + /// The builder. + /// + /// The builder. + /// + /// + /// This is a special subset of webhook events that is added by default. + /// + public static WebhookEventCollectionBuilderCms AddDefault(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append() + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds all available content (including blueprint and version) webhook events. + /// + /// The builder. + /// If set to true only adds the default webhook events instead of all available. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddContent(this WebhookEventCollectionBuilderCms builder, bool onlyDefault = false) + => builder.AddContent(builder => + { + builder.AddDefault(); + + if (onlyDefault is false) + { + builder + .AddBlueprint() + .AddVersion(); + } + }); + + /// + /// Adds content webhook events specified in the action. + /// + /// The builder. + /// The content builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddContent(this WebhookEventCollectionBuilderCms builder, Action contentBuilder) + { + contentBuilder(new WebhookEventCollectionBuilderCmsContent(builder.Builder)); + + return builder; + } + + /// + /// Adds all available content type (document, media and member type) webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddContentType(this WebhookEventCollectionBuilderCms builder) + => builder.AddContentType(builder => + { + builder + .AddDocumentType() + .AddMediaType() + .AddMemberType(); + }); + + /// + /// Adds content type webhook events specified in the action. + /// + /// The builder. + /// The content type builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddContentType(this WebhookEventCollectionBuilderCms builder, Action contentTypeBuilder) + { + contentTypeBuilder(new WebhookEventCollectionBuilderCmsContentType(builder.Builder)); + + return builder; + } + + /// + /// Adds the data type webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddDataType(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the dictionary webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddDictionary(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the domain webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddDomain(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds all available file (partial view, script, stylesheet and template) webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddFile(this WebhookEventCollectionBuilderCms builder) + => builder.AddFile(builder => + { + builder + .AddPartialView() + .AddScript() + .AddStylesheet() + .AddTemplate(); + }); + + /// + /// Adds file webhook events specified in the action. + /// + /// The builder. + /// The file builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddFile(this WebhookEventCollectionBuilderCms builder, Action fileBuilder) + { + fileBuilder(new WebhookEventCollectionBuilderCmsFile(builder.Builder)); + + return builder; + } + + /// + /// Adds the language webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddLanguage(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the media webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddMedia(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append() + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds all available member (including member role and member group) webhook events. + /// + /// The builder. + /// If set to true only adds the default webhook events instead of all available. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddMember(this WebhookEventCollectionBuilderCms builder, bool onlyDefault = false) + => builder.AddMember(builder => + { + builder.AddDefault(); + + if (onlyDefault is false) + { + builder + .AddRoles() + .AddGroup(); + } + }); + + /// + /// Adds member webhook events specified in the action. + /// + /// The builder. + /// The member builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddMember(this WebhookEventCollectionBuilderCms builder, Action memberBuilder) + { + memberBuilder(new WebhookEventCollectionBuilderCmsMember(builder.Builder)); + + return builder; + } + + /// + /// Adds the package webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddPackage(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append(); + + return builder; + } + + /// + /// Adds the public access webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddPublicAccess(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the relation webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddRelation(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the relation type webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddRelationType(this WebhookEventCollectionBuilderCms builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds all available user (including password, login and user group) webhook events. + /// + /// The builder. + /// If set to true only adds the default webhook events instead of all available. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddUser(this WebhookEventCollectionBuilderCms builder, bool onlyDefault = false) + => builder.AddUser(builder => + { + builder.AddDefault(); + + if (onlyDefault is false) + { + builder + .AddPassword() + .AddLogin() + .AddGroup(); + } + }); + + /// + /// Adds user webhook events specified in the action. + /// + /// The builder. + /// The user builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCms AddUser(this WebhookEventCollectionBuilderCms builder, Action userBuilder) + { + userBuilder(new WebhookEventCollectionBuilderCmsUser(builder.Builder)); + + return builder; + } + + /// + /// Fluent for adding CMS content specific webhook events. + /// + public sealed class WebhookEventCollectionBuilderCmsContent + { + internal WebhookEventCollectionBuilderCmsContent(WebhookEventCollectionBuilder builder) + => Builder = builder; + + internal WebhookEventCollectionBuilder Builder { get; } + } + + /// + /// Fluent for adding CMS content type specific webhook events. + /// + public sealed class WebhookEventCollectionBuilderCmsContentType + { + internal WebhookEventCollectionBuilderCmsContentType(WebhookEventCollectionBuilder builder) + => Builder = builder; + + internal WebhookEventCollectionBuilder Builder { get; } + } + + /// + /// Fluent for adding CMS member specific webhook events. + /// + public sealed class WebhookEventCollectionBuilderCmsMember + { + internal WebhookEventCollectionBuilderCmsMember(WebhookEventCollectionBuilder builder) + => Builder = builder; + + internal WebhookEventCollectionBuilder Builder { get; } + } + + /// + /// Fluent for adding CMS file specific webhook events. + /// + public sealed class WebhookEventCollectionBuilderCmsFile + { + internal WebhookEventCollectionBuilderCmsFile(WebhookEventCollectionBuilder builder) + => Builder = builder; + + internal WebhookEventCollectionBuilder Builder { get; } + } + + /// + /// Fluent for adding CMS user specific webhook events. + /// + public sealed class WebhookEventCollectionBuilderCmsUser + { + internal WebhookEventCollectionBuilderCmsUser(WebhookEventCollectionBuilder builder) + => Builder = builder; + + internal WebhookEventCollectionBuilder Builder { get; } + } +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsFileExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsFileExtensions.cs new file mode 100644 index 0000000000..b229e4d725 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsFileExtensions.cs @@ -0,0 +1,74 @@ +using Umbraco.Cms.Core.Webhooks.Events; +using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderCmsExtensions; + +namespace Umbraco.Cms.Core.DependencyInjection; + +/// +/// Extension methods for . +/// +public static class WebhookEventCollectionBuilderCmsFileExtensions +{ + /// + /// Adds the partial view webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsFile AddPartialView(this WebhookEventCollectionBuilderCmsFile builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the script webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsFile AddScript(this WebhookEventCollectionBuilderCmsFile builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the stylesheet webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsFile AddStylesheet(this WebhookEventCollectionBuilderCmsFile builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the template webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsFile AddTemplate(this WebhookEventCollectionBuilderCmsFile builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsMemberExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsMemberExtensions.cs new file mode 100644 index 0000000000..12c1ab53f1 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsMemberExtensions.cs @@ -0,0 +1,59 @@ +using Umbraco.Cms.Core.Webhooks.Events; +using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderCmsExtensions; + +namespace Umbraco.Cms.Core.DependencyInjection; + +/// +/// Extension methods for . +/// +public static class WebhookEventCollectionBuilderCmsMemberExtensions +{ + /// + /// Adds the member webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsMember AddDefault(this WebhookEventCollectionBuilderCmsMember builder) + { + builder.Builder + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the member role webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsMember AddRoles(this WebhookEventCollectionBuilderCmsMember builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the member group webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsMember AddGroup(this WebhookEventCollectionBuilderCmsMember builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsUserExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsUserExtensions.cs new file mode 100644 index 0000000000..4e6017c21f --- /dev/null +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsUserExtensions.cs @@ -0,0 +1,81 @@ +using Umbraco.Cms.Core.Webhooks.Events; +using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderCmsExtensions; + +namespace Umbraco.Cms.Core.DependencyInjection; + +/// +/// Extension methods for . +/// +public static class WebhookEventCollectionBuilderCmsUserExtensions +{ + /// + /// Adds the user events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsUser AddDefault(this WebhookEventCollectionBuilderCmsUser builder) + { + builder.Builder + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the user login events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsUser AddLogin(this WebhookEventCollectionBuilderCmsUser builder) + { + builder.Builder + .Append() + .Append() + .Append() + .Append() + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the user password events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsUser AddPassword(this WebhookEventCollectionBuilderCmsUser builder) + { + builder.Builder + .Append() + .Append() + .Append(); + + return builder; + } + + /// + /// Adds the user group events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilderCmsUser AddGroup(this WebhookEventCollectionBuilderCmsUser builder) + { + builder.Builder + .Append() + .Append() + .Append(); + + return builder; + } +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs index 0592ceee40..4205ce8e3b 100644 --- a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs @@ -1,279 +1,70 @@ using Umbraco.Cms.Core.Webhooks; -using Umbraco.Cms.Core.Webhooks.Events.Content; -using Umbraco.Cms.Core.Webhooks.Events.DataType; -using Umbraco.Cms.Core.Webhooks.Events.Dictionary; -using Umbraco.Cms.Core.Webhooks.Events.Domain; -using Umbraco.Cms.Core.Webhooks.Events.Language; -using Umbraco.Cms.Core.Webhooks.Events.Media; -using Umbraco.Cms.Core.Webhooks.Events.MediaType; -using Umbraco.Cms.Core.Webhooks.Events.Member; -using Umbraco.Cms.Core.Webhooks.Events.MemberType; -using Umbraco.Cms.Core.Webhooks.Events.Package; -using Umbraco.Cms.Core.Webhooks.Events.PublicAccess; -using Umbraco.Cms.Core.Webhooks.Events.Relation; -using Umbraco.Cms.Core.Webhooks.Events.RelationType; -using Umbraco.Cms.Core.Webhooks.Events.Script; -using Umbraco.Cms.Core.Webhooks.Events.Stylesheet; -using Umbraco.Cms.Core.Webhooks.Events.Template; -using Umbraco.Cms.Core.Webhooks.Events.User; namespace Umbraco.Cms.Core.DependencyInjection; +/// +/// Extension methods for . +/// public static class WebhookEventCollectionBuilderExtensions { - internal static WebhookEventCollectionBuilder AddDefaultWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append() - .Append(); - /// /// Adds all available CMS webhook events. /// /// The builder. + /// If set to true only adds the default webhook events instead of all available. /// /// The builder. /// - public static WebhookEventCollectionBuilder AddCmsWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .AddContentWebhooks() - .AddDataTypeWebhooks() - .AddDictionaryWebhooks() - .AddDomainWebhooks() - .AddLanguageWebhooks() - .AddMediaWebhooks() - .AddMemberWebhooks() - .AddMemberTypeWebhooks() - .AddPackageWebhooks() - .AddPublicAccessWebhooks() - .AddRelationWebhooks() - .AddScriptWebhooks() - .AddStylesheetWebhooks() - .AddTemplateWebhooks() - .AddUserWebhooks(); + public static WebhookEventCollectionBuilder AddCms(this WebhookEventCollectionBuilder builder, bool onlyDefault = false) + => builder.AddCms(builder => + { + if (onlyDefault) + { + builder.AddDefault(); + } + else + { + builder + .AddContent() + .AddContentType() + .AddDataType() + .AddDictionary() + .AddDomain() + .AddFile() + .AddLanguage() + .AddMedia() + .AddMember() + .AddPackage() + .AddPublicAccess() + .AddRelation() + .AddRelationType() + .AddUser(); + } + }); /// - /// Adds the content webhook events. + /// Adds CMS webhook events specified in the action. /// /// The builder. + /// The CMS builder. /// /// The builder. /// - public static WebhookEventCollectionBuilder AddContentWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append(); + public static WebhookEventCollectionBuilder AddCms(this WebhookEventCollectionBuilder builder, Action cmsBuilder) + { + cmsBuilder(new WebhookEventCollectionBuilderCms(builder)); + + return builder; + } /// - /// Adds the data type webhook events. + /// Fluent for adding CMS specific webhook events. /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddDataTypeWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append(); + public sealed class WebhookEventCollectionBuilderCms + { + internal WebhookEventCollectionBuilderCms(WebhookEventCollectionBuilder builder) + => Builder = builder; - /// - /// Adds the dictionary webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddDictionaryWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append(); - - /// - /// Adds the domain webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddDomainWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append(); - - /// - /// Adds the language webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddLanguageWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append(); - - /// - /// Adds the media webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddMediaWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append(); - - /// - /// Adds the member webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddMemberWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append(); - - /// - /// Adds the member type webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddMemberTypeWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append(); - - /// - /// Adds the package webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddPackageWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append(); - - /// - /// Adds the public access webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddPublicAccessWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append(); - - /// - /// Adds the relation webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddRelationWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append(); - - /// - /// Adds the script webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddScriptWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append(); - - /// - /// Adds the stylesheet webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddStylesheetWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append(); - - /// - /// Adds the template webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddTemplateWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append(); - - /// - /// Adds the user webhook events. - /// - /// The builder. - /// - /// The builder. - /// - public static WebhookEventCollectionBuilder AddUserWebhooks(this WebhookEventCollectionBuilder builder) - => builder - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append(); + internal WebhookEventCollectionBuilder Builder { get; } + } }