#!/bin/bash
# ═══════════════════════════════════════════════════════
# TheKetoBay — Local Development Quick Start
# Usage: ./dev-start.sh
# ═══════════════════════════════════════════════════════

set -e
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo -e "${GREEN}🥑 TheKetoBay — Starting Dev Environment${NC}"
echo "============================================"

# Check if .env exists
if [ ! -f .env ]; then
  echo -e "${YELLOW}📋 Creating .env from example...${NC}"
  cp .env.example .env
  echo -e "${YELLOW}⚠️  Edit .env with your values before continuing!${NC}"
  echo "Required: POSTGRES_PASSWORD, JWT_SECRET, STRIPE keys, TELEGRAM_BOT_TOKEN"
  exit 1
fi

echo -e "${YELLOW}🐳 Starting infrastructure (DB, Redis, Ollama)...${NC}"
docker compose -f infrastructure/docker-compose.yml up postgres redis ollama -d

echo -e "${YELLOW}⏳ Waiting for PostgreSQL to be ready...${NC}"
until docker exec ketobay_db pg_isready -U ketobay 2>/dev/null; do
  sleep 1
done
echo -e "${GREEN}✅ Database ready${NC}"

echo -e "${YELLOW}📦 Installing dependencies...${NC}"
npm install

echo -e "${YELLOW}🗄️  Running Prisma generate and migrate...${NC}"
npm run db:generate
npm run db:migrate 2>/dev/null || npx prisma migrate dev --name init --prefix packages/db

echo -e "${YELLOW}🌱 Seeding database...${NC}"
npm run db:seed || echo "Seed already ran"

echo -e "${YELLOW}🤖 Checking Ollama model...${NC}"
MODEL=$(grep OLLAMA_MODEL .env | cut -d= -f2 | tr -d '"' || echo "llama3:8b")
docker exec ketobay_ollama ollama list | grep -q "${MODEL%:*}" || {
  echo "Pulling $MODEL (this takes a while on first run)..."
  docker exec ketobay_ollama ollama pull $MODEL
}

echo ""
echo -e "${GREEN}✅ Infrastructure ready! Starting dev servers...${NC}"
echo "============================================"
echo -e "🌐 Web:      ${GREEN}http://localhost:3000${NC}"
echo -e "🔧 API:      ${GREEN}http://localhost:3001${NC}"
echo -e "🤖 Ollama:   ${GREEN}http://localhost:11434${NC}"
echo -e "🗄️  DB:       ${GREEN}localhost:5432${NC}"
echo ""
echo -e "👤 Admin login: admin@theketobay.com / Admin123!"
echo ""

npm run dev
