diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/helpers/apiOdoo.js | 25 |
1 files changed, 21 insertions, 4 deletions
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 |
