From e93103fa78d610737e56b1b99056acdd84a9adde Mon Sep 17 00:00:00 2001 From: IT Fixcomart Date: Fri, 4 Nov 2022 10:53:59 +0700 Subject: Auth with token method --- src/helpers/apiOdoo.js | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/helpers/apiOdoo.js b/src/helpers/apiOdoo.js index 559c31c3..aff27bc3 100644 --- a/src/helpers/apiOdoo.js +++ b/src/helpers/apiOdoo.js @@ -1,14 +1,31 @@ +import { getCookie, setCookie } from 'cookies-next'; + const axios = require('axios'); +const renewToken = async () => { + let res = await axios.get(process.env.DB_HOST + '/api/token'); + setCookie('token', res.data.result); + return res.data.result; +}; + +const getToken = async () => { + let token = getCookie('token'); + if (token == undefined) token = await renewToken(); + return token; +}; + const getOdoo = async (url) => { try { - let res = await axios.get(process.env.DB_HOST + url); + let token = await getToken(); + let res = await axios.get(process.env.DB_HOST + url, {headers: {Authorization: token}}); + if (res.data.status.code == 401) { + await renewToken(); + return getOdoo(url); + } return res.data.result || []; } catch (error) { console.log(error); } } -export { - getOdoo, -}; \ No newline at end of file +export { getOdoo }; \ No newline at end of file -- cgit v1.2.3