Backup #834

ID834
Dateipfad/var/www/dev.campus.systemische-tools.de/src/UseCases/Pipeline/UpdatePipelineConfigUseCase.php
Version2
Typ modified
Größe1.8 KB
Hash4772b6b653698a2db2cc70b21f64d3b49fda814d9d592c00d237cde977d173ff
Datum2025-12-23 08:16:25
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Edit-Operation
Datei existiert Ja

Dateiinhalt

<?php

declare(strict_types=1);

namespace UseCases\Pipeline;

// @responsibility: Aktualisiert Pipeline-Konfiguration (Pfad, Extensions)

use Infrastructure\Config\PipelineStepConfig;
use Infrastructure\Persistence\PipelineRepository;

class UpdatePipelineConfigUseCase
{
    private PipelineRepository $repository;

    public function __construct(?PipelineRepository $repository = null)
    {
        $this->repository = $repository ?? new PipelineRepository();
    }

    /**
     * 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];
    }
}

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
834 2 modified 1.8 KB 2025-12-23 08:16
724 1 modified 1.9 KB 2025-12-23 07:56

← Zurück zur Übersicht