2026-09-16 18:02:02 -03:00
|
|
|
using Data.SeaHavenIndustries.Enums;
|
|
|
|
|
using SeaHaven.Services.DTOs;
|
|
|
|
|
using System.Security.Claims;
|
|
|
|
|
|
|
|
|
|
namespace SeaHaven.Services.Interfaces;
|
|
|
|
|
|
|
|
|
|
public interface ITeamPermissionService
|
|
|
|
|
{
|
|
|
|
|
Task<TeamPermissionResult<TeamPermissionProfileDTO>> GetProfileAsync(
|
|
|
|
|
string userId,
|
|
|
|
|
ClaimsPrincipal caller,
|
|
|
|
|
CancellationToken cancellationToken);
|
|
|
|
|
|
2026-09-25 12:03:35 -03:00
|
|
|
/// <summary>
|
|
|
|
|
/// Keys the caller holds after role defaults and their own overrides. The
|
|
|
|
|
/// user is read from the caller's identity, never from request input.
|
|
|
|
|
/// </summary>
|
|
|
|
|
Task<TeamPermissionResult<EffectivePermissionsDTO>> GetEffectivePermissionsAsync(
|
|
|
|
|
ClaimsPrincipal caller,
|
|
|
|
|
CancellationToken cancellationToken);
|
|
|
|
|
|
2026-09-16 18:02:02 -03:00
|
|
|
Task<TeamPermissionResult<TeamPermissionProfileDTO>> SetOverrideAsync(
|
|
|
|
|
string userId,
|
|
|
|
|
string permissionKey,
|
|
|
|
|
UserPermissionState state,
|
|
|
|
|
ClaimsPrincipal caller,
|
|
|
|
|
CancellationToken cancellationToken);
|
|
|
|
|
}
|