Add demo button to deposit money

This commit is contained in:
2026-02-14 14:37:37 +01:00
parent f012e55427
commit bf682736e1
4 changed files with 31 additions and 4 deletions

View File

@@ -1,6 +1,11 @@
from fastapi import APIRouter, Request
import os
from fastapi import APIRouter, HTTPException, Request
from fastapi.responses import RedirectResponse
from starlette import status
from allmende_payment_system.api.dependencies import SessionDep, UserDep
from allmende_payment_system.models import Transaction
from allmende_payment_system.tools import get_jinja_renderer
root_router = APIRouter()
@@ -31,3 +36,22 @@ async def landing_page(
"focused_account": focused_account,
},
)
@root_router.get("/demo/add_balance/{account_id}")
async def add_balance(
request: Request, session: SessionDep, user: UserDep, account_id: int
):
if "APS_PRODUCTION_MODE" in os.environ:
raise HTTPException(status_code=403, detail="Not allowed in production mode.")
for account in user.accounts:
if account.id == account_id:
break
else:
raise HTTPException(status_code=400, detail="Invalid account ID.")
account.transactions.append(Transaction(total_amount=100.0, type="deposit"))
session.flush()
return RedirectResponse(url=f"/", status_code=status.HTTP_302_FOUND)