using AmtScanner.Api.Models;
namespace AmtScanner.Api.Services;
///
/// 认证服务接口
///
public interface IAuthService
{
///
/// 用户登录
///
Task<(User? user, string? accessToken, string? refreshToken, string? error)> LoginAsync(string userName, string password);
///
/// 刷新 Token
///
Task<(string? accessToken, string? refreshToken, string? error)> RefreshTokenAsync(string accessToken, string refreshToken);
///
/// 退出登录
///
Task LogoutAsync(int userId);
///
/// 获取用户信息
///
Task GetUserByIdAsync(int userId);
///
/// 获取用户角色
///
Task> GetUserRolesAsync(int userId);
///
/// 获取用户列表(分页)
///
Task<(List users, int total)> GetUsersAsync(int current, int size, string? userName = null, string? status = null);
}