blob: 404a9639e6aca41afc6f7a6682a6cc4c8e9eb0c8 [file] [log] [blame]
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;