blob: 565715fa08bc33c1b749bac5923155164280c76a [file] [log] [blame]
Yoshie Muranaka5918b482020-06-08 08:18:23 -07001import api from '@/store/api';
2
3const PowerSupplyStore = {
4 namespaced: true,
5 state: {
Derick Montague602e98a2020-10-21 16:20:00 -05006 powerSupplies: [],
Yoshie Muranaka5918b482020-06-08 08:18:23 -07007 },
8 getters: {
Derick Montague602e98a2020-10-21 16:20:00 -05009 powerSupplies: (state) => state.powerSupplies,
Yoshie Muranaka5918b482020-06-08 08:18:23 -070010 },
11 mutations: {
12 setPowerSupply: (state, data) => {
Derick Montague602e98a2020-10-21 16:20:00 -050013 state.powerSupplies = data.map((powerSupply) => {
Yoshie Muranaka5918b482020-06-08 08:18:23 -070014 const {
15 EfficiencyPercent,
16 FirmwareVersion,
17 IndicatorLED,
18 MemberId,
19 Model,
20 PartNumber,
21 PowerInputWatts,
22 SerialNumber,
Derick Montague602e98a2020-10-21 16:20:00 -050023 Status,
Yoshie Muranaka5918b482020-06-08 08:18:23 -070024 } = powerSupply;
25 return {
26 id: MemberId,
27 health: Status.Health,
28 partNumber: PartNumber,
29 serialNumber: SerialNumber,
30 efficiencyPercent: EfficiencyPercent,
31 firmwareVersion: FirmwareVersion,
32 indicatorLed: IndicatorLED,
33 model: Model,
34 powerInputWatts: PowerInputWatts,
Derick Montague602e98a2020-10-21 16:20:00 -050035 statusState: Status.State,
Yoshie Muranaka5918b482020-06-08 08:18:23 -070036 };
37 });
Derick Montague602e98a2020-10-21 16:20:00 -050038 },
Yoshie Muranaka5918b482020-06-08 08:18:23 -070039 },
40 actions: {
41 async getPowerSupply({ commit }) {
42 return await api
43 .get('/redfish/v1/Chassis/chassis/Power')
44 .then(({ data: { PowerSupplies } }) =>
45 commit('setPowerSupply', PowerSupplies)
46 )
Derick Montague602e98a2020-10-21 16:20:00 -050047 .catch((error) => console.log(error));
48 },
49 },
Yoshie Muranaka5918b482020-06-08 08:18:23 -070050};
51
52export default PowerSupplyStore;