import 'package:food_health/api/dto/login_dto.dart';
import 'package:food_health/api/network/request.dart';
import 'package:food_health/data/models/other_login_type.dart';

///检查是否注册
Future<bool> checkRegisterApi(String email) async {
  var res = await Request().post("/auth/email_check", {
    "email": email,
  });
  if (res["next"] == "login") {
    return true;
  }
  return false;
}

///邮箱密码登陆
Future<LoginDto> loginApi(String email, String password) async {
  var res = await Request().post("/auth/login/account", {
    "email": email,
    "password": password,
  });
  return LoginDto.fromJson(res);
}

///注册处
Future<LoginDto> registerApi(String email, String password, String code) async {
  var res = await Request().post("/auth/register", {
    "email": email,
    "password": password,
    "email_code": code,
  });
  return LoginDto.fromJson(res);
}

///发送邮箱验证码
Future<void> sendEmailCodeApi(String email) async {
  return Request().post("/send_email_code", {
    "email": email,
  });
}

///三方登录
Future<LoginDto> thirdLoginApi(String token, OtherLoginType type) async {
  var res = await Request().post("/auth/login/oauth", {
    "login_token": token,
    "login_type": type.value,
  });
  return LoginDto.fromJson(res);
}

///删除账号
Future<void> deleteAccountApi() async {
  return Request().get("/delete_account");
}
