added reminder
This commit is contained in:
@@ -422,6 +422,33 @@ export const api = {
|
||||
request<{ ok: boolean }>(`/api/v1/shopping/lists/${listId}/clear-checked`, {
|
||||
method: "POST",
|
||||
}),
|
||||
|
||||
getRemindersSnapshot: () => request<RemindersSnapshot>("/api/v1/reminders"),
|
||||
|
||||
getRemindersCalendar: (year: number, month: number) =>
|
||||
request<RemindersCalendar>(`/api/v1/reminders/calendar?year=${year}&month=${month}`),
|
||||
|
||||
createReminder: (payload: ReminderCreatePayload) =>
|
||||
request<{ ok: boolean; reminder: Reminder }>("/api/v1/reminders", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify(payload),
|
||||
}),
|
||||
|
||||
updateReminder: (id: number, payload: Partial<ReminderCreatePayload> & { enabled?: boolean }) =>
|
||||
request<{ ok: boolean; reminder: Reminder }>(`/api/v1/reminders/${id}`, {
|
||||
method: "PATCH",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify(payload),
|
||||
}),
|
||||
|
||||
deleteReminder: (id: number) =>
|
||||
request<{ ok: boolean }>(`/api/v1/reminders/${id}`, { method: "DELETE" }),
|
||||
|
||||
completeReminder: (id: number) =>
|
||||
request<{ ok: boolean; reminder: Reminder }>(`/api/v1/reminders/${id}/complete`, {
|
||||
method: "POST",
|
||||
}),
|
||||
};
|
||||
|
||||
export interface ShoppingListItem {
|
||||
@@ -449,3 +476,39 @@ export interface ShoppingSnapshot {
|
||||
total_items: number;
|
||||
unchecked_items: number;
|
||||
}
|
||||
|
||||
export interface Reminder {
|
||||
id: number;
|
||||
title: string;
|
||||
notes: string;
|
||||
due_at: string;
|
||||
due_at_local: string;
|
||||
all_day: boolean;
|
||||
recurrence: string;
|
||||
enabled: boolean;
|
||||
completed_at: string | null;
|
||||
timezone: string;
|
||||
created_at: string | null;
|
||||
}
|
||||
|
||||
export interface RemindersSnapshot {
|
||||
notify_seq: number;
|
||||
upcoming: Reminder[];
|
||||
upcoming_count: number;
|
||||
timezone: string;
|
||||
}
|
||||
|
||||
export interface RemindersCalendar {
|
||||
year: number;
|
||||
month: number;
|
||||
timezone: string;
|
||||
reminders: Reminder[];
|
||||
}
|
||||
|
||||
export interface ReminderCreatePayload {
|
||||
title: string;
|
||||
due_at: string;
|
||||
notes?: string;
|
||||
all_day?: boolean;
|
||||
recurrence?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user