75 lines
1.2 KiB
Python
75 lines
1.2 KiB
Python
from modules.fulfillment_base.schemas.product import ProductSchema
|
|
from modules.fulfillment_base.schemas.product_service import ProductServiceSchema
|
|
from schemas.base import BaseSchema, BaseResponse
|
|
|
|
|
|
# region Entity
|
|
|
|
|
|
class DealProductSchema(BaseSchema):
|
|
deal_id: int
|
|
product_id: int
|
|
product: ProductSchema
|
|
quantity: int
|
|
comment: str
|
|
product_services: list[ProductServiceSchema]
|
|
|
|
|
|
class CreateDealProductSchema(BaseSchema):
|
|
deal_id: int
|
|
product_id: int
|
|
quantity: int
|
|
comment: str
|
|
|
|
|
|
class UpdateDealProductSchema(BaseSchema):
|
|
quantity: int
|
|
comment: str
|
|
|
|
|
|
# endregion
|
|
|
|
# region Request
|
|
|
|
|
|
class CreateDealProductRequest(BaseSchema):
|
|
entity: CreateDealProductSchema
|
|
|
|
|
|
class UpdateDealProductRequest(BaseSchema):
|
|
entity: UpdateDealProductSchema
|
|
|
|
|
|
class DealProductAddKitRequest(BaseSchema):
|
|
deal_id: int
|
|
product_id: int
|
|
kit_id: int
|
|
|
|
|
|
# endregion
|
|
|
|
# region Response
|
|
|
|
|
|
class GetDealProductsResponse(BaseSchema):
|
|
items: list[DealProductSchema]
|
|
|
|
|
|
class CreateDealProductResponse(BaseResponse):
|
|
entity: DealProductSchema
|
|
|
|
|
|
class UpdateDealProductResponse(BaseResponse):
|
|
pass
|
|
|
|
|
|
class DeleteDealProductResponse(BaseResponse):
|
|
pass
|
|
|
|
|
|
class DealProductAddKitResponse(BaseResponse):
|
|
pass
|
|
|
|
|
|
# endregion
|