Demo mode: Add demo account

This commit is contained in:
2026-02-14 14:15:51 +01:00
parent 8cc9c77628
commit b791c490b7

View File

@@ -1,7 +1,8 @@
import os
from sqlalchemy import create_engine, select from sqlalchemy import create_engine, select
from sqlalchemy.orm import Session, sessionmaker 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" SQLALCHEMY_DATABASE_URL = "sqlite:///./aps_db.db"
engine = create_engine(SQLALCHEMY_DATABASE_URL) engine = create_engine(SQLALCHEMY_DATABASE_URL)
@@ -38,4 +39,11 @@ def ensure_user(user_info: dict, session: Session) -> User:
session.add(user) session.add(user)
session.flush() 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 return user