import type { AgentGenerationProject, AgentGenerationProjectPersistedState, } from "@/types/agent"; interface ApiResponse { success: boolean; data?: T; error?: string; } export const agentProjectService = { async getProjects(): Promise> { try { const response = await fetch("/api/agent-projects", { cache: "no-store" }); return await response.json(); } catch { return { success: false, error: "获取生图项目列表失败" }; } }, async getProject(id: string): Promise> { try { const response = await fetch(`/api/agent-projects/${id}`, { cache: "no-store" }); return await response.json(); } catch { return { success: false, error: "获取生图项目失败" }; } }, async createProject(payload: { title?: string; description?: string | null; thumbnail?: string | null; projectState?: AgentGenerationProjectPersistedState; }): Promise> { try { const response = await fetch("/api/agent-projects", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload), }); return await response.json(); } catch { return { success: false, error: "创建生图项目失败" }; } }, async updateProject( id: string, payload: { title?: string; description?: string | null; thumbnail?: string | null; projectState?: AgentGenerationProjectPersistedState; } ): Promise> { try { const response = await fetch(`/api/agent-projects/${id}`, { method: "PUT", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload), }); return await response.json(); } catch { return { success: false, error: "保存生图项目失败" }; } }, async deleteProject(id: string): Promise { try { const response = await fetch(`/api/agent-projects/${id}`, { method: "DELETE", }); return await response.json(); } catch { return { success: false, error: "删除生图项目失败" }; } }, };