#!/bin/bash



case "$1" in
    configure)
        set -e
        if [ -f /usr/bin/proxysql ]; then
            chmod 0755 /usr/bin/proxysql
            chown proxysql:proxysql /usr/bin/proxysql
        fi

        if [ -f /etc/proxysql.cnf ]; then
            chown root:proxysql /etc/proxysql.cnf
            chmod 0640 /etc/proxysql.cnf
        fi

        if [ -f /etc/proxysql-admin.cnf ]; then
            chmod 0640 /etc/proxysql-admin.cnf
            chown root:proxysql /etc/proxysql-admin.cnf
        fi

        if [ -f /etc/init.d/proxysql ]; then
            chmod 0755 /etc/init.d/proxysql
            chown proxysql:proxysql /etc/init.d/proxysql
        fi

        if [ -f /usr/bin/proxysql_galera_checker ]; then
            chmod 0755 /usr/bin/proxysql_galera_checker
            chown root:root /usr/bin/proxysql_galera_checker
        fi

        if [ -d /var/lib/proxysql ]; then
            chown -R proxysql:proxysql /var/lib/proxysql
        else
            mkdir /var/lib/proxysql
            chown -R proxysql:proxysql /var/lib/proxysql
        fi

        if [ -d /var/run/proxysql ]; then
            chown -R proxysql:proxysql /var/run/proxysql
        else
            mkdir /var/run/proxysql
            chown -R proxysql:proxysql /var/run/proxysql
        fi

        if [ -f /usr/bin/proxysql-admin ]; then
            chmod 0755 /usr/bin/proxysql-admin
            chown proxysql:proxysql /usr/bin/proxysql-admin
        fi
        if [ -f /usr/bin/proxysql-admin-common ]; then
            chmod 0755 /usr/bin/proxysql-admin-common
            chown proxysql:proxysql /usr/bin/proxysql-admin-common
        fi
        if [ -f /usr/bin/proxysql-login-file ]; then
            chmod 0755 /usr/bin/proxysql-login-file
            chown proxysql:proxysql /usr/bin/proxysql-login-file
        fi
        update-rc.d proxysql defaults
	PROXYSQL_WAS_RUNNING=$(ps wwaux| grep -c proxysql)
        if [ -f /bin/systemctl ]; then
	    deb-systemd-helper unmask proxysql.service >/dev/null || true
	    if deb-systemd-helper --quiet was-enabled proxysql.service; then
        	deb-systemd-helper enable proxysql.service >/dev/null || true
	    else
                deb-systemd-helper update-state proxysql.service >/dev/null || true
	    fi
            if [[ `ps -p 1 | awk '{print $4}' | grep -v CMD` =~ systemd ]]; then
            	if [ -e /usr/sbin/invoke-rc.d ]; then
                    /usr/sbin/invoke-rc.d proxysql stop
                    /usr/sbin/invoke-rc.d proxysql start
                else
                    /bin/systemctl stop proxysql
                    /bin/systemctl start proxysql
                fi
            else
            	if [ -e /usr/sbin/invoke-rc.d ]; then
                    /usr/sbin/invoke-rc.d proxysql stop
                    /usr/sbin/invoke-rc.d proxysql start
                else
                    /etc/init.d/proxysql stop
                    /etc/init.d/proxysql start
                fi
            fi
        else
            if [ -e /usr/sbin/invoke-rc.d ]; then
                /usr/sbin/invoke-rc.d proxysql stop
                /usr/sbin/invoke-rc.d proxysql start
            else
                /etc/init.d/proxysql stop
                /etc/init.d/proxysql start
            fi
        fi
	PROXYSQL_RUNNING=$(ps wwaux| grep -c proxysql)
        if [ "${PROXYSQL_WAS_RUNNING}" -gt "${PROXYSQL_RUNNING}" ]; then
            /usr/sbin/service proxysql start
        fi
    ;;
    abort-upgrade|abort-remove|abort-configure)
    ;;
    *)
    exit 1
    ;;
esac
