diff --git a/src/allmende_payment_system/database.py b/src/allmende_payment_system/database.py index 5bff15b..9365dae 100644 --- a/src/allmende_payment_system/database.py +++ b/src/allmende_payment_system/database.py @@ -1,7 +1,8 @@ +import os from sqlalchemy import create_engine, select from sqlalchemy.orm import Session, sessionmaker -from allmende_payment_system.models import User +from allmende_payment_system.models import User, Account, Transaction SQLALCHEMY_DATABASE_URL = "sqlite:///./aps_db.db" engine = create_engine(SQLALCHEMY_DATABASE_URL) @@ -38,4 +39,11 @@ def ensure_user(user_info: dict, session: Session) -> User: session.add(user) session.flush() + if not "APS_PRODUCTION_MODE" in os.environ: + # when in demo mode each user gets an account with some starting balance + account = Account(name=f"Demokonto für {user.display_name}") + account.transactions.append(Transaction(total_amount=100.0, type="deposit")) + user.accounts.append(account) + session.flush() + return user