#!/usr/bin/with-contenv sh

until pg_isready; do
  echo "Waiting for postgres to come up..."
  sleep 1
done

# Create database if it does not exist
psql -U postgres -lqt | cut -d \| -f 1 | grep -qw $POSTGRES_DB
if [ $? -ne 0 ]; then
  createuser -U postgres $POSTGRES_USER
  createdb -U postgres -O $POSTGRES_USER $POSTGRES_DB
  cat /app/guacamole/schema/*.sql | psql -U $POSTGRES_USER -d $POSTGRES_DB -f -
  echo "$GUAC_VER" > /config/.database-version

  /etc/cont-init.d/30-defaults.sh
  /etc/cont-init.d/50-extensions.sh
else
  if [ "$(cat /config/.database-version)" != "$GUAC_VER" ]; then
    cat /app/guacamole/schema/upgrade/upgrade-pre-$GUAC_VER.sql | psql -U $POSTGRES_USER -d $POSTGRES_DB -f -
    echo "$GUAC_VER" > /config/.database-version

    /etc/cont-init.d/30-defaults.sh
    /etc/cont-init.d/50-extensions.sh
  fi
fi

echo "Starting guacamole client..."
s6-setuidgid root catalina.sh run
