Fix #788: add cookbook to create user programmatically

This commit is contained in:
François Voron
2021-11-07 11:32:22 +01:00
parent 6ed1a5ccdb
commit b80061bbc4
3 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,24 @@
import contextlib
from fastapi_users.manager import UserAlreadyExists
from app.db import get_user_db
from app.models import UserCreate
from app.users import get_user_manager
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_user_db_context() 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}")
except UserAlreadyExists:
print(f"User {email} already exists")