1import api from '@/store/api';
2import i18n from '@/i18n';
3
4const ServerLedStore = {
5  namespaced: true,
6  state: {
7    indicatorLedActiveState: false,
8  },
9  getters: {
10    getIndicatorLedActiveState: (state) => state.indicatorLedActiveState,
11  },
12  mutations: {
13    setIndicatorLedActiveState(state, indicatorLedActiveState) {
14      state.indicatorLedActiveState = indicatorLedActiveState;
15    },
16  },
17  actions: {
18    async getIndicatorLedActiveState({ commit }) {
19      return await api
20        .get('/redfish/v1/Systems/system')
21        .then((response) => {
22          commit(
23            'setIndicatorLedActiveState',
24            response.data.LocationIndicatorActive
25          );
26        })
27        .catch((error) => console.log(error));
28    },
29    async saveIndicatorLedActiveState({ commit }, payload) {
30      commit('setIndicatorLedActiveState', payload);
31      return await api
32        .patch('/redfish/v1/Systems/system', {
33          LocationIndicatorActive: payload,
34        })
35        .catch((error) => {
36          console.log(error);
37          commit('setIndicatorLedActiveState', !payload);
38          if (payload) {
39            throw new Error(
40              i18n.t('pageInventory.toast.errorEnableIdentifyLed')
41            );
42          } else {
43            throw new Error(
44              i18n.t('pageInventory.toast.errorDisableIdentifyLed')
45            );
46          }
47        });
48    },
49  },
50};
51
52export default ServerLedStore;
53