added event todo list

This commit is contained in:
2025-06-29 11:00:52 -04:00
parent c7c121e23d
commit 11a0bb00e3
11 changed files with 342 additions and 63 deletions

5
lib/helper/fetchTodos.ts Normal file
View File

@@ -0,0 +1,5 @@
export async function fetchEventTodos(eventId: string) {
const res = await fetch(`/api/events/${eventId}/todo`)
if (!res.ok) throw new Error('Failed to fetch todos')
return await res.json()
}

View File

@@ -160,4 +160,37 @@ export const mutations = {
});
},
async addTodoToEvent(data: {
eventId: string;
name: string;
dueDate?: string;
}) {
return await prisma.eventTodo.create({
data: {
name: data.name,
eventId: data.eventId,
dueDate: data.dueDate ? new Date(data.dueDate) : undefined,
},
});
},
async updateEventTodo(id: string, data: Partial<{ name: string; dueDate?: string; complete: boolean }>) {
const { dueDate, ...rest } = data;
return await prisma.eventTodo.update({
where: { id },
data: {
...rest,
...(dueDate !== undefined ? { dueDate: new Date(dueDate) } : {}),
},
});
},
async deleteEventTodo(id: string) {
return await prisma.eventTodo.delete({
where: { id },
});
},
};

View File

@@ -71,6 +71,9 @@ export const queries = {
guestBookEntry: true,
},
},
todos: {
orderBy: { dueDate: 'asc' },
},
}
})
return event