#!/bin/bash
set -euo pipefail

STANDARD_HOME_DIR="${STANDARD_HOME_DIR:-/home/cmep4i}"
STANDARD_RUN_USER="${STANDARD_RUN_USER:-cmep4i}"
STANDARD_JAVA_HOME="${STANDARD_JAVA_HOME:-${STANDARD_HOME_DIR}/jdk}"

step="${1:-}"
case "${step}" in
    setfraq)
        script="${STANDARD_HOME_DIR}/cpackage/toolsh/setfraq.sh"
        ;;
    setftq)
        script="${STANDARD_HOME_DIR}/cpackage/toolsh/setftq.sh"
        ;;
    settlq)
        script="${STANDARD_HOME_DIR}/cpackage/toolsh/settlq.sh"
        ;;
    setsptp)
        script="${STANDARD_HOME_DIR}/cpackage/toolsh/setsptp.sh"
        ;;
    *)
        echo "unsupported standard vendor step: ${step}" >&2
        exit 64
        ;;
esac

if [ "$(id -u)" != "0" ]; then
    echo "this wrapper must be executed as root through sudo" >&2
    exit 77
fi

if [ ! -f "${script}" ]; then
    echo "standard vendor script not found: ${script}" >&2
    exit 66
fi

run_payload='
set -euo pipefail
standard_home="$1"
java_home="$2"
script="$3"

cd "${standard_home}"
export JAVA_HOME="${java_home}"
export PATH="${JAVA_HOME}/bin:/usr/local/bin:/usr/bin:/bin:${PATH:-}"

exec /bin/bash "${script}"
'

if command -v runuser >/dev/null 2>&1; then
    exec runuser -u "${STANDARD_RUN_USER}" -- /bin/bash -lc "${run_payload}" -- \
        "${STANDARD_HOME_DIR}" "${STANDARD_JAVA_HOME}" "${script}"
fi

exec sudo -n -u "${STANDARD_RUN_USER}" /bin/bash -lc "${run_payload}" -- \
    "${STANDARD_HOME_DIR}" "${STANDARD_JAVA_HOME}" "${script}"
