forked from ddrilling/AsbCloudServer
58 lines
2.0 KiB
C#
58 lines
2.0 KiB
C#
using AsbCloudApp.Data;
|
||
using System.Collections.Generic;
|
||
|
||
namespace AsbCloudApp.Services
|
||
{
|
||
/// <summary>
|
||
/// Сервис пользователей
|
||
/// </summary>
|
||
public interface IUserService : ICrudService<UserExtendedDto>
|
||
{
|
||
/// <summary>
|
||
/// Сервис ролей
|
||
/// </summary>
|
||
IUserRoleService 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);
|
||
|
||
// TODO: скорее всего не используется
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="idUser"></param>
|
||
/// <param name="roleNames"></param>
|
||
/// <returns></returns>
|
||
bool HasAnyRoleOf(int idUser, IEnumerable<string> roleNames);
|
||
|
||
// TODO: скорее всего не используется
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="idUser"></param>
|
||
/// <param name="roleIds"></param>
|
||
/// <returns></returns>
|
||
bool HasAnyRoleOf(int idUser, IEnumerable<int> roleIds);
|
||
|
||
/// <summary>
|
||
/// определяет есть ли у пользователя указанное разрешение
|
||
/// </summary>
|
||
/// <param name="idUser"></param>
|
||
/// <param name="permissionName"></param>
|
||
/// <returns></returns>
|
||
public bool HasPermission(int idUser, string permissionName);
|
||
}
|
||
}
|