Coverage for polar/auth/endpoints.py: 88%

16 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-12-05 17:15 +0000

1from fastapi import Depends, Request 1a

2from fastapi.responses import RedirectResponse 1a

3from pydantic import BaseModel 1a

4 

5from polar.models import UserSession as UserSession 1a

6from polar.openapi import APITag 1a

7from polar.postgres import AsyncSession, get_db_session 1a

8from polar.routing import APIRouter 1a

9 

10from .service import auth as auth_service 1a

11 

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

13 

14 

15class ImpersonateResponse(BaseModel): 1a

16 success: bool 1a

17 message: str 1a

18 

19 

20@router.get("/auth/logout") 1a

21async def logout( 1ab

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)