136 lines
4.2 KiB
JavaScript
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(() => {
|
|
});
|
|
});
|
|
};
|