using RSecurityBackend.Models.Auth.Db; using RSecurityBackend.Models.Auth.Memory; using RSecurityBackend.Models.Generic; using System; using System.Threading.Tasks; namespace RSecurityBackend.Services { /// /// User Groups Service /// public interface IUserRoleService { /// /// returns all user roles /// /// Task> GetAllRoles(); /// /// returns user role information /// /// /// Task> GetRoleInformation(string roleName); /// /// adds a new user role /// /// new role info /// update user role info (id) Task> AddRole(RAppRole newRoleInfo); /// /// modify existing user role /// /// /// /// Task> ModifyRole(string roleName, RAppRole editedRole); /// /// delete user role /// /// /// true if succeeds Task> DeleteRole(string roleName); /// /// Has role specified permission /// /// /// /// /// Task> HasPermission(string roleName, string securableItemShortName, string operationShortName); /// /// gets list of SecurableItem, should be reimplemented in end user applications /// /// SecurableItem[] GetSecurableItems(); /// /// Lists role permissions /// /// /// Task> GetRoleSecurableItemsStatus(string roleName); /// /// Saves role permissions /// /// /// /// Task> SetRoleSecurableItemsStatus(string roleName, SecurableItem[] securableItems); } }