summaryrefslogtreecommitdiff
path: root/src/store/modules/Health/FanStore.js
diff options
context:
space:
mode:
authorYoshie Muranaka <yoshiemuranaka@gmail.com>2020-06-15 23:25:46 +0300
committerYoshie Muranaka <yoshiemuranaka@gmail.com>2020-06-18 00:06:33 +0300
commitb89a53c8d4a740c959b12938445917c3df5d3d4b (patch)
tree4d7c5b01a25d1d06d314b0e6e461be4f1adb6479 /src/store/modules/Health/FanStore.js
parente24b17d2f599a34895acb9eccff3144af55484c5 (diff)
downloadwebui-vue-b89a53c8d4a740c959b12938445917c3df5d3d4b.tar.xz
Add Fans table to hardware status page
Add Fan items at /redfish/v1/Chassis/chassis/Thermal endpoint to table with expansion row to view details. Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I1f69e30748f8dec62647468c4fd2e5b3947716d9
Diffstat (limited to 'src/store/modules/Health/FanStore.js')
-rw-r--r--src/store/modules/Health/FanStore.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/store/modules/Health/FanStore.js b/src/store/modules/Health/FanStore.js
new file mode 100644
index 00000000..2de388bf
--- /dev/null
+++ b/src/store/modules/Health/FanStore.js
@@ -0,0 +1,35 @@
+import api from '@/store/api';
+
+const FanStore = {
+ namespaced: true,
+ state: {
+ fans: []
+ },
+ getters: {
+ fans: state => state.fans
+ },
+ mutations: {
+ setFanInfo: (state, data) => {
+ state.fans = data.map(fan => {
+ const { MemberId, Status = {}, PartNumber, SerialNumber } = fan;
+ return {
+ id: MemberId,
+ health: Status.Health,
+ partNumber: PartNumber,
+ serialNumber: SerialNumber,
+ statusState: Status.State
+ };
+ });
+ }
+ },
+ actions: {
+ async getFanInfo({ commit }) {
+ return await api
+ .get('/redfish/v1/Chassis/chassis/Thermal')
+ .then(({ data: { Fans = [] } }) => commit('setFanInfo', Fans))
+ .catch(error => console.log(error));
+ }
+ }
+};
+
+export default FanStore;