service_edit.py 6.0 KB
# coding=utf-8
#author:        4N
#createtime:    2021/9/14
#email:         nheweijun@sina.com




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

class Api(ApiTemplate):
    api_name = "修改服务"
    def process(self):
        res = {}
        try:
            service = Service.query.filter_by(guid=self.para.get("guid")).one_or_none()
            if not service:
                raise Exception("服务不存在!")

            if service.type in ["ImageWMTS","ImageWMS"]:
                from app.modules.service.image.image_service_edit import Api as RealApi
            elif service.type in ["WMS/WFS"]:
                from app.modules.service.wms.wms_edit import Api as RealApi
            elif service.type in ["WMTS","TMS"]:
                from app.modules.service.wmts.wmts_edit import Api as RealApi
            else:
                return res
            api = RealApi()
            api.para = self.para
            res = api.process()

        except Exception as e:
            raise e
        return res


    api_doc = {
        "tags": ["服务接口"],
        "parameters": [

            {"name": "guid",
             "in": "formData",
             "type": "string",
             "description": "[WMS,WMTS,影像WMS,影像WMTS,guid]"},

            # {"name": "type",
            #  "in": "formData",
            #  "type": "string",
            #  "enum": ["WMS/WFS", "WMTS", "TMS", "ImageWMS", "ImageWMTS"],
            #  "required": "true",
            #  "description": "[WMS,WMTS,影像WMS,影像WMTS]"},

            {"name": "name",
             "in": "formData",
             "type": "string",
             "description": "[WMS,WMTS,影像WMS,影像WMTS]"},
            {"name": "title",
             "in": "formData",
             "type": "string",
             "description": "[WMS,WMTS,影像WMS,影像WMTS]"},
            {"name": "description",
             "in": "formData",
             "type": "string",
             "description": "[WMS,WMTS,影像WMS,影像WMTS]"},

            {"name": "catalog_guid",
             "in": "formData",
             "type": "string",
             "description": "[WMS,WMTS,影像WMS,影像WMTS]"},

            # 影像参数
            {"name": "image_guids",
             "in": "formData",
             "type": "string",
             "description": "[影像WMS,影像WMTS]影像guids,以英文逗号相隔"},
            {"name": "scheme_guid",
             "in": "formData",
             "type": "string",
             "description": "[WMTS,影像WMTS]切片方案"},

            # WMTS参数
            {"name": "overview",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]缩略图"},
            {"name": "wmts_type",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]wmts_type"},
            {"name": "vendor",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]厂商"},
            {"name": "crs",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]坐标系"},
            {"name": "datasource",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]数据路径"},
            {"name": "layer_name",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]图层名"},
            {"name": "layer_alias",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]图层别名"},
            {"name": "layer_title",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]图层标题"},
            {"name": "layer_style",
             "in": "formData",
             "type": "string",
             "description": "[WMTS,WMS]图层样式"},
            {"name": "layer_format",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]图层format"},
            {"name": "layer_extent",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]图层范围"},
            {"name": "layer_description",
             "in": "formData",
             "type": "string",
             "description": "[WMTS]图层描述"},

            # WMS参数
            {"name": "status",
             "in": "formData",
             "type": "string",
             "description": "[WMS]status"},
            {"name": "username",
             "in": "formData",
             "type": "string",
             "description": "[WMS]username"},
            {"name": "readonly",
             "in": "formData",
             "type": "string",
             "description": "[WMS]readonly"},
            {"name": "sid",
             "in": "formData",
             "type": "string",
             "description": "[WMS]sid"},
            {"name": "stype",
             "in": "formData",
             "type": "string",
             "description": "[WMS]stype"},
            {"name": "ssupply",
             "in": "formData",
             "type": "string",
             "description": "[WMS]ssupply"},
            {"name": "sctime",
             "in": "formData",
             "type": "string",
             "description": "[WMS]sctime"},
            {"name": "company",
             "in": "formData",
             "type": "string",
             "description": "[WMS]company"},
            {"name": "abstract",
             "in": "formData",
             "type": "string",
             "description": "[WMS]abstract"},
            {"name": "thumbnail",
             "in": "formData",
             "type": "string",
             "description": "[WMS]thumbnail"},
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }