예제 #1
0
class BusinessModel(BaseModel):
    __tablename__='business'
    id = db.Column(Integer, primary_key=True, autoincrement=True)
    name=db.Column(String(32),default='test')
    host=db.Column(String(32),default='127.0.0.1')
    user = relationship("UserModel", backref="business",secondary='permission')


    def to_json(self):
        dict = copy.deepcopy(self.__dict__)

        if "user" in dict:
            del dict['user']
        if "_sa_instance_state" in dict:
            del dict["_sa_instance_state"]
        return dict

    def to_id_name_json(self):
        dict = copy.deepcopy(self.__dict__)

        if "user" in dict:
            del dict['user']
        if "_sa_instance_state" in dict:
            del dict["_sa_instance_state"]
        del dict["host"]
        dict["business_id"]=self.id
        del dict['id']
        return dict
예제 #2
0
파일: log.py 프로젝트: ccg6458/ops
class LogModel(BaseModel):
    __tablename__ = 'log'
    id = db.Column(Integer, primary_key=True, autoincrement=True)
    username = db.Column(String(32))
    behavior = db.Column(String(512))
    create_time = db.Column(String(64), default=now)

    def to_json(self):
        dict = copy.deepcopy(self.__dict__)
        if "_sa_instance_state" in dict:
            del dict["_sa_instance_state"]
        return dict
예제 #3
0
파일: sidebar.py 프로젝트: ccg6458/ops
class SideBarModel(BaseModel):
    __tablename__ = 'sidebar'
    id = db.Column(Integer, primary_key=True, autoincrement=True)
    index = db.Column(Integer)
    icon = db.Column(String(32))
    tab = db.Column(String(32))
    routelink = db.Column(String(32))
    is_super = db.Column(Integer)
예제 #4
0
파일: user.py 프로젝트: ccg6458/ops
class UserModel(BaseModel, UserMixin):
    __tablename__ = 'user'
    id = db.Column(Integer, primary_key=True, autoincrement=True)
    name = db.Column(String(32))
    email = db.Column(String(32))
    status = db.Column(Integer, default=1)
    _password = db.Column(String(50))
    super = db.Column(Integer, default=0)

    @property
    def is_active(self):
        if self.status == 1:
            return True
        return False

    def is_super(self):
        if self.super == 1:
            return True
        return False

    def get_id(self):
        try:
            return unicode(self.id)  # python 2
        except NameError:
            return str(self.id)  # python 3

    @property
    def password(self):
        return self._password

    @password.setter
    def password(self, passwd):
        self._password = generate_password_hash(passwd)

    def to_json(self):
        dict = copy.deepcopy(self.__dict__)
        if "perm" in dict:
            action_list = []
            for obj in dict['perm']:
                action_list.append(obj.id)
            dict['perm'] = action_list
        del dict['_password']
        if "business" in dict:
            del dict['business']
        if "_sa_instance_state" in dict:
            del dict["_sa_instance_state"]
        return dict

    def get_name_from_email(self):
        name = self.email.split('@')[0]
        return name
예제 #5
0
class TaskModel(BaseModel):
    __tablename__ = 'task'
    id = db.Column(Integer, primary_key=True, autoincrement=True)
    business_id = db.Column(Integer, ForeignKey(BusinessModel.id))
    schedule = db.Column(String(64))
    shell = db.Column(TEXT)
    comment = db.Column(String(128))
    business = relationship("BusinessModel", backref="task")
    create_time = db.Column(String(64), default=now)

    def to_json(self):
        dict = copy.deepcopy(self.__dict__)
        if "_sa_instance_state" in dict:
            del dict["_sa_instance_state"]
        dict['business'] = self.business.name
        dict['ip'] = self.business.host
        return dict
예제 #6
0
class PermissionModel(BaseModel):
    __tablename__ = 'permission'
    id = db.Column(Integer, primary_key=True, autoincrement=True)
    business_id = db.Column(Integer, ForeignKey(BusinessModel.id))
    user_id = db.Column(Integer, ForeignKey(UserModel.id))
예제 #7
0
class WorkOrderModel(BaseModel):
    type_msg = {
        1: 'sql执行',
        2: '域名相关',
        3: '其他'
    }

    __tablename__ = 'workorder'
    id = db.Column(Integer, primary_key=True, autoincrement=True)
    type = db.Column(Integer)
    name = db.Column(String(128))
    sql = db.Column(TEXT)
    database = db.Column(String(32))
    audit = db.Column(Integer, default=0)
    finish = db.Column(Integer, default=0)
    result = db.Column(String(256))
    user_id = db.Column(Integer, ForeignKey(UserModel.id))
    userinfo = relationship("UserModel", backref="work")
    create_time = db.Column(String(64), default=now)
    comment = db.Column(String(64))

    def to_json(self):
        dict = copy.deepcopy(self.__dict__)
        if "_sa_instance_state" in dict:
            del dict["_sa_instance_state"]
        dict['username'] = self.userinfo.name if self.userinfo.name else self.userinfo.email.split('@')[0]
        del dict['user_id']
        return dict