Interface IRoleProvider

Assembly: redb.Core.dll

Provider for user role management.
Provides CRUD operations for roles and user-role relationship management.

public interface IRoleProvider

Methods

AssignUserToRoleAsync(IRedbUser, IRedbRole, IRedbUser?)

Assign role to user.

Task<bool> AssignUserToRoleAsync(IRedbUser user, IRedbRole role, IRedbUser? currentUser = null)

CreateRoleAsync(CreateRoleRequest, IRedbUser?)

Create new role.

Task<IRedbRole> CreateRoleAsync(CreateRoleRequest request, IRedbUser? currentUser = null)

DeleteRoleAsync(IRedbRole, IRedbUser?)

Delete role.

Task<bool> DeleteRoleAsync(IRedbRole role, IRedbUser? currentUser = null)

GetRoleByIdAsync(long)

Get role by ID.

Task<IRedbRole?> GetRoleByIdAsync(long roleId)

GetRoleByNameAsync(string)

Get role by name.

Task<IRedbRole?> GetRoleByNameAsync(string roleName)

GetRoleConfigurationIdAsync(long)

Get role configuration ID.

Task<long?> GetRoleConfigurationIdAsync(long roleId)

GetRoleCountAsync()

Get role count.

Task<int> GetRoleCountAsync()

GetRolesAsync()

Get all roles.

Task<List<IRedbRole>> GetRolesAsync()

GetRoleStatisticsAsync()

Get role statistics (role -> user count).

Task<Dictionary<IRedbRole, int>> GetRoleStatisticsAsync()

GetRoleUserCountAsync(IRedbRole)

Get user count in role.

Task<int> GetRoleUserCountAsync(IRedbRole role)

GetRoleUsersAsync(IRedbRole)

Get role users.

Task<List<IRedbUser>> GetRoleUsersAsync(IRedbRole role)

GetUserRolesAsync(IRedbUser)

Get user roles.

Task<List<IRedbRole>> GetUserRolesAsync(IRedbUser user)

IsRoleNameAvailableAsync(string, IRedbRole?)

Check role name availability.

Task<bool> IsRoleNameAvailableAsync(string roleName, IRedbRole? excludeRole = null)

LoadRoleAsync(long)

Load role by ID (throws exception if not found).

Task<IRedbRole> LoadRoleAsync(long roleId)

LoadRoleAsync(string)

Load role by name (throws exception if not found).

Task<IRedbRole> LoadRoleAsync(string roleName)

RemoveUserFromRoleAsync(IRedbUser, IRedbRole, IRedbUser?)

Remove role from user.

Task<bool> RemoveUserFromRoleAsync(IRedbUser user, IRedbRole role, IRedbUser? currentUser = null)

SetRoleConfigurationAsync(long, long?)

Set role configuration.

Task SetRoleConfigurationAsync(long roleId, long? configId)

SetUserRolesAsync(IRedbUser, IRedbRole[], IRedbUser?)

Set user roles (replace all existing).

Task<bool> SetUserRolesAsync(IRedbUser user, IRedbRole[] roles, IRedbUser? currentUser = null)

UpdateRoleAsync(IRedbRole, string, IRedbUser?)

Update role.

Task<IRedbRole> UpdateRoleAsync(IRedbRole role, string newName, IRedbUser? currentUser = null)

UserHasRoleAsync(IRedbUser, IRedbRole)

Check if user has role.

Task<bool> UserHasRoleAsync(IRedbUser user, IRedbRole role)