diff options
Diffstat (limited to 'src/store/modules/HardwareStatus/SystemStore.js')
-rw-r--r-- | src/store/modules/HardwareStatus/SystemStore.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/store/modules/HardwareStatus/SystemStore.js b/src/store/modules/HardwareStatus/SystemStore.js new file mode 100644 index 00000000..55f37542 --- /dev/null +++ b/src/store/modules/HardwareStatus/SystemStore.js @@ -0,0 +1,72 @@ +import api from '@/store/api'; +import i18n from '@/i18n'; + +const SystemStore = { + namespaced: true, + state: { + systems: [], + }, + getters: { + systems: (state) => state.systems, + }, + mutations: { + setSystemInfo: (state, data) => { + const system = {}; + system.assetTag = data.AssetTag; + system.description = data.Description; + system.firmwareVersion = data.BiosVersion; + system.hardwareType = data.Name; + system.health = data.Status.Health; + system.id = data.Id; + system.locationIndicatorActive = data.LocationIndicatorActive; + system.locationNumber = data.LocationNumber; + system.manufacturer = data.Manufacturer; + system.memorySummaryHealth = data.MemorySummary.Status.Health; + system.memorySummaryHealthRollup = data.MemorySummary.Status.HealthRollup; + system.memorySummaryState = data.MemorySummary.Status.State; + system.model = data.Model; + system.processorSummaryCount = data.ProcessorSummary.Count; + system.processorSummaryHealth = data.ProcessorSummary.Status.Health; + system.processorSummaryHealthRoll = + data.ProcessorSummary.Status.HealthRollup; + system.processorSummaryState = data.ProcessorSummary.Status.State; + system.powerState = data.PowerState; + system.serialNumber = data.SerialNumber; + system.healthRollup = data.Status.HealthRollup; + system.subModel = data.SubModel; + system.statusState = data.Status.State; + system.systemType = data.SystemType; + state.systems = [system]; + }, + }, + actions: { + async getSystem({ commit }) { + return await api + .get('/redfish/v1/Systems/system') + .then(({ data }) => commit('setSystemInfo', data)) + .catch((error) => console.log(error)); + }, + changeIdentifyLedState({ dispatch }, ledState) { + api + .patch('/redfish/v1/Systems/system', { + LocationIndicatorActive: ledState, + }) + .then(() => dispatch('getSystem')) + .catch((error) => { + dispatch('getSystem'); + console.log('error', error); + if (ledState) { + throw new Error( + i18n.t('pageHardwareStatus.toast.errorEnableIdentifyLed') + ); + } else { + throw new Error( + i18n.t('pageHardwareStatus.toast.errorDisableIdentifyLed') + ); + } + }); + }, + }, +}; + +export default SystemStore; |