50 lines
		
	
	
		
			844 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			844 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import datetime
 | 
						|
from typing import Optional
 | 
						|
 | 
						|
from schemas.base import BaseSchema, OkMessageSchema
 | 
						|
 | 
						|
 | 
						|
# region Entities
 | 
						|
class CardBillRequestSchema(BaseSchema):
 | 
						|
    card_id: int
 | 
						|
    created_at: datetime.datetime
 | 
						|
    paid: bool
 | 
						|
    pdf_url: Optional[str]
 | 
						|
    invoice_number: Optional[str]
 | 
						|
 | 
						|
 | 
						|
class GroupBillRequestSchema(BaseSchema):
 | 
						|
    group_id: int
 | 
						|
    created_at: datetime.datetime
 | 
						|
    paid: bool
 | 
						|
    pdf_url: Optional[str]
 | 
						|
    invoice_number: Optional[str]
 | 
						|
 | 
						|
 | 
						|
# endregion
 | 
						|
 | 
						|
# region Requests
 | 
						|
class CreateCardBillRequest(BaseSchema):
 | 
						|
    card_id: int
 | 
						|
 | 
						|
 | 
						|
class CancelCardBillRequest(BaseSchema):
 | 
						|
    card_id: int
 | 
						|
 | 
						|
 | 
						|
# endregion
 | 
						|
 | 
						|
# region Responses
 | 
						|
class CreateCardBillResponse(OkMessageSchema):
 | 
						|
    pass
 | 
						|
 | 
						|
 | 
						|
class CancelCardBillResponse(OkMessageSchema):
 | 
						|
    pass
 | 
						|
 | 
						|
 | 
						|
class GetCardBillById(BaseSchema):
 | 
						|
    card_bill: CardBillRequestSchema
 | 
						|
 | 
						|
# endregion
 |