import { BillDocument } from '../../../../db/bill' import { createBill, patchBill } from '../../../../db/index' import withSession from '../../../../lib/session' export default withSession(async function billHandler(req, res) { const { method, query: { uuid: uuids }, } = req const bookingUUID = Array.isArray(uuids) ? uuids[0] : uuids const user = req?.session.get('user') if (!user || user.role !== 'admin') { res.status(401).end('Your are unauthorized. Best to move along...') return } let bill: BillDocument switch (method) { case 'POST': try { bill = await createBill(bookingUUID, req.body) res.status(200).json(bill) } catch (e) { console.error(e) res.status(500).end(`Internal Server Error...Guru is meditating...`) return } break case 'PATCH': try { bill = await patchBill(bookingUUID, req.body) res.status(200).json(bill) } catch (e) { console.error(e) res.status(500).end(`Internal Server Error...Guru is meditating...`) return } break default: res.setHeader('Allow', ['POST', 'PATCH']) res.status(405).end(`Method ${method} Not Allowed`) } })