blob: e9e58e721431c5cafb9840bb73694f828027fe56 [file] [log] [blame]
import api from '@/store/api';
const ChassisStore = {
namespaced: true,
state: {
chassis: []
},
getters: {
chassis: state => state.chassis
},
mutations: {
setChassisInfo: (state, data) => {
state.chassis = data.map(chassis => {
const {
Id,
Status = {},
PartNumber,
SerialNumber,
ChassisType,
Manufacturer,
PowerState
} = chassis;
return {
id: Id,
health: Status.Health,
partNumber: PartNumber,
serialNumber: SerialNumber,
chassisType: ChassisType,
manufacturer: Manufacturer,
powerState: PowerState,
statusState: Status.State,
healthRollup: Status.HealthRollup
};
});
}
},
actions: {
async getChassisInfo({ commit }) {
return await api
.get('/redfish/v1/Chassis')
.then(({ data: { Members = [] } }) =>
Members.map(member => api.get(member['@odata.id']))
)
.then(promises => api.all(promises))
.then(response => {
const data = response.map(({ data }) => data);
commit('setChassisInfo', data);
})
.catch(error => console.log(error));
}
}
};
export default ChassisStore;