| import api, { getResponseCount } from '@/store/api'; | 
 | import i18n from '@/i18n'; | 
 |  | 
 | const SessionsStore = { | 
 |   namespaced: true, | 
 |   state: { | 
 |     allConnections: [], | 
 |   }, | 
 |   getters: { | 
 |     allConnections: (state) => state.allConnections, | 
 |   }, | 
 |   mutations: { | 
 |     setAllConnections: (state, allConnections) => | 
 |       (state.allConnections = allConnections), | 
 |   }, | 
 |   actions: { | 
 |     async getSessionsData({ commit }) { | 
 |       return await api | 
 |         .get('/redfish/v1/SessionService/Sessions') | 
 |         .then((response) => | 
 |           response.data.Members.map((sessionLogs) => sessionLogs['@odata.id']), | 
 |         ) | 
 |         .then((sessionUris) => | 
 |           api.all(sessionUris.map((sessionUri) => api.get(sessionUri))), | 
 |         ) | 
 |         .then((sessionUris) => { | 
 |           const allConnectionsData = sessionUris.map((sessionUri) => { | 
 |             return { | 
 |               sessionID: sessionUri.data?.Id, | 
 |               context: sessionUri.data?.Context | 
 |                 ? sessionUri.data?.Context | 
 |                 : '-', | 
 |               username: sessionUri.data?.UserName, | 
 |               ipAddress: sessionUri.data?.ClientOriginIPAddress, | 
 |               uri: sessionUri.data['@odata.id'], | 
 |             }; | 
 |           }); | 
 |           commit('setAllConnections', allConnectionsData); | 
 |         }) | 
 |         .catch((error) => { | 
 |           console.log('Client Session Data:', error); | 
 |         }); | 
 |     }, | 
 |     async disconnectSessions({ dispatch }, uris = []) { | 
 |       const promises = uris.map((uri) => | 
 |         api.delete(uri).catch((error) => { | 
 |           console.log(error); | 
 |           return error; | 
 |         }), | 
 |       ); | 
 |       return await api | 
 |         .all(promises) | 
 |         .then((response) => { | 
 |           dispatch('getSessionsData'); | 
 |           return response; | 
 |         }) | 
 |         .then( | 
 |           api.spread((...responses) => { | 
 |             const { successCount, errorCount } = getResponseCount(responses); | 
 |             const toastMessages = []; | 
 |  | 
 |             if (successCount) { | 
 |               const message = i18n.global.t( | 
 |                 'pageSessions.toast.successDelete', | 
 |                 successCount, | 
 |               ); | 
 |               toastMessages.push({ type: 'success', message }); | 
 |             } | 
 |  | 
 |             if (errorCount) { | 
 |               const message = i18n.global.t( | 
 |                 'pageSessions.toast.errorDelete', | 
 |                 errorCount, | 
 |               ); | 
 |               toastMessages.push({ type: 'error', message }); | 
 |             } | 
 |             return toastMessages; | 
 |           }), | 
 |         ); | 
 |     }, | 
 |   }, | 
 | }; | 
 | export default SessionsStore; |