#!/bin/sh

# customized info for different package
PRIVATE_LOCATION="/var/packages/SynologyDrive/target"
UPGRADE_FILE="/tmp/synologydrive.upgrade"
PKG_USERCONF_DIR="/var/packages/SynologyDrive/etc"
SYNO_GET_KEY_VALUE="/usr/syno/bin/synogetkeyvalue"
SYNO_INDEX_FOLDER_REMOVE="synowebapi --exec api=SYNO.Finder.FileIndexing.Folder method=delete version=1 owner=SynologyDrive"


# general routine
. /var/packages/SynologyDrive/scripts/pkg_utils
get_upgrade_status
if [ "1" = "$?" ]; then
    echo "Package is upgrading. You shall wait until upgrading is complete." > $SYNOPKG_TEMP_LOGFILE
    return 1;
fi

# preuninst for ShareSync
sharesync_preuninst()
{
    db_vol=`/usr/syno/bin/synogetkeyvalue ${SHARESYNC_CONF_FILE_PATH} ${SHARESYNC_REPO_VOL_KEY}`;
    repo_loc="${db_vol}/@${SHARESYNC_PACKAGE_NAME}"

    if [ -d "${repo_loc}" ]; then
        tmp_repo_dir="${db_vol}/@tmp/@${SHARESYNC_PACKAGE_NAME}.$$"

        mkdir -p "${db_vol}/@tmp"
        mv "${repo_loc}" "${tmp_repo_dir}"
        rm -rf "${tmp_repo_dir}" &
    fi

    rm -rf "${SHARESYNC_CONF_FILE_PATH}"
    rm -rf "/usr/syno/etc/packages/SynologyDrive/sharesync"
}

# special action for real-uninstall
logger -p 3 "Synology Drive preunist: check upgrade file $UPGRADE_FILE ..."
if [ ! -f "${UPGRADE_FILE}" ]; then

    sharesync_preuninst

    if [ "$pkgwizard_remove_cstn_db" == "true" ]; then

        ${CSTN_CLOUD_CONTROL} cleanup

        # remove mark file for broken data base
        rm -rf "/usr/syno/etc/packages/SynologyDrive"
        rm -rf "${PKG_USERCONF_DIR}/db-path.conf"
        rm -rf "${PKG_USERCONF_DIR}/postgresql"
        rm -rf "$CSTN_INSTALL_TMP_FILE"
        ${CSTN_CLOUD_DRIVE} --uninstall
    fi

    ${SYNO_INDEX_FOLDER_REMOVE}

    ## remove enable_status to clean up status in previous version
    rm -rf "/usr/syno/etc/packages/SynologyDrive/enable_status"

    #Stop relay service for cloudstation when package is uninstalled.
    /usr/syno/sbin/synorelayd -r cloudstation > /dev/null 2>&1

    # remove bandwidth data.
    rm -f ${BANDWIDTH_ADDON_DIR}/CloudStation_16.json

    # remove nginx config
    rm -f "/usr/local/etc/nginx/conf.d/dsm.SynologyDrive.conf"
fi

exit 0
