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;