Working on the implementation of fastapi users.

This commit is contained in:
charles-gauthereau
2024-11-02 12:38:05 +01:00
parent ff7f864ec2
commit 54248b8670
15 changed files with 289 additions and 312 deletions
+28
View File
@@ -0,0 +1,28 @@
import contextlib
from fastapi_users.exceptions import UserAlreadyExists
from apps.users.schemas import UserCreate
from apps.users.services import get_user_manager
from database import get_async_session, get_user_db
get_async_session_context = contextlib.asynccontextmanager(get_async_session)
get_user_db_context = contextlib.asynccontextmanager(get_user_db)
get_user_manager_context = contextlib.asynccontextmanager(get_user_manager)
async def create_user(email: str, password: str, is_superuser: bool = False):
try:
async with get_async_session_context() as session:
async with get_user_db_context(session) as user_db:
async with get_user_manager_context(user_db) as user_manager:
user = await user_manager.create(
UserCreate(
email=email, password=password, is_superuser=is_superuser
)
)
print(f"User created {user}")
return user
except UserAlreadyExists:
print(f"User {email} already exists")
# raise