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

9 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-12-05 16:17 +0000

1from uuid import UUID 1a

2 

3from sqlalchemy import update 1a

4 

5from polar.kit.repository import RepositoryBase, RepositoryIDMixin 1a

6from polar.models import DiscountRedemption 1a

7 

8 

9class DiscountRedemptionRepository( 1a

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

11): 

12 model = DiscountRedemption 1a

13 

14 async def set_subscription_by_checkout( 1a

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)