from uuid import uuid4 from starlette.requests import HTTPConnection from app.config import settings from app.connectors.twilio import TwilioConnector from app.models import User users = {} def get_or_create_user(conn: HTTPConnection) -> User: user_id = conn.cookies.get("user_id") if not users.get(user_id): user_id = str(uuid4()) users[user_id] = User( id=user_id, connector=TwilioConnector(), settings=settings.clone_default_user_settings(), ) return users[user_id]