From e8fea7625f8c3451394bbf4f70f62d8185d69e2f Mon Sep 17 00:00:00 2001 From: Anthony Debucquoy Date: Thu, 18 Apr 2024 08:32:06 +0200 Subject: [PATCH] Removing toaster at every request It is possible to explicitly request a toaster for a request by setting its config['toast'] to true --- frontend/src/rest/restConsumer.js | 33 +++++++++++++++++-------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/frontend/src/rest/restConsumer.js b/frontend/src/rest/restConsumer.js index 1af979e..7fce929 100644 --- a/frontend/src/rest/restConsumer.js +++ b/frontend/src/rest/restConsumer.js @@ -3,25 +3,25 @@ import { toast } from 'vue3-toastify' const restURL = import.meta.env.VITE_CLYDE_MODE === 'container' ? "http://localhost:8080": import.meta.env.DEV ? "http://localhost:8080" : "https://clyde.herisson.ovh/api" -export async function restGet(endPoint) { - return await _rest(endPoint, {method: "GET"}); +export function restGet(endPoint) { + return _rest(endPoint, {method: "GET"}); } -export async function restPost(endPoint, data) { - return await _rest(endPoint, {method: "POST", credentials: 'include', body: JSON.stringify(data)}); +export function restPost(endPoint, data) { + return _rest(endPoint, {method: "POST", credentials: 'include', body: JSON.stringify(data)}); } -export async function restPostFile(endPoint, file){ +export function restPostFile(endPoint, file){ let headers = new Headers(); - return await _rest(endPoint, {method: "POST", credentials: 'include', body: file, headers: headers }); + return _rest(endPoint, {method: "POST", credentials: 'include', body: file, headers: headers }); } -export async function restDelete(endPoint) { - return await _rest(endPoint, {method: "DELETE"}); +export function restDelete(endPoint) { + return _rest(endPoint, {method: "DELETE"}); } -export async function restPatch(endPoint, data) { - return await _rest(endPoint, {method: "PATCH", credentials: 'include', body: JSON.stringify(data)}); +export function restPatch(endPoint, data) { + return _rest(endPoint, {method: "PATCH", credentials: 'include', body: JSON.stringify(data)}); } /** @@ -33,7 +33,7 @@ export async function restPatch(endPoint, data) { * * @Example _rest("/ping", {user: data}) -> {id:0, txt:"pong"} */ -async function _rest(endPoint, config){ +function _rest(endPoint, config){ endPoint.at(0) != "/" ? console.error("Carefull, you certainly should put a / at the begenning of your endPoint ") : true; let session_token = getCookie("session_token"); let headers = new Headers({ @@ -41,13 +41,16 @@ async function _rest(endPoint, config){ 'Content-Type': 'application/json', }); config['headers'] = config['headers'] == null ? headers : config['headers']; - return toast.promise(fetch(restURL + endPoint, config), + + let ret = fetch(restURL + endPoint, config); + if(config['toast']){ + ret = toast.promise(ret, { pending: config['pending'] != null ? config['pending'] : 'pending', error: config['error'] != null ? config['error'] : 'Network Failure...', success: config['success'] != null ? config['success'] : {render(res){ return res.data.ok ? "Success" : "error"; - }}, - }) - .then( e => e.json()).catch( e => e ); + }}}) + } + return ret.then( e => e.json()).catch( e => e ); }