diff options
Diffstat (limited to 'src/store/modules/HardwareStatus/ServerLedStore.js')
-rw-r--r-- | src/store/modules/HardwareStatus/ServerLedStore.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/store/modules/HardwareStatus/ServerLedStore.js b/src/store/modules/HardwareStatus/ServerLedStore.js new file mode 100644 index 00000000..a8903e2a --- /dev/null +++ b/src/store/modules/HardwareStatus/ServerLedStore.js @@ -0,0 +1,55 @@ +import api from '@/store/api'; +import i18n from '@/i18n'; + +const ServerLedStore = { + namespaced: true, + state: { + indicatorLedActiveState: false, + }, + getters: { + getIndicatorLedActiveState: (state) => state.indicatorLedActiveState, + }, + mutations: { + setIndicatorLedActiveState(state, indicatorLedActiveState) { + state.indicatorLedActiveState = indicatorLedActiveState; + }, + }, + actions: { + async getIndicatorLedActiveState({ commit }) { + return await api + .get('/redfish/v1/Systems/system') + .then((response) => { + commit( + 'setIndicatorLedActiveState', + response.data.LocationIndicatorActive + ); + }) + .catch((error) => console.log(error)); + }, + async saveIndicatorLedActiveState({ commit }, payload) { + commit('setIndicatorLedActiveState', payload); + return await api + .patch('/redfish/v1/Systems/system', { + LocationIndicatorActive: payload, + }) + .then(() => { + if (payload) { + return i18n.t('pageServerLed.toast.successServerLedOn'); + } else { + return i18n.t('pageServerLed.toast.successServerLedOff'); + } + }) + .catch((error) => { + console.log(error); + commit('setIndicatorLedActiveState', !payload); + if (payload) { + throw new Error(i18n.t('pageServerLed.toast.errorServerLedOn')); + } else { + throw new Error(i18n.t('pageServerLed.toast.errorServerLedOff')); + } + }); + }, + }, +}; + +export default ServerLedStore; |