#!/bin/bash
#===============================================================================
# Power e-SUS BI Desktop — Downloader Linux
# Baixa e extrai o pacote completo, depois executa o instalador.
# Uso: bash download_linux.sh
#===============================================================================

set -e

VERSION="2.8.0"
BASE_URL="https://www.poweresusbi.com.br/plataforma/downloads"
PACKAGE="poweresusbi-desktop-${VERSION}.tar.gz"
TMP_DIR="/tmp/poweresusbi-download"
INSTALL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m'

echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN}  Power e-SUS BI Desktop - Downloader${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""

# Verificar dependencias minimas
for cmd in curl tar; do
    if ! command -v "$cmd" &>/dev/null; then
        echo -e "${RED}ERRO: $cmd nao encontrado. Instale e tente novamente.${NC}"
        exit 1
    fi
done

mkdir -p "$TMP_DIR"

DOWNLOAD_URL="${BASE_URL}/${PACKAGE}"
echo -e "${YELLOW}Baixando ${PACKAGE}...${NC}"
echo -e "  URL: ${DOWNLOAD_URL}"

# Download com barra de progresso
if command -v pv &>/dev/null; then
    curl -sL "$DOWNLOAD_URL" | pv -pterb -s $(curl -sI "$DOWNLOAD_URL" | grep -i content-length | awk '{print $2}' | tr -d '\r') > "$TMP_DIR/$PACKAGE"
else
    echo -e "  (instale 'pv' para barra de progresso)"
    curl -# -L "$DOWNLOAD_URL" -o "$TMP_DIR/$PACKAGE"
fi

# Verificar se download foi bem sucedido
if [ ! -f "$TMP_DIR/$PACKAGE" ] || [ ! -s "$TMP_DIR/$PACKAGE" ]; then
    echo -e "${RED}ERRO: Download falhou. Verifique a conexao com a internet.${NC}"
    exit 1
fi

SIZE=$(du -h "$TMP_DIR/$PACKAGE" | cut -f1)
echo -e "${GREEN}Download concluido! (${SIZE})${NC}"
echo ""

# Extrair
echo -e "${YELLOW}Extraindo pacote...${NC}"
tar -xzf "$TMP_DIR/$PACKAGE" -C "$TMP_DIR"
EXTRACT_DIR=$(find "$TMP_DIR" -maxdepth 1 -type d ! -path "$TMP_DIR" | head -1)
echo -e "${GREEN}Extraido para ${EXTRACT_DIR}${NC}"
echo ""

# Executar instalador
echo -e "${YELLOW}Iniciando instalacao...${NC}"
echo -e "  Execute: sudo bash ${EXTRACT_DIR}/install.sh"
echo ""

if [ "$(id -u)" -eq 0 ]; then
    bash "${EXTRACT_DIR}/install.sh"
else
    echo -e "${YELLOW}Execute como root para instalar:${NC}"
    echo "  sudo bash ${EXTRACT_DIR}/install.sh"
    echo ""
    echo -e "Ou extraia manualmente e execute:"
    echo "  tar -xzf $TMP_DIR/$PACKAGE -C /opt"
    echo "  sudo bash /opt/poweresusbi-desktop-${VERSION}/install.sh"
    echo ""
    echo -e "Deseja executar com sudo agora? (s/N)"
    read -r answer
    if [ "$answer" = "s" ] || [ "$answer" = "S" ]; then
        sudo bash "${EXTRACT_DIR}/install.sh"
    fi
fi
