{
"event": "PreToolUse",
"tool_name": "Grep",
"tool_input": {
"pattern": "createRun|findLatestRun|findRuns|updateRun",
"path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/PipelineRepository.php",
"output_mode": "content",
"-A": 15
}
}
{
"tool_response": {
"mode": "content",
"numFiles": 0,
"filenames": [],
"content": "252: public function findRuns(int $pipelineId, int $limit = 20): array\n253- {\n254- $stmt = $this->pdo->prepare(\n255- 'SELECT * FROM pipeline_runs WHERE pipeline_id = ? ORDER BY created_at DESC LIMIT ?'\n256- );\n257- $stmt->execute([$pipelineId, $limit]);\n258-\n259- return $stmt->fetchAll(\\PDO::FETCH_ASSOC);\n260- }\n261-\n262- public function findRunById(int $runId): ?array\n263- {\n264- $stmt = $this->pdo->prepare('SELECT * FROM pipeline_runs WHERE id = ?');\n265- $stmt->execute([$runId]);\n266- $result = $stmt->fetch(\\PDO::FETCH_ASSOC);\n267-\n--\n271: public function findLatestRun(int $pipelineId): ?array\n272- {\n273- $stmt = $this->pdo->prepare(\n274- 'SELECT * FROM pipeline_runs WHERE pipeline_id = ? ORDER BY created_at DESC LIMIT 1'\n275- );\n276- $stmt->execute([$pipelineId]);\n277- $result = $stmt->fetch(\\PDO::FETCH_ASSOC);\n278-\n279- return $result !== false ? $result : null;\n280- }\n281-\n282: public function createRun(int $pipelineId): int\n283- {\n284- $stmt = $this->pdo->prepare(\n285- 'INSERT INTO pipeline_runs (pipeline_id, status, started_at) VALUES (?, ?, NOW())'\n286- );\n287- $stmt->execute([$pipelineId, 'running']);\n288-\n289- return (int) $this->pdo->lastInsertId();\n290- }\n291-\n292: public function updateRun(int $runId, array $data): void\n293- {\n294- $sets = [];\n295- $params = [];\n296-\n297- if (isset($data['status'])) {\n298- $sets[] = 'status = ?';\n299- $params[] = $data['status'];\n300- }\n301- if (isset($data['completed_at'])) {\n302- $sets[] = 'completed_at = ?';\n303- $params[] = $data['completed_at'];\n304- }\n305- if (isset($data['documents_total'])) {\n306- $sets[] = 'documents_total = ?';\n307- $params[] = $data['documents_total'];",
"numLines": 54
}
}