diff --git a/app/api/sites/get_all/route.ts b/app/api/sites/get_all/route.ts index b232446..04d5759 100644 --- a/app/api/sites/get_all/route.ts +++ b/app/api/sites/get_all/route.ts @@ -1,9 +1,25 @@ -import { NextResponse } from "next/server"; +import { NextRequest, NextResponse } from "next/server"; import prisma from "@/app/prisma"; -export async function GET() { +interface QueryParams { + currentPage: number; + pageSize: number; + itemPerPage: number; +} + +export async function GET(request: NextRequest) { + const { searchParams } = request.nextUrl; + const currentPage = Number(searchParams.get("currentPage")) || 1; + const pageSize = Number(searchParams.get("pageSize")) || 10; + const itemPerPage = Number(searchParams.get("itemPerPage")) || 10; + + const skip = (currentPage - 1) * pageSize; + const take = pageSize; try { - const sites = await prisma.site.findMany(); + const sites = await prisma.site.findMany({ + skip, + take, + }); return NextResponse.json({ sites }, { status: 200 }); } catch (error: any) { return NextResponse.json({ error: "Internal Server Error" }, { status: 500 });