summaryrefslogtreecommitdiff
path: root/src/store/modules/Control/ControlStore.js
diff options
context:
space:
mode:
authorSandeepa Singh <sandeepa.singh@ibm.com>2021-07-14 13:32:22 +0300
committerDerick Montague <derick.montague@ibm.com>2021-08-10 22:20:42 +0300
commit68cbbe9014cbdcf7229a878f564d38f6d6199f25 (patch)
treecd7138959f405cb44b5d62000da9d364ed238b91 /src/store/modules/Control/ControlStore.js
parent7affc529b7fba41193c4d48764707e9961cdd22d (diff)
downloadwebui-vue-68cbbe9014cbdcf7229a878f564d38f6d6199f25.tar.xz
IA update: Update control section to operations
This is the third update to the information architecture changes and has the following changes: - The control section has been updated to operations - The server led page has been removed - The firmware page is moved to operations section Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com> Change-Id: I2e23da447890d7bee51892e1f782d5f2db6dded4
Diffstat (limited to 'src/store/modules/Control/ControlStore.js')
-rw-r--r--src/store/modules/Control/ControlStore.js132
1 files changed, 0 insertions, 132 deletions
diff --git a/src/store/modules/Control/ControlStore.js b/src/store/modules/Control/ControlStore.js
deleted file mode 100644
index 9b8bf73d..00000000
--- a/src/store/modules/Control/ControlStore.js
+++ /dev/null
@@ -1,132 +0,0 @@
-import api from '@/store/api';
-import i18n from '@/i18n';
-
-/**
- * Watch for serverStatus changes in GlobalStore module
- * to set isOperationInProgress state
- * Stop watching status changes and resolve Promise when
- * serverStatus value matches passed argument or after 5 minutes
- * @param {string} serverStatus
- * @returns {Promise}
- */
-const checkForServerStatus = function (serverStatus) {
- return new Promise((resolve) => {
- const timer = setTimeout(() => {
- resolve();
- unwatch();
- }, 300000 /*5mins*/);
- const unwatch = this.watch(
- (state) => state.global.serverStatus,
- (value) => {
- if (value === serverStatus) {
- resolve();
- unwatch();
- clearTimeout(timer);
- }
- }
- );
- });
-};
-
-const ControlStore = {
- namespaced: true,
- state: {
- isOperationInProgress: false,
- lastPowerOperationTime: null,
- lastBmcRebootTime: null,
- },
- getters: {
- isOperationInProgress: (state) => state.isOperationInProgress,
- lastPowerOperationTime: (state) => state.lastPowerOperationTime,
- lastBmcRebootTime: (state) => state.lastBmcRebootTime,
- },
- mutations: {
- setOperationInProgress: (state, inProgress) =>
- (state.isOperationInProgress = inProgress),
- setLastPowerOperationTime: (state, lastPowerOperationTime) =>
- (state.lastPowerOperationTime = lastPowerOperationTime),
- setLastBmcRebootTime: (state, lastBmcRebootTime) =>
- (state.lastBmcRebootTime = lastBmcRebootTime),
- },
- actions: {
- async getLastPowerOperationTime({ commit }) {
- return await api
- .get('/redfish/v1/Systems/system')
- .then((response) => {
- const lastReset = response.data.LastResetTime;
- if (lastReset) {
- const lastPowerOperationTime = new Date(lastReset);
- commit('setLastPowerOperationTime', lastPowerOperationTime);
- }
- })
- .catch((error) => console.log(error));
- },
- getLastBmcRebootTime({ commit }) {
- return api
- .get('/redfish/v1/Managers/bmc')
- .then((response) => {
- const lastBmcReset = response.data.LastResetTime;
- const lastBmcRebootTime = new Date(lastBmcReset);
- commit('setLastBmcRebootTime', lastBmcRebootTime);
- })
- .catch((error) => console.log(error));
- },
- async rebootBmc({ dispatch }) {
- const data = { ResetType: 'GracefulRestart' };
- return await api
- .post('/redfish/v1/Managers/bmc/Actions/Manager.Reset', data)
- .then(() => dispatch('getLastBmcRebootTime'))
- .then(() => i18n.t('pageRebootBmc.toast.successRebootStart'))
- .catch((error) => {
- console.log(error);
- throw new Error(i18n.t('pageRebootBmc.toast.errorRebootStart'));
- });
- },
- async serverPowerOn({ dispatch, commit }) {
- const data = { ResetType: 'On' };
- dispatch('serverPowerChange', data);
- await checkForServerStatus.bind(this, 'on')();
- commit('setOperationInProgress', false);
- dispatch('getLastPowerOperationTime');
- },
- async serverSoftReboot({ dispatch, commit }) {
- const data = { ResetType: 'GracefulRestart' };
- dispatch('serverPowerChange', data);
- await checkForServerStatus.bind(this, 'on')();
- commit('setOperationInProgress', false);
- dispatch('getLastPowerOperationTime');
- },
- async serverHardReboot({ dispatch, commit }) {
- const data = { ResetType: 'ForceRestart' };
- dispatch('serverPowerChange', data);
- await checkForServerStatus.bind(this, 'on')();
- commit('setOperationInProgress', false);
- dispatch('getLastPowerOperationTime');
- },
- async serverSoftPowerOff({ dispatch, commit }) {
- const data = { ResetType: 'GracefulShutdown' };
- dispatch('serverPowerChange', data);
- await checkForServerStatus.bind(this, 'off')();
- commit('setOperationInProgress', false);
- dispatch('getLastPowerOperationTime');
- },
- async serverHardPowerOff({ dispatch, commit }) {
- const data = { ResetType: 'ForceOff' };
- dispatch('serverPowerChange', data);
- await checkForServerStatus.bind(this, 'off')();
- commit('setOperationInProgress', false);
- dispatch('getLastPowerOperationTime');
- },
- serverPowerChange({ commit }, data) {
- commit('setOperationInProgress', true);
- api
- .post('/redfish/v1/Systems/system/Actions/ComputerSystem.Reset', data)
- .catch((error) => {
- console.log(error);
- commit('setOperationInProgress', false);
- });
- },
- },
-};
-
-export default ControlStore;