#!/bin/bash
# install-update.sh — Тихий фоновый скрипт установки скачанного обновления APOS Market
set -e

UPDATE_DEB="/tmp/apos-update.deb"
UPDATE_APPIMAGE="/tmp/apos-update.AppImage"
LOG_FILE="/var/log/apos-updater.log"

echo "[$(date '+%Y-%m-%d %H:%M:%S')] 🚀 Запуск тихой установки обновления..." >> "$LOG_FILE" 2>/dev/null || true

if [ -f "$UPDATE_DEB" ]; then
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 📦 Обнаружен DEB пакет. Установка via dpkg..." >> "$LOG_FILE" 2>/dev/null || true
    sudo /usr/bin/dpkg -i "$UPDATE_DEB" >> "$LOG_FILE" 2>&1 || /usr/bin/dpkg -i "$UPDATE_DEB" >> "$LOG_FILE" 2>&1 || true
    rm -f "$UPDATE_DEB" 2>/dev/null || true
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] ✅ DEB пакет успешно установлен." >> "$LOG_FILE" 2>/dev/null || true
elif [ -f "$UPDATE_APPIMAGE" ]; then
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 📦 Обнаружен AppImage. Замена бинарника в /opt/apos/..." >> "$LOG_FILE" 2>/dev/null || true
    chmod +x "$UPDATE_APPIMAGE" 2>/dev/null || true
    cp -f "$UPDATE_APPIMAGE" /opt/apos/apos-market.AppImage 2>/dev/null || true
    rm -f "$UPDATE_APPIMAGE" 2>/dev/null || true
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] ✅ AppImage успешно обновлён." >> "$LOG_FILE" 2>/dev/null || true
else
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] ⚠️ Файлы обновлений в /tmp/ не найдены." >> "$LOG_FILE" 2>/dev/null || true
    exit 1
fi

# Перезапуск приложения / службы
if systemctl is-active --quiet apos-market 2>/dev/null; then
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 🔄 Перезапуск службы apos-market..." >> "$LOG_FILE" 2>/dev/null || true
    sudo systemctl restart apos-market >> "$LOG_FILE" 2>&1 || systemctl restart apos-market >> "$LOG_FILE" 2>&1 || true
else
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 🔄 Мягкий перезапуск процесса apos-market..." >> "$LOG_FILE" 2>/dev/null || true
    pkill -f apos-market 2>/dev/null || true
fi

echo "[$(date '+%Y-%m-%d %H:%M:%S')] 🎉 Установка и перезапуск завершены." >> "$LOG_FILE" 2>/dev/null || true
