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
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 12:42 +0000
1from fastapi import Depends
3from polar.models import CustomerSession
4from polar.openapi import APITag
5from polar.postgres import AsyncSession, get_db_session
6from polar.routing import APIRouter
8from . import auth
9from .schemas import CustomerSession as CustomerSessionSchema
10from .schemas import CustomerSessionCreate
11from .service import customer_session as customer_session_service
13router = APIRouter(
14 prefix="/customer-sessions",
15 tags=["customer-sessions", APITag.public],
16)
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 )