{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/ContentRepository.php",
"old_string": " \/\/ ==================== Critics ====================\n\n public function findAllCritics(): array\n {\n $stmt = $this->pdo->query('\n SELECT * FROM critics WHERE is_active = 1 ORDER BY sort_order\n ');\n\n return $stmt->fetchAll();\n }",
"new_string": " \/\/ ==================== Critics ====================\n\n public function findAllCritics(): array\n {\n $stmt = $this->pdo->query(\"\n SELECT id, name, slug, content as config, description\n FROM content_config\n WHERE type = 'critic' AND status = 'active'\n ORDER BY sort_order, name\n \");\n\n return $stmt->fetchAll();\n }\n\n \/\/ ==================== System Prompts ====================\n\n public function findAllSystemPrompts(): array\n {\n $stmt = $this->pdo->query(\"\n SELECT id, name, slug, content as config, description\n FROM content_config\n WHERE type = 'system_prompt' AND status = 'active'\n ORDER BY name\n \");\n\n return $stmt->fetchAll();\n }"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/ContentRepository.php",
"oldString": " \/\/ ==================== Critics ====================\n\n public function findAllCritics(): array\n {\n $stmt = $this->pdo->query('\n SELECT * FROM critics WHERE is_active = 1 ORDER BY sort_order\n ');\n\n return $stmt->fetchAll();\n }",
"newString": " \/\/ ==================== Critics ====================\n\n public function findAllCritics(): array\n {\n $stmt = $this->pdo->query(\"\n SELECT id, name, slug, content as config, description\n FROM content_config\n WHERE type = 'critic' AND status = 'active'\n ORDER BY sort_order, name\n \");\n\n return $stmt->fetchAll();\n }\n\n \/\/ ==================== System Prompts ====================\n\n public function findAllSystemPrompts(): array\n {\n $stmt = $this->pdo->query(\"\n SELECT id, name, slug, content as config, description\n FROM content_config\n WHERE type = 'system_prompt' AND status = 'active'\n ORDER BY name\n \");\n\n return $stmt->fetchAll();\n }",
"originalFile": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Infrastructure\\Persistence;\n\n\/\/ @responsibility: Persistenz für Content-Konfigurationen\n\nuse Domain\\Repository\\ContentOrderRepositoryInterface;\nuse Domain\\Repository\\ContentRepositoryInterface;\nuse Domain\\Repository\\ContentSourceRepositoryInterface;\nuse Domain\\Repository\\ContentVersionRepositoryInterface;\n\nclass ContentRepository implements ContentRepositoryInterface\n{\n private \\PDO $pdo;\n private ContentOrderRepositoryInterface $orderRepository;\n private ContentVersionRepositoryInterface $versionRepository;\n private ContentSourceRepositoryInterface $sourceRepository;\n\n public function __construct(\n \\PDO $pdo,\n ContentOrderRepositoryInterface $orderRepository,\n ContentVersionRepositoryInterface $versionRepository,\n ContentSourceRepositoryInterface $sourceRepository\n ) {\n $this->pdo = $pdo;\n $this->orderRepository = $orderRepository;\n $this->versionRepository = $versionRepository;\n $this->sourceRepository = $sourceRepository;\n }\n\n \/\/ ==================== Delegation to specialized repositories ====================\n\n public function findAllOrders(array $filters = [], int $limit = 50, int $offset = 0): array\n {\n return $this->orderRepository->findAllOrders($filters, $limit, $offset);\n }\n\n public function findOrder(int $id): ?array\n {\n return $this->orderRepository->findOrder($id);\n }\n\n public function getLastOrderSettings(): array\n {\n return $this->orderRepository->getLastOrderSettings();\n }\n\n public function createOrder(array $data): int\n {\n return $this->orderRepository->createOrder($data);\n }\n\n public function updateOrderStatus(int $id, string $status): void\n {\n $this->orderRepository->updateOrderStatus($id, $status);\n }\n\n public function updateGenerationStatus(int $id, string $status, ?string $error = null): void\n {\n $this->orderRepository->updateGenerationStatus($id, $status, $error);\n }\n\n public function updateCritiqueStatus(int $id, string $status, ?string $error = null): void\n {\n $this->orderRepository->updateCritiqueStatus($id, $status, $error);\n }\n\n public function updateOrder(int $id, array $data): bool\n {\n return $this->orderRepository->updateOrder($id, $data);\n }\n\n public function findVersionsByOrder(int $orderId): array\n {\n return $this->versionRepository->findVersionsByOrder($orderId);\n }\n\n public function findLatestVersion(int $orderId): ?array\n {\n return $this->versionRepository->findLatestVersion($orderId);\n }\n\n public function findVersion(int $id): ?array\n {\n return $this->versionRepository->findVersion($id);\n }\n\n public function findCritiquesByVersion(int $versionId): array\n {\n return $this->versionRepository->findCritiquesByVersion($versionId);\n }\n\n public function findSourcesByOrder(int $orderId): array\n {\n return $this->sourceRepository->findSourcesByOrder($orderId);\n }\n\n \/\/ ==================== Profiles ====================\n\n public function findAllProfiles(): array\n {\n $stmt = $this->pdo->query(\"\n SELECT id, name, slug, content as config\n FROM content_config\n WHERE type = 'author_profile' AND status = 'active'\n ORDER BY name\n \");\n\n return $stmt->fetchAll();\n }\n\n \/\/ ==================== Contracts ====================\n\n public function findAllContracts(): array\n {\n $stmt = $this->pdo->query(\"\n SELECT id, name, slug, content as config\n FROM content_config\n WHERE type = 'contract' AND status = 'active'\n ORDER BY name\n \");\n\n return $stmt->fetchAll();\n }\n\n \/\/ ==================== Structures ====================\n\n public function findAllStructures(): array\n {\n $stmt = $this->pdo->query(\"\n SELECT id, name, slug, content as config\n FROM content_config\n WHERE type = 'structure' AND status = 'active'\n ORDER BY name\n \");\n\n return $stmt->fetchAll();\n }\n\n \/\/ ==================== Critics ====================\n\n public function findAllCritics(): array\n {\n $stmt = $this->pdo->query('\n SELECT * FROM critics WHERE is_active = 1 ORDER BY sort_order\n ');\n\n return $stmt->fetchAll();\n }\n\n \/\/ ==================== Statistics ====================\n\n public function getStatistics(): array\n {\n $orderStats = $this->orderRepository->getStatistics();\n\n \/\/ Add version and critique counts\n $stmt = $this->pdo->query('SELECT COUNT(*) FROM content_versions');\n $orderStats['total_versions'] = (int) $stmt->fetchColumn();\n\n $stmt = $this->pdo->query('SELECT COUNT(*) FROM content_critiques');\n $orderStats['total_critiques'] = (int) $stmt->fetchColumn();\n\n return $orderStats;\n }\n}\n",
"structuredPatch": [
{
"oldStart": 143,
"oldLines": 13,
"newStart": 143,
"newLines": 30,
"lines": [
" ",
" public function findAllCritics(): array",
" {",
"- $stmt = $this->pdo->query('",
"- SELECT * FROM critics WHERE is_active = 1 ORDER BY sort_order",
"- ');",
"+ $stmt = $this->pdo->query(\"",
"+ SELECT id, name, slug, content as config, description",
"+ FROM content_config",
"+ WHERE type = 'critic' AND status = 'active'",
"+ ORDER BY sort_order, name",
"+ \");",
" ",
" return $stmt->fetchAll();",
" }",
" ",
"+ \/\/ ==================== System Prompts ====================",
"+",
"+ public function findAllSystemPrompts(): array",
"+ {",
"+ $stmt = $this->pdo->query(\"",
"+ SELECT id, name, slug, content as config, description",
"+ FROM content_config",
"+ WHERE type = 'system_prompt' AND status = 'active'",
"+ ORDER BY name",
"+ \");",
"+",
"+ return $stmt->fetchAll();",
"+ }",
"+",
" \/\/ ==================== Statistics ====================",
" ",
" public function getStatistics(): array"
]
}
],
"userModified": false,
"replaceAll": false
}
}