mirror of
https://github.com/aaPanel/aaPanel.git
synced 2026-08-17 21:25:47 +02:00
1. Added Mail Marketing Automation trigger tasks 2. Added Mail Marketing Groups Import, Export, Merge 3. Added Mail Marketing Subscribers to support paste import 4. Added Mail Marketing Template Import Export Duplicate 5. Added Mail server add timed automatic reply 6. Added HTTPS Protection function for Website (disables automatic HTTP to HTTPS redirection when enabled) 7. Optimize Website Interface Button Integration 8. Optimize the response speed of WP Toolkit interface
54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
from .pgsql import PgsqlTool
|
||
from .mongodb import MongodbTool
|
||
from .mysql import MysqlTool
|
||
from .sql_server import SQLServerTool
|
||
|
||
from typing import Optional
|
||
|
||
DB_TYPE = (
|
||
"pgsql",
|
||
"mongodb",
|
||
"mysql",
|
||
"sqlserver"
|
||
)
|
||
|
||
|
||
def add_database(db_type: str, data: dict) -> Optional[str]:
|
||
"""
|
||
data: 中包含的有效参数为
|
||
database_name:数据库名称
|
||
server_id:数据库 id
|
||
db_user:数据库用户名
|
||
password:数据库用户的密码
|
||
dataAccess :链接限制方式 如:ip
|
||
address:可允许使用的ip, 配合上一个参数使用
|
||
codeing: 编码
|
||
ps:备注
|
||
listen_ip: pgsql 有效,可设置访问地址
|
||
"""
|
||
if db_type not in DB_TYPE:
|
||
return "Wrong database type"
|
||
|
||
if db_type == "pgsql":
|
||
tool = PgsqlTool()
|
||
elif db_type == "mongodb":
|
||
tool = MongodbTool()
|
||
elif db_type == "mysql":
|
||
tool = MysqlTool()
|
||
else:
|
||
tool = SQLServerTool()
|
||
|
||
f, msg = tool.add_database(data.pop("server_id"), data.pop("database_name"), **data)
|
||
if not f:
|
||
return msg
|
||
return None
|
||
|
||
|
||
__all__ = [
|
||
"PgsqlTool",
|
||
"MongodbTool",
|
||
"MysqlTool",
|
||
"SQLServerTool",
|
||
"add_database",
|
||
]
|