* Initial stab at how this could look * Authorization PoC wip * Add connection manager * Add DI to its own class * Use enum instead of string * Use groups * Refactor group management into its own service * Update a users groups when it's saved * Add saved events * Wire up deleted notifications * Ensure update date and create date is the same * Cleanup * Minor cleanup * Remove unusued usings * Move route to constant * Add docstrings to server event router * Fix and suppress warnings * Refactor to authorizer pattern * Update EventType * Remove unused enums * Add trashed events * Notify current user that they've been updated * Add broadcast We don't need it, but seems like a thing that a server event router should be able to do. * Add ServerEventRouterTests * Add ServerEventUserManagerTests * Use TimeProvider * Remove principal null check * Don't assign event type * Minor cleanup * Rename AuthorizedEventSources * Change permission for relations * Exctract event authorization into its own service * Add some tests * Update name * Add forgotten file * Rmember to add to DI
15 lines
527 B
C#
15 lines
527 B
C#
using System.Security.Claims;
|
|
using Umbraco.Cms.Core.Models.ServerEvents;
|
|
|
|
namespace Umbraco.Cms.Core.ServerEvents;
|
|
|
|
public interface IServerEventAuthorizationService
|
|
{
|
|
/// <summary>
|
|
/// Authorizes a user to listen to server events.
|
|
/// </summary>
|
|
/// <param name="user">The user to authorize.</param>
|
|
/// <returns>The authorization result, containing all authorized event sources, and unauthorized event sources.</returns>
|
|
Task<SeverEventAuthorizationResult> AuthorizeAsync(ClaimsPrincipal user);
|
|
}
|