import type Database from "bun:sqlite"; import type { RuntimeMode } from "../../../shared/api"; import type { Logger } from "../../logger"; import { deleteModel } from "../../db/models"; import { createApiError, jsonResponse } from "../../helpers"; import { validateIdParam } from "../../middleware"; export function handleDeleteModel(req: Request, db: Database, mode: RuntimeMode, logger: Logger): 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 = deleteModel(db, validated.id, logger); if ("error" in result) { return jsonResponse(createApiError(result.error, result.status), { mode, status: result.status }); } logger.info({ modelId: validated.id }, "模型删除成功"); return new Response(null, { status: 204 }); }