using BuildingBlock.Identity.Contracts.Abstractions;

namespace BuildingBlock.Identity.Contracts.Requests;

/// <summary>
/// Requests identity policy evaluation for a subject and permission.
/// </summary>
/// <param name="SubjectId">Identity subject identifier.</param>
/// <param name="TenantId">Tenant identifier.</param>
/// <param name="PermissionCode">Permission code to evaluate.</param>
public sealed record EvaluateIdentityPolicyRequest(string SubjectId, string TenantId, string PermissionCode)
    : IIdentityCapabilityContract;
