summaryrefslogtreecommitdiff
path: root/src/helpers/apiOdoo.js
blob: aff27bc34f0566b556ffb1bf7c367d82ed2d485a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 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 };