UNPKG

next-acms

Version:

Tools for building decoupled front-ends for Acquia CMS

35 lines (28 loc) 787 B
import { NextApiRequest, NextApiResponse } from 'next'; export async function revalidate( request: NextApiRequest, response: NextApiResponse, ) { let slug = request.query.slug as string; const secret = request.query.secret as string; // Validate secret. if (secret !== process.env.DRUPAL_PREVIEW_SECRET) { return response.status(401).json({ message: 'Invalid secret.' }); } // Validate slug. if (!slug) { return response.status(400).json({ message: 'Invalid slug.' }); } // Fix for home slug. if (slug === process.env.NEXT_PUBLIC_DRUPAL_FRONT_PAGE) { slug = '/'; } try { await response.revalidate(slug); return response.json({}); } catch (error) { return response.status(404).json({ message: error.message, }); } }