import { NextRequest, NextResponse } from 'next/server'; import { LinkQueryParams } from '../types'; import { getLinks } from './service'; export async function GET(request: NextRequest) { try { const searchParams = request.nextUrl.searchParams; // Parse request parameters const params: LinkQueryParams = { limit: searchParams.has('limit') ? Number(searchParams.get('limit')) : 10, page: searchParams.has('page') ? Number(searchParams.get('page')) : 1, searchTerm: searchParams.get('search') || '', tagFilter: searchParams.get('tag') || '', }; // Handle active status filter const activeFilter = searchParams.get('active'); if (activeFilter === 'true') params.isActive = true; if (activeFilter === 'false') params.isActive = false; // Get link data const result = await getLinks(params); return NextResponse.json(result); } catch (error) { console.error('Failed to fetch links:', error); return NextResponse.json( { error: 'Failed to fetch links', message: (error as Error).message }, { status: 500 } ); } }