import { platforms } from "@/lib/config/platform"; import { getGames } from "@/lib/igdb"; import { EGameCategory, EGameGenres, EGamePlatform } from "@/types/constants"; import { IPlatformCategrory } from "@/types/igdb-types"; import { NextRequest, NextResponse } from "next/server"; export async function GET(req: NextRequest) { const p = req.nextUrl.searchParams; try { const page = parseInt(p.get('page') as string) const search = p.get('search') const category = p.get('category') const genre = p.get('genre') const platform = p.get('platform') const sortby = p.get('sortby') const order = p.get('order') let filteredPlatforms: EGamePlatform[] | undefined; if (platform) { const selectedCategory = platforms.find( (platformCategory: IPlatformCategrory) => platformCategory.category === platform ); filteredPlatforms = selectedCategory ? selectedCategory.platforms : undefined; } const games = await getGames(page, search ? search : '', category ? EGameCategory[category as keyof typeof EGameCategory] : undefined, genre ? EGameGenres[genre as keyof typeof EGameGenres] : undefined, filteredPlatforms, sortby ? sortby : '', order ? order : '' ); return NextResponse.json(games); } catch (error) { return NextResponse.json(error, { status: 500 }); } }