#!/bin/sh
. /var/packages/Calendar/scripts/common

SERVICETOOL="/usr/syno/bin/servicetool"
SHARE_LINK_CONF="/usr/syno/etc/packages/Calendar/share_link.json"

case "$SYNOPKG_PKG_STATUS" in
        UNINSTALL)
                ;;
        UPGRADE)
                ;;
esac
#${SERVICETOOL} --remove-configure-file --package CardDAVServer.sc

${PSQL} ${DBA} ${DBNAME} -c ''
ret=$?
echo "== db exists: ${ret} ==" >> /var/log/synocal.log 2>&1
if [ "$ret" -eq "0" ]; then
	echo "== db exists ==" >> /var/log/synocal.log 2>&1
	[ -d "${synocal_db_dump_path}" ] || mkdir -p "${synocal_db_dump_path}"
	echo "== db dump : ${synocal_db_dump} ==" >> /var/log/synocal.log 2>&1
	/bin/pg_dump ${DBA} -a --disable-triggers -Fc ${DBNAME} > ${synocal_db_dump}
else
	echo "== db does not exist : ${synocal_db_dump} ==" >> /var/log/synocal.log 2>&1
	echo "== drop tablespace ==" >> /var/log/synocal.log 2>&1
	${PSQL} ${DBA} -c "DROP tablespace synocalendar_tmp;"
	echo "== rm ${synocal_tmp_path} ==" >> /var/log/synocal.log 2>&1
	rm -rf ${synocal_tmp_path}
	echo "== rm ${synocal_db_dump} ==" >> /var/log/synocal.log 2>&1
	rm -f ${synocal_db_dump}
fi

if [ "$synocal_ci_dropdb" = true ]; then
	/usr/bin/dropdb -U postgres calendar
fi

if [ "$pkgwizard_remove_db" = true ]; then
	SHARE_LINK_BASE_PATH=`/bin/cat $SHARE_LINK_CONF |/bin/jq ".[].base_path" |/bin/sed -e 's/\"//g'`
	if [ ! -z $SHARE_LINK_BASE_PATH ]; then
		if [[ $SHARE_LINK_BASE_PATH =~ "/volume".*"/@calendar/attach" ]];then
			if [[ ! $SHARE_LINK_BASE_PATH =~ "/../" ]];then
				/bin/echo "/bin/rm -rf ${SHARE_LINK_BASE_PATH}" >> /var/log/synocal.log
				/bin/rm -rf ${SHARE_LINK_BASE_PATH} >> /var/log/synocal.log 2>&1
			fi
		fi
	fi
	/bin/rm -f $SHARE_LINK_CONF
fi

exit 0
