import axios from 'axios'; import { createStore } from 'vuex'; import { LABS_DELETE_API, LABS_LIST_API, LABS_UPDATE_API, PATIENT_DELETE_API, PATIENT_LIST_API, PATIENT_MEETING_LIST_API, PATIENT_UPDATE_API, PROVIDER_DELETE_API, PROVIDER_LIST_API, PROVIDER_UPDATE_API } from './constants.js'; export default createStore({ state: { isLoading: false, patientList:[], patientMeetingList:[], providersList:[], labsList:[] }, mutations: { setLoading(state, payload) { console.log('payload'); state.isLoading = payload }, setPtientList(state, payload) { state.patientList = payload }, setPtientMeetingList(state, payload) { state.patientMeetingList = payload }, setProvidersList(state, payload) { state.providersList = payload }, setLabsList(state, payload) { state.labsList = payload } }, actions: { async updateIsLoading({ commit }, payload) { commit('setLoading', payload) }, async patientList({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(PATIENT_LIST_API, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data.patients); let dataArray =[] for (let data of response.data.patients) { let dataObject = {} dataObject.name = data.first_name + ' ' + data.last_name dataObject.first_name = data.first_name dataObject.last_name = data.last_name dataObject.email = data.email dataObject.dob = data.dob dataObject.phone_no = data.phone_no dataObject.avatar = '', dataObject.id = data.id, dataArray.push(dataObject) } console.log(dataArray) commit('setPtientList',dataArray) }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async patientMeetingList({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(PATIENT_MEETING_LIST_API+payload.id, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Meeting Response:', response.data.patients); commit('setPtientMeetingList',response.data.patients); }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async patientUpdate({ commit }, payload) { commit('setLoading', true) await axios.post(PATIENT_UPDATE_API+payload.id, { first_name: payload.first_name, last_name: payload.last_name, email: payload.email, phone_no: payload.phone_no, dob: payload.dob, }, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async patientDelete({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(PATIENT_DELETE_API+payload.id, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async providersList({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(PROVIDER_LIST_API, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data.patients); let dataArray =[] for (let data of response.data.patients) { let dataObject = {} dataObject.name = data.first_name + ' ' + data.last_name dataObject.first_name = data.first_name dataObject.last_name = data.last_name dataObject.email = data.email // dataObject.dob = data.dob dataObject.phone_no = data.phone_number dataObject.avatar = '', dataObject.id = data.id, dataArray.push(dataObject) } console.log(dataArray) commit('setProvidersList',dataArray) }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async providerUpdate({ commit }, payload) { commit('setLoading', true) await axios.post(PROVIDER_UPDATE_API+payload.id, { first_name: payload.first_name, last_name: payload.last_name, email: payload.email, phone_number: payload.phone_no, }, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async providerDelete({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(PROVIDER_DELETE_API+payload.id, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async labsList({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(LABS_LIST_API, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); let dataArray =[] for (let data of response.data.patients) { let dataObject = {} dataObject.name = data.name dataObject.address = data.address dataObject.slot_date = data.slot_date dataObject.slot_time = data.slot_time dataObject.appointment_id = data.appointment_id dataObject.booking_time = data.booking_time dataObject.contact_no = data.contact_no dataObject.avatar = '', dataObject.id = data.id, dataArray.push(dataObject) } console.log(dataArray) commit('setLabsList',dataArray) }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async labUpdate({ commit }, payload) { commit('setLoading', true) await axios.post(LABS_UPDATE_API+payload.id, { name: payload.name, address: payload.address, contact_no: payload.contact_no, }, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async labDelete({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(LABS_DELETE_API+payload.id, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, }, getters: { getIsLoading(state){ return state.isLoading }, getPatientList(state){ return state.patientList }, getPatientMeetingList(state){ return state.patientMeetingList }, getProvidersList(state){ return state.providersList }, getLabsList(state){ return state.labsList }, } })