import { NextRequest, NextResponse } from 'next/server';
import { query } from '@/lib/db';

export async function GET(
  request: NextRequest,
  { params }: { params: Promise<{ slug: string }> }
) {
  const { slug } = await params;

  try {
    const result = await query(
      `SELECT * FROM sc_blog_posts WHERE slug = $1 AND status = 'published'`,
      [slug]
    );

    if (result.rows.length === 0) {
      return NextResponse.json({ error: 'Post not found' }, { status: 404 });
    }

    // Increment page views (fire and forget)
    query(
      `UPDATE sc_blog_posts SET page_views = page_views + 1 WHERE slug = $1`,
      [slug]
    ).catch(() => {});

    return NextResponse.json({ post: result.rows[0] });
  } catch (error) {
    console.error('[blog api] Post error:', error);
    return NextResponse.json({ error: 'Failed to fetch post' }, { status: 500 });
  }
}
