const iban = require('iban');

/**
 * Stufe 1 – Formale SEPA-Prüfung
 * @returns {string|null} Fehlermeldung oder null
 */
module.exports = function validateSepa({ ibanValue, bic, mandatsreferenz }) {

    // IBAN prüfen (Länge + Prüfziffer)
    if (!ibanValue || !iban.isValid(ibanValue)) {
        return 'Ungültige IBAN';
    }

    // BIC prüfen (8 oder 11 alphanumerische Zeichen)
    if (!bic || !/^[A-Z0-9]{8}([A-Z0-9]{3})?$/.test(bic)) {
        return 'Ungültiger BIC';
    }

    // Mandatsreferenz prüfen
    if (!mandatsreferenz || mandatsreferenz.trim().length < 4) {
        return 'Ungültige Mandatsreferenz';
    }

    return null; // ✅ alles ok
};
