#!/bin/bash
# postinst script for agency
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

REDIS_CONF="/etc/redis/agency-redis.conf"
REDIS_SAMPLE="/etc/redis/agency-redis.conf.sample"
REDIS_DEF_OVERRIDE="/etc/init/redis-server.override"

[ -s $REDIS_CONF ] || cp $REDIS_SAMPLE $REDIS_CONF;
chown redis:redis "$REDIS_CONF";
chmod 664 "$REDIS_CONF";

[ -s $REDIS_DEF_OVERRIDE ] || echo 'manual' > "$REDIS_DEF_OVERRIDE"

function is_redis_started {

    local service_name="${1}";
    local service_status=`status ${service_name} | egrep 'start|running'`;

    if [ -n "${service_status}" ]; then
        echo "1";
    else
        echo "0";
    fi;

    unset service_name service_status;
}

case "$1" in
    configure)

        status_rs=$(is_redis_started "redis-server");
        status_dmr=$(is_redis_started "agency-redis");

        # echo "shutdown" | /usr/bin/redis-cli
        if [ "${status_rs}" == "1" ]; then
            stop redis-server || true;
        fi;

        if [ "${status_dmr}" != "1" ]; then
            start agency-redis || true;
        fi;
        
        unset status_dmr status_rs;
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
