#!/bin/bash
set -e

echo "🚀 Starte VulnManager lokal (ohne Docker)..."
echo ""

# Prüfe Python
if ! command -v python3 &> /dev/null; then
    echo "❌ Python 3 nicht gefunden"
    exit 1
fi

# Erstelle Virtual Environment
if [ ! -d "venv" ]; then
    echo "📦 Erstelle Virtual Environment..."
    python3 -m venv venv
fi

# Aktiviere venv
source venv/bin/activate

# Installiere Dependencies
echo "📥 Installiere Dependencies..."
pip install -q --upgrade pip
pip install -q -r requirements.txt

# Setze SQLite statt PostgreSQL für lokale Entwicklung
export DATABASE_URL="sqlite:///./vulnmanager.db"
export ENV="development"

# Erstelle Datenbank mit SQLAlchemy
echo "🗄️  Erstelle Datenbank..."
python3 << 'PYEOF'
from app.database import engine
from app.models.base import Base
from app.models.user import User, UserRole
from app.auth.jwt_handler import hash_password
from sqlalchemy.orm import Session

# Erstelle Tabellen
Base.metadata.create_all(bind=engine)

# Erstelle Admin-User
from app.database import SessionLocal
db = SessionLocal()

existing = db.query(User).filter(User.username == "admin").first()
if not existing:
    admin = User(
        username="admin",
        email="admin@vulnmanager.local",
        password_hash=hash_password("changeme"),
        role=UserRole.ADMIN,
        is_active=True,
        is_verified=True
    )
    db.add(admin)
    db.commit()
    print("✅ Admin-User erstellt: admin / changeme")
else:
    print("ℹ️  Admin-User existiert bereits")

db.close()
PYEOF

echo ""
echo "╔══════════════════════════════════════════════════════╗"
echo "║           VulnManager läuft lokal! 🎉               ║"
echo "╚══════════════════════════════════════════════════════╝"
echo ""
echo "📡 API: http://localhost:8000"
echo "📚 Docs: http://localhost:8000/docs"
echo "🔐 Login: admin / changeme"
echo ""
echo "Server wird gestartet..."
echo ""

# Starte Server
uvicorn app.main:app --reload --port 8000
