#!/usr/bin/env bash
##makedesc: Install rustdesk client v1.4.2 (deb)

set -eo pipefail

installed() { command -v "$1" >/dev/null 2>&1; }

install() {
    if [ "$(uname -s)" = "Darwin" ]; then
        if installed brew; then
            brew install --cask rustdesk
        else
            echo "ERROR: Install Homebrew first." >&2
            exit 1
        fi
        return
    fi

    RDVER="1.4.9"

    echo
    echo "==============================================="
    echo "Installing rustdesk v${RDVER}"
    echo "==============================================="
    echo

    # https://github.com/rustdesk/rustdesk

    deb_path="$HOME/install"
    deb_name="rustdesk-${RDVER}.deb"
    mkdir -p "$deb_path"
    deb="$deb_path/$deb_name"

    sudo apt install -y libxdo3 python3-pip
    if installed wget; then
        wget -q --show-progress "https://github.com/rustdesk/rustdesk/releases/download/${RDVER}/${deb_name}" -O "$deb"
    else
        curl -fsSL "https://github.com/rustdesk/rustdesk/releases/download/${RDVER}/${deb_name}" -o "$deb"
    fi
    sudo dpkg -i "$deb"

    echo
    echo "Finish!"
    echo
}

remove() {
    if [ "$(uname -s)" = "Darwin" ]; then
        if installed brew; then
            brew uninstall --cask rustdesk
        fi
        return
    fi

    echo
    echo "==============================================="
    echo "Removing rustdesk"
    echo "==============================================="
    echo

    sudo dpkg -r rustdesk 2>/dev/null || true

    echo
    echo "Finish!"
    echo
}

case "$1" in
    r|remove|d|delete|p|purge) remove ;;
    *) install ;;
esac
