Files
Crm-Backend/schemas/deal.py
2025-09-01 17:54:45 +04:00

68 lines
1.0 KiB
Python

from datetime import datetime
from typing import Optional
from schemas.base import BaseSchema, BaseResponse, PaginationInfoSchema
# region Entities
class DealSchema(BaseSchema):
id: int
name: str
lexorank: str
status_id: int
board_id: int
created_at: datetime
class CreateDealSchema(BaseSchema):
name: str
board_id: int
lexorank: str
status_id: int
class UpdateDealSchema(BaseSchema):
name: Optional[str] = None
lexorank: Optional[str] = None
status_id: Optional[int] = None
# endregion
# region Requests
class CreateDealRequest(BaseSchema):
entity: CreateDealSchema
class UpdateDealRequest(BaseSchema):
entity: UpdateDealSchema
# endregion
# region Responses
class GetDealsResponse(BaseSchema):
items: list[DealSchema]
pagination_info: PaginationInfoSchema
class CreateDealResponse(BaseResponse):
entity: DealSchema
class UpdateDealResponse(BaseResponse):
pass
class DeleteDealResponse(BaseResponse):
pass
# endregion