diff --git a/frontend/src/i18n.js b/frontend/src/i18n.js index 02fba50..2b0a2a4 100644 --- a/frontend/src/i18n.js +++ b/frontend/src/i18n.js @@ -9,6 +9,8 @@ * */ +import { getCookie } from './utils.js'; + const default_lang = "EN"; let langs; @@ -44,22 +46,6 @@ export default i18n; // Those functions are utility functions use by previous exported functions. // -/** - * Return the content of a cookie with specified key - * @param key cookie name - */ -function getCookie(key){ - key = key + "=" - let cookies = decodeURIComponent(document.cookie).split(";"); - for (let el of cookies) { - el = el.trimStart(); - if(el.indexOf(key) == 0){ - return el.substr(key.length, el.length); - } - } - return ""; -} - /** * Function that load the file with translation from the specified lang and return a dictionnary * @param select the language to load. could be null to fetch the cookies for an answer diff --git a/frontend/src/rest/restConsumer.js b/frontend/src/rest/restConsumer.js new file mode 100644 index 0000000..a83087c --- /dev/null +++ b/frontend/src/rest/restConsumer.js @@ -0,0 +1,24 @@ +import { getCookie } from './utils.js' + +const restURL = import.meta.env.PROD ? "https://clyde.herisson.ovh/api" : "http://localhost:8080" + +export async function restGet(endPoint) { + return await _rest(endPoint, {method: "GET"}); +} + +export async function restPost(endPoint, data) { + return await _rest(endPoint, {method: "POST", body: data}); + +} + +export async function restDelete(endPoint, data) { + return await _rest(endPoint, {method: "POST", body: data}); +} + +async 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({'Authorization': session_token}); + config['headers'] = headers; + return fetch(restURL + endPoint, config).then( e => e.json()); +} diff --git a/frontend/src/utils.js b/frontend/src/utils.js new file mode 100644 index 0000000..e79eec4 --- /dev/null +++ b/frontend/src/utils.js @@ -0,0 +1,17 @@ +/** + * Return the content of a cookie with specified key + * @param key cookie name + */ +function getCookie(key){ + key = key + "=" + let cookies = decodeURIComponent(document.cookie).split(";"); + for (let el of cookies) { + el = el.trimStart(); + if(el.indexOf(key) == 0){ + return el.substr(key.length, el.length); + } + } + return ""; +} + +export {getCookie};