rename api end url to bookings

This commit is contained in:
Thomas Ruoff
2021-06-21 23:35:00 +02:00
parent 3babb39ec2
commit 718ed41f8d
13 changed files with 15 additions and 15 deletions

View File

@@ -0,0 +1,43 @@
import { Error } from 'mongoose'
import { NextApiRequest, NextApiResponse } from 'next'
import { Booking } from '../../../db/booking'
import { createBooking } from '../../../db/index'
import {
sendReceivedBookingAdminMail,
sendReceivedBookingBookerMail,
} from '../../../helpers/mail'
export default async function userHandler(
req: NextApiRequest,
res: NextApiResponse
): Promise<void> {
const { method } = req
let booking: Booking
switch (method) {
case 'POST':
try {
booking = await createBooking(req.body)
res.status(200).json(booking)
} catch (e) {
console.error(e)
if (e instanceof Error.ValidationError) {
res.status(400).json({ message: e.message, errors: e.errors })
return
}
res.status(500).end(`Internal Server Error...Guru is meditating...`)
return
}
console.log(`received booking ${booking.uuid} from {booking.email}`)
await sendReceivedBookingAdminMail(booking)
console.log(`send booking ${booking.uuid} received to admin`)
await sendReceivedBookingBookerMail(booking)
console.log(`send booking ${booking.uuid} received to {booking.email}`)
break
default:
res.setHeader('Allow', ['POST'])
res.status(405).end(`Method ${method} Not Allowed`)
}
}