import { PlainLocation, PlainBill, MongoLocation } from '@/app/lib/db-types'; import clientPromise from '@/app/lib/mongodb'; import { BillEditForm } from '@/app/ui/BillEditForm'; import { ObjectId } from 'mongodb'; import { notFound } from 'next/navigation'; const fetchBillById = async (locationID:string, billID:string) => { const client = await clientPromise; const db = client.db("rezije"); // find a location with the given locationID const billLocation = await db.collection("lokacije").findOne({ _id: locationID }) if(!billLocation) { console.log(`Location ${locationID} not found`); return(null); } // find a bill with the given billID const mongoBill = billLocation?.bills.find(({ _id }) => _id.toString() === billID); if(!mongoBill) { console.log('Bill not found'); return(null); } const { _id, ...billBase } = mongoBill; return({ id: _id.toString(), ...billBase } as PlainBill); } export default async function Page({ params:{ id } }: { params: { id:string } }) { const [invoiceID, billID] = id.split('-'); const bill = await fetchBillById(invoiceID, billID); if (!bill) { notFound(); } return (
); }