summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichalX Szopinski <michalx.szopinski@intel.com>2021-05-07 14:14:50 +0300
committerDerick Montague <derick.montague@ibm.com>2021-06-09 14:58:34 +0300
commitdca9b0a5baddfec7ea0ea5e4bdb63c2dd0be27b2 (patch)
tree6fc55a19c0a6fc032068e9519af19c4f074a92b1
parentc2f8f34e19ef7b9987538e8c2624e629b5203c17 (diff)
downloadwebui-vue-dca9b0a5baddfec7ea0ea5e4bdb63c2dd0be27b2.tar.xz
Remove hardcoded chassis in power supplies
According to our conversation on community meeting we want to remove all hardcoded chassis names in request URL. This change corrects the "Power supplies" table in "Hardware Status" view. Signed-off-by: MichalX Szopinski <michalx.szopinski@intel.com> Change-Id: I5219c68b71477adee5f6785c58808eeaa5d35986
-rw-r--r--src/store/modules/Health/PowerSupplyStore.js28
-rw-r--r--src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue2
2 files changed, 25 insertions, 5 deletions
diff --git a/src/store/modules/Health/PowerSupplyStore.js b/src/store/modules/Health/PowerSupplyStore.js
index 565715fa..cc82f2ef 100644
--- a/src/store/modules/Health/PowerSupplyStore.js
+++ b/src/store/modules/Health/PowerSupplyStore.js
@@ -38,14 +38,34 @@ const PowerSupplyStore = {
},
},
actions: {
- async getPowerSupply({ commit }) {
+ async getChassisCollection() {
return await api
- .get('/redfish/v1/Chassis/chassis/Power')
- .then(({ data: { PowerSupplies } }) =>
- commit('setPowerSupply', PowerSupplies)
+ .get('/redfish/v1/Chassis')
+ .then(({ data: { Members } }) =>
+ Members.map((member) => member['@odata.id'])
)
.catch((error) => console.log(error));
},
+ async getAllPowerSupplies({ dispatch, commit }) {
+ const collection = await dispatch('getChassisCollection');
+ if (!collection) return;
+ return await api
+ .all(collection.map((chassis) => dispatch('getChassisPower', chassis)))
+ .then((supplies) => {
+ let suppliesList = [];
+ supplies.forEach(
+ (supply) => (suppliesList = [...suppliesList, ...supply])
+ );
+ commit('setPowerSupply', suppliesList);
+ })
+ .catch((error) => console.log(error));
+ },
+ async getChassisPower(_, id) {
+ return await api
+ .get(`${id}/Power`)
+ .then(({ data: { PowerSupplies } }) => PowerSupplies || [])
+ .catch((error) => console.log(error));
+ },
},
};
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue b/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue
index 3de69198..ba1537b7 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue
@@ -165,7 +165,7 @@ export default {
},
},
created() {
- this.$store.dispatch('powerSupply/getPowerSupply').finally(() => {
+ this.$store.dispatch('powerSupply/getAllPowerSupplies').finally(() => {
// Emit initial data fetch complete to parent component
this.$root.$emit('hardware-status-power-supplies-complete');
});