← Code-Übersicht

ZeigeCodeDateiVersion.php

Pfad: src/Application/Code/ZeigeCodeDateiVersion.php

Ext: php

Größe: 887 Bytes

Geändert: 2026-07-16 10:04:10+02

<?php
declare(strict_types=1);

namespace Demo\Application\Code;

use Demo\Domain\Code\CodeDatei;
use Demo\Domain\Code\CodeDateiHistorie;

/**
 * Anwendungsfall: liefert den Snapshot einer bestimmten Code-Version.
 */
final class ZeigeCodeDateiVersion
{
    /** @var CodeDateiHistorie Injizierter Port. */
    private CodeDateiHistorie $historie;

    /**
     * @param CodeDateiHistorie $historie Historie-Zugriff.
     */
    public function __construct(CodeDateiHistorie $historie)
    {
        $this->historie = $historie;
    }

    /**
     * Fuehrt den Anwendungsfall aus.
     *
     * @param int $codeDateiId Code-ID.
     * @param int $versionId   History-ID.
     * @return CodeDatei|null Snapshot oder null.
     */
    public function execute(int $codeDateiId, int $versionId): ?CodeDatei
    {
        return $this->historie->beiVersion($codeDateiId, $versionId);
    }
}