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
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
using Umbraco.Cms.Core.Webhooks.Events;
|
||||
using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderCmsExtensions;
|
||||
|
||||
namespace Umbraco.Cms.Core.DependencyInjection;
|
||||
|
||||
/// <summary>
|
||||
/// Extension methods for <see cref="WebhookEventCollectionBuilderCmsUser" />.
|
||||
/// </summary>
|
||||
public static class WebhookEventCollectionBuilderCmsUserExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Adds the user events.
|
||||
/// </summary>
|
||||
/// <param name="builder">The builder.</param>
|
||||
/// <returns>
|
||||
/// The builder.
|
||||
/// </returns>
|
||||
public static WebhookEventCollectionBuilderCmsUser AddDefault(this WebhookEventCollectionBuilderCmsUser builder)
|
||||
{
|
||||
builder.Builder
|
||||
.Append<UserDeletedWebhookEvent>()
|
||||
.Append<UserSavedWebhookEvent>();
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the user login events.
|
||||
/// </summary>
|
||||
/// <param name="builder">The builder.</param>
|
||||
/// <returns>
|
||||
/// The builder.
|
||||
/// </returns>
|
||||
public static WebhookEventCollectionBuilderCmsUser AddLogin(this WebhookEventCollectionBuilderCmsUser builder)
|
||||
{
|
||||
builder.Builder
|
||||
.Append<UserLockedWebhookEvent>()
|
||||
.Append<UserLoginFailedWebhookEvent>()
|
||||
.Append<UserLoginRequiresVerificationWebhookEvent>()
|
||||
.Append<UserLoginSuccessWebhookEvent>()
|
||||
.Append<UserLogoutSuccessWebhookEvent>()
|
||||
.Append<UserTwoFactorRequestedWebhookEvent>()
|
||||
.Append<UserUnlockedWebhookEvent>();
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the user password events.
|
||||
/// </summary>
|
||||
/// <param name="builder">The builder.</param>
|
||||
/// <returns>
|
||||
/// The builder.
|
||||
/// </returns>
|
||||
public static WebhookEventCollectionBuilderCmsUser AddPassword(this WebhookEventCollectionBuilderCmsUser builder)
|
||||
{
|
||||
builder.Builder
|
||||
.Append<UserForgotPasswordRequestedWebhookEvent>()
|
||||
.Append<UserPasswordChangedWebhookEvent>()
|
||||
.Append<UserPasswordResetWebhookEvent>();
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the user group events.
|
||||
/// </summary>
|
||||
/// <param name="builder">The builder.</param>
|
||||
/// <returns>
|
||||
/// The builder.
|
||||
/// </returns>
|
||||
public static WebhookEventCollectionBuilderCmsUser AddGroup(this WebhookEventCollectionBuilderCmsUser builder)
|
||||
{
|
||||
builder.Builder
|
||||
.Append<AssignedUserGroupPermissionsWebhookEvent>()
|
||||
.Append<UserGroupDeletedWebhookEvent>()
|
||||
.Append<UserGroupSavedWebhookEvent>();
|
||||
|
||||
return builder;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user