Files
finanzas_api/APP/store/index.js

91 lines
2.0 KiB
JavaScript

export const state = () => ({
auth: null,
notifications: [],
filtro: { fechas: fechaString().slice(0, 7), npresupuesto: 5 },
fecha: fechaString(),
categorias: [],
metodos_de_pago: []
});
export const mutations = {
setAuth(state, auth) {
state.auth = auth;
},
setNotifications(state, notifications) {
state.notifications = notifications;
},
setCategorias(state, categorias) {
state.categorias = categorias;
},
setMetodos(state, metodos) {
state.metodos_de_pago = metodos;
},
actualizarFiltro(state, filtro) {
state.filtro = filtro;
}
};
function fechaString() {
let data = new Date();
let year = data.getFullYear();
let month =
data.getMonth() + 1 < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
let day = data.getDate() < 9 ? "0" + data.getDate() : data.getDate();
let dataF = `${year}-${month}-${day}`;
return dataF;
}
export const actions = {
readToken() {
let auth = null;
try {
auth = JSON.parse(localStorage.getItem("auth"));
} catch (error) {
console.log(err);
}
//saving auth in state
this.commit("setAuth", auth);
},
async getCategorias() {
const axiosHeader = {
headers: {
token: this.state.auth.token
}
};
await this.$axios
.get("/categoria", axiosHeader)
.then(res => {
this.commit("setCategorias", res.data.data);
})
.catch(error => {
localStorage.clear();
const auth = {};
this.commit("setAuth", auth);
});
},
async getMetodos() {
const axiosHeader = {
headers: {
token: this.state.auth.token
}
};
await this.$axios
.get("/metodo", axiosHeader)
.then(res => {
this.commit("setMetodos", res.data.data);
})
.catch(e => {
//Redireccion token
localStorage.clear();
const auth = {};
this.commit("setAuth", auth);
window.location.href = "/login";
});
}
};