|
1 | 1 | from datetime import datetime |
2 | | -from typing import Literal, Union |
| 2 | +from typing import Literal, Union, cast |
3 | 3 | from uuid import UUID |
4 | 4 |
|
5 | 5 | import requests |
| 6 | +import requests.exceptions |
6 | 7 | from fastapi import APIRouter, Depends, HTTPException |
7 | 8 | from fastapi_cloudauth.firebase import FirebaseClaims, FirebaseCurrentUser |
8 | 9 | from pydantic import BaseModel |
|
19 | 20 | ) |
20 | 21 | from app.config import get_settings |
21 | 22 | from app.db.session import get_session |
22 | | -from app.models import EventLevel, SchoolState, ServiceAccount, Student, User |
| 23 | +from app.models import EventLevel, Parent, SchoolState, ServiceAccount, Student, User |
23 | 24 | from app.models.user import UserAccountType |
24 | 25 | from app.schemas.auth import AccountType, AuthenticatedAccountBrief |
25 | 26 | from app.schemas.users.educator import EducatorDetail |
26 | 27 | from app.schemas.users.parent import ParentDetail |
27 | 28 | from app.schemas.users.reader import PublicReaderDetail |
28 | 29 | from app.schemas.users.school_admin import SchoolAdminDetail |
29 | 30 | from app.schemas.users.student import StudentDetail, StudentIdentity |
30 | | -from app.schemas.users.user import UserDetail |
| 31 | +from app.schemas.users.user import UserDetail, UserInfo |
31 | 32 | from app.schemas.users.user_create import UserCreateIn |
32 | 33 | from app.schemas.users.wriveted_admin import WrivetedAdminDetail |
33 | 34 | from app.services.security import TokenPayload |
@@ -118,10 +119,10 @@ def secure_user_endpoint( |
118 | 119 | name=name, |
119 | 120 | email=email, |
120 | 121 | # NOW ADD THE USER_DATA STUFF |
121 | | - info={ |
122 | | - "sign_in_provider": raw_data["firebase"].get("sign_in_provider"), |
123 | | - "picture": picture, |
124 | | - }, |
| 122 | + info=UserInfo( |
| 123 | + sign_in_provider=raw_data["firebase"].get("sign_in_provider"), |
| 124 | + picture=picture, |
| 125 | + ), |
125 | 126 | ) |
126 | 127 | user, was_created = crud.user.get_or_create(session, user_data) |
127 | 128 | else: |
@@ -169,7 +170,7 @@ def secure_user_endpoint( |
169 | 170 |
|
170 | 171 | if user.type == UserAccountType.PARENT and checkout_session_id: |
171 | 172 | link_parent_with_subscription_via_checkout_session( |
172 | | - session, user, checkout_session_id |
| 173 | + session, cast(Parent, user), checkout_session_id |
173 | 174 | ) |
174 | 175 |
|
175 | 176 | return { |
|
0 commit comments