mirror of
https://github.com/fastapi-users/fastapi-users.git
synced 2025-08-17 13:54:20 +08:00
Automated deployment: Sun Nov 7 10:33:28 UTC 2021 b80061bbc4fe828f330f663f411504719c370916
This commit is contained in:
24
src/cookbook_create_user_programmatically.py
Normal file
24
src/cookbook_create_user_programmatically.py
Normal 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")
|
Reference in New Issue
Block a user