#!/bin/sh

CONFIG_DB="/usr/local/zy-pkgs/config/GoogleDrive/GoogleDrive.db"
FILEYE_START="/usr/local/fileye/Fileye_start.sh"
FILEYE_STOP="/usr/local/fileye/Fileye_stop.sh"
TOKEN=".grive"
STATE=".grive_state"
STATE_DRY=".grive_state_dry"
SYNC=".grive_syncing"
USER=".grive_user"
UPDATE=".grive_update"
LAST_SYNC=".grive_last_sync"
RESET_FLAG="/tmp/PKG_RESET"
PACKAGE_NAME="GoogleDrive"

killall -9 gdrive_update.sh gdrive_control.sh grive > /dev/null 2>&1

$FILEYE_STOP

# Check need or not to reset config
if [ -f "${RESET_FLAG}" ]; then
	IS_RESET=`cat "${RESET_FLAG}" | grep "${PACKAGE_NAME}"`
fi

if [ "${IS_RESET}" != "" ]; then
	# Remove config
	ACCOUNT_TABLE_EXIST=`sqlite3 ${CONFIG_DB} "SELECT COUNT(*) FROM sqlite_master WHERE type='table' and name='Account_Info'"`
	if [ $ACCOUNT_TABLE_EXIST -ne 0 ]; then
		ACCOUNT_COUNT=`sqlite3 ${CONFIG_DB} "SELECT COUNT(*) FROM Account_Info"`
		if [ $ACCOUNT_COUNT -ne 0 ]; then
			for index in `seq 1 $ACCOUNT_COUNT`; do
				SYNC_PATH=`sqlite3 ${CONFIG_DB} "SELECT sync_path FROM Account_Info ORDER BY rowid ASC LIMIT 1 OFFSET $(($index-1))"`
				rm "${SYNC_PATH}/${TOKEN}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${USER}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${STATE}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${STATE_DRY}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${UPDATE}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${SYNC}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${LAST_SYNC}" > /dev/null 2>&1
			done
		fi
	fi

	rm -f "/etc/zyxel/gdrive-sync.dat"
	rm -f "/etc/zyxel/gdrive-sync.dat~"
	rm -f ${CONFIG_DB}
fi

rm -f "/etc/zyxel/gdrive-sync.conf"
rm -f "/etc/zyxel/gdrive-sync.conf~"

$FILEYE_START

exit 0
