Coverage for polar/customer_seat/auth.py: 100%
11 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, Organization, User
7from polar.auth.scope import Scope
9_SeatRead = Authenticator(
10 required_scopes={
11 Scope.web_read,
12 Scope.web_write,
13 Scope.customer_seats_read,
14 },
15 allowed_subjects={User, Organization},
16)
17SeatRead = Annotated[AuthSubject[User | Organization], Depends(_SeatRead)]
19_SeatWrite = Authenticator(
20 required_scopes={
21 Scope.web_write,
22 Scope.customer_seats_write,
23 },
24 allowed_subjects={User, Organization},
25)
26SeatWrite = Annotated[AuthSubject[User | Organization], Depends(_SeatWrite)]
28_SeatWriteOrAnonymous = Authenticator(
29 required_scopes={
30 Scope.web_write,
31 Scope.customer_seats_write,
32 },
33 allowed_subjects={User, Organization, Anonymous},
34)
35SeatWriteOrAnonymous = Annotated[
36 AuthSubject[User | Organization | Anonymous], Depends(_SeatWriteOrAnonymous)
37]