blob: f0e4cf96875ecb8e65470d50e725852de3309e0d [file] [log] [blame]
import api from '@/store/api';
import i18n from '@/i18n';
const BmcStore = {
namespaced: true,
state: {
bmc: null,
},
getters: {
bmc: (state) => state.bmc,
},
mutations: {
setBmcInfo: (state, data) => {
const bmc = {};
bmc.dateTime = new Date(data.DateTime);
bmc.description = data.Description;
bmc.firmwareVersion = data.FirmwareVersion;
bmc.graphicalConsoleConnectTypes =
data.GraphicalConsole.ConnectTypesSupported;
bmc.graphicalConsoleEnabled = data.GraphicalConsole.ServiceEnabled;
bmc.graphicalConsoleMaxSessions =
data.GraphicalConsole.MaxConcurrentSessions;
bmc.health = data.Status.Health;
bmc.healthRollup = data.Status.HealthRollup;
bmc.id = data.Id;
bmc.lastResetTime = new Date(data.LastResetTime);
bmc.identifyLed = data.LocationIndicatorActive;
bmc.locationNumber = data.Location?.PartLocation?.ServiceLabel;
bmc.manufacturer = data.manufacturer;
bmc.managerType = data.ManagerType;
bmc.model = data.Model;
bmc.name = data.Name;
bmc.partNumber = data.PartNumber;
bmc.powerState = data.PowerState;
bmc.serialConsoleConnectTypes = data.SerialConsole.ConnectTypesSupported;
bmc.serialConsoleEnabled = data.SerialConsole.ServiceEnabled;
bmc.serialConsoleMaxSessions = data.SerialConsole.MaxConcurrentSessions;
bmc.serialNumber = data.SerialNumber;
bmc.serviceEntryPointUuid = data.ServiceEntryPointUUID;
bmc.sparePartNumber = data.SparePartNumber;
bmc.statusState = data.Status.State;
bmc.uuid = data.UUID;
bmc.uri = data['@odata.id'];
state.bmc = bmc;
},
},
actions: {
async getBmcInfo({ commit }) {
return await api
.get(`${await this.dispatch('global/getBmcPath')}`)
.then(({ data }) => commit('setBmcInfo', data))
.catch((error) => console.log(error));
},
async updateIdentifyLedValue({ dispatch }, led) {
const uri = led.uri;
const updatedIdentifyLedValue = {
LocationIndicatorActive: led.identifyLed,
};
return await api
.patch(uri, updatedIdentifyLedValue)
.then(() => {
dispatch('getBmcInfo');
if (led.identifyLed) {
return i18n.t('pageInventory.toast.successEnableIdentifyLed');
} else {
return i18n.t('pageInventory.toast.successDisableIdentifyLed');
}
})
.catch((error) => {
dispatch('getBmcInfo');
console.log('error', error);
if (led.identifyLed) {
throw new Error(
i18n.t('pageInventory.toast.errorEnableIdentifyLed'),
);
} else {
throw new Error(
i18n.t('pageInventory.toast.errorDisableIdentifyLed'),
);
}
});
},
},
};
export default BmcStore;