#!/bin/sh
set -eu
if [ -d /run/systemd/system ]; then
  mc_node_environment_state=$(systemctl show --property=ActiveState --value mission-core-node-environment.service 2>/dev/null || true)
  case "$mc_node_environment_state" in
    active|activating)
      echo "Mission Core Node: дождитесь завершения настройки окружения в приложении." >&2
      exit 1
      ;;
  esac
fi
case "$1" in
  remove|deconfigure)
    mc_node_ssh_snippet=/etc/ssh/sshd_config.d/60-mission-core-node.conf
    if [ -e "$mc_node_ssh_snippet" ]; then
      if cmp -s /usr/share/mission-core-node/60-mission-core-node.conf "$mc_node_ssh_snippet"; then
        rm "$mc_node_ssh_snippet"
      else
        mc_node_saved_snippet=$(mktemp /etc/ssh/sshd_config.d/mission-core-node-removed.XXXXXX)
        mv "$mc_node_ssh_snippet" "$mc_node_saved_snippet"
      fi
    fi
    mc_node_environment_snippet=/etc/systemd/system/mission-core-node.service.d/60-environment.conf
    if [ ! -L "$mc_node_environment_snippet" ] && cmp -s /usr/share/mission-core-node/60-environment.conf "$mc_node_environment_snippet"; then
      rm "$mc_node_environment_snippet"
    fi
    if [ -d /run/systemd/system ]; then
      if [ -x /usr/sbin/sshd ]; then
        /usr/sbin/sshd -t
        systemctl try-reload-or-restart ssh.service
      fi
      systemctl stop mission-core-node.service
      systemctl disable mission-core-node.service
    fi
    ;;
esac
