catalog_tree.py 1.7 KB
# coding=utf-8
#author:        4N
#createtime:    2021/3/9
#email:         nheweijun@sina.com


from app.models import *

from app.util.component.ApiTemplate import ApiTemplate
class Api(ApiTemplate):
    api_name = "目录"
    def process(self):

        # 返回结果
        res = {}
        try:
            # 业务逻辑
            database_guid = self.para.get("database_guid")
            catalogs = Catalog.query.filter_by(database_guid=database_guid).all()
            res["data"]=[]
            for cata in catalogs:
                catalog_guids = [c.guid for c in Catalog.query.filter(Catalog.path.like("%" + cata.guid + "%")).all()]
                table_count = Table.query.filter(Table.catalog_guid.in_(catalog_guids)).count()
    
                # cata_json = object_to_json(cata)
                cata_json ={}
                cata_json["database_guid"]=cata.database_guid
                cata_json["description"] = cata.description
                cata_json["guid"] = cata.guid
                cata_json["name"] = cata.name
                cata_json["path"] = cata.path
                cata_json["pguid"] = cata.pguid
                cata_json["sort"] = cata.sort
                cata_json["table_count"]=table_count
                res["data"].append(cata_json)
    
            res["result"] = True
    
        except Exception as e:
            raise e
        return res
    
    api_doc={
    
    "tags":["目录接口"],
    "parameters":[
        {"name": "database_guid",
         "in": "formData",
         "type": "string",
         "description": "数据库guid", "required": "true"},
    
    ],
    "responses":{
        200:{
            "schema":{
                "properties":{
                }
            }
            }
        }
    }