namespace ROLAC.API.Entities;
///
/// One row per (Role × Module). Stores what the role may do on that module.
/// The effective permission for a user is the boolean OR of these flags across
/// all of the user's roles. super_admin is never stored here — it bypasses
/// permission checks entirely (see PermissionAuthorizationHandler).
///
public class RolePermission
{
public int Id { get; set; }
/// FK to AspNetRoles.Id.
public string RoleId { get; set; } = null!;
/// Module constant name (see ).
public string Module { get; set; } = null!;
public bool CanRead { get; set; }
public bool CanWrite { get; set; }
public bool CanDelete { get; set; }
public bool CanApprove { get; set; }
public AppRole Role { get; set; } = null!;
}