{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/Api\/ExplorerController.php",
"limit": 80
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/Api\/ExplorerController.php",
"content": "<?php\n\nnamespace Controller\\Api;\n\nuse Framework\\Controller;\nuse Infrastructure\\Config\\DatabaseFactory;\nuse Infrastructure\\Docs\\HybridSearchService;\nuse Infrastructure\\Persistence\\SystemExplorerRepository;\n\n\/**\n * ExplorerController - REST-API für Doc2Vector Pipeline\n *\n * Endpoints für Dokumente, Seiten, Chunks, Taxonomie und Suche.\n * Uses ki_dev database for dokumentation tables.\n *\/\nclass ExplorerController extends Controller\n{\n private \\PDO $db;\n private SystemExplorerRepository $repository;\n\n public function __construct()\n {\n $this->db = DatabaseFactory::dev();\n $this->repository = new SystemExplorerRepository();\n }\n\n \/**\n * GET \/api\/v1\/explorer\/stats\n *\/\n public function stats(): void\n {\n try {\n $chunkStats = $this->repository->getChunkStats();\n\n $this->json([\n 'success' => true,\n 'data' => [\n 'dokumente' => $this->repository->countDokumente(),\n 'seiten' => $this->repository->countSeiten(),\n 'chunks' => $chunkStats,\n 'taxonomy_categories' => $this->repository->getTopTaxonomyCategories(100),\n ],\n ]);\n } catch (\\Exception $e) {\n $this->jsonError($e->getMessage());\n }\n }\n\n \/**\n * GET \/api\/v1\/explorer\/dokumente\n *\/\n public function listDokumente(): void\n {\n try {\n $dokumente = $this->repository->getDokumenteWithFullStats();\n\n $this->json([\n 'success' => true,\n 'data' => $dokumente,\n 'meta' => [\n 'total' => count($dokumente),\n ],\n ]);\n } catch (\\Exception $e) {\n $this->jsonError($e->getMessage());\n }\n }\n\n \/**\n * GET \/api\/v1\/explorer\/dokumente\/{id}\n *\/\n public function getDokument(string $id): void\n {\n try {\n $stmt = $this->db->prepare(\n 'SELECT * FROM dokumentation WHERE id = :id AND depth = 0'\n );\n $stmt->execute(['id' => (int) $id]);\n $dokument = $stmt->fetch();\n",
"numLines": 80,
"startLine": 1,
"totalLines": 416
}
}
}