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