summaryrefslogtreecommitdiff
path: root/src/store/modules/Operations/PowerControlStore.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/Operations/PowerControlStore.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/Operations/PowerControlStore.js')
-rw-r--r--src/store/modules/Operations/PowerControlStore.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/store/modules/Operations/PowerControlStore.js b/src/store/modules/Operations/PowerControlStore.js
new file mode 100644
index 00000000..9dbddf05
--- /dev/null
+++ b/src/store/modules/Operations/PowerControlStore.js
@@ -0,0 +1,60 @@
+import api from '@/store/api';
+import i18n from '@/i18n';
+
+const PowerControlStore = {
+ namespaced: true,
+ state: {
+ powerCapValue: null,
+ powerConsumptionValue: null,
+ },
+ getters: {
+ powerCapValue: (state) => state.powerCapValue,
+ powerConsumptionValue: (state) => state.powerConsumptionValue,
+ },
+ mutations: {
+ setPowerCapValue: (state, powerCapValue) =>
+ (state.powerCapValue = powerCapValue),
+ setPowerConsumptionValue: (state, powerConsumptionValue) =>
+ (state.powerConsumptionValue = powerConsumptionValue),
+ },
+ actions: {
+ setPowerCapUpdatedValue({ commit }, value) {
+ commit('setPowerCapValue', value);
+ },
+ async getPowerControl({ commit }) {
+ return await api
+ .get('/redfish/v1/Chassis/chassis/Power')
+ .then((response) => {
+ const powerControl = response.data.PowerControl;
+ const powerCap = powerControl[0].PowerLimit.LimitInWatts;
+ // If system is powered off, power consumption does not exist in the PowerControl
+ const powerConsumption = powerControl[0].PowerConsumedWatts || null;
+
+ commit('setPowerCapValue', powerCap);
+ commit('setPowerConsumptionValue', powerConsumption);
+ })
+ .catch((error) => {
+ console.log('Power control', error);
+ });
+ },
+ async setPowerControl(_, powerCapValue) {
+ const data = {
+ PowerControl: [{ PowerLimit: { LimitInWatts: powerCapValue } }],
+ };
+
+ return await api
+ .patch('/redfish/v1/Chassis/chassis/Power', data)
+ .then(() =>
+ i18n.t('pageServerPowerOperations.toast.successSaveSettings')
+ )
+ .catch((error) => {
+ console.log(error);
+ throw new Error(
+ i18n.t('pageServerPowerOperations.toast.errorSaveSettings')
+ );
+ });
+ },
+ },
+};
+
+export default PowerControlStore;