import { ModrinthClient } from "./client"; import { ProjectSchema, type Project } from "@/types"; /** * 获取单个 project 的完整信息。 * GET /project/{id|slug} */ export async function getProject( client: ModrinthClient, idOrSlug: string, ): Promise { const path = `/project/${encodeURIComponent(idOrSlug)}`; const data = await client.get(path); return ProjectSchema.parse(data); } /** * 批量获取多个 project 的完整信息。 * GET /projects?ids=["...","..."] */ export async function getProjects( client: ModrinthClient, ids: string[], ): Promise { const params = new URLSearchParams(); params.set("ids", JSON.stringify(ids)); const path = `/projects?${params.toString()}`; const data = await client.get(path); return ProjectSchema.array().parse(data); }