| 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; |