summaryrefslogtreecommitdiff
path: root/src/store/modules/Health
diff options
context:
space:
mode:
authorDixsie Wolmers <dixsie@ibm.com>2020-01-23 04:47:56 +0300
committerYoshie Muranaka <yoshiemuranaka@gmail.com>2020-01-29 01:18:05 +0300
commitf65ee346bedb1811e88b12542abce0d18bb5fc32 (patch)
tree04b0a5cc2096a48b9c2b15dc571a1db680802c89 /src/store/modules/Health
parentdc04feb5596a85619e98d2d594b065e92c8b8fa4 (diff)
downloadwebui-vue-f65ee346bedb1811e88b12542abce0d18bb5fc32.tar.xz
Add store modules needed to support overview view
- Update overview page to get data from store Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Id2fcad660efc0da5c7b878e872355bf5773c7ed7
Diffstat (limited to 'src/store/modules/Health')
-rw-r--r--src/store/modules/Health/EventLogStore.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/store/modules/Health/EventLogStore.js b/src/store/modules/Health/EventLogStore.js
new file mode 100644
index 00000000..404a9639
--- /dev/null
+++ b/src/store/modules/Health/EventLogStore.js
@@ -0,0 +1,72 @@
+import api from '../../api';
+
+const severityToPriorityMap = {
+ Emergency: 'High',
+ Alert: 'High',
+ Critical: 'High',
+ Error: 'High',
+ Warning: 'Medium',
+ Notice: 'Low',
+ Debug: 'Low',
+ Informational: 'Low'
+};
+
+const EventLogStore = {
+ namespaced: true,
+ state: {
+ eventLogData: null
+ },
+ getters: {
+ eventLogData: state => state.eventLogData
+ },
+ mutations: {
+ setEventLogData: (state, eventLogData) =>
+ (state.eventLogData = eventLogData)
+ },
+ actions: {
+ getEventLogData({ commit }) {
+ api
+ .get('/xyz/openbmc_project/logging/enumerate')
+ .then(response => {
+ const eventLog = response.data.data;
+ const entryNumber = /[1-9]/;
+ const eventLogEntries = [];
+ /**
+ * Entry log endpoints:
+ * 'entry' + entry id contain event log entry information
+ * 'callout' contains part number and serial number for part affected
+ */
+ for (let key in eventLog) {
+ // Check for event log entry:
+ if (
+ key.includes('entry') &&
+ key.match(entryNumber) &&
+ !key.includes('callout')
+ ) {
+ const eventKey = eventLog[key];
+ const eventSeverity = eventKey.Severity.split('.').pop();
+ const eventPriority = severityToPriorityMap[eventSeverity];
+ eventLogEntries.push(
+ Object.assign(
+ {
+ logId: eventKey.Id,
+ priority: eventPriority,
+ timestamp: eventKey.Timestamp,
+ eventID: eventKey.EventID,
+ description: eventKey.Description
+ },
+ eventKey
+ )
+ );
+ commit('setEventLogData', eventLogEntries);
+ }
+ }
+ })
+ .catch(error => {
+ console.log('Event Log Data:', error);
+ });
+ }
+ }
+};
+
+export default EventLogStore;