import type Database from "bun:sqlite"; import type { RuntimeMode } from "../../../shared/api"; import { archiveProject } from "../../db/projects"; import { createApiError, jsonResponse } from "../../helpers"; import { validateIdParam } from "../../middleware"; export function handleArchiveProject(req: Request, db: Database, mode: RuntimeMode): Response { const url = new URL(req.url); const idStr = url.pathname.split("/")[3]; const validated = validateIdParam(idStr ?? "", mode); if (validated instanceof Response) return validated; const result = archiveProject(db, validated.id); if ("error" in result) { return jsonResponse(createApiError(result.error, result.status), { mode, status: result.status }); } return jsonResponse(result, { mode }); }