Zentralen BIC-Abgleich robust machen
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 44s
Build and Push Docker Images / build-frontend (push) Successful in 22s
Build and Push Docker Images / build-website (push) Successful in 21s
Build and Push Docker Images / build-central-services-api (push) Successful in 22s
Build and Push Docker Images / build-central-services-admin (push) Successful in 23s
Build and Push Docker Images / build-docs (push) Successful in 21s

This commit is contained in:
root
2026-09-01 13:17:37 +00:00
parent 0bd862af55
commit 21fb8c6649
3 changed files with 42 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
export type BankingInstitution = {
bic?: unknown
[key: string]: unknown
}
export const findBankInstitutionByBic = (
institutions: unknown,
bic: string,
): BankingInstitution | null => {
if (!Array.isArray(institutions)) return null
const normalizedBic = bic.trim().toUpperCase()
if (!normalizedBic) return null
const institution = institutions.find((candidate): candidate is BankingInstitution => {
if (!candidate || typeof candidate !== "object") return false
const candidateBic = (candidate as BankingInstitution).bic
return typeof candidateBic === "string" && candidateBic.trim().toUpperCase() === normalizedBic
})
return institution || null
}

View File

@@ -8,6 +8,7 @@ import { decrypt, encrypt } from "../utils/crypt"
import { DE_BANK_CODE_TO_NAME } from "../utils/deBankCodes"
import { DE_BANK_CODE_TO_BIC } from "../utils/deBankBics"
import { centralServicesClient } from "../modules/push-server.client"
import { findBankInstitutionByBic } from "../modules/banking-institution"
import {
bankrequisitions,
@@ -1047,7 +1048,7 @@ export default async function bankingRoutes(server: FastifyInstance) {
))
}
const bank = data.find((i: any) => i.bic.toLowerCase() === bic.toLowerCase())
const bank = findBankInstitutionByBic(data, bic)
if (!bank) return reply.code(404).send("Bank not found")