using AsbCloudApp.Data; using AsbCloudApp.Data.User; using AsbCloudApp.Services; using System.Collections.Generic; namespace AsbCloudApp.Repositories { /// <summary> /// Репозиторий пользователей /// </summary> public interface IUserRepository : ICrudRepository<UserExtendedDto> { /// <summary> /// Получить список всех прав пользователя (включая наследование групп) /// </summary> /// <param name="idUser"></param> /// <returns></returns> IEnumerable<PermissionDto> GetNestedPermissions(int idUser); /// <summary> /// Получить список ролей пользователя (включая наследование) /// </summary> /// <param name="idUser"></param> /// <param name="nestedLevel"></param> /// <returns></returns> IEnumerable<UserRoleDto> GetRolesByIdUser(int idUser, int nestedLevel = 0); /// <summary> /// определяет есть ли у пользователя указанное разрешение /// </summary> /// <param name="idUser"></param> /// <param name="permissionName"></param> /// <returns></returns> public bool HasPermission(int idUser, string permissionName); } }