From 82886ec2bb47d41e2e8be2dcc45c0aeb8bae787f Mon Sep 17 00:00:00 2001 From: Jared Schoeny Date: Tue, 27 Jan 2026 19:18:39 -1000 Subject: [PATCH] Add route for invalidating discover cache --- src/app/api/discover/refresh/route.ts | 19 +++++++++++++++++++ src/app/discover/actions.ts | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/app/api/discover/refresh/route.ts diff --git a/src/app/api/discover/refresh/route.ts b/src/app/api/discover/refresh/route.ts new file mode 100644 index 0000000..ac67aee --- /dev/null +++ b/src/app/api/discover/refresh/route.ts @@ -0,0 +1,19 @@ +import { NextRequest, NextResponse } from "next/server"; +import { revalidateTag } from "next/cache"; +import { checkUserRoles } from "@/utils/user"; +import { createClient } from "@/utils/supabase/server"; + +export async function GET(req: NextRequest) { + const supa = await createClient(); + const { data: user } = await supa.auth.getUser(); + if (!user) { + return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); + } + const { isAdmin } = await checkUserRoles(supa); + if (!isAdmin) { + return NextResponse.json({ error: "Forbidden" }, { status: 403 }); + } + + revalidateTag("discover"); + return NextResponse.redirect(new URL("/discover", req.url)); +} diff --git a/src/app/discover/actions.ts b/src/app/discover/actions.ts index c995e6d..ff03e9b 100644 --- a/src/app/discover/actions.ts +++ b/src/app/discover/actions.ts @@ -328,7 +328,7 @@ export async function getDiscoverData(sort: DiscoverSortOption): Promise