### Generic variables and functions
### -------------------------------

if [ -z "${SYNOPKG_PKGNAME}" ] || [ -z "${SYNOPKG_DSM_VERSION_MAJOR}" ]; then
  echo "Error: Environment variables are not set." 1>&2;
  echo "Please run me using synopkg instead. Example: \"synopkg start [packagename]\"" 1>&2;
  exit 1
fi

USER="TTYD"
EFF_USER="TTYD"

# start-stop-status script redirect stdout/stderr to LOG_FILE
LOG_FILE="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}.log"

# Service command has to deliver its pid into PID_FILE
PID_FILE="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}.pid"


### Package specific variables and functions
### ----------------------------------------

CONF_FILE="${SYNOPKG_PKGVAR}/config.json"

# Read user from file
if [ -e $CONF_FILE ]; then
    A_USER=`synogetkeyvalue "${CONF_FILE}" user`
    A_PWD=`synogetkeyvalue "${CONF_FILE}" pwd`
fi

SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/ttyd -W -c ${A_USER}:${A_PWD} /bin/login"
SVC_BACKGROUND=y
SVC_WRITE_PID=y

service_postinst ()
{
    # Save user to file
    if [ -n "${user}" ]; then
        sed -i "s/user=[^ ]*/user=${user}/g" "$CONF_FILE"
        sed -i "s/pwd=[^ ]*/pwd=${pwd}/g" "$CONF_FILE"
    fi
}
