#!/bin/bash
# This file was autogenerated by node-deb {{ node_deb_version }}
set -e

declare -r init_type='{{ node_deb_init }}'

# Will return true even if deletion fails
delete_user() {
  : "${1:?'User was not defined'}"
  declare -r user="$1"

  if hash deluser 2> /dev/null; then
    deluser --quiet --system "$user" || echo "WARN: Failed to delete user $user"
  elif hash userdel 2> /dev/null; then
    userdel "$user" || echo "WARN: Failed to delete user $user"
  else
    echo "WARN: Could not delete user $user . No suitable program (deluser, userdel) found"
  fi
}

# Will return true even if deletion fails
delete_group() {
  : "${1:?'Group was not defined'}"
  declare -r group="$1"

  if hash delgroup 2> /dev/null; then
    delgroup --quiet --system "$group" || echo "WARN: Failed to delete group $group"
  elif hash groupdel 2> /dev/null; then
    groupdel "$group" || echo "WARN: Failed to delete group $group"
  else
    echo "WARN: Could not delete user $group . No suitable program (delgroup, groupdel) found"
  fi
}

case "$1" in
  upgrade|remove|failed-upgrade|abort-upgrade|abort-install|disappear)
    ;;
  purge)
    if [[ "$init_type" != 'none' ]]; then
      delete_user '{{ node_deb_user }}'
      delete_group '{{ node_deb_group }}'
    fi

    rm -rf '/var/log/{{ node_deb_package_name }}'
    ;;
  *)
    echo "postinst called with unknown argument '$1'"
    ;;
esac
