route.ts 854 B

12345678910111213141516171819202122232425262728
  1. import { NextResponse } from 'next/server';
  2. import { fetchOrderbook } from '@/lib/polymarket-api';
  3. export const dynamic = 'force-dynamic';
  4. export async function GET(request: Request) {
  5. const { searchParams } = new URL(request.url);
  6. const tokenId = searchParams.get('tokenId');
  7. const noTokenId = searchParams.get('noTokenId') || undefined;
  8. if (!tokenId) {
  9. return NextResponse.json({ error: 'tokenId is required' }, { status: 400 });
  10. }
  11. try {
  12. const orderbook = await fetchOrderbook(tokenId, noTokenId);
  13. if (!orderbook) {
  14. return NextResponse.json({ error: 'Orderbook not found' }, { status: 404 });
  15. }
  16. return NextResponse.json(orderbook);
  17. } catch (err) {
  18. console.error('Orderbook API error:', err);
  19. return NextResponse.json(
  20. { error: 'Failed to fetch orderbook' },
  21. { status: 500 },
  22. );
  23. }
  24. }