server/web/src/routes/api/graph/edges/[edgeId]/+server.ts
vegard 1d47119b1e Kunnskapsgraf CRUD API: entities, edges, søk og traversering
Syv nye API-endepunkter for kunnskapsgrafen:

Entities:
- GET/POST /api/entities — list, søk (name+aliases), filtrer på type
- GET/PATCH/DELETE /api/entities/:id — hent (m/edge_count), oppdater, slett
- GET /api/entities/:id/edges — relasjoner med retningsfilter

Graf:
- POST /api/graph/edges — opprett relasjon (upsert)
- DELETE /api/graph/edges/:id — slett relasjon
- GET /api/graph/search — fulltekstsøk (entiteter + transkripsjoner FTS)
- GET /api/graph/traverse/:nodeId — recursive CTE, D3.js/Vis.js-format

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 15:37:00 +01:00

18 lines
631 B
TypeScript

import { json, error } from '@sveltejs/kit';
import type { RequestHandler } from './$types';
import { sql } from '$lib/server/db';
/** DELETE /api/graph/edges/:edgeId — Slett graf-relasjon */
export const DELETE: RequestHandler = async ({ params, locals }) => {
if (!locals.workspace || !locals.user) error(401);
const [edge] = await sql`
SELECT id FROM graph_edges
WHERE id = ${params.edgeId} AND workspace_id = ${locals.workspace.id}
`;
if (!edge) error(404, 'Relasjon ikke funnet');
await sql`DELETE FROM graph_edges WHERE id = ${params.edgeId}`;
return new Response(null, { status: 204 });
};