134 lines
3.7 KiB
Python
134 lines
3.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import print_function, unicode_literals, absolute_import, division
|
|
"""
|
|
system_model.py
|
|
"""
|
|
|
|
from datetime import datetime
|
|
|
|
from peewee import CharField, DateTimeField, BooleanField, AutoField
|
|
|
|
from domain_admin.config import SECRET_KEY, TOKEN_EXPIRE_DAYS, PROMETHEUS_KEY
|
|
from domain_admin.enums.config_key_enum import ConfigKeyEnum
|
|
from domain_admin.model.base_model import BaseModel
|
|
from domain_admin.utils import secret_util
|
|
|
|
|
|
class SystemModel(BaseModel):
|
|
"""系统配置"""
|
|
id = AutoField(primary_key=True)
|
|
|
|
# 键
|
|
key = CharField(unique=True)
|
|
|
|
# 值
|
|
value = CharField()
|
|
|
|
# 显示
|
|
label = CharField()
|
|
|
|
# 输入提示
|
|
placeholder = CharField()
|
|
|
|
# 对外显示值
|
|
is_show_value = BooleanField(default=False, null=False)
|
|
|
|
# 创建时间
|
|
create_time = DateTimeField(default=datetime.now)
|
|
|
|
# 更新时间
|
|
update_time = DateTimeField(default=datetime.now)
|
|
|
|
class Meta:
|
|
table_name = 'tb_system'
|
|
|
|
|
|
def init_table_data():
|
|
"""
|
|
系统配置初始值
|
|
:return:
|
|
"""
|
|
data = [
|
|
# 邮箱配置
|
|
{
|
|
'key': ConfigKeyEnum.MAIL_HOST,
|
|
'value': 'smtp.163.com',
|
|
'label': '发件邮箱服务器地址',
|
|
'placeholder': '发件邮箱服务器地址',
|
|
'is_show_value': True,
|
|
},
|
|
{
|
|
'key': ConfigKeyEnum.MAIL_PORT,
|
|
'value': '465', # 25 或者 465(ssl)
|
|
'label': '发件邮箱服务器端口',
|
|
'placeholder': '发件邮箱服务器端口:25 或者 465(ssl)',
|
|
'is_show_value': True,
|
|
},
|
|
{
|
|
'key': ConfigKeyEnum.MAIL_ALIAS,
|
|
'value': 'Domain Admin',
|
|
'label': '发件人邮箱名称',
|
|
'placeholder': '发件人邮箱名称',
|
|
'is_show_value': True,
|
|
},
|
|
{
|
|
'key': ConfigKeyEnum.MAIL_USERNAME,
|
|
'value': '',
|
|
'label': '发件人邮箱账号',
|
|
'placeholder': '发件人邮箱账号',
|
|
'is_show_value': True,
|
|
},
|
|
{
|
|
'key': ConfigKeyEnum.MAIL_PASSWORD,
|
|
'value': '',
|
|
'label': '发件人邮箱密码',
|
|
'placeholder': '发件人邮箱密码或客户端授权码',
|
|
'is_show_value': True,
|
|
},
|
|
|
|
#
|
|
# {
|
|
# 'key': ConfigKeyEnum.MAIL_SUBJECT,
|
|
# 'value': '[ssl]证书过期时间汇总',
|
|
# 'label': '邮件标题',
|
|
# 'placeholder': '邮件标题',
|
|
# 'is_show_value': True,
|
|
# },
|
|
|
|
# 分 时 日 月 周,默认每天上午 10: 30 检测
|
|
{
|
|
'key': ConfigKeyEnum.SCHEDULER_CRON,
|
|
'value': '30 10 * * *',
|
|
'label': '定时检测时间(crontab 表达式)',
|
|
'placeholder': '分 时 日 月 周',
|
|
'is_show_value': True,
|
|
},
|
|
|
|
{
|
|
'key': ConfigKeyEnum.SECRET_KEY,
|
|
'value': SECRET_KEY,
|
|
'is_show_value': False,
|
|
'label': 'Token秘钥',
|
|
'placeholder': '重新设置后所有用户的登录状态会退出'
|
|
},
|
|
|
|
{
|
|
'key': ConfigKeyEnum.TOKEN_EXPIRE_DAYS,
|
|
'value': TOKEN_EXPIRE_DAYS,
|
|
'is_show_value': False,
|
|
'label': 'Token有效期(天)',
|
|
'placeholder': 'Token有效期(天)'
|
|
},
|
|
|
|
# @since 1.4.19
|
|
{
|
|
'key': ConfigKeyEnum.PROMETHEUS_KEY,
|
|
'value': PROMETHEUS_KEY,
|
|
'is_show_value': False,
|
|
'label': 'prometheus_key',
|
|
'placeholder': 'prometheus_key'
|
|
},
|
|
]
|
|
|
|
SystemModel.insert_many(data).execute()
|