51 lines
878 B
Python
51 lines
878 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
|
|
force: Optional[bool] = False
|
|
|
|
|
|
# endregion
|
|
|
|
# region Responses
|
|
class CreateCardBillResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class CancelCardBillResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class GetCardBillById(BaseSchema):
|
|
card_bill: CardBillRequestSchema
|
|
|
|
# endregion
|