Skip to content

Commit 4ed2986

Browse files
committed
🚀 chat flow system
1 parent 286ea7f commit 4ed2986

29 files changed

+6428
-12
lines changed

alembic/versions/2e8dc6b4f10c_create_chatbot_flow_tables.py

Lines changed: 492 additions & 0 deletions
Large diffs are not rendered by default.

app/api/auth.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from datetime import datetime
2-
from typing import Literal, Union
2+
from typing import Literal, Union, cast
33
from uuid import UUID
44

55
import requests
6+
import requests.exceptions
67
from fastapi import APIRouter, Depends, HTTPException
78
from fastapi_cloudauth.firebase import FirebaseClaims, FirebaseCurrentUser
89
from pydantic import BaseModel
@@ -19,15 +20,15 @@
1920
)
2021
from app.config import get_settings
2122
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
2324
from app.models.user import UserAccountType
2425
from app.schemas.auth import AccountType, AuthenticatedAccountBrief
2526
from app.schemas.users.educator import EducatorDetail
2627
from app.schemas.users.parent import ParentDetail
2728
from app.schemas.users.reader import PublicReaderDetail
2829
from app.schemas.users.school_admin import SchoolAdminDetail
2930
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
3132
from app.schemas.users.user_create import UserCreateIn
3233
from app.schemas.users.wriveted_admin import WrivetedAdminDetail
3334
from app.services.security import TokenPayload
@@ -118,10 +119,10 @@ def secure_user_endpoint(
118119
name=name,
119120
email=email,
120121
# 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+
),
125126
)
126127
user, was_created = crud.user.get_or_create(session, user_data)
127128
else:
@@ -169,7 +170,7 @@ def secure_user_endpoint(
169170

170171
if user.type == UserAccountType.PARENT and checkout_session_id:
171172
link_parent_with_subscription_via_checkout_session(
172-
session, user, checkout_session_id
173+
session, cast(Parent, user), checkout_session_id
173174
)
174175

175176
return {

0 commit comments

Comments
 (0)