Coverage for src / auth / manager.py: 100%

18 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-05-10 22:03 +0200

1from fastapi import Depends 

2from fastapi_users import BaseUserManager, FastAPIUsers, IntegerIDMixin 

3from fastapi_users_db_sqlalchemy import SQLAlchemyUserDatabase 

4from sqlalchemy.ext.asyncio import AsyncSession 

5from src.auth.auth import auth_backend 

6from src.database import get_db 

7from src.auth.models import User 

8 

9from src.config import SECRET 

10 

11 

12class UserManager(IntegerIDMixin, BaseUserManager[User, int]): 

13 reset_password_token_secret = SECRET 

14 verification_token_secret = SECRET 

15 

16 

17async def get_user_db(session: AsyncSession = Depends(get_db)): 

18 yield SQLAlchemyUserDatabase(session, User) 

19 

20 

21async def get_user_manager(user_db: SQLAlchemyUserDatabase = Depends(get_user_db)): 

22 yield UserManager(user_db) 

23 

24fastapi_users = FastAPIUsers[User, int](get_user_manager, [auth_backend]) 

25current_optional_user = fastapi_users.current_user(optional=True) 

26current_user = fastapi_users.current_user()