Files
digitalpower_electron/src/services/apiReq.js
2024-09-22 17:25:23 -03:00

136 lines
4.2 KiB
JavaScript

import axios from "axios";
import {show} from "./notification";
export const site_name = "DPStock.db";
export const backendUrl = "https://backend.digitalpower.ar";
//export const databaseUrl = "https://database.digitalpower.ar";
//export const authUrl = "https://auth.digitalpower.ar";
export const authUrl = "http://localhost:3013";
export const databaseUrl = "http://localhost:3014";
const Service = axios.create({
baseURL: `${backendUrl}/api`,
});
export const DBService = axios.create({
baseURL: `${databaseUrl}/api`,
});
export const AuthService = axios.create({
baseURL: `${authUrl}/`,
});
let user = {token: null, id: null, site_name: null};
if (localStorage.getItem("user") !== "undefined") user = JSON.parse(localStorage?.getItem("user"))
if (localStorage.getItem("user") !== "undefined")
user = JSON.parse(localStorage.getItem("user"));
let config = {
headers: {
Authorization: `Bearer ${user?.token}`,
Accept: "application/json",
"Content-Type": "application/json",
},
};
export const post = (path, body, service = Service) => {
if (!user) {
user = JSON.parse(localStorage.getItem("user"));
config = {
headers: {
Authorization: `Bearer ${user?.token}`,
Accept: "application/json",
"Content-Type": "application/json",
},
};
console.log("USER", user);
}
if (!body) {
body = {};
}
if (!body?.site_name) body.site_name = user?.site_name ?? site_name;
if (user?.id) body.user_id = user?.id;
return new Promise(async (resolve) => {
service
.post(path, body, config)
.then((response) => {
let message = response?.message ?? response.data?.message;
let status = response?.status ?? response.data?.status;
if (response.data?.data) response = response?.data;
if (message) {
show(message);
}
setTimeout(() => {
if (response?.data?.redirect) {
location.href = response?.data?.redirect;
}
}, 1000);
if (status === 401) {
location.href = "/admin";
}
resolve(response);
})
.catch((err) => {
console.log(err)
if (err?.response?.status === 401) {
//localStorage.removeItem("dp_user");
//location.href = "/#/login";
}
if (err?.response?.data?.message) {
show(err?.response?.data?.message);
} else
show("Ha ocurrido un error, intente mas tarde");
})
.finally(() => {
});
});
};
export const files = (path, body) => {
if (body?.append) {
body.append("site_name", user?.site_name);
if (user?.id) body.append("user_id", user?.id);
} else {
body.site_name = user?.site_name;
if (user?.id) body.user_id = user?.id;
}
return new Promise((resolve) => {
Service
.post(path, body, {
headers: {
"Content-Type": "multipart/form-data",
Authorization: `Bearer ${user?.token}`,
Accept: "application/json",
},
})
.then((response) => {
if (response.data?.message) {
show(response.data.message);
}
setTimeout(() => {
if (response?.data?.data?.redirect)
location.href = response?.data?.data?.redirect;
}, 1000);
if (response.data?.status === 401) {
location.href = "/admin";
}
resolve(response.data);
})
.catch((err) => {
if (err?.response?.status === 401) {
location.href = "/#/login";
}
show("Ha ocurrido un error, intente mas tarde");
})
.finally(() => {
});
});
};