#!/usr/bin/env bash

# Inicialização do ERP na VPS.
#
# Responsabilidades:
#   1. Carregar as variáveis de ambiente da VPS
#   2. Executar as migrations usando o binário
#   3. Iniciar o ERP usando o binário

set -euo pipefail

# -------------------------------------------------------------------
# Diretório raiz do projeto
# -------------------------------------------------------------------

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

echo "==> Diretório: $ROOT_DIR"

# -------------------------------------------------------------------
# Validações
# -------------------------------------------------------------------

if [ ! -f "$ROOT_DIR/.env" ]; then
    echo "ERRO: arquivo .env não encontrado em $ROOT_DIR" >&2
    exit 1
fi

if [ ! -x "$ROOT_DIR/bin/erp-migrate" ]; then
    echo "ERRO: bin/erp-migrate não existe ou não é executável." >&2
    exit 1
fi

if [ ! -x "$ROOT_DIR/bin/erp-go" ]; then
    echo "ERRO: bin/erp-go não existe ou não é executável." >&2
    exit 1
fi

# -------------------------------------------------------------------
# Carrega ambiente
# -------------------------------------------------------------------

echo "==> Carregando ambiente..."

set -a
# shellcheck disable=SC1091
source "$ROOT_DIR/.env"
set +a

# -------------------------------------------------------------------
# Migrations
# -------------------------------------------------------------------

echo "==> Executando migrations..."

"$ROOT_DIR/bin/erp-migrate" up

echo "==> Migrations concluídas."

# -------------------------------------------------------------------
# Inicialização do ERP
# -------------------------------------------------------------------

echo "==> Iniciando ERP..."

exec "$ROOT_DIR/bin/erp-go"
