Coverage for packages/clopos/src/integrify/clopos/schemas/receipts/request.py: 100%

28 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-10-19 02:39 +0000

1from decimal import Decimal 

2 

3from integrify.clopos.helpers import IsoDateTime 

4from integrify.clopos.schemas.common.request import ByIDRequest, PaginatedDataRequest 

5from integrify.clopos.schemas.enums import OrderStatus 

6from integrify.utils import UnsetField 

7from pydantic import BaseModel 

8 

9 

10class PaymentMethodIn(BaseModel): 

11 id: int 

12 """The unique identifier for the payment method""" 

13 

14 name: str 

15 """The name of the payment method (e.g., "Cash", "Card")""" 

16 

17 amount: Decimal 

18 """The amount paid via this payment method""" 

19 

20 

21class GetReceiptsRequest(PaginatedDataRequest): 

22 sort_by: UnsetField[str] 

23 sort_order: UnsetField[int] 

24 date_from: UnsetField[IsoDateTime] 

25 date_to: UnsetField[IsoDateTime] 

26 

27 

28class UpdateClosedReceiptRequest(ByIDRequest): 

29 order_status: UnsetField[OrderStatus] 

30 order_number: UnsetField[str] 

31 fiscal_id: UnsetField[str] 

32 lock: UnsetField[bool] 

33 

34 

35class CloseReceiptRequest(ByIDRequest): 

36 id: int 

37 cid: str 

38 payment_methods: list[PaymentMethodIn] 

39 closed_at: IsoDateTime = ''