{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Pipeline\/UpdatePipelineConfigUseCase.php",
"old_string": "use Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\n\nclass UpdatePipelineConfigUseCase\n{\n private PipelineRepository $repository;\n\n public function __construct(?PipelineRepository $repository = null)\n {\n $this->repository = $repository ?? new PipelineRepository();\n }",
"new_string": "use Domain\\Repository\\PipelineRepositoryInterface;\nuse Infrastructure\\Config\\PipelineStepConfig;\n\nclass UpdatePipelineConfigUseCase\n{\n public function __construct(\n private PipelineRepositoryInterface $repository\n ) {}"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Pipeline\/UpdatePipelineConfigUseCase.php",
"oldString": "use Infrastructure\\Config\\PipelineStepConfig;\nuse Infrastructure\\Persistence\\PipelineRepository;\n\nclass UpdatePipelineConfigUseCase\n{\n private PipelineRepository $repository;\n\n public function __construct(?PipelineRepository $repository = null)\n {\n $this->repository = $repository ?? new PipelineRepository();\n }",
"newString": "use Domain\\Repository\\PipelineRepositoryInterface;\nuse Infrastructure\\Config\\PipelineStepConfig;\n\nclass UpdatePipelineConfigUseCase\n{\n public function __construct(\n private PipelineRepositoryInterface $repository\n ) {}",
"originalFile": "<?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\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": 6,
"oldLines": 18,
"newStart": 6,
"newLines": 15,
"lines": [
" ",
" \/\/ @responsibility: Aktualisiert Pipeline-Konfiguration (Pfad, Extensions)",
" ",
"+use Domain\\Repository\\PipelineRepositoryInterface;",
" use Infrastructure\\Config\\PipelineStepConfig;",
"-use Infrastructure\\Persistence\\PipelineRepository;",
" ",
" class UpdatePipelineConfigUseCase",
" {",
"- private PipelineRepository $repository;",
"+ public function __construct(",
"+ private PipelineRepositoryInterface $repository",
"+ ) {}",
" ",
"- public function __construct(?PipelineRepository $repository = null)",
"- {",
"- $this->repository = $repository ?? new PipelineRepository();",
"- }",
"-",
" \/**",
" * Update pipeline configuration.",
" *"
]
}
],
"userModified": false,
"replaceAll": false
}
}