diff options
Diffstat (limited to 'src/store/modules/HardwareStatus/MemoryStore.js')
-rw-r--r-- | src/store/modules/HardwareStatus/MemoryStore.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/store/modules/HardwareStatus/MemoryStore.js b/src/store/modules/HardwareStatus/MemoryStore.js new file mode 100644 index 00000000..cd2478de --- /dev/null +++ b/src/store/modules/HardwareStatus/MemoryStore.js @@ -0,0 +1,39 @@ +import api from '@/store/api'; + +const MemoryStore = { + namespaced: true, + state: { + dimms: [], + }, + getters: { + dimms: (state) => state.dimms, + }, + mutations: { + setMemoryInfo: (state, data) => { + state.dimms = data.map(({ data }) => { + const { Id, Status = {}, PartNumber, SerialNumber } = data; + return { + id: Id, + health: Status.Health, + partNumber: PartNumber, + serialNumber: SerialNumber, + statusState: Status.State, + }; + }); + }, + }, + actions: { + async getDimms({ commit }) { + return await api + .get('/redfish/v1/Systems/system/Memory') + .then(({ data: { Members } }) => { + const promises = Members.map((item) => api.get(item['@odata.id'])); + return api.all(promises); + }) + .then((response) => commit('setMemoryInfo', response)) + .catch((error) => console.log(error)); + }, + }, +}; + +export default MemoryStore; |