import { NextRequest, NextResponse } from "next/server"; import { depositTransactionDummyData, depositTransactionsColumns, depositTransactionsSearchLabels, // extraColumns } from "./mockData"; // import { formatToDateTimeString } from "@/app/utils/formatDate"; export async function GET(request: NextRequest) { const { searchParams } = new URL(request.url); const status = searchParams.get("status"); const userId = searchParams.get("userId"); const depositMethod = searchParams.get("depositMethod"); const merchandId = searchParams.get("merchandId"); const transactionId = searchParams.get("transactionId"); // const dateTime = searchParams.get("dateTime"); const dateTimeStart = searchParams.get("dateTime_start"); const dateTimeEnd = searchParams.get("dateTime_end"); let filteredTransactions = [...depositTransactionDummyData]; if (userId) { filteredTransactions = filteredTransactions.filter( (tx) => tx.userId.toString() === userId, ); } if (status) { filteredTransactions = filteredTransactions.filter( (tx) => tx.status.toLowerCase() === status.toLowerCase(), ); } if (depositMethod) { filteredTransactions = filteredTransactions.filter( (tx) => tx.depositMethod.toLowerCase() === depositMethod.toLowerCase(), ); } if (merchandId) { filteredTransactions = filteredTransactions.filter( (tx) => tx.merchandId.toString() === merchandId, ); } if (transactionId) { filteredTransactions = filteredTransactions.filter( (tx) => tx.transactionId.toString() === transactionId, ); } if (dateTimeStart && dateTimeEnd) { const start = new Date(dateTimeStart); const end = new Date(dateTimeEnd); if (isNaN(start.getTime()) || isNaN(end.getTime())) { return NextResponse.json( { error: "Invalid date range", }, { status: 400 }, ); } filteredTransactions = filteredTransactions.filter((tx) => { const txDate = new Date(tx.dateTime); if (isNaN(txDate.getTime())) { return false; } return txDate >= start && txDate <= end; }); } return NextResponse.json({ tableRows: filteredTransactions, tableSearchLabels: depositTransactionsSearchLabels, tableColumns: depositTransactionsColumns, }); }