{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/TaxonomyRepositoryInterface.php"
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/TaxonomyRepositoryInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Interface für Taxonomy-Persistenz (CRUD + Hierarchie)\n\ninterface TaxonomyRepositoryInterface\n{\n \/**\n * Holt alle Taxonomie-Begriffe mit Statistiken.\n *\n * @return array<int, array{id: int, name: string, parent_id: ?int, depth: int, path: string, chunk_count: int, children_count: int}>\n *\/\n public function findAll(): array;\n\n \/**\n * Holt Taxonomie-Statistiken.\n *\n * @return array{total_terms: int, root_terms: int, max_depth: int, tagged_chunks: int}\n *\/\n public function getStats(): array;\n\n \/**\n * Findet einen Begriff nach ID.\n *\n * @return array{id: int, name: string, parent_id: ?int, depth: int, path: string}|null\n *\/\n public function find(int $id): ?array;\n\n \/**\n * Erstellt einen neuen Taxonomie-Begriff.\n *\n * @return int ID des neuen Begriffs\n *\/\n public function create(string $name, ?int $parentId = null): int;\n\n \/**\n * Aktualisiert einen Taxonomie-Begriff.\n *\/\n public function update(int $id, string $name, ?int $parentId = null): bool;\n\n \/**\n * Löscht einen Taxonomie-Begriff (nur wenn keine Kinder vorhanden).\n *\n * @return bool False wenn Kinder vorhanden, True bei Erfolg\n *\/\n public function delete(int $id): bool;\n\n \/**\n * Holt Begriffe für Select-Dropdown (minimale Daten).\n *\n * @return array<int, array{id: int, name: string, depth: int, path: string}>\n *\/\n public function findForSelect(): array;\n}\n",
"numLines": 58,
"startLine": 1,
"totalLines": 58
}
}
}