Steuerkram/src/Models/BankProvider.php
fds2610-bot 995b52fbd3 Feature: FinTS-Direktverbindung und vereinheitlichte Importquellen
- FinTS-Abruf für Comdirect/DKB/Sparkassen via nemiah/php-fints (4.1)
  inkl. photoTAN-Eingabe-Modal und Multi-Konto-Auswahl
- Neue Tabelle bank_sources (CSV/API/FinTS) ersetzt bank_import_formats
  und bank_connections, Backfill in Migration 068
- Symmetrische Verschlüsselung sensibler Felder (PayPal-Signature,
  FinTS-PIN) mit AES-256-GCM, APP_KEY in .env
- Routes /bank/fints* → /bank/direkt*; "+ Neue Bank…"-Dialog erlaubt
  freie API/FinTS-Anbieter
- Scripts/encrypt_bank_secrets.php als idempotenter Migrations-Helfer
- Neue Tests 36 (Crypto) und 37 (BankSource)
2026-05-22 07:17:00 +02:00

36 lines
916 B
PHP

<?php
declare(strict_types=1);
namespace Steuerkram\Models;
use Steuerkram\Database;
class BankProvider
{
public static function all(): array
{
return Database::fetchAll('SELECT * FROM bank_providers ORDER BY name');
}
public static function find(int $id): ?array
{
$row = Database::fetchOne('SELECT * FROM bank_providers WHERE id = ?', [$id]);
return $row ?: null;
}
public static function findByName(string $name): ?array
{
$row = Database::fetchOne('SELECT * FROM bank_providers WHERE name = ?', [$name]);
return $row ?: null;
}
public static function create(string $name, string $verbindungstyp = 'FinTS'): int
{
Database::execute(
'INSERT INTO bank_providers (name, verbindungstyp) VALUES (?, ?)',
[$name, $verbindungstyp]
);
return (int)Database::lastInsertId();
}
}