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

13 statements  

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

1from fastapi import Depends 1a

2 

3from polar.models import CustomerSession 1a

4from polar.openapi import APITag 1a

5from polar.postgres import AsyncSession, get_db_session 1a

6from polar.routing import APIRouter 1a

7 

8from . import auth 1a

9from .schemas import CustomerSession as CustomerSessionSchema 1a

10from .schemas import CustomerSessionCreate 1a

11from .service import customer_session as customer_session_service 1a

12 

13router = APIRouter( 1a

14 prefix="/customer-sessions", 

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

16) 

17 

18 

19@router.post( 1a

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( 1a

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 )