mirror of
https://github.com/tomru/pfadi-bussle.git
synced 2026-03-03 06:27:11 +01:00
28 lines
772 B
TypeScript
28 lines
772 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-buchungen.ics"'
|
|
)
|
|
res.send(ical)
|
|
break
|
|
default:
|
|
res.setHeader('Allow', ['GET'])
|
|
res.status(405).end(`Method ${method} Not Allowed`)
|
|
}
|
|
}
|