Coverage for polar/pledge/hooks.py: 100%

12 statements  

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

1from dataclasses import dataclass 

2 

3from polar.kit.hook import Hook 

4from polar.models.pledge import Pledge 

5from polar.models.pledge_transaction import PledgeTransaction 

6from polar.postgres import AsyncSession 

7 

8 

9@dataclass 

10class PledgeHook: 

11 session: AsyncSession 

12 pledge: Pledge 

13 

14 

15@dataclass 

16class PledgePaidHook: 

17 session: AsyncSession 

18 pledge: Pledge 

19 transaction: PledgeTransaction 

20 

21 

22# pledge_created fires when the pledge state is set to created 

23# (not the same as created in the initiated state) 

24pledge_created: Hook[PledgeHook] = Hook() 

25pledge_disputed: Hook[PledgeHook] = Hook() 

26pledge_updated: Hook[PledgeHook] = Hook()