mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
feat: default ports for SSH tunnel (#32403)
This commit is contained in:
@@ -33,6 +33,7 @@ from superset.databases.utils import make_url_safe
|
||||
from superset.extensions import event_logger
|
||||
from superset.models.core import Database
|
||||
from superset.utils.decorators import on_error, transaction
|
||||
from superset.utils.ssh_tunnel import get_default_port
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -72,7 +73,9 @@ class CreateSSHTunnelCommand(BaseCommand):
|
||||
"private_key_password"
|
||||
)
|
||||
url = make_url_safe(self._database.sqlalchemy_uri)
|
||||
if not url.port:
|
||||
backend = url.get_backend_name()
|
||||
port = url.port or get_default_port(backend)
|
||||
if not port:
|
||||
raise SSHTunnelDatabasePortError()
|
||||
if not server_address:
|
||||
exceptions.append(SSHTunnelRequiredFieldValidationError("server_address"))
|
||||
|
||||
@@ -32,6 +32,7 @@ from superset.daos.database import SSHTunnelDAO
|
||||
from superset.databases.ssh_tunnel.models import SSHTunnel
|
||||
from superset.databases.utils import make_url_safe
|
||||
from superset.utils.decorators import on_error, transaction
|
||||
from superset.utils.ssh_tunnel import get_default_port
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -75,5 +76,7 @@ class UpdateSSHTunnelCommand(BaseCommand):
|
||||
raise SSHTunnelInvalidError(
|
||||
exceptions=[SSHTunnelRequiredFieldValidationError("private_key")]
|
||||
)
|
||||
if not url.port:
|
||||
backend = url.get_backend_name()
|
||||
port = url.port or get_default_port(backend)
|
||||
if not port:
|
||||
raise SSHTunnelDatabasePortError()
|
||||
|
||||
Reference in New Issue
Block a user