DD.WellWorkover.Cloud/AsbCloudApp/Services/IUserService.cs

58 lines
2.0 KiB
C#
Raw Normal View History

using AsbCloudApp.Data;
using System.Collections.Generic;
namespace AsbCloudApp.Services
{
2022-08-09 11:10:01 +05:00
/// <summary>
/// Сервис пользователей
/// </summary>
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>
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>
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>
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>
public bool HasPermission(int idUser, string permissionName);
}
}