from starlette.requests import Request from core.app import app from core.utils.auth import UserModel def use_request() -> Request: try: return app.state.request.state except AttributeError: raise AttributeError("No request object found in app.state") def use_user(user=None) -> UserModel: try: if user is None: return use_request().user else: app.state.request.state.user = user except AttributeError: raise AttributeError("No user object found in app.state")