Coverage for polar/customer_portal/repository/payment_method.py: 89%
9 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 17:15 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-12-05 17:15 +0000
1from uuid import UUID 1a
3from sqlalchemy import Select 1a
5from polar.auth.models import AuthSubject, Customer 1a
6from polar.kit.repository import ( 1a
7 RepositoryBase,
8 RepositorySoftDeletionIDMixin,
9 RepositorySoftDeletionMixin,
10)
11from polar.models import PaymentMethod 1a
14class CustomerPaymentMethodRepository( 1a
15 RepositorySoftDeletionIDMixin[PaymentMethod, UUID],
16 RepositorySoftDeletionMixin[PaymentMethod],
17 RepositoryBase[PaymentMethod],
18):
19 model = PaymentMethod 1a
21 def get_readable_statement( 1a
22 self, auth_subject: AuthSubject[Customer]
23 ) -> Select[tuple[PaymentMethod]]:
24 return self.get_base_statement().where(
25 PaymentMethod.customer_id == auth_subject.subject.id
26 )