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