feat: warehouse places accounting
This commit is contained in:
97
schemas/warehouse_management.py
Normal file
97
schemas/warehouse_management.py
Normal file
@@ -0,0 +1,97 @@
|
||||
from typing import Optional
|
||||
|
||||
from schemas.base import BaseSchema, OkMessageSchema
|
||||
|
||||
|
||||
# region Entities
|
||||
|
||||
class BasePlaceTypeSchema(BaseSchema):
|
||||
name: str
|
||||
parent_id: Optional[int]
|
||||
|
||||
|
||||
class BasePlaceTypeWithCountSchema(BasePlaceTypeSchema):
|
||||
child_count: int
|
||||
|
||||
|
||||
class FlatPlaceTypeSchema(BasePlaceTypeSchema):
|
||||
id: int
|
||||
|
||||
|
||||
class PlaceTypeSchema(FlatPlaceTypeSchema):
|
||||
children: list['PlaceTypeSchema'] = []
|
||||
places_count: int
|
||||
|
||||
|
||||
class BasePlaceSchema(BaseSchema):
|
||||
parent_id: Optional[int]
|
||||
place_type_id: int
|
||||
|
||||
|
||||
class PlaceSchema(BasePlaceSchema):
|
||||
id: int
|
||||
number: int
|
||||
children: list['PlaceSchema'] = []
|
||||
place_type: BasePlaceTypeWithCountSchema
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Requests
|
||||
|
||||
class EditPlaceTypeRequest(BaseSchema):
|
||||
place_type: FlatPlaceTypeSchema
|
||||
|
||||
|
||||
class CreatePlaceTypeRequest(BaseSchema):
|
||||
place_type: BasePlaceTypeSchema
|
||||
|
||||
|
||||
class EditPlaceRequest(BaseSchema):
|
||||
place: PlaceSchema
|
||||
|
||||
|
||||
class CreatePlaceRequest(BaseSchema):
|
||||
place: BasePlaceSchema
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Responses
|
||||
|
||||
class GetPlaceTypesResponse(BaseSchema):
|
||||
place_types: list[PlaceTypeSchema]
|
||||
|
||||
|
||||
class GetFlatPlaceTypesResponse(BaseSchema):
|
||||
place_types: list[FlatPlaceTypeSchema]
|
||||
|
||||
|
||||
class CreatePlaceTypeResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class EditPlaceTypeResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class DeletePlaceTypeResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class GetPlacesResponse(BaseSchema):
|
||||
places: list[PlaceSchema]
|
||||
|
||||
|
||||
class CreatePlaceResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class EditPlaceResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class DeletePlaceResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
# endregion
|
||||
Reference in New Issue
Block a user