UpdatePipelineConfigUseCase.php
- Pfad:
src/UseCases/Pipeline/UpdatePipelineConfigUseCase.php - Namespace: UseCases\Pipeline
- Zeilen: 61 | Größe: 1,769 Bytes
- Geändert: 2025-12-23 08:49:25 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 100
- Dependencies: 100 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 3
- constructor Domain\Repository\PipelineRepositoryInterface
- use Domain\Repository\PipelineRepositoryInterface
- use Infrastructure\Config\PipelineStepConfig
Klassen 1
-
UpdatePipelineConfigUseCaseclass Zeile 12
Funktionen 2
-
__construct()public Zeile 14 -
execute()public Zeile 26
Verwendet von 2
- ContentPipelineController.php constructor
- ContentPipelineController.php use
Versionen 2
-
v2
2025-12-23 08:16 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v1
2025-12-23 07:56 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
Code
<?php
declare(strict_types=1);
namespace UseCases\Pipeline;
// @responsibility: Aktualisiert Pipeline-Konfiguration (Pfad, Extensions)
use Domain\Repository\PipelineRepositoryInterface;
use Infrastructure\Config\PipelineStepConfig;
class UpdatePipelineConfigUseCase
{
public function __construct(
private PipelineRepositoryInterface $repository
) {
}
/**
* Update pipeline configuration.
*
* @param int $pipelineId Pipeline ID
* @param array{source_path?: string, extensions?: string} $input Input data
* @return array{success: bool, error?: string}
*/
public function execute(int $pipelineId, array $input): array
{
$pipeline = $this->repository->findById($pipelineId);
if ($pipeline === null) {
return ['success' => false, 'error' => 'Pipeline nicht gefunden'];
}
$updateData = [];
if (isset($input['source_path'])) {
$sourcePath = trim($input['source_path']);
if ($sourcePath === '') {
return ['success' => false, 'error' => 'Quellpfad darf nicht leer sein'];
}
$updateData['source_path'] = $sourcePath;
}
if (isset($input['extensions'])) {
$extensions = PipelineStepConfig::parseExtensions($input['extensions']);
if (empty($extensions)) {
return ['success' => false, 'error' => 'Mindestens ein Dateityp erforderlich'];
}
$updateData['extensions'] = $extensions;
}
if (empty($updateData)) {
return ['success' => false, 'error' => 'Keine Änderungen'];
}
$this->repository->update($pipelineId, $updateData);
return ['success' => true];
}
}