#!/bin/bash

set -e

IMAP_SSL=${IMAP_SSL:="true"}
IMAP_SSL_VERIFICATION=${IMAP_SSL_VERIFICATION:="true"}
IMAP_PORT=${IMAP_PORT:="993"}
IMAP_ENABLED="${IMAP_ENABLED:="true"}"
IMAP_CHECK_INTERVAL="${IMAP_CHECK_INTERVAL:=600}"

while true; do
	if [ "$IMAP_ENABLED" = "true" ]; then
		echo "[cron] Checking for new emails from IMAP"
		bundle exec rake redmine:email:receive_imap \
			host="${IMAP_HOST}" \
			username="${IMAP_USERNAME}" \
			password="${IMAP_PASSWORD}" \
			ssl="${IMAP_SSL}" \
			ssl_verification="${IMAP_SSL_VERIFICATION}" \
			port="${IMAP_PORT}" \
			folder="${IMAP_FOLDER}" \
			project="${IMAP_ATTR_PROJECT}" \
			category="${IMAP_ATTR_CATEGORY}" \
			priority="${IMAP_ATTR_PRIORITY}" \
			status="${IMAP_ATTR_STATUS}" \
			version="${IMAP_ATTR_VERSION}" \
			type="${IMAP_ATTR_TYPE}" \
			assigned_to="${IMAP_ATTR_ASSIGNED_TO}" \
			unknown_user="${IMAP_UNKNOWN_USER}" \
			no_permission_check="${IMAP_NO_PERMISSION_CHECK}" \
			move_on_success="${IMAP_MOVE_ON_SUCCESS}" \
			move_on_failure="${IMAP_MOVE_ON_FAILURE}" \
			allow_override="${IMAP_ALLOW_OVERRIDE}" || true
	else
		echo "[cron] IMAP email checking is disabled"
	fi

	echo "[cron] Rescheduling in ${IMAP_CHECK_INTERVAL}s"
	sleep ${IMAP_CHECK_INTERVAL}s
done
