using Apimanager_backend.Dtos;
using Apimanager_backend.Models;
using System.Runtime.CompilerServices;
namespace Apimanager_backend.Services
{
public interface IUserService
{
///
/// 登录用户,根据用户名和密码进行身份验证。
///
/// 用户名
/// 密码
/// 包含用户信息的
Task LoginAsync(string username, string password);
///
/// 发送密码重置邮件到指定邮箱。
///
/// 用户注册的邮箱地址
/// 异步操作
Task SendResetPasswordEmailAsync(string email);
///
/// 重置用户密码,验证重置令牌的有效性并更新密码。
///
/// 用户邮箱地址
/// 重置密码的令牌
/// 新的密码
/// 异步操作
Task ResetPasswordAsync(string email, string token, string newPassword);
///
/// 获取用户信息。
///
/// 用户名
/// 包含用户信息的
Task GetUserAsync(string username);
///
/// 更新用户信息。
///
/// 包含更新信息的
/// 更新后的
Task UpdateUserAsync(UpdateUserDto user);
///
/// 删除指定的用户。
///
/// 要删除的用户名
/// 异步操作
Task DeleteUserAsync(string username);
///
/// 创建新用户。
///
/// 包含新用户信息的
/// 创建成功的用户信息
Task CreateUserAsync(CreateUserDto user);
///
/// 禁用用户,使其无法登录。
///
/// 要禁用的用户名
/// 异步操作
Task BanUserAsync(string username);
///
/// 取消禁用用户,恢复登录权限。
///
/// 要取消禁用的用户名
/// 异步操作
Task UnbanUserAsync(string username);
///
/// 获取分页的用户列表。
///
/// 要获取的页码,从1开始
/// 每页的用户数量
/// 是否按降序排序
/// 包含用户信息的
Task> GetUsersAsync(int page, int pageSize, bool desc);
}
}