#!/bin/sh

script="$( readlink -f "${0}" )"
script_dir="$( dirname "${script}" )"

git_version="$( \
    git rev-parse --abbrev-ref HEAD \
    | cut -d '/' -f 2
)"

api_version="$( \
    grep '^version' "${script_dir}/../../api/pyproject.toml" \
    | sed -E 's/^version[^0-9]*((0|[1-9][0-9]*)[0-9\.]*[0-9]).*$/\1/'
)"

ui_version="$( \
    python3 -c 'import sys, json; print(json.load(sys.stdin)["version"])' \
    < "${script_dir}/../../ui/package.json" \
)"

install_version="$( \
    grep '^ovd_version' "${script_dir}/../install.sh" \
    | sed -E 's/^ovd_version[^0-9]*((0|[1-9][0-9]*)[0-9\.]*[0-9]).*$/\1/'
)"

compose_version="$( \
    grep 'image: code\.yavook\.de/oekzident\.de/ovdashboard' "${script_dir}/../docker-compose.yml" \
    | sed -E 's/.*code\.yavook\.de\/oekzident\.de\/ovdashboard[^0-9]*((0|[1-9][0-9]*)[0-9\.]*[0-9]).*$/\1/'
)"

if [ "${git_version}" = "${api_version}" ] \
&& [ "${git_version}" = "${ui_version}" ] \
&& [ "${git_version}" = "${install_version}" ] \
&& [ "${git_version}" = "${compose_version}" ]; then
    mark="✅️"
else
    mark="❌️"
fi

echo "git: ${git_version}, api: ${api_version}, ui: ${ui_version}"
echo "installer: ${install_version}, compose: ${compose_version} => ${mark}"

[ "${mark}" = "✅️" ] || exit 1