← Code-Übersicht

InvoiceFileStoragePort.php

Pfad: src/Domain/Rechnung/InvoiceFileStoragePort.php

Ext: php

Größe: 822 Bytes

Geändert: 2026-07-16 14:10:33+02

<?php
declare(strict_types=1);

namespace Demo\Domain\Rechnung;

/**
 * Port fuer lokale Speicherung von Original-PDFs.
 */
interface InvoiceFileStoragePort
{
    /**
     * @param string|null $invoiceDateHint Datums-Hinweis.
     * @param string      $vendorName     Lieferant.
     * @param string      $sourceId       Quell-ID.
     * @return string Vollstaendiger Zielpfad.
     */
    public function buildTargetPath(?string $invoiceDateHint, string $vendorName, string $sourceId): string;

    /**
     * @param string $pdfBinary Binaryinhalt.
     * @param string $targetPath Zielpfad.
     */
    public function persistDownloadedPdf(string $pdfBinary, string $targetPath): void;

    /**
     * @param string $path Datei.
     * @return string SHA-256.
     */
    public function sha256(string $path): string;
}