summaryrefslogtreecommitdiff
path: root/src/store/modules/Control/PowerControlStore.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/modules/Control/PowerControlStore.js')
-rw-r--r--src/store/modules/Control/PowerControlStore.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/store/modules/Control/PowerControlStore.js b/src/store/modules/Control/PowerControlStore.js
new file mode 100644
index 00000000..63ede2d4
--- /dev/null
+++ b/src/store/modules/Control/PowerControlStore.js
@@ -0,0 +1,39 @@
+import api from '../../api';
+
+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: {
+ getPowerControl({ commit }) {
+ 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);
+ });
+ }
+ }
+};
+
+export default PowerControlStore;