{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/OntologyRepositoryInterface.php"
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/OntologyRepositoryInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Interface für Ontology-Persistenz (CRUD + Klassenhierarchie)\n\ninterface OntologyRepositoryInterface\n{\n \/**\n * Holt alle Ontologie-Klassen mit Statistiken.\n *\n * @return array<int, array{id: int, name: string, parent_class_id: ?int, description: ?string, properties: ?string, entity_count: int, subclass_count: int}>\n *\/\n public function findAll(): array;\n\n \/**\n * Holt Ontologie-Statistiken.\n *\n * @return array{total_classes: int, root_classes: int, classified_entities: int}\n *\/\n public function getStats(): array;\n\n \/**\n * Findet eine Klasse nach ID.\n *\n * @return array{id: int, name: string, parent_class_id: ?int, description: ?string, properties: ?string}|null\n *\/\n public function find(int $id): ?array;\n\n \/**\n * Erstellt eine neue Ontologie-Klasse.\n *\n * @param array<string, mixed> $properties JSON-Properties\n * @return int ID der neuen Klasse\n *\/\n public function create(string $name, ?int $parentId = null, ?string $description = null, array $properties = []): int;\n\n \/**\n * Aktualisiert eine Ontologie-Klasse.\n *\n * @param array<string, mixed> $properties JSON-Properties\n *\/\n public function update(int $id, string $name, ?int $parentId = null, ?string $description = null, array $properties = []): bool;\n\n \/**\n * Löscht eine Ontologie-Klasse (nur wenn keine Subklassen vorhanden).\n *\n * @return bool False wenn Subklassen vorhanden, True bei Erfolg\n *\/\n public function delete(int $id): bool;\n\n \/**\n * Holt Klassen für Select-Dropdown (minimale Daten).\n *\n * @return array<int, array{id: int, name: string}>\n *\/\n public function findForSelect(): array;\n}\n",
"numLines": 61,
"startLine": 1,
"totalLines": 61
}
}
}