infoalloggi-monorepo/apps/infoalloggi/src/pages/api/revalidation.ts

32 lines
759 B
TypeScript
Raw Normal View History

import type { NextApiRequest, NextApiResponse } from "next";
import { env } from "~/env.mjs";
export default async function handler(
req: NextApiRequest,
res: NextApiResponse,
) {
if (req.query.secret !== env.REVALIDATION_SECRET) {
return res.status(401).json({ message: "Invalid token" });
}
const path = req.query.path as string;
if (!path) {
return res.status(400).json({ message: "Missing path parameter" });
}
try {
await res.revalidate(`${path}`);
return res.json({
success: true,
message: `Page ${path} revalidated successfully`,
});
} catch (err) {
console.error("Error revalidating:", err);
return res.status(500).json({
success: false,
message: err instanceof Error ? err.message : "Unknown error",
});
}
}