vbv/server/vbv_lernwelt/core/managers.py

20 lines
620 B
Python

from django.contrib.auth.base_user import BaseUserManager
from django.contrib.auth.models import AbstractUser
class UserManager(BaseUserManager):
def create_or_update_by_email(
self, email: str, first_name: str, last_name: str, username: str
) -> tuple[AbstractUser, bool]:
# create or sync user with OpenID Data
user, created = self.model.objects.get_or_create(
email=email,
defaults={
"first_name": first_name,
"last_name": last_name,
"username": username,
},
)
return user, created