// 登录相关API服务
import api from "./apiService";

/**
 * 登录服务类
 */
class LoginService {
  /**
   * 用户登录
   * @param {import('../types').LoginDto} loginData - 登录数据
   * @returns {Promise<import('../types').ApiResponse<import('../types').User>>}
   */
  login(loginData) {
    return api.post("/auth/login", loginData);
  }

  /**
   * 用户注册
   * @param {import('../types').RegisterDto} registerData - 注册数据
   * @returns {Promise<import('../types').ApiResponse<import('../types').User>>}
   */
  register(registerData) {
    return api.post("/auth/register", registerData);
  }

  /**
   * 登出
   */
  logout() {
    
    return api.post("/auth/logout");

  }

  /**
   * 获取当前用户信息
   * @returns {Promise<import('../types').ApiResponse<import('../types').User>>}
   */
  getCurrentUser() {
    return api.get("/user/info");
  }

  /**
   * 更新用户信息
   * @param {import('../types').UserDto} userData - 用户数据
   * @returns {Promise<import('../types').ApiResponse<import('../types').User>>}
   */
  updateUser(userData) {
    return api.put("/user/update", userData);
  }

  /**
   * 修改密码
   * @param {import('../types').ChangePasswordDto} passwordData - 密码数据
   * @returns {Promise<import('../types').ApiResponse<boolean>>}
   */
  changePassword(passwordData) {
    return api.post("/user/change-password", passwordData);
  }
}
export default new LoginService();