from fastapi import Depends, FastAPI from tortoise.contrib.fastapi import register_tortoise from app.db import DATABASE_URL from app.models import UserDB from app.users import auth_backend, current_active_user, fastapi_users app = FastAPI() app.include_router( fastapi_users.get_auth_router(auth_backend), prefix="/auth/jwt", tags=["auth"] ) app.include_router(fastapi_users.get_register_router(), prefix="/auth", tags=["auth"]) app.include_router( fastapi_users.get_reset_password_router(), prefix="/auth", tags=["auth"], ) app.include_router( fastapi_users.get_verify_router(), prefix="/auth", tags=["auth"], ) app.include_router(fastapi_users.get_users_router(), prefix="/users", tags=["users"]) @app.get("/authenticated-route") async def authenticated_route(user: UserDB = Depends(current_active_user)): return {"message": f"Hello {user.email}!"} register_tortoise( app, db_url=DATABASE_URL, modules={"models": ["app.models"]}, generate_schemas=True, )