{
"event": "PreToolUse",
"tool_name": "Grep",
"tool_input": {
"pattern": "function findEntitySemantics",
"path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/SemanticSearchRepository.php",
"output_mode": "content",
"-A": 60
}
}
{
"tool_response": {
"mode": "content",
"numFiles": 0,
"filenames": [],
"content": "39: public function findEntitySemantics(string $search = '', string $type = '', int $limit = 50, int $offset = 0): array\n40- {\n41- $sql = 'SELECT e.id, e.name, e.type, e.description,\n42- ce.chunk_id, c.chunk_index, d.id as document_id, d.filename\n43- FROM entities e\n44- LEFT JOIN chunk_entities ce ON e.id = ce.entity_id\n45- LEFT JOIN chunks c ON ce.chunk_id = c.id\n46- LEFT JOIN documents d ON c.document_id = d.id\n47- WHERE e.description IS NOT NULL';\n48-\n49- $params = [];\n50-\n51- if ($search !== '') {\n52- $sql .= ' AND (e.name LIKE :search OR e.description LIKE :search2)';\n53- $params['search'] = '%' . $search . '%';\n54- $params['search2'] = '%' . $search . '%';\n55- }\n56-\n57- if ($type !== '') {\n58- $sql .= ' AND e.type = :type';\n59- $params['type'] = $type;\n60- }\n61-\n62- $sql .= ' ORDER BY e.name LIMIT ' . $limit . ' OFFSET ' . $offset;\n63-\n64- $stmt = $this->db->prepare($sql);\n65- $stmt->execute($params);\n66-\n67- return $stmt->fetchAll();\n68- }\n69-\n70- \/**\n71- * {@inheritDoc}\n72- *\/\n73- public function countEntitySemantics(string $search = '', string $type = ''): int\n74- {\n75- $sql = 'SELECT COUNT(DISTINCT e.id) FROM entities e WHERE e.description IS NOT NULL';\n76- $params = [];\n77-\n78- if ($search !== '') {\n79- $sql .= ' AND (e.name LIKE :search OR e.description LIKE :search2)';\n80- $params['search'] = '%' . $search . '%';\n81- $params['search2'] = '%' . $search . '%';\n82- }\n83-\n84- if ($type !== '') {\n85- $sql .= ' AND e.type = :type';\n86- $params['type'] = $type;\n87- }\n88-\n89- $stmt = $this->db->prepare($sql);\n90- $stmt->execute($params);\n91-\n92- return (int) $stmt->fetchColumn();\n93- }\n94-\n95- \/**\n96- * {@inheritDoc}\n97- *\/\n98- public function getGraphData(): array\n99- {",
"numLines": 61
}
}