Add List View

This commit is contained in:
2024-05-24 20:45:04 -04:00
parent 2fb236cf97
commit 9f398e5509
6 changed files with 152 additions and 13 deletions

View File

@@ -6,10 +6,13 @@ import { ID, Query } from 'appwrite';
import { date } from 'quasar';
import { Timestamp, parseDate, today } from '@quasar/quasar-ui-qcalendar';
import { LoadingTypes } from 'src/utils/misc';
import { useAuthStore } from './auth';
export const useReservationStore = defineStore('reservation', () => {
const reservations = ref<Map<string, Reservation>>(new Map());
const datesLoaded = ref<Record<string, LoadingTypes>>({});
const userReservations = ref<Reservation[]>();
const authStore = useAuthStore();
// Fetch reservations for a specific date range
const fetchReservationsForDateRange = async (
@@ -136,6 +139,24 @@ export const useReservationStore = defineStore('reservation', () => {
);
};
const getUserReservations = () => {
return userReservations;
};
const fetchUserReservations = async () => {
if (!authStore.currentUser) return;
try {
const response = await databases.listDocuments(
AppwriteIds.databaseId,
AppwriteIds.collection.reservation,
[Query.equal('user', authStore.currentUser.$id)]
);
userReservations.value = response.documents as Reservation[];
} catch (error) {
console.error('Failed to fetch reservations for user: ', error);
}
};
return {
getReservationsByDate,
createReservation,
@@ -143,5 +164,7 @@ export const useReservationStore = defineStore('reservation', () => {
isReservationOverlapped,
isResourceTimeOverlapped,
getConflictingReservations,
fetchUserReservations,
getUserReservations,
};
});