using AsbCloudApp.Data;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

namespace AsbCloudApp.Services
{
    public interface IUserRoleService : ICrudService<UserRoleDto>
    {
        Task<UserRoleDto> GetByNameAsync(string name, CancellationToken token = default);
        Task<IEnumerable<UserRoleDto>> GetByNamesAsync(IEnumerable<string> names, CancellationToken token = default);
        IEnumerable<UserRoleDto> GetNestedById(int id, int counter = 10);
        bool HasPermission(IEnumerable<int> rolesIds, string permissionName);
    }
}