Coverage for polar/discount/auth.py: 100%

10 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 AuthSubject, User 

7from polar.auth.scope import Scope 

8from polar.models.organization import Organization 

9 

10_DiscountRead = Authenticator( 

11 required_scopes={ 

12 Scope.web_read, 

13 Scope.web_write, 

14 Scope.discounts_read, 

15 Scope.discounts_write, 

16 }, 

17 allowed_subjects={User, Organization}, 

18) 

19DiscountRead = Annotated[AuthSubject[User | Organization], Depends(_DiscountRead)] 

20 

21_DiscountWrite = Authenticator( 

22 required_scopes={ 

23 Scope.web_write, 

24 Scope.discounts_write, 

25 }, 

26 allowed_subjects={User, Organization}, 

27) 

28DiscountWrite = Annotated[AuthSubject[User | Organization], Depends(_DiscountWrite)]