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