| import sys |
| from typing import List, Dict, Optional |
| from .util import DB |
|
|
|
|
| if "/www/server/panel/class" not in sys.path: |
| sys.path.insert(0, "/www/server/panel/class") |
|
|
| from db_mysql import panelMysql |
| from database import database |
| from databaseModel.mongodbModel import main as mongodb |
| from databaseModel.pgsqlModel import main as pgsql |
| from databaseModel.sqlserverModel import main as sqlserver |
|
|
|
|
| class BaseDatabaseTool: |
| _type_name = "" |
|
|
| def local_server_info(self) -> Optional[Dict]: |
| raise NotImplementedError() |
|
|
| |
| def server_list(self) -> List[Dict]: |
| data = DB('database_servers').where("LOWER(db_type)=LOWER('?')", (self._type_name, )).select() |
| if not isinstance(data, list): |
| data = [] |
| local_server = self.local_server_info() |
| if local_server is not None: |
| data.insert(0, local_server) |
| return data |
|
|
| |
| def add_database(self, server_id: int, database_name: str, **kwargs) -> List[Dict]: |
| raise NotImplementedError() |
|
|