"use client"; import { createNotesApiClient } from "@/lib/api-helpers"; export interface SavedView { id: string; name: string; scope: "workspace" | "search" | "review"; description?: string; query: string; filters?: Record; sortOrder: number; createdAt: string; updatedAt: string; } interface SavedViewListResponse { items: SavedView[]; total: number; } export async function listSavedViews(scope?: SavedView["scope"]): Promise { const api = createNotesApiClient(); const params = new URLSearchParams(); if (scope) params.set("scope", scope); const response = await api.fetch(`/saved-views?${params.toString()}`); return response.items; } export async function getSavedView(id: string): Promise { const api = createNotesApiClient(); return api.fetch(`/saved-views/${encodeURIComponent(id)}`); } export async function createSavedView(input: { id: string; name: string; scope: SavedView["scope"]; description?: string; query: string; filters?: Record; sortOrder?: number; }): Promise { const api = createNotesApiClient(); return api.fetch("/saved-views", { method: "POST", body: JSON.stringify(input), }); } export async function updateSavedView( id: string, updates: Partial>, ): Promise { const api = createNotesApiClient(); return api.fetch(`/saved-views/${encodeURIComponent(id)}`, { method: "PATCH", body: JSON.stringify(updates), }); } export async function deleteSavedView(id: string): Promise { const api = createNotesApiClient(); await api.fetch(`/saved-views/${encodeURIComponent(id)}`, { method: "DELETE" }); }