Coverage for polar/auth/endpoints.py: 86%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 12:42 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 12:42 +0000
1from fastapi import Depends, Request
2from fastapi.responses import RedirectResponse
3from pydantic import BaseModel
5from polar.models import UserSession as UserSession
6from polar.openapi import APITag
7from polar.postgres import AsyncSession, get_db_session
8from polar.routing import APIRouter
10from .service import auth as auth_service
12router = APIRouter(tags=["auth", APITag.private])
15class ImpersonateResponse(BaseModel):
16 success: bool
17 message: str
20@router.get("/auth/logout")
21async def logout(
22 request: Request, session: AsyncSession = Depends(get_db_session)
23) -> RedirectResponse:
24 user_session = await auth_service.authenticate(session, request)
25 return await auth_service.get_logout_response(session, request, user_session)