added event todo list
This commit is contained in:
5
lib/helper/fetchTodos.ts
Normal file
5
lib/helper/fetchTodos.ts
Normal 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()
|
||||
}
|
||||
@@ -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 },
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
@@ -71,6 +71,9 @@ export const queries = {
|
||||
guestBookEntry: true,
|
||||
},
|
||||
},
|
||||
todos: {
|
||||
orderBy: { dueDate: 'asc' },
|
||||
},
|
||||
}
|
||||
})
|
||||
return event
|
||||
|
||||
Reference in New Issue
Block a user