Fix file input click event in ThumbnailUpdate component

This commit is contained in:
swve 2024-01-19 22:08:33 +01:00
parent 513d65704f
commit f8ba29b015
5 changed files with 107 additions and 3 deletions

View file

@ -1,5 +1,5 @@
import { getAPIUrl } from "@services/config/config";
import { RequestBody, RequestBodyForm, RequestBodyWithAuthHeader, errorHandling } from "@services/utils/ts/requests";
import { RequestBody, RequestBodyForm, RequestBodyWithAuthHeader, errorHandling, getResponseMetadata } from "@services/utils/ts/requests";
/*
This file includes only POST, PUT, DELETE requests
@ -36,6 +36,14 @@ export async function getCourse(course_uuid: string, next: any) {
return res;
}
export async function updateCourseThumbnail(course_uuid: any, thumbnail: any) {
const formData = new FormData();
formData.append("thumbnail", thumbnail);
const result: any = await fetch(`${getAPIUrl()}courses/${course_uuid}/thumbnail`, RequestBodyForm("PUT", formData, null));
const res = await getResponseMetadata(result);
return res;
}
export async function createNewCourse(org_id: string, course_body: any, thumbnail: any) {
// Send file thumbnail as form data
const formData = new FormData();
@ -45,7 +53,7 @@ export async function createNewCourse(org_id: string, course_body: any, thumbnai
formData.append("learnings", course_body.tags);
formData.append("tags", course_body.tags);
formData.append("about", course_body.description);
if (thumbnail) {
formData.append("thumbnail", thumbnail);
}

View file

@ -75,6 +75,15 @@ export const errorHandling = (res: any) => {
return res.json();
};
export const getResponseMetadata = async (fetch_result: any) => {
const json = await fetch_result.json();
if (fetch_result.status === 200) {
return { success: true, data: json, status: fetch_result.status, HTTPmessage: fetch_result.statusText };
} else {
return { success: false, data: json, status: fetch_result.status, HTTPmessage: fetch_result.statusText };
}
};
export const revalidateTags = async (tags: string[], orgslug: string) => {
const url = getUriWithOrg(orgslug, "");
tags.forEach((tag) => {