Beispiel #1
0
def register_user(email: str, username: str, password: str) -> User:
    new_user = User(email=email, username=username)
    new_user.set_password(password)
    errors = check_for_existing_user(new_user)
    if errors:
        raise UserExists({"errors": errors})
    new_user.save()

    UserMeta.objects.bulk_create([
        UserMeta(user=new_user,
                 key=UserMeta.MetaKeys.NEW_GAME_MAIL,
                 value=True),
        UserMeta(user=new_user, key=UserMeta.MetaKeys.POST_SIDE, value="l"),
        UserMeta(user=new_user, key=UserMeta.MetaKeys.SHOW_AVATARS,
                 value=True),
    ])

    send_activation_email(new_user)

    return new_user