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

from app.util.component.ApiTemplate import ApiTemplate
import requests
from app.modules.service.models import ServiceEngine,db
import datetime
import uuid

class Api(ApiTemplate):
    api_name = "注册服务引擎"
    def process(self):
        res = {}
        try:
            url = self.para.get("url")
            response:requests.Response = requests.get(url)
            if response.status_code != 200:
                raise Exception("服务引擎连接失败!")
            service_engine = ServiceEngine(guid=uuid.uuid1().__str__(),
                                           name=response.json().get("Name"),
                                           url=url,
                                           type=response.json().get("Type"),
                                           create_time=datetime.datetime.now()
                                           )
            db.session.add(service_engine)
            db.session.commit()

            res["result"] = True
        except Exception as e:
            raise Exception("引擎已注册!")
        return res


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