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
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 12:42 +0000
1from uuid import UUID
3from sqlalchemy import update
5from polar.kit.repository import RepositoryBase, RepositoryIDMixin
6from polar.models import DiscountRedemption
9class DiscountRedemptionRepository(
10 RepositoryBase[DiscountRedemption], RepositoryIDMixin[DiscountRedemption, UUID]
11):
12 model = DiscountRedemption
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)