{
"event": "PostToolUse",
"tool_name": "Read",
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/FileAnalysisRepository.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Infrastructure\\Persistence;\n\n\/\/ @responsibility: Persistenz für Datei-Analyse (code_analysis Tabelle)\n\nuse Domain\\Repository\\FileAnalysisRepositoryInterface;\nuse PDO;\n\nclass FileAnalysisRepository implements FileAnalysisRepositoryInterface\n{\n private PDO $pdo;\n\n public function __construct(PDO $pdo)\n {\n $this->pdo = $pdo;\n }\n\n \/**\n * @param array<string, mixed> $filters\n * @return array<array<string, mixed>>\n *\/\n public function findAll(array $filters = [], int $limit = 100, int $offset = 0): array\n {\n $sql = '\n SELECT ca.*,\n cq.dependency_score, cq.hygiene_score,\n cq.factor_scores, cq.hardcoded_count, cq.issues_count,\n cq.warnings_count, cq.issues_json\n FROM code_analysis ca\n LEFT JOIN code_quality cq ON ca.id = cq.analysis_id\n WHERE 1=1\n ';\n $params = [];\n\n if (!empty($filters['scan_id'])) {\n $sql .= ' AND ca.scan_id = :scan_id';\n $params['scan_id'] = $filters['scan_id'];\n }\n\n if (!empty($filters['directory'])) {\n $sql .= ' AND ca.directory = :directory';\n $params['directory'] = $filters['directory'];\n }\n\n if (!empty($filters['namespace'])) {\n $sql .= ' AND ca.namespace = :namespace';\n $params['namespace'] = $filters['namespace'];",
"numLines": 50,
"startLine": 1,
"totalLines": 317
}
}
}