summaryrefslogtreecommitdiff
path: root/src-migrate/common/libs/odooApi.ts
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-01-13 10:35:22 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-01-13 10:35:22 +0700
commitf62b2345f463695ef0f8f79830cd76b6e0332821 (patch)
treec06ff12a8312e3a02b0203f588db0f4da044c911 /src-migrate/common/libs/odooApi.ts
parentee0b5893ac039ab05fe8247647364a923d707da3 (diff)
Refactor src migrate folder
Diffstat (limited to 'src-migrate/common/libs/odooApi.ts')
-rw-r--r--src-migrate/common/libs/odooApi.ts81
1 files changed, 0 insertions, 81 deletions
diff --git a/src-migrate/common/libs/odooApi.ts b/src-migrate/common/libs/odooApi.ts
deleted file mode 100644
index 2dbc18d3..00000000
--- a/src-migrate/common/libs/odooApi.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import axios, { AxiosRequestConfig, Method } from 'axios';
-import { getCookie, setCookie } from 'cookies-next';
-import { getAuth } from './auth';
-import { AuthApiProps, AuthProps } from '../types/auth';
-
-const ODOO_HOST = process.env.NEXT_PUBLIC_ODOO_API_HOST as string;
-
-const renewToken = async () => {
- let token = await axios.get(`${ODOO_HOST}/api/token`);
- setCookie('token', token.data.result);
-
- return token.data.result;
-};
-
-const getToken = async () => {
- let token = getCookie('token');
- if (token == undefined) token = await renewToken();
-
- return token;
-};
-
-const maxConnectionAttempt = 15;
-let connectionAttempt = 0;
-
-const odooApi = async (
- method: Method,
- url: string,
- data = {},
- headers = {}
-): Promise<any> => {
- connectionAttempt++;
-
- try {
- let token = await getToken();
- const auth = getAuth();
-
- let axiosParameter: AxiosRequestConfig = {
- method,
- url: process.env.NEXT_PUBLIC_ODOO_API_HOST + url,
- headers: { Authorization: token, ...headers },
- };
-
- if (typeof auth === 'object' && 'token' in auth) {
- axiosParameter.headers = {
- ...axiosParameter.headers,
- Token: auth.token,
- };
- }
-
- if (method.toUpperCase() === 'POST') {
- axiosParameter.headers = {
- ...axiosParameter.headers,
- 'Content-Type': 'application/x-www-form-urlencoded',
- };
- }
-
- if (Object.keys(data).length > 0) {
- axiosParameter.data = new URLSearchParams(
- Object.entries(data)
- ).toString();
- }
-
- let res = await axios(axiosParameter);
- const authResponse: AuthApiProps = res.data;
-
- if (
- authResponse.status.code == 401 &&
- connectionAttempt < maxConnectionAttempt
- ) {
- await renewToken();
- return odooApi(method, url, data, headers);
- }
-
- return authResponse.result || null;
- } catch (error) {
- console.log(error);
- return null;
- }
-};
-
-export default odooApi;