diff --git a/frontend/src/lib/api.ts b/frontend/src/lib/api.ts index e502526..b9c05d2 100644 --- a/frontend/src/lib/api.ts +++ b/frontend/src/lib/api.ts @@ -245,6 +245,28 @@ export async function addSubscription(topic: string): Promise { return response.json(); } +// Add a new notification to a specific subscription +export async function markAllNotificationsAsViewed(subscriptionId: number): Promise { + const response = await fetch(`${API_URL}/subscriptions/${subscriptionId}/notifications`, { + method: 'POST', + headers: authHeaders() + }); + if (!response.ok) { + throw new Error('Failed to mark all notifications as viewed for subscription'); + } +} + +// Delete all notifications for a specific subscription +export async function deleteSubscriptionNotifications(subscriptionId: number): Promise { + const response = await fetch(`${API_URL}/subscriptions/${subscriptionId}/notifications`, { + method: 'DELETE', + headers: authHeaders() + }); + if (!response.ok) { + throw new Error('Failed to delete notifications for subscription'); + } +} + // Delete a subscription export async function deleteSubscription(subscriptionId: number): Promise { const response = await fetch(`${API_URL}/subscriptions/${subscriptionId}`, { diff --git a/frontend/src/routes/notifications/[subscription_id]/+page.svelte b/frontend/src/routes/notifications/[subscription_id]/+page.svelte index cc7d94f..d085d37 100644 --- a/frontend/src/routes/notifications/[subscription_id]/+page.svelte +++ b/frontend/src/routes/notifications/[subscription_id]/+page.svelte @@ -1,5 +1,11 @@