field_edit.py 2.0 KB
#author:        4N
#createtime:    2021/1/27
#email:         nheweijun@sina.com

from ..models import Columns
import datetime
from app.models import db
from app.util.component.ApiTemplate import ApiTemplate
from app.util.component.UserCheck import UserCheck

class Api(ApiTemplate):
    api_name = "修改属性"
    def process(self):

        #返回结果
        res={}

        column_guid = self.para.get("column_guid")
        update_dict = {}

        column:Columns =  Columns.query.filter_by(guid = column_guid).one_or_none()
        if not column:
            raise Exception("数据不存在!")

        #验证权限
        UserCheck.verify(column.relate_table.relate_database.creator)

        try:
            if self.para.get("column_alias"):
                update_dict["alias"] = self.para.get("column_alias")
            if self.para.get("is_for_partition") is not None:
                update_dict["is_for_partition"] = int(self.para.get("is_for_partition"))
            if update_dict:
                update_dict["update_time"] = datetime.datetime.now()
                Columns.query.filter_by(guid = column_guid).update(update_dict)

            db.session.commit()

            res["result"] = True
            res["msg"] = "属性别名修改成功!"

        except Exception as e:
            raise e

        return res




    api_doc={
    "tags":["管理接口"],
    "parameters":[
        {"name": "column_guid",
         "in": "formData",
         "type": "string",
         "description": "属性guid","required":"true"},
        {"name": "column_alias",
         "in": "formData",
         "type": "string",
         "description": "属性别名"},
        {"name": "is_for_partition",
         "in": "formData",
         "type": "int",
         "description": "是否用于分层分级", "enum": [0, 1]},

    ],
    "responses":{
        200:{
            "schema":{
                "properties":{
                }
            }
            }
        }
    }