summaryrefslogtreecommitdiff
path: root/src/store/modules/HardwareStatus/ServerLedStore.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/modules/HardwareStatus/ServerLedStore.js')
-rw-r--r--src/store/modules/HardwareStatus/ServerLedStore.js55
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;