import Axios from "./caller.api";

let get = async (id_course: any) => {
  const response = await Axios.get("/learnpress/v1/courses/" + id_course);
  return response.data;
};

let getAll = async (page = 1, perPage = 100) => {
  const response = await Axios.get(
    `/learnpress/v1/courses/?per_page=${perPage}&page=${page}&order=asc`
  );
  return response.data;
};

let getAllCourse = async () => {
  let page = 1;
  let AllCour: any[] = [];
  let cours;
  do {
    cours = await getAll(page);
    AllCour = AllCour.concat(cours);
    page++;
  } while (cours.length === 100);
  return AllCour;
};

let getReview = async (id_course: any) => {
  const res = await Axios.get("/lp/v1/review/course/" + id_course);
  return res.data;
};

let enroll = async (id_course: any) => {
  const res = await Axios.post("/learnpress/v1/course/enroll/", id_course);
  return res.data;
};

let getLesson = async (id_lesson: number) => {
  const response = await Axios.get("/learnpress/v1/lessons/" + id_lesson);
  return response.data;
};
let getCategory = async () => {
  const response = await Axios.get(
    "/wp/v2/course_category?acf_format=standard"
  );
  return response.data;
};
let getSingleCategory = async (slug: string) => {
  const response = await Axios.get(
    "/wp/v2/course_category?acf_format=standart&slug=" + slug
  );
  return response.data;
};

export const Course = {
  get,
  getAll,
  getLesson,
  getReview,
  enroll,
  getCategory,
  getAllCourse,
  getSingleCategory
};
