Coverage for polar/integrations/plain/schemas.py: 100%

14 statements  

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

1from enum import StrEnum 

2from typing import Any 

3 

4from pydantic import BaseModel 

5 

6 

7class CustomerCardKey(StrEnum): 

8 user = "user" 

9 organization = "organization" 

10 customer = "customer" 

11 order = "order" 

12 snippets = "snippets" 

13 

14 

15class CustomerCardCustomer(BaseModel): 

16 id: str 

17 email: str 

18 externalId: str | None 

19 

20 

21class CustomerCardThread(BaseModel): 

22 id: str 

23 externalId: str | None 

24 

25 

26class CustomerCardsRequest(BaseModel): 

27 cardKeys: list[CustomerCardKey] 

28 customer: CustomerCardCustomer 

29 thread: CustomerCardThread | None 

30 

31 

32class CustomerCard(BaseModel): 

33 key: CustomerCardKey 

34 timeToLiveSeconds: int 

35 components: list[dict[str, Any]] | None 

36 

37 

38class CustomerCardsResponse(BaseModel): 

39 cards: list[CustomerCard]