import { NextRequest, NextResponse } from "next/server"; import { withdrawalTransactionDummyData, withdrawalTransactionsColumns, withdrawalTransactionsSearchLabels, } from "./mockData"; import { formatToDateTimeString } from "@/app/utils/formatDate"; export async function GET(request: NextRequest) { const { searchParams } = new URL(request.url); const userId = searchParams.get("userId"); const status = searchParams.get("status"); const dateTime = searchParams.get("dateTime"); const withdrawalMethod = searchParams.get("withdrawalMethod"); let filteredTransactions = [...withdrawalTransactionDummyData]; if (userId) { filteredTransactions = filteredTransactions.filter( (tx) => tx.userId.toString() === userId, ); } if (status) { filteredTransactions = filteredTransactions.filter( (tx) => tx.status.toLowerCase() === status.toLowerCase(), ); } if (withdrawalMethod) { filteredTransactions = filteredTransactions.filter( (tx) => tx.withdrawalMethod.toLowerCase() === withdrawalMethod.toLowerCase(), ); } if (dateTime) { filteredTransactions = filteredTransactions.filter( (tx) => tx.dateTime.split(" ")[0] === formatToDateTimeString(dateTime).split(" ")[0], ); } return NextResponse.json({ tableRows: filteredTransactions, tableSearchLabels: withdrawalTransactionsSearchLabels, tableColumns: withdrawalTransactionsColumns, }); }