Files
Steven 4466ba436b chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

32 lines
952 B
TypeScript

import type { NextApiRequest, NextApiResponse } from "next";
import { validatePreview } from "../../lib/api";
export default async function handler(
req: NextApiRequest,
res: NextApiResponse,
) {
// Check the secret and next parameters
// This secret should only be known to this API route and the CMS
//validate our preview key, also validate the requested page to preview exists
const validationResp = await validatePreview({
agilityPreviewKey: req.query.agilitypreviewkey,
slug: req.query.slug,
contentID: req.query.contentid,
});
if (validationResp.error) {
return res.status(401).end(`${validationResp.message}`);
}
// Enable Draft Mode by setting the cookie
res.setDraftMode({ enable: true });
// Redirect to the slug
if (!("slug" in validationResp)) {
throw new Error("invariant missing slug in validation response");
}
res.writeHead(307, { Location: validationResp.slug });
res.end();
}