feat: вфыв

This commit is contained in:
2024-07-21 10:56:59 +03:00
parent 6b09251141
commit 7c10d8777e
26 changed files with 497 additions and 43 deletions

View File

@@ -5,6 +5,7 @@ from pydantic import constr, field_validator
from schemas.base import BaseSchema, OkMessageSchema
from schemas.client import ClientSchema
from schemas.marketplace import BaseMarketplaceSchema
from schemas.product import ProductSchema
from schemas.service import ServiceSchema
from schemas.shipping_warehouse import ShippingWarehouseSchema
@@ -28,17 +29,20 @@ class DealSummary(BaseSchema):
status: int
total_price: int
rank: int
base_marketplace: Optional[BaseMarketplaceSchema] = None
class DealServiceSchema(BaseSchema):
service: ServiceSchema
quantity: int
price: int
employees: List[UserSchema]
class DealProductServiceSchema(BaseSchema):
service: ServiceSchema
price: int
employees: List[UserSchema]
class DealProductSchema(BaseSchema):
@@ -98,6 +102,7 @@ class DealQuickCreateRequest(BaseSchema):
comment: str
acceptance_date: datetime.datetime
shipping_warehouse: constr(strip_whitespace=True)
base_marketplace: BaseMarketplaceSchema
class DealSummaryRequest(BaseSchema):

22
schemas/marketplace.py Normal file
View File

@@ -0,0 +1,22 @@
from typing import List
from schemas.base import BaseSchema
# region Entities
class BaseMarketplaceSchema(BaseSchema):
key: str
name: str
icon_url: str
# endregion
# region Requests
# endregion
# region Responses
class GetAllBaseMarketplacesResponse(BaseSchema):
base_marketplaces: List[BaseMarketplaceSchema]
# endregion

View File

@@ -12,9 +12,17 @@ class CreatePositionRequest(BaseSchema):
data: PositionSchema
class DeletePositionRequest(BaseSchema):
position_key: str
class GetAllPositionsResponse(BaseSchema):
positions: List[PositionSchema]
class CreatePositionResponse(OkMessageSchema):
pass
class DeletePositionResponse(OkMessageSchema):
pass

View File

@@ -19,10 +19,10 @@ class BaseUser(BaseSchema):
is_admin: bool
is_blocked: bool
is_deleted: bool
role_key: str
class UserSchema(BaseUser):
role_key: str
role: RoleSchema
position: Optional[PositionSchema] = None