Files
Fulfillment-Backend/schemas/service.py
2024-07-20 09:32:22 +03:00

76 lines
1.3 KiB
Python

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