forked from ddrilling/AsbCloudServer
36 lines
1.3 KiB
C#
36 lines
1.3 KiB
C#
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);
|
||
}
|