summaryrefslogtreecommitdiff
path: root/src/helpers/apiOdoo.js
blob: 357f93eb4b411b0d4c19fae5794c105a9a64aabd (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
32
import { getCookie, setCookie } from 'cookies-next';

const axios = require('axios');

const renewToken = async () => {
  let token = await axios.get(process.env.SELF_HOST + '/api/token');
  setCookie('token', token.data);
  return token.data;
};

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.ODOO_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 };