{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Pipeline\/UpdatePipelineConfigUseCase.php",
"old_string": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Pipeline;\n\nuse Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\n\n\/**\n * UpdatePipelineConfigUseCase - Update pipeline configuration.\n *\n * Handles validation and updating of pipeline source path and extensions.\n *\/\nclass UpdatePipelineConfigUseCase",
"new_string": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Pipeline;\n\n\/\/ @responsibility: Aktualisiert Pipeline-Konfiguration (Pfad, Extensions)\n\nuse Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\n\nclass UpdatePipelineConfigUseCase"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Pipeline\/UpdatePipelineConfigUseCase.php",
"oldString": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Pipeline;\n\nuse Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\n\n\/**\n * UpdatePipelineConfigUseCase - Update pipeline configuration.\n *\n * Handles validation and updating of pipeline source path and extensions.\n *\/\nclass UpdatePipelineConfigUseCase",
"newString": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Pipeline;\n\n\/\/ @responsibility: Aktualisiert Pipeline-Konfiguration (Pfad, Extensions)\n\nuse Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\n\nclass UpdatePipelineConfigUseCase",
"originalFile": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Pipeline;\n\nuse Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\n\n\/**\n * UpdatePipelineConfigUseCase - Update pipeline configuration.\n *\n * Handles validation and updating of pipeline source path and extensions.\n *\/\nclass UpdatePipelineConfigUseCase\n{\n private PipelineRepository $repository;\n\n public function __construct(?PipelineRepository $repository = null)\n {\n $this->repository = $repository ?? new PipelineRepository();\n }\n\n \/**\n * Update pipeline configuration.\n *\n * @param int $pipelineId Pipeline ID\n * @param array{source_path?: string, extensions?: string} $input Input data\n * @return array{success: bool, error?: string}\n *\/\n public function execute(int $pipelineId, array $input): array\n {\n $pipeline = $this->repository->findById($pipelineId);\n\n if ($pipeline === null) {\n return ['success' => false, 'error' => 'Pipeline nicht gefunden'];\n }\n\n $updateData = [];\n\n if (isset($input['source_path'])) {\n $sourcePath = trim($input['source_path']);\n if ($sourcePath === '') {\n return ['success' => false, 'error' => 'Quellpfad darf nicht leer sein'];\n }\n $updateData['source_path'] = $sourcePath;\n }\n\n if (isset($input['extensions'])) {\n $extensions = PipelineStepConfig::parseExtensions($input['extensions']);\n if (empty($extensions)) {\n return ['success' => false, 'error' => 'Mindestens ein Dateityp erforderlich'];\n }\n $updateData['extensions'] = $extensions;\n }\n\n if (empty($updateData)) {\n return ['success' => false, 'error' => 'Keine Änderungen'];\n }\n\n $this->repository->update($pipelineId, $updateData);\n\n return ['success' => true];\n }\n}\n",
"structuredPatch": [
{
"oldStart": 4,
"oldLines": 14,
"newStart": 4,
"newLines": 11,
"lines": [
" ",
" namespace UseCases\\Pipeline;",
" ",
"+\/\/ @responsibility: Aktualisiert Pipeline-Konfiguration (Pfad, Extensions)",
"+",
" use Infrastructure\\Config\\PipelineStepConfig;",
" use Infrastructure\\Persistence\\PipelineRepository;",
" ",
"-\/**",
"- * UpdatePipelineConfigUseCase - Update pipeline configuration.",
"- *",
"- * Handles validation and updating of pipeline source path and extensions.",
"- *\/",
" class UpdatePipelineConfigUseCase",
" {",
" private PipelineRepository $repository;"
]
}
],
"userModified": false,
"replaceAll": false
}
}