import ApiService from "./ApiService";

export async function apiLogin(data: any) {
  return ApiService.request<any>({
    url: "/auth/login",
    method: "post",
    data,
  });
}

export interface SignupPayload {
  company_name: string;
  first_name: string;
  last_name: string;
  email: string;
  password: string;
  phone_number: string;
  address: string;
  country_code: number;
  currency: string;
}

export async function apiSignup(data: SignupPayload) {
  return ApiService.request<any>({
    url: "/companies/register",
    method: "post",
    data,
  });
}

export async function apiGetProfile(params?: any) {
  return ApiService.request<any>({
    url: "/auth/get-profile",
    method: "get",
    params: params || {},
  });
}

export async function apiForgotPassword(data: any) {
  return ApiService.request<any>({
    url: "/auth/forgot-password",
    method: "post",
    data,
  });
}

export async function apiSetPassword(data: any) {
  return ApiService.request<any>({
    url: "/auth/set-password",
    method: "post",
    data,
  });
}

export async function apiVerifyEmail(token: string) {
  return ApiService.request<any>({
    url: "/auth/verify-email",
    method: "get",
    params: { token },
  });
}

export async function apiChangePassword(data: { old_password: string; new_password: string }) {
  return ApiService.request<any>({
    url: "/auth/change-password",
    method: "post",
    data,
  });
}

export async function apiEditProfile(data: FormData) {
  return ApiService.request<any>({
    url: "/auth/edit-profile",
    method: "patch",
    data,
  });
}

export async function apiLogout() {
  return ApiService.request<any>({
    url: "/auth/logout",
    method: "post",
  });
}
