pub1c-web.frontend/src/store/modules/apache_restart.js

67 lines
1.5 KiB
JavaScript

import axios from "axios";
import config from "@/config.js";
const api_base = config.api;
const pass = (some) => some
export default {
state: {
apache_need_restart: false,
restart_flag: false,
flag_sent: false,
},
mutations: {
setApacheNeedRestart(state) {
state.apache_need_restart = true;
},
setApacheRestartFlag(state, flag) {
state.restart_flag = flag;
},
setApacheRestartFlagSent(state, flag) {
state.flag_sent = flag;
},
},
actions: {
async fetchApacheRestartFlag(ctx) {
try {
await axios.get(`${api_base}/apache-restart`);
ctx.commit("setApacheRestartFlag", true);
} catch (err) {
ctx.commit("setApacheRestartFlag", false);
if (ctx.getters.isApacheRestartFlagSent) {
ctx.commit("setApacheNeedRestart", false);
ctx.commit("setApacheRestartFlagSent", false);
}
}
},
async updateApacheRestartFlag(ctx) {
if (
ctx.getters.isApacheRestartPending ||
!ctx.getters.isApacheNeedRestart
) {
return;
}
try {
await axios.put(`${api_base}/apache-restart`);
ctx.commit("setApacheRestartFlag", true);
ctx.commit("setApacheRestartFlagSent", true);
} catch(err) {
pass()
}
},
},
getters: {
isApacheNeedRestart(state) {
return state.apache_need_restart;
},
isApacheRestartPending(state) {
return state.restart_flag;
},
isApacheRestartFlagSent(state) {
return state.flag_sent;
},
},
};