from typing import List, Optional from schemas.base import BaseSchema, OkMessageSchema, BaseEnumSchema # region Entities class ServicePriceRangeSchema(BaseSchema): id: int | None from_quantity: int to_quantity: int price: float class ServiceCategorySchema(BaseSchema): id: int name: str class ServiceSchema(BaseSchema): id: int name: str category: ServiceCategorySchema price: float service_type: int price_ranges: List[ServicePriceRangeSchema] cost: Optional[int] # endregion # region Requests class ServiceCreateRequest(BaseSchema): service: ServiceSchema class ServiceCreateCategoryRequest(BaseSchema): category: ServiceCategorySchema class ServiceUpdateRequest(BaseSchema): data: ServiceSchema class ServiceDeleteRequest(BaseSchema): service_id: int # endregion # region Responses class ServiceGetAllResponse(BaseSchema): services: List[ServiceSchema] class ServiceGetAllCategoriesResponse(BaseSchema): categories: List[ServiceCategorySchema] class ServiceCreateResponse(OkMessageSchema): pass class ServiceCreateCategoryResponse(OkMessageSchema): pass class ServiceUpdateResponse(OkMessageSchema): pass class ServiceDeleteResponse(OkMessageSchema): pass # endregion