14 lines
520 B
C#
14 lines
520 B
C#
using Microsoft.AspNetCore.Http;
|
|
|
|
namespace Fitness_core_BE.Interfaces.Services
|
|
{
|
|
public record PermissionContext(bool IsOwner, Guid? ClientId, Guid? StaffId, IReadOnlySet<string> AllowedNavKeys);
|
|
|
|
public interface IPermissionService
|
|
{
|
|
// Single shared source of truth for "what can this caller see/do" — used by both
|
|
// RequiresPermissionAttribute and NavController so they can never drift apart.
|
|
Task<PermissionContext> GetPermissionContextAsync(HttpContext httpContext);
|
|
}
|
|
}
|