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


from app.util.component.ApiTemplate import ApiTemplate
from app.util.component.ModelVisitor import ModelVisitor
from app.models import Service

class Api(ApiTemplate):
    api_name = "服务Info"
    def process(self):
        res = {}
        try:
            guid = self.para.get("guid")
            service = Service.query.filter_by(guid=guid).one_or_none()

            if service.type in ["ImageWMS","ImageWMTS"]:
                from app.modules.service.image.models import ImageService
                speci_service = ImageService.query.filter_by(guid=guid).one_or_none()
            elif service.type.__eq__("WMTS") or service.type.__eq__("MTS"):
                from app.modules.service.wmts.models import WMTS
                speci_service = WMTS.query.filter_by(guid=guid).one_or_none()
            elif service.type.__eq__("WMS/WFS"):
                from app.modules.service.wms.models import WMS
                speci_service = WMS.query.filter_by(guid=guid).one_or_none()
            else:
                speci_service = {}
            res["data"] = ModelVisitor.object_to_json(speci_service)
        except Exception as e:
            raise e
        return res


    api_doc = {
        "tags": ["服务接口"],
        "parameters": [
            {"name": "guid",
             "in": "formData",
             "type": "string",
             "description": "guid"},
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }