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

1from fastapi import Depends, Request 

2from fastapi.responses import RedirectResponse 

3from pydantic import BaseModel 

4 

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 

9 

10from .service import auth as auth_service 

11 

12router = APIRouter(tags=["auth", APITag.private]) 

13 

14 

15class ImpersonateResponse(BaseModel): 

16 success: bool 

17 message: str 

18 

19 

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)