from typing import Annotated, Optional from fastapi import Request, Depends from simple_openid_connect.client import OpenidClient from dooris_api import models async def get_oidc_client(req: Request) -> OpenidClient: return req.app.extra["oidc_client"] OpenidClient = Annotated[OpenidClient, Depends(get_oidc_client)] async def get_current_user(req: Request, oidc_client: OpenidClient) -> Optional[models.CurrentUser]: return None CurrentUser = Annotated[Optional[models.CurrentUser], Depends(get_current_user)]