#!/bin/sh

if [ -z "$SYNOPKG_PKGNAME" ]; then
	PACKAGE_NAME="AudioStation"
else
	PACKAGE_NAME=$SYNOPKG_PKGNAME
fi

PACKAGE_DIR="/var/packages/${PACKAGE_NAME}"
PKG_APP_PATH="${PACKAGE_DIR}/target/app"
PKG_ALEXA_OAUTH_CLIENT="${PACKAGE_DIR}/target/pkgbin/alexa_oauth_client"

APP_PATH="/usr/syno/synoman/webman/3rdparty/$PACKAGE_NAME"

SYNOSERVICE="/usr/syno/sbin/synoservice"
SYNO_RELAYD="/usr/syno/sbin/synorelayd"

PACKAGE_ENABLED="${PACKAGE_DIR}/enabled"

SYNOAIRPLAYD_DAEMON="synoairplayd"
SYNOAIRPLAYD_PID="/var/run/synoairplayd.*.*"

add_relay_service() {
	$SYNO_RELAYD --add audio_http --add audio_https --hup
}

remove_relay_service() {
	$SYNO_RELAYD --remove audio_http --remove audio_https --hup
}

enable_alexa_oauth_client() {
	$PKG_ALEXA_OAUTH_CLIENT -a enable
}

disable_alexa_oauth_client() {
	$PKG_ALEXA_OAUTH_CLIENT -a disable
}

reregister_alexa_oauth_client() {
	$PKG_ALEXA_OAUTH_CLIENT -a reregister
}

start()
{
	${PACKAGE_DIR}/target/scripts/S96synoaudiod.sh start
	${PACKAGE_DIR}/target/scripts/S96synorcd.sh start

	## upstart
	initctl start pkg-AudioStation-pgbouncer

	add_relay_service
	reregister_alexa_oauth_client
	enable_alexa_oauth_client
}


stop()
{
	disable_alexa_oauth_client
	remove_relay_service

	${PACKAGE_DIR}/target/scripts/S96synoaudiod.sh stop
	${PACKAGE_DIR}/target/scripts/S96synorcd.sh stop

	## upstart
	initctl stop pkg-AudioStation-pgbouncer

	killall -9 ${SYNOAIRPLAYD_DAEMON} > /dev/null 2>&1
	rm -f ${SYNOAIRPLAYD_PID}
}

case $1 in
	start)
		# check enabled
		if [ ! -f $PACKAGE_ENABLED ]; then
			exit 0;
		fi
		start
		exit 0
	;;
	stop)
		stop
		# check enabled
		if [ -f $PACKAGE_ENABLED ]; then
			exit 0;
		fi
		exit 0
	;;
	status)
		if [ -e ${APP_PATH} ]; then
				exit 0
		else
				exit 1
		fi
	;;
	killall)
	;;
	log)
		exit 0
	;;
esac
