Files
myeasycms-v2/packages/cms/keystatic/src/keystatic-route-handler.ts
giancarlo dd99e47e70 Add production environment guards to Keystatic routes
Implemented production environment guards in Keystatic routes to prevent access to certain functions in production mode. Updated 'layout.tsx.hbs' to redirect to home if the environment is production, and modified 'keystatic-route-handler.ts' to return 404 status code if attempting to utilize route handlers while in production.
2024-05-07 19:07:35 +07:00

30 lines
736 B
TypeScript

import { makeRouteHandler } from '@keystatic/next/route-handler';
import config from './keystatic.config';
const handlers = makeRouteHandler({
config,
});
/**
* @name productionGuard
* @description Guard for production environment. Returns 404 if in production.
* @param routeHandler
*/
function productionGuard(routeHandler: (req: Request) => Promise<Response>) {
if (process.env.NODE_ENV === 'production') {
return new Response('Not found', { status: 404 });
}
return (req: Request) => routeHandler(req);
}
/**
* @name keystaticRouteHandlers
* @description Route handlers for keystatic
*/
export const keystaticRouteHandlers = {
POST: productionGuard(handlers.POST),
GET: productionGuard(handlers.GET),
};