25 lines
755 B
TypeScript
25 lines
755 B
TypeScript
import { NextRequest, NextResponse } from 'next/server';
|
|
import { getSession } from '@/lib/session';
|
|
import { db } from '@/lib/db';
|
|
import { courts } from '@/lib/db/schema';
|
|
import { eq } from 'drizzle-orm';
|
|
|
|
export async function GET(request: NextRequest) {
|
|
try {
|
|
const session = await getSession();
|
|
if (!session) {
|
|
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
|
}
|
|
|
|
// Get all active courts (users can read courts)
|
|
const activeCourts = await db.select().from(courts).where(eq(courts.isActive, true));
|
|
|
|
return NextResponse.json({
|
|
courts: activeCourts,
|
|
});
|
|
} catch (error) {
|
|
console.error('Error fetching courts:', error);
|
|
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
|
}
|
|
}
|