Add demo button to deposit money
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user