# Carrega as variáveis do .env na sessão ATUAL do shell.
#
# IMPORTANTE: rode com "source" (ou ". "), senão as variáveis somem assim
# que o script terminar — porque rodar ./scripts/env.sh diretamente sobe
# um processo bash FILHO, e mudanças de ambiente num processo filho nunca
# voltam pro processo pai:
#
#   source scripts/env.sh
#   # ou:
#   . scripts/env.sh
#
# Depois disso, `go run ./cmd/atm-uniformes`, `go run ./cmd/migrate up` etc.
# funcionam diretamente no mesmo terminal, quantas vezes você quiser — sem
# precisar passar por dev.sh de novo.

_atm_env_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
_atm_env_file="$_atm_env_root/.env"

if [ ! -f "$_atm_env_file" ]; then
	echo "Aviso: .env não encontrado em $_atm_env_file. Copiando .env.example -> .env" >&2
	cp "$_atm_env_root/.env.example" "$_atm_env_file"
	echo "Edite .env (principalmente ATM_SESSION_SECRET e ATM_BOOTSTRAP_MASTER_PASSWORD) e rode 'source scripts/env.sh' de novo." >&2
else
	set -a
	# shellcheck disable=SC1090
	source "$_atm_env_file"
	set +a
	echo "Variáveis de $_atm_env_file carregadas nesta sessão." >&2
fi

unset _atm_env_root _atm_env_file
