#!/usr/bin/sh

set -e
set -u

if [ -d '/run/systemd/system' ]; then
  /usr/bin/systemctl --system daemon-reload > '/dev/null' 2>&1 || \
    /usr/bin/true
fi

case "${1}" in
  configure)
    if [ -x '/usr/bin/deb-systemd-helper' ]; then
      /usr/bin/deb-systemd-helper unmask 'rustdesk-hbbr.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
      /usr/bin/deb-systemd-helper unmask 'rustdesk-hbbs.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
    fi
    if /usr/bin/deb-systemd-helper --quiet was-enabled 'rustdesk-hbbr.service'; then
      /usr/bin/deb-systemd-helper enable 'rustdesk-hbbr.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
    else
      /usr/bin/deb-systemd-helper update-state 'rustdesk-hbbr.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
    fi
    if /usr/bin/deb-systemd-helper --quiet was-enabled 'rustdesk-hbbs.service'; then
      /usr/bin/deb-systemd-helper enable 'rustdesk-hbbs.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
    else
      /usr/bin/deb-systemd-helper update-state 'rustdesk-hbbs.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
    fi
    if [ -x '/etc/init.d/rustdesk-hbbr' ]; then
      /usr/sbin/update-rc.d 'rustdesk-hbbr' defaults > '/dev/null' 2>&1 || \
        /usr/bin/true
    fi
    if [ -x '/etc/init.d/rustdesk-hbbs' ]; then
      /usr/sbin/update-rc.d 'rustdesk-hbbs' defaults > '/dev/null' 2>&1 || \
        /usr/bin/true
    fi
    /usr/bin/install --directory --group='rustdesk' --mode='750' --owner='rustdesk' '/var/lib/rustdesk'
    /usr/bin/install --directory --group='rustdesk' --mode='750' --owner='rustdesk' '/var/log/rustdesk'
    /usr/bin/install --directory --group='rustdesk' --mode='750' --owner='rustdesk' '/var/logrotate/rustdesk'
    /usr/bin/chown --quiet --recursive 'rustdesk':'root' '/etc/rustdesk'
    if [ ! -f '/etc/rustdesk/keypair' ]; then
      KEYPAIR=''
      while [ -z "${KEYPAIR}" ]; do
        KEYPAIR=$(/usr/bin/rustdesk-utils genkeypair)
      done
      PUBLICKEY=$(/usr/bin/echo "${KEYPAIR}" | /usr/bin/grep 'Secret Key:' | /usr/bin/sed --expression='s/Secret Key:  //')
      /usr/bin/echo "${KEYPAIR}" > '/etc/rustdesk/keypair'
      /usr/bin/chmod --quiet --verbose '0440' '/etc/rustdesk/keypair'
      /usr/bin/sed --quiet --in-place --expression="s/KEY=.*/KEY='${PUBLICKEY}'/" '/etc/rustdesk/relay.conf'
      /usr/bin/sed --quiet --in-place --expression="s/KEY=.*/KEY='${PUBLICKEY}'/" '/etc/rustdesk/signal.conf'
    fi
    if [ -x '/usr/bin/deb-systemd-invoke' ]; then
      /usr/bin/systemctl --system daemon-reload > '/dev/null' 2>&1 || \
        /usr/bin/true
      if [ -n "${2}" ]; then
        _dh_action='restart'
      else
        _dh_action='start'
      fi
      /usr/bin/deb-systemd-invoke "${_dh_action}" 'rustdesk-hbbr.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
      /usr/bin/deb-systemd-invoke "${_dh_action}" 'rustdesk-hbbs.service' > '/dev/null' 2>&1 || \
        /usr/bin/true
    fi
  ;;
esac
