#!/bin/bash

set -e

[ "$DPKG_MAINTSCRIPT_PACKAGE" ] && . /usr/share/debconf/confmodule

case "$1" in
    configure)
        db_get xivo-manage-db/db-skip
        db_skip="$RET"
        if [ "$db_skip" = "false" ] ; then
            db_get xivo-manage-db/db-host
            db_host="$RET"
            db_get xivo-manage-db/db-port
            db_port="$RET"
            db_get xivo-manage-db/db-admin-username
            db_admin_username="$RET"
            db_get xivo-manage-db/db-admin-password
            db_admin_password="$RET"
            db_get xivo-manage-db/db-app-name
            db_app_name="$RET"
            db_get xivo-manage-db/db-app-username
            db_app_username="$RET"
            db_get xivo-manage-db/db-app-password
            db_app_password="$RET"


            if [ "$db_admin_password" = '' ] ; then
                psql_cmd='sudo -u postgres psql'
                pg_db_uri="postgresql:///postgres"
                app_db_uri="postgresql:///$db_app_name"
            else
                pg_db_uri="postgresql://$db_admin_username:$db_admin_password@$db_host:$db_port/postgres"
                app_db_uri="postgresql://$db_admin_username:$db_admin_password@$db_host:$db_port/$db_app_name"
                psql_cmd="psql $app_db_uri"
                export ALEMBIC_DB_URI="postgresql://$db_app_username:$db_app_password@$db_host:$db_port/$db_app_name"
            fi

            if ! $psql_cmd -tA asterisk --quiet -c "SELECT count(*) from infos" > /dev/null; then
                xivo-init-db --init \
                --pg_db_uri "$pg_db_uri" \
                --owner "$db_app_username" \
                --password "$db_app_password" \
                --db "$db_app_name" \
                --app_db_uri "$app_db_uri"
            fi
            xivo-update-db
        fi
    ;;

    abort-upgrade)
    ;;

    *)
        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
