frontend/src/store/meetingManagement.js

71 lines
1.9 KiB
JavaScript
Raw Normal View History

2024-07-03 07:58:37 +00:00
import MeetingService from '../services/meetingService';
2024-06-24 03:56:21 +00:00
const state = {
2024-07-03 07:58:37 +00:00
meetings: [],
currentMeeting: null
};
2024-06-24 03:56:21 +00:00
const mutations = {
setMeetings(state, meetings) {
2024-07-03 07:58:37 +00:00
state.meetings = meetings;
},
setCurrentMeeting(state, meeting) {
state.currentMeeting = meeting;
2024-06-24 03:56:21 +00:00
}
2024-07-03 07:58:37 +00:00
};
2024-06-24 03:56:21 +00:00
const actions = {
2024-07-03 07:58:37 +00:00
async fetchMeetings({ commit }) {
try {
const response = await MeetingService.getAllMeetings();
commit('setMeetings', response.data);
} catch (error) {
console.error('Failed to fetch meetings:', error);
}
},
async fetchMeetingById({ commit }, id) {
try {
const response = await MeetingService.getMeetingById(id);
commit('setCurrentMeeting', response.data);
} catch (error) {
console.error('Failed to fetch meeting:', error);
}
},
async createMeeting({ dispatch }, meeting) {
try {
await MeetingService.createMeeting(meeting);
dispatch('fetchMeetings');
} catch (error) {
console.error('Failed to create meeting:', error);
}
},
async updateMeeting({ dispatch }, meeting) {
try {
await MeetingService.updateMeeting(meeting.id, meeting);
dispatch('fetchMeetings');
} catch (error) {
console.error('Failed to update meeting:', error);
}
},
async deleteMeeting({ dispatch }, id) {
try {
await MeetingService.deleteMeeting(id);
dispatch('fetchMeetings');
} catch (error) {
console.error('Failed to delete meeting:', error);
}
2024-06-24 03:56:21 +00:00
}
2024-07-03 07:58:37 +00:00
};
2024-06-24 03:56:21 +00:00
const getters = {
2024-07-03 07:58:37 +00:00
allMeetings: state => state.meetings,
currentMeeting: state => state.currentMeeting
};
2024-06-24 03:56:21 +00:00
export default {
namespaced: true,
state,
mutations,
actions,
getters
2024-07-03 07:58:37 +00:00
};