1import api from '@/store/api'; 2import i18n from '@/i18n'; 3 4const PostCodeLogsStore = { 5 namespaced: true, 6 state: { 7 allPostCodes: [], 8 }, 9 getters: { 10 allPostCodes: (state) => state.allPostCodes, 11 }, 12 mutations: { 13 setAllPostCodes: (state, allPostCodes) => 14 (state.allPostCodes = allPostCodes), 15 }, 16 actions: { 17 async getPostCodesLogData({ commit }) { 18 return await api 19 .get('/redfish/v1/Systems/system/LogServices/PostCodes/Entries') 20 .then(({ data: { Members = [] } = {} }) => { 21 const postCodeLogs = Members.map((log) => { 22 const { Created, MessageArgs, AdditionalDataURI } = log; 23 return { 24 date: new Date(Created), 25 bootCount: MessageArgs[0], 26 timeStampOffset: MessageArgs[1], 27 postCode: MessageArgs[2], 28 uri: AdditionalDataURI, 29 }; 30 }); 31 commit('setAllPostCodes', postCodeLogs); 32 }) 33 .catch((error) => { 34 console.log('POST Codes Log Data:', error); 35 }); 36 }, 37 async deleteAllPostCodeLogs({ dispatch }, data) { 38 return await api 39 .post( 40 '/redfish/v1/Systems/system/LogServices/PostCodes/Actions/LogService.ClearLog' 41 ) 42 .then(() => dispatch('getPostCodesLogData')) 43 .then(() => 44 i18n.tc('pagePostCodeLogs.toast.successDelete', data.length) 45 ) 46 .catch((error) => { 47 console.log(error); 48 throw new Error( 49 i18n.tc('pagePostCodeLogs.toast.errorDelete', data.length) 50 ); 51 }); 52 }, 53 }, 54}; 55 56export default PostCodeLogsStore; 57