"""
Connection factory — stubs for non-SSH connection types.
SSH is fully implemented via SSHClientWrapper.
Other types are placeholders for future implementation.
"""

from core.ssh_client import SSHClientWrapper


def create_connection(server: dict, key_path: str = ""):
    """Create a connection wrapper based on server type."""
    server_type = server.get("type", "ssh")

    if server_type == "ssh":
        return SSHClientWrapper(server, key_path)

    # Stubs for future types
    if server_type == "rdp":
        raise NotImplementedError("RDP connections — use mstsc.exe or rdesktop")
    if server_type == "telnet":
        raise NotImplementedError("Telnet connections — planned")
    if server_type in ("mariadb", "mssql", "postgresql"):
        raise NotImplementedError(f"{server_type.upper()} connections — planned")

    raise ValueError(f"Unknown server type: {server_type}")
