import { env } from "@/env/server" import { revalidateTag } from "next/cache" import { NextRequest } from "next/server" export async function POST(request: NextRequest) { try { const secret = request.nextUrl.searchParams.get("secret") ?? "" const tagsParam = request.nextUrl.searchParams.get("tags") ?? "" if (secret !== env.REVALIDATE_SECRET) { return Response.json( { message: "Invalid secret", now: Date.now(), revalidated: false, }, { status: 401, } ) } if (!tagsParam) { return Response.json( { message: "Missing tags param", now: Date.now(), revalidated: false, }, { status: 400, } ) } const tags = tagsParam.split(",") if (!tags.length) { return Response.json( { message: "No tags", now: Date.now(), revalidated: false, }, { status: 400, } ) } tags.forEach((tag) => { revalidateTag(tag) }) return Response.json({ revalidated: true, now: Date.now() }) } catch (error) { console.info("Failed to revalidate tag(s)") console.error(error) return Response.json( { revalidated: false, now: Date.now() }, { status: 500 } ) } }