Files
payload/examples/preview/nextjs/pages/api/preview.ts
2023-02-15 14:23:09 -05:00

30 lines
592 B
TypeScript

import type { NextApiRequest, NextApiResponse } from 'next'
// eslint-disable-next-line consistent-return
const preview = (req: NextApiRequest, res: NextApiResponse): void => {
const {
cookies: { 'payload-token': payloadToken },
query: { url },
} = req
if (!url) {
return res.status(404).json({
message: 'No URL provided',
})
}
if (!payloadToken) {
return res.status(403).json({
message: 'You are not allowed to preview this page',
})
}
res.setPreviewData({
payloadToken,
})
res.redirect(url as string)
}
export default preview