{
"event": "PostToolUse",
"tool_name": "Read",
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/mcp-servers\/mcp_code\/tools\/dependents.py",
"content": "\"\"\"code_dependents - Wer nutzt diese Klasse? (incoming) - Wichtigste Funktion!\"\"\"\nimport sys\n\nsys.path.insert(0, \"\/var\/www\/mcp-servers\/mcp_code\")\nfrom db import execute_query\n\n\ndef register_dependents_tool(mcp):\n \"\"\"Registriert code_dependents Tool.\"\"\"\n\n @mcp.tool()\n def code_dependents(\n fqcn: str,\n dependency_type: str = None,\n ) -> dict:\n \"\"\"\n Zeigt wer diese Klasse nutzt (incoming - Impact-Analyse vor Änderungen).\n\n Args:\n fqcn: Vollständiger Klassenname (z.B. Controller\\\\HomeController)\n dependency_type: Filter nach Typ: extends, implements, constructor, use, trait (optional)\n\n Returns:\n Dict mit dependents: [{file_id, file_name, namespace, dependency_type}]\n \"\"\"\n # SQL exakt aus PHP CodeAnalysisRepository::findDependents() (Zeile 290-311)\n sql = \"\"\"\n SELECT ca.id as file_id, ca.file_name, ca.file_path, ca.namespace, cd.dependency_type\n FROM code_dependencies cd\n JOIN code_analysis ca ON cd.analysis_id = ca.id\n WHERE cd.target_fqcn = %s\n \"\"\"\n params = [fqcn]\n\n if dependency_type:\n sql += \" AND cd.dependency_type = %s\"\n params.append(dependency_type)\n\n sql += \" ORDER BY ca.file_name\"\n\n dependents = execute_query(sql, tuple(params))\n\n return {\n \"fqcn\": fqcn,\n \"dependents\": dependents,\n \"count\": len(dependents),\n }\n",
"numLines": 48,
"startLine": 1,
"totalLines": 48
}
}
}