xref: /openbmc/webui-vue/src/store/modules/HardwareStatus/SystemStore.js (revision 223fe5b50ee91e95bb3d19b4ae379b99a86eb570)
17affc529SSandeepa Singhimport api from '@/store/api';
27affc529SSandeepa Singhimport i18n from '@/i18n';
37affc529SSandeepa Singh
47affc529SSandeepa Singhconst SystemStore = {
57affc529SSandeepa Singh  namespaced: true,
67affc529SSandeepa Singh  state: {
77affc529SSandeepa Singh    systems: [],
87affc529SSandeepa Singh  },
97affc529SSandeepa Singh  getters: {
107affc529SSandeepa Singh    systems: (state) => state.systems,
117affc529SSandeepa Singh  },
127affc529SSandeepa Singh  mutations: {
137affc529SSandeepa Singh    setSystemInfo: (state, data) => {
147affc529SSandeepa Singh      const system = {};
157affc529SSandeepa Singh      system.assetTag = data.AssetTag;
167affc529SSandeepa Singh      system.description = data.Description;
177affc529SSandeepa Singh      system.firmwareVersion = data.BiosVersion;
187affc529SSandeepa Singh      system.hardwareType = data.Name;
1905388966SSukanya Pandey      system.health = data.Status?.Health;
2018cde3ceSNikhil Ashoka      system.totalSystemMemoryGiB = data.MemorySummary?.TotalSystemMemoryGiB;
217affc529SSandeepa Singh      system.id = data.Id;
227affc529SSandeepa Singh      system.locationIndicatorActive = data.LocationIndicatorActive;
239f61234aSSneha Patel      system.locationNumber = data.Location?.PartLocation?.ServiceLabel;
247affc529SSandeepa Singh      system.manufacturer = data.Manufacturer;
257affc529SSandeepa Singh      system.model = data.Model;
2605388966SSukanya Pandey      system.processorSummaryCount = data.ProcessorSummary?.Count;
2718cde3ceSNikhil Ashoka      system.processorSummaryCoreCount = data.ProcessorSummary?.CoreCount;
287affc529SSandeepa Singh      system.powerState = data.PowerState;
297affc529SSandeepa Singh      system.serialNumber = data.SerialNumber;
30*223fe5b5STan Siewert      system.serialConsoleEnabled = data.SerialConsole.ServiceEnabled;
31*223fe5b5STan Siewert      system.serialConsoleMaxSessions =
32*223fe5b5STan Siewert        data.SerialConsole.MaxConcurrentSessions;
3305388966SSukanya Pandey      system.healthRollup = data.Status?.HealthRollup;
347affc529SSandeepa Singh      system.subModel = data.SubModel;
3505388966SSukanya Pandey      system.statusState = data.Status?.State;
367affc529SSandeepa Singh      system.systemType = data.SystemType;
377affc529SSandeepa Singh      state.systems = [system];
387affc529SSandeepa Singh    },
397affc529SSandeepa Singh  },
407affc529SSandeepa Singh  actions: {
417affc529SSandeepa Singh    async getSystem({ commit }) {
427affc529SSandeepa Singh      return await api
438841b7d4SSean Zhang        .get(`${await this.dispatch('global/getSystemPath')}`)
447affc529SSandeepa Singh        .then(({ data }) => commit('setSystemInfo', data))
457affc529SSandeepa Singh        .catch((error) => console.log(error));
467affc529SSandeepa Singh    },
4705388966SSukanya Pandey    async changeIdentifyLedState({ commit }, ledState) {
4805388966SSukanya Pandey      return await api
498841b7d4SSean Zhang        .patch(`${await this.dispatch('global/getSystemPath')}`, {
507affc529SSandeepa Singh          LocationIndicatorActive: ledState,
517affc529SSandeepa Singh        })
52f11a1901SNikhil Ashoka        .then(() => {
53f11a1901SNikhil Ashoka          if (ledState) {
54de23ea23SSurya V            return i18n.global.t(
55de23ea23SSurya V              'pageInventory.toast.successEnableIdentifyLed',
56de23ea23SSurya V            );
57f11a1901SNikhil Ashoka          } else {
58de23ea23SSurya V            return i18n.global.t(
59de23ea23SSurya V              'pageInventory.toast.successDisableIdentifyLed',
60de23ea23SSurya V            );
61f11a1901SNikhil Ashoka          }
62f11a1901SNikhil Ashoka        })
637affc529SSandeepa Singh        .catch((error) => {
6405388966SSukanya Pandey          commit('setSystemInfo', this.state.system.systems[0]);
657affc529SSandeepa Singh          console.log('error', error);
667affc529SSandeepa Singh          if (ledState) {
677affc529SSandeepa Singh            throw new Error(
68de23ea23SSurya V              i18n.global.t('pageInventory.toast.errorEnableIdentifyLed'),
697affc529SSandeepa Singh            );
707affc529SSandeepa Singh          } else {
717affc529SSandeepa Singh            throw new Error(
72de23ea23SSurya V              i18n.global.t('pageInventory.toast.errorDisableIdentifyLed'),
737affc529SSandeepa Singh            );
747affc529SSandeepa Singh          }
757affc529SSandeepa Singh        });
767affc529SSandeepa Singh    },
777affc529SSandeepa Singh  },
787affc529SSandeepa Singh};
797affc529SSandeepa Singh
807affc529SSandeepa Singhexport default SystemStore;
81