Base for rest api utilisation
The restConsumer will be the base, then I will create a js file per "object" (for instance there will be users.js with all endpoints for users using the restConsumer.js)
This commit is contained in:
parent
516fc0d5e6
commit
8c2397c4cf
@ -9,6 +9,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { getCookie } from './utils.js';
|
||||||
|
|
||||||
const default_lang = "EN";
|
const default_lang = "EN";
|
||||||
let langs;
|
let langs;
|
||||||
|
|
||||||
@ -44,22 +46,6 @@ export default i18n;
|
|||||||
// Those functions are utility functions use by previous exported functions.
|
// 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
|
* 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
|
* @param select the language to load. could be null to fetch the cookies for an answer
|
||||||
|
24
frontend/src/rest/restConsumer.js
Normal file
24
frontend/src/rest/restConsumer.js
Normal file
@ -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());
|
||||||
|
}
|
17
frontend/src/utils.js
Normal file
17
frontend/src/utils.js
Normal file
@ -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};
|
Loading…
Reference in New Issue
Block a user