#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
export PATH="/opt/homebrew/bin:/usr/local/go/bin:${HOME}/.goenv/shims:${HOME}/go/bin:/usr/local/bin:${PATH:-}"

export ENVIRONMENT="${ENVIRONMENT:-local}"
export LOG_LEVEL="${LOG_LEVEL:-debug}"
export PORT="${PORT:-6001}"

cd "${ROOT}"

GO_BIN="${GO:-}"
if [[ -z "${GO_BIN}" ]] && command -v go >/dev/null 2>&1; then
	GO_BIN="$(command -v go)"
fi
if [[ -z "${GO_BIN}" && -x /opt/homebrew/bin/go ]]; then
	GO_BIN=/opt/homebrew/bin/go
fi
if [[ -z "${GO_BIN}" ]]; then
	echo "go: command not found. Install Go or set GO=/path/to/go" >&2
	exit 127
fi

exec "${GO_BIN}" run ./cmd/server
