From f65ee346bedb1811e88b12542abce0d18bb5fc32 Mon Sep 17 00:00:00 2001 From: Dixsie Wolmers Date: Wed, 22 Jan 2020 19:47:56 -0600 Subject: Add store modules needed to support overview view - Update overview page to get data from store Signed-off-by: Dixsie Wolmers Signed-off-by: Derick Montague Change-Id: Id2fcad660efc0da5c7b878e872355bf5773c7ed7 --- src/store/modules/Health/EventLogStore.js | 72 +++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/store/modules/Health/EventLogStore.js (limited to 'src/store/modules/Health') 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; -- cgit v1.2.3