Argon2 password hashing, JWT session issuing/verification (auth/security.py), register/login routes, the bearer-token get_current_user dependency, and GET /users/me for address + balance. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
19 lines
517 B
Python
19 lines
517 B
Python
from fastapi import APIRouter, Depends
|
|
from pydantic import BaseModel
|
|
|
|
from app.auth.dependencies import get_current_user
|
|
from app.db.models import User
|
|
|
|
router = APIRouter(prefix="/users", tags=["users"])
|
|
|
|
|
|
class MeResponse(BaseModel):
|
|
username: str
|
|
address: str
|
|
balance_sats: int
|
|
|
|
|
|
@router.get("/me", response_model=MeResponse)
|
|
async def me(user: User = Depends(get_current_user)) -> MeResponse:
|
|
return MeResponse(username=user.username, address=user.address, balance_sats=user.cached_balance_sats)
|