using OpenWarehouse.auth.lib.Model.Service; namespace OpenWarehouse.auth.api.Common.PrivilageManager; public interface IPrivilageManager { public Task> GetUserPrivilage(ApplicationUser user); public Task?> GetRolePrivilage(ApplicationRole role); public Task AddRolePrivilage(ApplicationRole role, string privilage); public Task DeleteRolePrivilage(ApplicationRole role, string privilage); public Task RoleHasPrivilage(ApplicationRole role, string privilage); public Task UserHasPrivilage(ApplicationUser user, string privilage); public Task UserHasGlobalPrivilage(ApplicationUser user, GlobalPrivilage.Privilege privilege); public Task GetPrivilageByNameIfDontExistCreateAsync(string privilage); public Task GetPrivilageByName(string privilage); public Task CreatePrivageAsync(string privilage); }