forked from ddrilling/AsbCloudServer
41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using AsbCloudApp.Data;
|
||
using AsbCloudApp.Repositories;
|
||
using System.Collections.Generic;
|
||
|
||
namespace AsbCloudApp.Services
|
||
{
|
||
/// <summary>
|
||
/// Сервис пользователей
|
||
/// </summary>
|
||
public interface IUserService : ICrudService<UserExtendedDto>
|
||
{
|
||
/// <summary>
|
||
/// Сервис ролей
|
||
/// </summary>
|
||
IUserRoleRepository RoleService { get; }
|
||
|
||
/// <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);
|
||
}
|
||
}
|