namespace Tiku.Application.Security;

[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public sealed class ConsumerAuthorizationMetadataAttribute(
    string realm,
    string module,
    CapabilityOperation operation,
    string auditAction) : Attribute
{
    public string Realm { get; } = realm;
    public string Module { get; } = module;
    public CapabilityOperation Operation { get; } = operation;
    public string AuditAction { get; } = auditAction;
    public bool RequiresSystemScope { get; init; }
}
