mirror of https://github.com/midoks/mdserver-web
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
10 KiB
195 lines
10 KiB
7 months ago
|
# coding:utf-8
|
||
|
|
||
|
# ---------------------------------------------------------------------------------
|
||
|
# MW-Linux面板
|
||
|
# ---------------------------------------------------------------------------------
|
||
|
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||
|
# ---------------------------------------------------------------------------------
|
||
|
# Author: midoks <midoks@163.com>
|
||
|
# ---------------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
from flask_sqlalchemy import SQLAlchemy
|
||
|
# from flask_security import UserMixin, RoleMixin
|
||
|
import setting
|
||
|
|
||
|
SCHEMA_VERSION = 1
|
||
|
|
||
|
|
||
|
db = SQLAlchemy(
|
||
|
engine_options={
|
||
|
'pool_size': setting.CONFIG_DATABASE_CONNECTION_POOL_SIZE,
|
||
|
'max_overflow': setting.CONFIG_DATABASE_CONNECTION_MAX_OVERFLOW
|
||
|
}
|
||
|
)
|
||
|
|
||
|
|
||
|
class Version(db.Model):
|
||
|
"""用于参考/升级的版本号"""
|
||
|
__tablename__ = 'version'
|
||
|
name = db.Column(db.String(32), primary_key=True)
|
||
|
value = db.Column(db.Integer(), nullable=False)
|
||
|
|
||
|
class Role(db.Model):
|
||
|
"""定义安全角色"""
|
||
|
__tablename__ = 'role'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
name = db.Column(db.String(128), unique=True, nullable=False)
|
||
|
description = db.Column(db.String(256), nullable=False)
|
||
|
|
||
|
class Option(db.Model):
|
||
|
"""定义类型"""
|
||
|
__tablename__ = 'option'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
name = db.Column(db.String(128), unique=True, nullable=False, comment="配置名称")
|
||
|
type = db.Column(db.String(50), unique=False, nullable=False, default='common',comment="计划类型:common/hook/web")
|
||
|
value = db.Column(db.TEXT, unique=False, nullable=False, comment="内容")
|
||
|
|
||
|
class Users(db.Model):
|
||
|
"""定义登录用户"""
|
||
|
__tablename__ = 'users'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
name = db.Column(db.String(128), unique=True, nullable=False, comment="用户名")
|
||
|
password = db.Column(db.String(128), unique=False, nullable=False, comment="密码")
|
||
|
login_ip = db.Column(db.String(128), unique=False, nullable=True, comment="登录IP")
|
||
|
login_time = db.Column(db.String(128), unique=False, nullable=True, comment="登录时间")
|
||
|
phone = db.Column(db.String(20), unique=False, nullable=False,comment="手机")
|
||
|
email = db.Column(db.String(320), nullable=False, comment="邮件")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
update_time = db.Column(db.TEXT, nullable=False, comment="更新时间")
|
||
|
|
||
|
class Crontab(db.Model):
|
||
|
"""定义计划任务"""
|
||
|
__tablename__ = 'crontab'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
name = db.Column(db.TEXT, unique=True, nullable=False, comment="任务名称")
|
||
|
type = db.Column(db.String(128), unique=False, nullable=False, comment="计划类型")
|
||
|
where1 = db.Column(db.TEXT, unique=False, nullable=True, comment="执行条件")
|
||
|
where_hour = db.Column(db.TEXT, unique=False, nullable=True, comment="执行条件/小时")
|
||
|
where_minute = db.Column(db.TEXT, unique=False, nullable=True, comment="执行条件/分钟")
|
||
|
echo = db.Column(db.TEXT, unique=False, nullable=True, comment="脚本保存名称")
|
||
|
sname = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="名称")
|
||
|
sbody = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="脚本")
|
||
|
stype = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="脚本类型")
|
||
|
url_address = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="URL访问地址")
|
||
|
backup_to = db.Column(db.TEXT, unique=False, nullable=True, comment="备份地址")
|
||
|
save = db.Column(db.Integer, unique=False, nullable=True, default=3,comment="备份数量")
|
||
|
status = db.Column(db.Integer, unique=False, nullable=True, default=1, comment="状态")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
update_time = db.Column(db.TEXT, nullable=False, comment="更新时间")
|
||
|
|
||
|
class Logs(db.Model):
|
||
|
"""定义日志"""
|
||
|
__tablename__ = 'logs'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
uid = db.Column(db.Integer(), unique=True, nullable=False, comment="用户ID")
|
||
|
type = db.Column(db.String(128), unique=False, nullable=False, comment="日志类型")
|
||
|
log = db.Column(db.TEXT, unique=False, nullable=True, comment="日志内容")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
|
||
|
class Firewall(db.Model):
|
||
|
"""定义防火墙"""
|
||
|
__tablename__ = 'firewall'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
port = db.Column(db.Integer(), unique=False, nullable=False, comment="端口")
|
||
|
protocol = db.Column(db.Integer(), unique=False, nullable=False, comment="协议/tcp/udp")
|
||
|
ps = db.Column(db.TEXT, unique=False, nullable=False, comment="备注")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
update_time = db.Column(db.TEXT, nullable=False, comment="更新时间")
|
||
|
|
||
|
|
||
|
class Backup(db.Model):
|
||
|
"""定义备份"""
|
||
|
__tablename__ = 'backup'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
pid = db.Column(db.Integer(), unique=False, nullable=False, comment="父级ID")
|
||
|
type = db.Column(db.String(128), unique=False, nullable=False, comment="备份类型")
|
||
|
name = db.Column(db.TEXT, unique=False, nullable=False, comment="名称")
|
||
|
filename = db.Column(db.TEXT, unique=False, nullable=False, comment="文件绝对位置")
|
||
|
size = db.Column(db.Integer(), unique=False, nullable=False, comment="大小")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
|
||
|
class Sites(db.Model):
|
||
|
"""定义计划任务"""
|
||
|
__tablename__ = 'sites'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
name = db.Column(db.TEXT, unique=False, nullable=False, comment="网站名称")
|
||
|
path = db.Column(db.TEXT, unique=False, nullable=False, comment="网站路径")
|
||
|
index = db.Column(db.TEXT, unique=False, nullable=False, comment="")
|
||
|
ps = db.Column(db.TEXT, unique=False, nullable=False, comment="备注")
|
||
|
edate = db.Column(db.TEXT, unique=False, nullable=False, comment="到期时间")
|
||
|
type_id = db.Column(db.TEXT, unique=False, nullable=False, comment="分类ID")
|
||
|
status = db.Column(db.Integer(), unique=False, nullable=True, default=1, comment="状态")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
update_time = db.Column(db.TEXT, nullable=False, comment="更新时间")
|
||
|
|
||
|
class SiteType(db.Model):
|
||
|
"""定义站点类型"""
|
||
|
__tablename__ = 'site_type'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
name = db.Column(db.TEXT, unique=False, nullable=False, comment="类型名称")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
update_time = db.Column(db.TEXT, nullable=False, comment="更新时间")
|
||
|
|
||
|
class Domain(db.Model):
|
||
|
"""定义站点域名"""
|
||
|
__tablename__ = 'domain'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
pid = db.Column(db.Integer(), unique=False, nullable=False, comment="站点ID")
|
||
|
name = db.Column(db.TEXT, unique=False, nullable=False, comment="域名")
|
||
|
port = db.Column(db.Integer(), unique=False, nullable=False, comment="端口")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
|
||
|
class Binding(db.Model):
|
||
|
"""定义站点绑定"""
|
||
|
__tablename__ = 'binding'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
pid = db.Column(db.Integer(), unique=False, nullable=False, comment="站点ID")
|
||
|
domain = db.Column(db.TEXT, unique=False, nullable=False, comment="域名")
|
||
|
path = db.Column(db.TEXT, unique=False, nullable=False, comment="路径")
|
||
|
port = db.Column(db.Integer(), unique=False, nullable=False, comment="端口")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
|
||
|
|
||
|
class Tasks(db.Model):
|
||
|
"""定义任务"""
|
||
|
__tablename__ = 'tasks'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
name = db.Column(db.TEXT, unique=False, nullable=False, comment="任务名称")
|
||
|
type = db.Column(db.TEXT, unique=False, nullable=False, comment="域名")
|
||
|
execstr = db.Column(db.TEXT, unique=False, nullable=False, comment="执行命令")
|
||
|
start = db.Column(db.Integer(), unique=False, nullable=True, comment="开始执行时间")
|
||
|
end = db.Column(db.Integer(), unique=False, nullable=True, comment="结束执行时间")
|
||
|
status = db.Column(db.Integer(), unique=False, nullable=True, default=1, comment="状态")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
|
||
|
|
||
|
class TempLogin(db.Model):
|
||
|
"""定义临时登录"""
|
||
|
__tablename__ = 'temp_login'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
token = db.Column(db.TEXT, unique=False, nullable=False, comment="token")
|
||
|
salt = db.Column(db.TEXT, unique=False, nullable=False, comment="salt")
|
||
|
state = db.Column(db.Integer(), unique=False, nullable=False, comment="状态")
|
||
|
login_time = db.Column(db.Integer(), unique=False, nullable=True, comment="登录时间")
|
||
|
login_addr = db.Column(db.Integer(), unique=False, nullable=True, comment="登录地址")
|
||
|
logout_time = db.Column(db.Integer(), unique=False, nullable=True, comment="登出时间")
|
||
|
expire = db.Column(db.Integer(), unique=False, nullable=True, comment="过期时间")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
|
||
|
class Panel(db.Model):
|
||
|
"""定义其他面板"""
|
||
|
__tablename__ = 'panel'
|
||
|
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||
|
title = db.Column(db.TEXT, unique=False, nullable=False, comment="标题")
|
||
|
url = db.Column(db.TEXT, unique=False, nullable=False, comment="地址")
|
||
|
username = db.Column(db.Integer(), unique=False, nullable=False, comment="用户名")
|
||
|
password = db.Column(db.Integer(), unique=False, nullable=True, comment="密码")
|
||
|
click = db.Column(db.Integer(), unique=False, nullable=True, comment="点击次数")
|
||
|
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|