Coverage for polar/discount/repository.py: 78%

9 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 12:42 +0000

1from uuid import UUID 

2 

3from sqlalchemy import update 

4 

5from polar.kit.repository import RepositoryBase, RepositoryIDMixin 

6from polar.models import DiscountRedemption 

7 

8 

9class DiscountRedemptionRepository( 

10 RepositoryBase[DiscountRedemption], RepositoryIDMixin[DiscountRedemption, UUID] 

11): 

12 model = DiscountRedemption 

13 

14 async def set_subscription_by_checkout( 

15 self, checkout_id: UUID, subscription_id: UUID 

16 ) -> None: 

17 statement = ( 

18 update(DiscountRedemption) 

19 .values(subscription_id=subscription_id) 

20 .where(DiscountRedemption.checkout_id == checkout_id) 

21 ) 

22 await self.session.execute(statement)