Files
pfadi-bussle/pages/api/daysbooked.ical.tsx
2020-09-18 00:53:10 +02:00

28 lines
762 B
TypeScript

import { NextApiRequest, NextApiResponse } from 'next'
import { getBookings } from '../../db/index'
import { generateBookedCalendar } from '../../helpers/ical'
export default async function useHandler(
req: NextApiRequest,
res: NextApiResponse
) {
const { method } = req
switch (method) {
case 'GET':
const bookings = await getBookings()
const ical = generateBookedCalendar(bookings)
res.statusCode = 200
res.setHeader('Content-Type', 'text/calendar;charset=utf-8')
res.setHeader(
'Content-Disposition',
'attachment; filename="pfadi-bussle.ics"'
)
res.send(ical)
break
default:
res.setHeader('Allow', ['GET'])
res.status(405).end(`Method ${method} Not Allowed`)
}
}