#!/bin/bash

set -e
set -x

. /usr/share/debconf/confmodule

db_get  opengnsys/oggui_ogcoreUrl
OGCORE_URL="$RET"
db_get  opengnsys/oggui_ogmercureUrl
OGMERCURE_URL="$RET"

# Asegurarse de que el usuario exista
USER="opengnsys"
HASH_FILE="/opt/opengnsys/oggui/var/lib/oggui/oggui.config.hash"
CONFIG_FILE="/opt/opengnsys/oggui/browser/assets/config.json"

# Detectar si es una instalación nueva o una actualización
if [ "$1" = "configure" ] && [ -z "$2" ]; then
    jq --arg apiUrl "$OGCORE_URL" --arg mercureUrl "$OGMERCURE_URL" \
  '.apiUrl = $apiUrl | .mercureUrl = $mercureUrl' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" && mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
    ln -s /opt/opengnsys/oggui/etc/systemd/system/oggui.service /etc/systemd/system/oggui.service
    ln -s /opt/opengnsys/oggui/etc/nginx/oggui.conf /etc/nginx/sites-enabled/oggui.conf
    ln -s $CONFIG_FILE /opt/opengnsys/oggui/etc/config.json
    mkdir -p /etc/nginx/certs/ 
    cp -p /opt/opengnsys/oggui/etc/nginx/certs/* /etc/nginx/certs/
    chown -R www-data:www-data /etc/nginx/certs
    systemctl daemon-reload
    systemctl restart nginx
elif [ "$1" = "configure" ] && [ -n "$2" ]; then
    cd /opt/opengnsys/oggui
    echo "Actualización desde la versión $2"
fi

# Cambiar la propiedad de los archivos al usuario especificado
chown opengnsys:www-data /opt/opengnsys/
chown -R opengnsys:www-data /opt/opengnsys/oggui 
exit 0
