← Code-Übersicht

DokumentationHistorie.php

Pfad: src/Domain/Dokumentation/DokumentationHistorie.php

Ext: php

Größe: 875 Bytes

Geändert: 2026-07-16 08:32:42+02

<?php
declare(strict_types=1);

namespace Demo\Domain\Dokumentation;

/**
 * Getriebener Port: Lesezugriff auf die Versionshistorie einer Dokumentation.
 * Getrennt vom CRUD-Repository (ISP): rein lesende Historien-Belange.
 */
interface DokumentationHistorie
{
    /**
     * Liefert die frueheren Versionen eines Slugs, neueste zuerst.
     *
     * @param string $slug Eindeutiger Slug.
     * @return list<Version> Versions-Metadaten (leer, wenn keine History).
     */
    public function versionen(string $slug): array;

    /**
     * Laedt den Dokumentations-Snapshot einer bestimmten Version.
     *
     * @param string $slug Eindeutiger Slug.
     * @param int    $id   History-ID der gewuenschten Version.
     * @return Dokumentation|null Snapshot oder null, wenn nicht vorhanden.
     */
    public function beiVersion(string $slug, int $id): ?Dokumentation;
}