src/app/api/posts/route.tsimport { NextRequest, NextResponse } from 'next/server'import { filterPosts } from '@/utils/filter-posts'export async function GET(req: NextRequest) {const { searchParams } = req.nextUrlconst page = Math.max(1, Number(searchParams.get('page') || '1'))const perPage = Math.min(50,Math.max(1, Number(searchParams.get('per_page') || '15')))const params: Parameters<typeof filterPosts>[0] = { page, perPage }const categorySlug = (searchParams.get('category') || '').trim()if (categorySlug) params.categorySlug = categorySlugconst tagSlug = (searchParams.get('tag') || '').trim()if (tagSlug) params.tagSlug = tagSlugconst authorSlug = (searchParams.get('author') || '').trim()if (authorSlug) params.authorSlug = authorSlugconst exclude = (searchParams.get('exclude_categories') || '').trim()if (exclude) params.categoriesExclude = exclude.split(',').filter(Boolean)
Showing the first 20 lines.
Get full code