59 lines
1.3 KiB
Python
59 lines
1.3 KiB
Python
from typing import List
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from Utils.Schemas.CommonSchema import EditBaseModel
|
|
|
|
|
|
class CreateMajorCategoryReqBody(BaseModel):
|
|
name: str = None
|
|
|
|
|
|
class DeleteMajorCategoryReqBody(BaseModel):
|
|
id: str = None
|
|
|
|
|
|
class EditMajorCategoryReqBody(EditBaseModel):
|
|
name: str = None
|
|
|
|
|
|
class CreateSubCategoryReqBody(BaseModel):
|
|
name: str = None
|
|
major_category_id: str = None
|
|
|
|
|
|
class DeleteSubCategoryReqBody(BaseModel):
|
|
id: str = None
|
|
|
|
|
|
class EditSubCategoryReqBody(EditBaseModel):
|
|
name: str = None
|
|
|
|
|
|
class ListSubCategoryResBody(BaseModel):
|
|
label: str = None
|
|
id: str = None
|
|
|
|
|
|
class ListMajorCategoryResBody(BaseModel):
|
|
label: str = None
|
|
id: str = None
|
|
children: List[ListSubCategoryResBody]
|
|
|
|
@staticmethod
|
|
def format(items):
|
|
_list = list()
|
|
for item in items:
|
|
_dict = dict()
|
|
_dict.update({"id": item.get("id")})
|
|
_dict.update({"label": item.get("name")})
|
|
_dict.update({"children": []})
|
|
children = _dict.get("children")
|
|
for sub_item in item.get("subcategories"):
|
|
_sub_dict = dict()
|
|
_sub_dict.update({"id": sub_item.get("id")})
|
|
_sub_dict.update({"label": sub_item.get("name")})
|
|
children.append(_sub_dict)
|
|
_list.append(_dict)
|
|
return _list
|