26 lines
1023 B
PHP
26 lines
1023 B
PHP
<?php
|
|
|
|
namespace App\EventPaymentModules;
|
|
|
|
use App\ValueObjects\BankStatementRuleset;
|
|
|
|
/**
|
|
* Fähigkeit: Dieses Zahlungsmodul pflegt das Format des Kontoauszugs (CSV-Export der Bank).
|
|
*
|
|
* Bewusst getrennt von {@see ReadsBankStatements}: Das CSV-Format ist eine Eigenschaft der Bank, nicht
|
|
* der Zahlungsart. Eine Bank, ein Export, ein Ruleset -- deshalb implementiert es genau **ein** Modul
|
|
* (die Überweisung), und ein künftiges Lastschrift-Modul liest denselben Auszug, ohne dasselbe Format
|
|
* ein zweites Mal pflegen zu lassen. Sonst wäre nach dem nächsten Bankwechsel eine der beiden Stellen
|
|
* vergessen.
|
|
*
|
|
* Wie überall in dieser Schicht wird die Konfiguration **hereingereicht**, nicht selbst geholt: die
|
|
* Module bleiben frei von Datenbankzugriffen und damit ohne DB testbar.
|
|
*/
|
|
interface ProvidesStatementRuleset
|
|
{
|
|
/**
|
|
* @param array<string, mixed> $configuration Tenant-Konfiguration dieses Moduls
|
|
*/
|
|
public function statementRuleset(array $configuration): BankStatementRuleset;
|
|
}
|