from pathlib import Path from faker import Faker from src.constants import Currency from src.ingest.b4w import ingest_b4w, reader_b4w from src.ingest.comdirect import reader_comdirect from src.models import ( ComdirectCreditCard, ComdirectDepot, ComdirectGiro, ) from src.models.settings import Account, Source fake = Faker() BANK_ACCOUNTS = { "b4w": Source( name="b4w", source_path=Path(""), reader_function=reader_b4w, accounts=[ Account( name="b4w", ingestion_function=ingest_b4w, iban=fake.iban(), currency=Currency.EUR, ) ], ), "comdirect": Source( name="comdirect", source_path=Path(""), reader_function=reader_comdirect, accounts=[ Account( name="Girokonto", ingestion_function=lambda x: ComdirectGiro.model_validate(x), iban=fake.iban(), currency=Currency.EUR, ), Account( name="Visa-Karte (Kreditkarte)", ingestion_function=lambda x: ComdirectCreditCard.model_validate(x), iban=fake.iban(), currency=Currency.EUR, ), Account( name="Tagesgeld PLUS-Konto", ingestion_function=lambda x: ComdirectGiro.model_validate(x), iban=fake.iban(), currency=Currency.EUR, ), Account( name="Depot", ingestion_function=lambda x: ComdirectDepot.model_validate(x), iban=fake.iban(), currency=Currency.EUR, ), ], ), }