#!/bin/sh

set -e
set -u
# DEBUG
set -x

# a wallet and verifier idhub for pilot-xo9b
main() {
        deployment="${1:-}"

        # detach on production deployment
        if [ "${deployment}" = 'prod' ]; then
                detach='-d'
        fi

        # ensure uses pilot-xo9b branch
        (
                cd ./IdHub
                git checkout pilot-xo9b
        )

        postfix='pilot-xo9b'
        local idhub1="idhub1__${postfix}"
        local idhub2="idhub2__${postfix}"

        # force recreate
        rm -rf "./${idhub1}" "./${idhub2}"

        # detect if is new
        if [ ! -f "./${idhub1}" ] && [ ! -f "./${idhub2}" ]; then
                echo 'Detected new deployment, recreating git repos idhub1 and idhub2'
                cp -rp IdHub "${idhub1}"
                rm -f "${idhub1}/db.sqlite3"
                cp -rp IdHub "${idhub2}"
                rm -f "${idhub2}/db.sqlite3"
        fi

        idhub_dc_f="docker-compose__${postfix}.yml"
        docker compose -f ${idhub_dc_f} down -v || true
        make idhub_build \
                && docker compose -f ${idhub_dc_f} up ${detach:-}
}

main "${@}"