Coverage for polar/checkout/auth.py: 100%
12 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 typing import Annotated
3from fastapi import Depends
5from polar.auth.dependencies import Authenticator
6from polar.auth.models import Anonymous, AuthSubject, User
7from polar.auth.scope import Scope
8from polar.models.organization import Organization
10_CheckoutRead = Authenticator(
11 required_scopes={
12 Scope.web_read,
13 Scope.web_write,
14 Scope.checkouts_read,
15 Scope.checkouts_write,
16 },
17 allowed_subjects={User, Organization},
18)
19CheckoutRead = Annotated[AuthSubject[User | Organization], Depends(_CheckoutRead)]
21_CheckoutWrite = Authenticator(
22 required_scopes={Scope.checkouts_write},
23 allowed_subjects={User, Organization},
24)
25CheckoutWrite = Annotated[AuthSubject[User | Organization], Depends(_CheckoutWrite)]
27_CheckoutWeb = Authenticator(
28 required_scopes={Scope.web_write},
29 allowed_subjects={User, Anonymous},
30)
31CheckoutWeb = Annotated[AuthSubject[User | Anonymous], Depends(_CheckoutWeb)]