#!/bin/bash
set -e

export RAILS_ENV="${RAILS_ENV:=production}"
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"

BUNDLER="/usr/bin/bundler.ruby.ruby3.4"
USER="zammad"
SUDO="sudo -u $USER --preserve-env=RAILS_ENV,LC_ALL,LANG,REDIS_URL,MEMCACHE_SERVERS,S3_URL,RAILS_LOG_TO_STDOUT,ZAMMAD_SAFE_MODE,GPG_PATH"

echo "Switching to the basedir within env $RAILS_ENV"
pushd /srv/www/webapps/zammad/ >/dev/null

if [ ! -e tmp/rebuild.txt ] ; then
  echo "Nothing to do for zammad-update. Exiting"
  exit 0
fi

echo "Running rake db:migrate"
$SUDO $BUNDLER exec /usr/bin/rake.ruby3.4 db:migrate

echo "Running rake searchindex:rebuild"
# Fails if Elasticserach is not configured.
$SUDO $BUNDLER exec /usr/bin/rake.ruby3.4 zammad:searchindex:rebuild || true

echo "Running rake tmp:clear"
$SUDO $BUNDLER exec /usr/bin/rake.ruby3.4 tmp:clear

echo "Fixing permissions"
chown -R zammad:zammad log/ tmp/

echo "Trigger tmp/restart.txt"
$SUDO touch tmp/restart.txt

echo "Finalize rebuild"
rm -f tmp/rebuild.txt

popd >/dev/null
