using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Ewide.Core.Service
{
    public interface ISysRoleService
    {
        Task AddRole(AddRoleInput input);
        Task DeleteRole(DeleteRoleInput input);
        Task<string> GetNameByRoleId(string roleId);
        Task<dynamic> GetRoleDropDown();
        Task<SysRole> GetRoleInfo([FromQuery] QueryRoleInput input);
        Task<dynamic> GetRoleList([FromQuery] RoleInput input);
        Task<List<string>> GetUserDataScopeIdList(List<string> roleIdList, string orgId);
        Task<List<RoleOutput>> GetUserRoleList(string userId);
        Task GrantData(GrantRoleDataInput input);
        Task GrantMenu(GrantRoleMenuInput input);
        Task<List<string>> OwnData([FromQuery] QueryRoleInput input);
        Task<List<string>> OwnMenu([FromQuery] QueryRoleInput input);
        Task<dynamic> QueryRolePageList([FromQuery] RoleInput input);
        Task UpdateRole(UpdateRoleInput input);
    }
}