40 lines
1.1 KiB
C#

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