creditrating/BM03_模型仓库/Schema/CategorySchema.py

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