feat: вфыв
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import datetime
|
||||
from typing import List, Optional
|
||||
from typing import List, Optional, Union
|
||||
|
||||
from pydantic import constr
|
||||
from pydantic import constr, field_validator
|
||||
|
||||
from schemas.base import CustomModelCamel, OkMessageSchema
|
||||
from schemas.base import BaseSchema, OkMessageSchema
|
||||
from schemas.client import ClientSchema
|
||||
from schemas.product import ProductSchema
|
||||
from schemas.service import ServiceSchema
|
||||
@@ -12,14 +12,14 @@ from schemas.user import UserSchema
|
||||
|
||||
|
||||
# region Entities
|
||||
class FastDeal(CustomModelCamel):
|
||||
class FastDeal(BaseSchema):
|
||||
name: str
|
||||
client: ClientSchema
|
||||
comment: str
|
||||
acceptance_date: datetime.datetime
|
||||
|
||||
|
||||
class DealSummary(CustomModelCamel):
|
||||
class DealSummary(BaseSchema):
|
||||
id: int
|
||||
name: str
|
||||
client_name: str
|
||||
@@ -30,24 +30,24 @@ class DealSummary(CustomModelCamel):
|
||||
rank: int
|
||||
|
||||
|
||||
class DealServiceSchema(CustomModelCamel):
|
||||
class DealServiceSchema(BaseSchema):
|
||||
service: ServiceSchema
|
||||
quantity: int
|
||||
price: int
|
||||
|
||||
|
||||
class DealProductServiceSchema(CustomModelCamel):
|
||||
class DealProductServiceSchema(BaseSchema):
|
||||
service: ServiceSchema
|
||||
price: int
|
||||
|
||||
|
||||
class DealProductSchema(CustomModelCamel):
|
||||
class DealProductSchema(BaseSchema):
|
||||
product: ProductSchema
|
||||
services: List[DealProductServiceSchema]
|
||||
quantity: int
|
||||
|
||||
|
||||
class DealStatusHistorySchema(CustomModelCamel):
|
||||
class DealStatusHistorySchema(BaseSchema):
|
||||
user: UserSchema
|
||||
changed_at: datetime.datetime
|
||||
from_status: int
|
||||
@@ -56,7 +56,7 @@ class DealStatusHistorySchema(CustomModelCamel):
|
||||
comment: str | None = None
|
||||
|
||||
|
||||
class DealSchema(CustomModelCamel):
|
||||
class DealSchema(BaseSchema):
|
||||
id: int
|
||||
name: str
|
||||
client_id: int
|
||||
@@ -69,29 +69,30 @@ class DealSchema(CustomModelCamel):
|
||||
is_completed: bool
|
||||
client: ClientSchema
|
||||
comment: str
|
||||
shipping_warehouse: Optional[ShippingWarehouseSchema] = None
|
||||
shipping_warehouse: Optional[Union[ShippingWarehouseSchema, str]] = None
|
||||
|
||||
|
||||
class DealGeneralInfoSchema(CustomModelCamel):
|
||||
class DealGeneralInfoSchema(BaseSchema):
|
||||
name: str
|
||||
is_deleted: bool
|
||||
is_completed: bool
|
||||
comment: str
|
||||
shipping_warehouse: Optional[str] = None
|
||||
|
||||
|
||||
# endregion Entities
|
||||
|
||||
# region Requests
|
||||
class DealChangeStatusRequest(CustomModelCamel):
|
||||
class DealChangeStatusRequest(BaseSchema):
|
||||
deal_id: int
|
||||
new_status: int
|
||||
|
||||
|
||||
class DealCreateRequest(CustomModelCamel):
|
||||
class DealCreateRequest(BaseSchema):
|
||||
name: str
|
||||
|
||||
|
||||
class DealQuickCreateRequest(CustomModelCamel):
|
||||
class DealQuickCreateRequest(BaseSchema):
|
||||
name: constr(strip_whitespace=True)
|
||||
client_name: constr(strip_whitespace=True)
|
||||
comment: str
|
||||
@@ -99,70 +100,70 @@ class DealQuickCreateRequest(CustomModelCamel):
|
||||
shipping_warehouse: constr(strip_whitespace=True)
|
||||
|
||||
|
||||
class DealSummaryRequest(CustomModelCamel):
|
||||
class DealSummaryRequest(BaseSchema):
|
||||
pass
|
||||
|
||||
|
||||
class DealAddServicesRequest(CustomModelCamel):
|
||||
class DealAddServicesRequest(BaseSchema):
|
||||
deal_id: int
|
||||
services: list[DealServiceSchema]
|
||||
|
||||
|
||||
class DealUpdateServiceQuantityRequest(CustomModelCamel):
|
||||
class DealUpdateServiceQuantityRequest(BaseSchema):
|
||||
deal_id: int
|
||||
service_id: int
|
||||
quantity: int
|
||||
|
||||
|
||||
class DealUpdateServiceRequest(CustomModelCamel):
|
||||
class DealUpdateServiceRequest(BaseSchema):
|
||||
deal_id: int
|
||||
service: DealServiceSchema
|
||||
|
||||
|
||||
class DealAddServiceRequest(CustomModelCamel):
|
||||
class DealAddServiceRequest(BaseSchema):
|
||||
deal_id: int
|
||||
service_id: int
|
||||
quantity: int
|
||||
price: int
|
||||
|
||||
|
||||
class DealDeleteServiceRequest(CustomModelCamel):
|
||||
class DealDeleteServiceRequest(BaseSchema):
|
||||
deal_id: int
|
||||
service_id: int
|
||||
|
||||
|
||||
class DealDeleteServicesRequest(CustomModelCamel):
|
||||
class DealDeleteServicesRequest(BaseSchema):
|
||||
deal_id: int
|
||||
service_ids: List[int]
|
||||
|
||||
|
||||
class DealUpdateProductQuantityRequest(CustomModelCamel):
|
||||
class DealUpdateProductQuantityRequest(BaseSchema):
|
||||
deal_id: int
|
||||
product_id: int
|
||||
quantity: int
|
||||
|
||||
|
||||
class DealAddProductRequest(CustomModelCamel):
|
||||
class DealAddProductRequest(BaseSchema):
|
||||
deal_id: int
|
||||
product: DealProductSchema
|
||||
|
||||
|
||||
class DealDeleteProductRequest(CustomModelCamel):
|
||||
class DealDeleteProductRequest(BaseSchema):
|
||||
deal_id: int
|
||||
product_id: int
|
||||
|
||||
|
||||
class DealDeleteProductsRequest(CustomModelCamel):
|
||||
class DealDeleteProductsRequest(BaseSchema):
|
||||
deal_id: int
|
||||
product_ids: List[int]
|
||||
|
||||
|
||||
class DealUpdateGeneralInfoRequest(CustomModelCamel):
|
||||
class DealUpdateGeneralInfoRequest(BaseSchema):
|
||||
deal_id: int
|
||||
data: DealGeneralInfoSchema
|
||||
|
||||
|
||||
class DealSummaryReorderRequest(CustomModelCamel):
|
||||
class DealSummaryReorderRequest(BaseSchema):
|
||||
deal_id: int
|
||||
status: int
|
||||
index: int
|
||||
@@ -170,11 +171,11 @@ class DealSummaryReorderRequest(CustomModelCamel):
|
||||
comment: str | None = None
|
||||
|
||||
|
||||
class DealDeleteRequest(CustomModelCamel):
|
||||
class DealDeleteRequest(BaseSchema):
|
||||
deal_id: int
|
||||
|
||||
|
||||
class DealUpdateProductRequest(CustomModelCamel):
|
||||
class DealUpdateProductRequest(BaseSchema):
|
||||
deal_id: int
|
||||
product: DealProductSchema
|
||||
|
||||
@@ -190,32 +191,32 @@ class DealDeleteServicesResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class DealGetAllResponse(CustomModelCamel):
|
||||
class DealGetAllResponse(BaseSchema):
|
||||
deals: List[DealSchema]
|
||||
|
||||
|
||||
class DealChangeStatusResponse(CustomModelCamel):
|
||||
class DealChangeStatusResponse(BaseSchema):
|
||||
ok: bool
|
||||
|
||||
|
||||
class DealCreateResponse(CustomModelCamel):
|
||||
class DealCreateResponse(BaseSchema):
|
||||
ok: bool
|
||||
|
||||
|
||||
class DealQuickCreateResponse(CustomModelCamel):
|
||||
class DealQuickCreateResponse(BaseSchema):
|
||||
deal_id: int
|
||||
|
||||
|
||||
class DealSummaryResponse(CustomModelCamel):
|
||||
class DealSummaryResponse(BaseSchema):
|
||||
summaries: List[DealSummary]
|
||||
|
||||
|
||||
class DealAddServicesResponse(CustomModelCamel):
|
||||
class DealAddServicesResponse(BaseSchema):
|
||||
ok: bool
|
||||
message: str
|
||||
|
||||
|
||||
class DealUpdateServiceQuantityResponse(CustomModelCamel):
|
||||
class DealUpdateServiceQuantityResponse(BaseSchema):
|
||||
ok: bool
|
||||
message: str
|
||||
|
||||
|
||||
Reference in New Issue
Block a user