Coverage for polar/customer_session/endpoints.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 12:42 +0000

1from fastapi import Depends 

2 

3from polar.models import CustomerSession 

4from polar.openapi import APITag 

5from polar.postgres import AsyncSession, get_db_session 

6from polar.routing import APIRouter 

7 

8from . import auth 

9from .schemas import CustomerSession as CustomerSessionSchema 

10from .schemas import CustomerSessionCreate 

11from .service import customer_session as customer_session_service 

12 

13router = APIRouter( 

14 prefix="/customer-sessions", 

15 tags=["customer-sessions", APITag.public], 

16) 

17 

18 

19@router.post( 

20 "/", 

21 response_model=CustomerSessionSchema, 

22 status_code=201, 

23 summary="Create Customer Session", 

24 responses={201: {"description": "Customer session created."}}, 

25) 

26async def create( 

27 customer_session_create: CustomerSessionCreate, 

28 auth_subject: auth.CustomerSessionWrite, 

29 session: AsyncSession = Depends(get_db_session), 

30) -> CustomerSession: 

31 """Create a customer session.""" 

32 return await customer_session_service.create( 

33 session, auth_subject, customer_session_create 

34 )