mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
server: add /v1/me to get current user information
sub, email and email_verified
This commit is contained in:
@@ -1,15 +1,17 @@
|
|||||||
|
from contextlib import asynccontextmanager
|
||||||
|
|
||||||
|
import reflector.auth # noqa
|
||||||
|
import reflector.db # noqa
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from fastapi_pagination import add_pagination
|
|
||||||
from fastapi.routing import APIRoute
|
from fastapi.routing import APIRoute
|
||||||
import reflector.db # noqa
|
from fastapi_pagination import add_pagination
|
||||||
import reflector.auth # noqa
|
from reflector.events import subscribers_shutdown, subscribers_startup
|
||||||
from reflector.views.rtc_offer import router as rtc_offer_router
|
|
||||||
from reflector.views.transcripts import router as transcripts_router
|
|
||||||
from reflector.events import subscribers_startup, subscribers_shutdown
|
|
||||||
from reflector.logger import logger
|
from reflector.logger import logger
|
||||||
from reflector.settings import settings
|
from reflector.settings import settings
|
||||||
from contextlib import asynccontextmanager
|
from reflector.views.rtc_offer import router as rtc_offer_router
|
||||||
|
from reflector.views.transcripts import router as transcripts_router
|
||||||
|
from reflector.views.user import router as user_router
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import sentry_sdk
|
import sentry_sdk
|
||||||
@@ -50,6 +52,7 @@ app.add_middleware(
|
|||||||
# register views
|
# register views
|
||||||
app.include_router(rtc_offer_router)
|
app.include_router(rtc_offer_router)
|
||||||
app.include_router(transcripts_router, prefix="/v1")
|
app.include_router(transcripts_router, prefix="/v1")
|
||||||
|
app.include_router(user_router, prefix="/v1")
|
||||||
add_pagination(app)
|
add_pagination(app)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
20
server/reflector/views/user.py
Normal file
20
server/reflector/views/user.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
from typing import Annotated, Optional
|
||||||
|
|
||||||
|
import reflector.auth as auth
|
||||||
|
from fastapi import APIRouter, Depends
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
router = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
|
class UserInfo(BaseModel):
|
||||||
|
sub: str
|
||||||
|
email: Optional[str]
|
||||||
|
email_verified: Optional[bool]
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/me")
|
||||||
|
async def user_me(
|
||||||
|
user: Annotated[Optional[auth.UserInfo], Depends(auth.current_user_optional)],
|
||||||
|
) -> UserInfo | None:
|
||||||
|
return user
|
||||||
Reference in New Issue
Block a user