{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ContentPipelineController.php",
"limit": 120
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ContentPipelineController.php",
"content": "<?php\ndeclare(strict_types=1);\n\nnamespace Controller;\n\n\/\/ @responsibility: HTTP-Endpunkte für Content-Pipeline-Verwaltung\n\nuse Application\\PipelineStepService;\nuse Framework\\Controller;\nuse Infrastructure\\AI\\ModelConfig;\nuse Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\nuse UseCases\\Pipeline\\PipelineRunStatusUseCase;\nuse UseCases\\Pipeline\\RunPipelineUseCase;\nuse UseCases\\Pipeline\\UpdatePipelineConfigUseCase;\n\nclass ContentPipelineController extends Controller\n{\n private PipelineRepository $repository;\n private PipelineStepService $stepService;\n private RunPipelineUseCase $runUseCase;\n private PipelineRunStatusUseCase $statusUseCase;\n private UpdatePipelineConfigUseCase $configUseCase;\n\n public function __construct(\n PipelineRepository $repository,\n PipelineStepService $stepService,\n RunPipelineUseCase $runUseCase,\n PipelineRunStatusUseCase $statusUseCase,\n UpdatePipelineConfigUseCase $configUseCase\n ) {\n $this->repository = $repository;\n $this->stepService = $stepService;\n $this->runUseCase = $runUseCase;\n $this->statusUseCase = $statusUseCase;\n $this->configUseCase = $configUseCase;\n }\n\n \/**\n * GET \/content-pipeline\n *\/\n public function index(): void\n {\n $this->view('content-pipeline.index', [\n 'title' => 'Content Pipeline',\n 'pipelines' => $this->repository->findAll(),\n 'stats' => $this->repository->getStatistics(),\n ]);\n }\n\n \/**\n * GET \/content-pipeline\/import\n *\/\n public function import(): void\n {\n $pipeline = $this->repository->findDefault();\n\n if ($pipeline === null) {\n $pipelines = $this->repository->findAll(1);\n $pipeline = $pipelines[0] ?? null;\n }\n\n $this->view('content-pipeline.import', [\n 'title' => 'Import Pipeline',\n 'pipeline' => $pipeline,\n 'latestRun' => $pipeline !== null\n ? $this->repository->findLatestRun((int) $pipeline['id'])\n : null,\n ]);\n }\n\n \/**\n * GET \/content-pipeline\/new\n *\/\n public function pipelineNew(): void\n {\n $this->view('content-pipeline.form', [\n 'title' => 'Neue Pipeline',\n 'pipeline' => null,\n 'stepTypes' => PipelineStepConfig::getStepTypes(),\n ]);\n }\n\n \/**\n * GET \/content-pipeline\/{id}\n *\/\n public function show(string $id): void\n {\n $pipeline = $this->repository->findById((int) $id);\n\n if ($pipeline === null) {\n $this->notFound('Pipeline nicht gefunden');\n }\n\n $this->view('content-pipeline.show', [\n 'title' => 'Pipeline: ' . $pipeline['name'],\n 'pipeline' => $pipeline,\n 'runs' => $this->repository->findRuns((int) $id, 10),\n 'stepTypes' => PipelineStepConfig::getStepTypes(),\n 'models' => ModelConfig::getAll(),\n 'defaultModel' => ModelConfig::DEFAULT_MODEL,\n 'collections' => PipelineStepConfig::getCollections(),\n ]);\n }\n\n \/**\n * GET \/content-pipeline\/{id}\/edit\n *\/\n public function edit(string $id): void\n {\n $pipeline = $this->repository->findById((int) $id);\n\n if ($pipeline === null) {\n $this->notFound('Pipeline nicht gefunden');\n }\n\n $this->view('content-pipeline.form', [\n 'title' => 'Pipeline bearbeiten: ' . $pipeline['name'],\n 'pipeline' => $pipeline,\n 'stepTypes' => PipelineStepConfig::getStepTypes(),",
"numLines": 120,
"startLine": 1,
"totalLines": 367
}
}
}