import datetime from typing import List from schemas.base import CustomModel from schemas.client import ClientSchema # region Entities class FastDeal(CustomModel): name: str client: ClientSchema comment: str acceptance_date: datetime.datetime class DealSummary(CustomModel): id: int name: str client_name: str changed_at: datetime.datetime status: int total_price: int class DealServiceSchema(CustomModel): id: int quantity: int # endregion Entities # region Requests class DealChangeStatusRequest(CustomModel): deal_id: int new_status: int class DealCreateRequest(CustomModel): name: str class DealQuickCreateRequest(CustomModel): name: str client_name: str client_address: str comment: str acceptance_date: datetime.datetime class DealSummaryRequest(CustomModel): pass class DealAddServicesRequest(CustomModel): deal_id: int services: list[DealServiceSchema] # endregion Requests # region Responses class DealChangeStatusResponse(CustomModel): ok: bool class DealCreateResponse(CustomModel): ok: bool class DealQuickCreateResponse(CustomModel): deal_id: int class DealSummaryResponse(CustomModel): summaries: List[DealSummary] class DealAddServicesResponse(CustomModel): ok: bool message: str # endregion Responses