feat: groups
This commit is contained in:
@ -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
60
schemas/deal_group.py
Normal 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
|
||||
Reference in New Issue
Block a user