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

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

BIN="$ROOT/bin/leadb2b"
PIDFILE="$ROOT/leadb2b.pid"
LOG="${LOG:-$HOME/logs/leadb2b.log}"

mkdir -p "$(dirname "$LOG")"

if [[ ! -f "$ROOT/.env" ]]; then
  echo "Arquivo .env não encontrado em $ROOT"
  exit 1
fi

if [[ ! -x "$BIN" ]]; then
  echo "Binário não encontrado. Rode: ./scripts/build.sh"
  exit 1
fi

if [[ -f "$PIDFILE" ]] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
  echo "LeadB2B já está rodando (PID $(cat "$PIDFILE"))"
  exit 0
fi

nohup "$BIN" >>"$LOG" 2>&1 &
echo $! >"$PIDFILE"
sleep 1

if kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
  echo "LeadB2B iniciado (PID $(cat "$PIDFILE"))"
  echo "Log: $LOG"
else
  echo "Falha ao iniciar. Veja o log:"
  tail -20 "$LOG" 2>/dev/null || true
  rm -f "$PIDFILE"
  exit 1
fi
