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

1from typing import Annotated 

2 

3from fastapi import Depends 

4 

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 

9 

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)] 

20 

21_CheckoutWrite = Authenticator( 

22 required_scopes={Scope.checkouts_write}, 

23 allowed_subjects={User, Organization}, 

24) 

25CheckoutWrite = Annotated[AuthSubject[User | Organization], Depends(_CheckoutWrite)] 

26 

27_CheckoutWeb = Authenticator( 

28 required_scopes={Scope.web_write}, 

29 allowed_subjects={User, Anonymous}, 

30) 

31CheckoutWeb = Annotated[AuthSubject[User | Anonymous], Depends(_CheckoutWeb)]