feat: groups

This commit is contained in:
2025-10-17 19:48:51 +04:00
parent 35869e2ea5
commit 6b1b4109c6
11 changed files with 288 additions and 12 deletions

View File

@ -4,6 +4,7 @@ from typing import Optional
from modules.clients.schemas.client import ClientSchema
from schemas.base import BaseSchema, BaseResponse, PaginationInfoSchema
from schemas.board import BoardSchema
from schemas.deal_group import DealGroupSchema
from schemas.status import StatusSchema
@ -17,6 +18,7 @@ class DealSchema(BaseSchema):
status: StatusSchema
board: BoardSchema
created_at: datetime
group: Optional[DealGroupSchema]
# FF module
products_quantity: int = 0
total_price: float = 0

60
schemas/deal_group.py Normal file
View File

@ -0,0 +1,60 @@
from typing import Optional
from schemas.base import BaseSchema, BaseResponse
# region Entities
class DealGroupSchema(BaseSchema):
id: int
name: Optional[str] = None
lexorank: str
class UpdateDealGroupSchema(BaseSchema):
name: Optional[str] = None
lexorank: Optional[str] = None
status_id: Optional[int] = None
# endregion
# region Requests
class CreateDealGroupRequest(BaseSchema):
main_deal_id: int
other_deal_ids: list[int]
class UpdateDealGroupRequest(BaseSchema):
entity: UpdateDealGroupSchema
class UpdateDealsInGroupRequest(BaseSchema):
deal_ids: list[int]
# endregion
# region Responses
class CreateDealGroupResponse(BaseSchema):
entity: DealGroupSchema
class UpdateDealGroupResponse(BaseResponse):
pass
class UpdateDealsInGroupResponse(BaseResponse):
pass
class DeleteDealGroupResponse(BaseResponse):
pass
# endregion