from typing import Optional from schemas.base import BaseSchema, OkMessageSchema from schemas.billing import GroupBillRequestSchema # region Entities class CardGroupSchema(BaseSchema): id: int name: Optional[str] = None lexorank: str bill_requests: list[GroupBillRequestSchema] = [] # endregion # region Requests class CardGroupUpdateRequest(BaseSchema): data: CardGroupSchema class CreateCardGroupRequest(BaseSchema): dragging_card_id: int hovered_card_id: int class CardGroupChangeStatusRequest(BaseSchema): group_id: int new_status: int class CardAddToGroupRequest(BaseSchema): card_id: int group_id: int class CardRemoveFromGroupRequest(BaseSchema): card_id: int # endregion # region Responses class CardCreateGroupResponse(OkMessageSchema): pass class CardGroupUpdateResponse(OkMessageSchema): pass class CardGroupChangeStatusResponse(OkMessageSchema): pass class CardAddToGroupResponse(OkMessageSchema): pass class CardRemoveFromGroupResponse(OkMessageSchema): pass # endregion