2021-12-11 16:46:04 +05:00
|
|
|
|
using AsbCloudApp.Data;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace AsbCloudApp.Services
|
|
|
|
|
{
|
2022-08-09 11:10:01 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Сервис пользователей
|
|
|
|
|
/// </summary>
|
2021-12-11 16:46:04 +05:00
|
|
|
|
public interface IUserService : ICrudService<UserExtendedDto>
|
|
|
|
|
{
|
2022-08-09 11:10:01 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Сервис ролей
|
|
|
|
|
/// </summary>
|
2022-04-11 18:00:34 +05:00
|
|
|
|
IUserRoleService RoleService { get; }
|
2022-08-09 11:10:01 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получить список всех прав пользователя (включая наследование групп)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idUser"></param>
|
|
|
|
|
/// <returns></returns>
|
2021-12-20 15:17:09 +05:00
|
|
|
|
IEnumerable<PermissionDto> GetNestedPermissions(int idUser);
|
2022-08-09 11:10:01 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получить список ролей пользователя (включая наследование)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idUser"></param>
|
|
|
|
|
/// <param name="nestedLevel"></param>
|
|
|
|
|
/// <returns></returns>
|
2022-03-15 16:19:51 +05:00
|
|
|
|
IEnumerable<UserRoleDto> GetRolesByIdUser(int idUser, int nestedLevel = 0);
|
2022-08-09 11:10:01 +05:00
|
|
|
|
|
|
|
|
|
// TODO: скорее всего не используется
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idUser"></param>
|
|
|
|
|
/// <param name="roleNames"></param>
|
|
|
|
|
/// <returns></returns>
|
2021-12-11 16:46:04 +05:00
|
|
|
|
bool HasAnyRoleOf(int idUser, IEnumerable<string> roleNames);
|
2022-08-09 11:10:01 +05:00
|
|
|
|
|
|
|
|
|
// TODO: скорее всего не используется
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idUser"></param>
|
|
|
|
|
/// <param name="roleIds"></param>
|
|
|
|
|
/// <returns></returns>
|
2021-12-11 16:46:04 +05:00
|
|
|
|
bool HasAnyRoleOf(int idUser, IEnumerable<int> roleIds);
|
2022-08-09 11:10:01 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// определяет есть ли у пользователя указанное разрешение
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idUser"></param>
|
|
|
|
|
/// <param name="permissionName"></param>
|
|
|
|
|
/// <returns></returns>
|
2021-12-16 16:00:47 +05:00
|
|
|
|
public bool HasPermission(int idUser, string permissionName);
|
2021-12-11 16:46:04 +05:00
|
|
|
|
}
|
|
|
|
|
}
|