import { NextResponse } from 'next/server';
import { db } from '@/lib/db';
import { sql } from 'drizzle-orm';

export async function GET() {
  const start = Date.now();

  try {
    // Verify database connectivity
    await db.execute(sql`SELECT 1`);
    const dbLatency = Date.now() - start;

    return NextResponse.json({
      status: 'healthy',
      timestamp: new Date().toISOString(),
      uptime: process.uptime(),
      db: { status: 'connected', latencyMs: dbLatency },
    });
  } catch (error) {
    return NextResponse.json(
      {
        status: 'unhealthy',
        timestamp: new Date().toISOString(),
        db: { status: 'disconnected', error: String(error) },
      },
      { status: 503 }
    );
  }
}
