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:
		| @ -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 | ||||
|  | ||||
							
								
								
									
										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}; | ||||
		Reference in New Issue
	
	Block a user