chore: refactor courses ts

This commit is contained in:
swve 2023-02-02 21:45:50 +01:00
parent f4466d1932
commit ab96e34029
2 changed files with 19 additions and 38 deletions

View file

@ -1,4 +1,5 @@
import { getAPIUrl } from "@services/config"; import { getAPIUrl } from "@services/config";
import { RequestBody, RequestBodyForm } from "@services/utils/requests";
/* /*
This file includes only POST, PUT, DELETE requests This file includes only POST, PUT, DELETE requests
@ -6,39 +7,22 @@ import { getAPIUrl } from "@services/config";
*/ */
export async function getOrgCourses(org_id: number) { export async function getOrgCourses(org_id: number) {
const HeadersConfig = new Headers({ "Content-Type": "application/json" });
const requestOptions: any = {
method: "GET",
headers: HeadersConfig,
redirect: "follow",
credentials: "include",
};
return fetch(`${getAPIUrl()}courses/${org_id}/page/1/limit/10`, requestOptions) return fetch(`${getAPIUrl()}courses/${org_id}/page/1/limit/10`, RequestBody("GET", null))
.then((result) => result.json()) .then((result) => result.json())
.catch((error) => console.log("error", error)); .catch((error) => console.log("error", error));
} }
export async function getCourse(course_id: string) { export async function getCourse(course_id: string) {
const HeadersConfig = new Headers({ "Content-Type": "application/json" });
const requestOptions: any = {
method: "GET",
headers: HeadersConfig,
redirect: "follow",
credentials: "include",
};
// todo : add course id to url // todo : add course id to url
return fetch(`${getAPIUrl()}courses/${course_id}`, requestOptions) return fetch(`${getAPIUrl()}courses/${course_id}`, RequestBody("GET", null))
.then((result) => result.json()) .then((result) => result.json())
.catch((error) => console.log("error", error)); .catch((error) => console.log("error", error));
} }
export async function createNewCourse(org_id: string, course_body: any, thumbnail: any) { export async function createNewCourse(org_id: string, course_body: any, thumbnail: any) {
const HeadersConfig = new Headers();
// Send file thumbnail as form data // Send file thumbnail as form data
const formData = new FormData(); const formData = new FormData();
@ -48,30 +32,16 @@ export async function createNewCourse(org_id: string, course_body: any, thumbnai
formData.append("mini_description", "course_body.mini_description"); formData.append("mini_description", "course_body.mini_description");
formData.append("public", "true"); formData.append("public", "true");
const requestOptions: any = {
method: "POST",
headers: HeadersConfig,
redirect: "follow",
credentials: "include",
body: formData,
};
return fetch(`${getAPIUrl()}courses/?org_id=${org_id}`, requestOptions) return fetch(`${getAPIUrl()}courses/?org_id=${org_id}`, RequestBodyForm("POST", formData))
.then((result) => result.json()) .then((result) => result.json())
.catch((error) => console.log("error", error)); .catch((error) => console.log("error", error));
} }
export async function deleteCourseFromBackend(course_id: any) { export async function deleteCourseFromBackend(course_id: any) {
const HeadersConfig = new Headers({ "Content-Type": "application/json" });
const requestOptions: any = {
method: "DELETE",
headers: HeadersConfig,
redirect: "follow",
credentials: "include",
};
return fetch(`${getAPIUrl()}courses/${course_id}`, requestOptions) return fetch(`${getAPIUrl()}courses/${course_id}`, RequestBody("DELETE", null))
.then((result) => result.json()) .then((result) => result.json())
.catch((error) => console.log("error", error)); .catch((error) => console.log("error", error));
} }

View file

@ -12,8 +12,19 @@ export const RequestBody = (method: string, data: any) => {
return options; return options;
}; };
export const swrFetcher = async (url: string, body: any) => { export const RequestBodyForm = (method: string, data: any) => {
let HeadersConfig = new Headers({});
let options: any = {
method: method,
headers: HeadersConfig,
redirect: "follow",
credentials: "include",
body: data,
};
return options;
};
export const swrFetcher = async (url: string, body: any) => {
// Create the request options // Create the request options
let HeadersConfig = new Headers({ "Content-Type": "application/json" }); let HeadersConfig = new Headers({ "Content-Type": "application/json" });
let options: any = { let options: any = {