from typing import Optional from modules.fulfillment_base.schemas.service_category import ServiceCategorySchema from schemas.base import BaseSchema, BaseResponse # region Entity class ServicePriceRangeSchema(BaseSchema): id: int | None from_quantity: int to_quantity: int price: float class CreateServiceSchema(BaseSchema): name: str category: ServiceCategorySchema price: float service_type: int price_ranges: list[ServicePriceRangeSchema] cost: Optional[float] lexorank: str class ServiceSchema(CreateServiceSchema): id: int class UpdateServiceSchema(ServiceSchema): pass # endregion # region Request class CreateServiceRequest(BaseSchema): entity: CreateServiceSchema class UpdateServiceRequest(BaseSchema): entity: UpdateServiceSchema # endregion # region Response class GetServicesResponse(BaseSchema): items: list[ServiceSchema] class CreateServiceResponse(BaseResponse): entity: ServiceSchema class UpdateServiceResponse(BaseResponse): pass class DeleteServiceResponse(BaseResponse): pass # endregion