diff --git a/app/api/prompt/[id]/route.js b/app/api/prompt/[id]/route.js index a8837a4b..5cc545af 100644 --- a/app/api/prompt/[id]/route.js +++ b/app/api/prompt/[id]/route.js @@ -1,4 +1,6 @@ import Prompt from "@models/prompt"; +import User from "@models/user"; + import { connectToDB } from "@utils/database"; export const GET = async (request, { params }) => { diff --git a/app/api/prompt/route.js b/app/api/prompt/route.js index 751cd1f0..87a42da5 100644 --- a/app/api/prompt/route.js +++ b/app/api/prompt/route.js @@ -1,14 +1,29 @@ import Prompt from "@models/prompt"; +import User from "@models/user"; + import { connectToDB } from "@utils/database"; export const GET = async (request) => { try { - await connectToDB() - - const prompts = await Prompt.find({}).populate('creator') - - return new Response(JSON.stringify(prompts), { status: 200 }) + await connectToDB(); + const prompts = await Prompt.find().populate({ + path: "creator" + }); + + const response = new Response(JSON.stringify(prompts), { + status: 200, + }); + + // Add a unique identifier to the URL to force a cache-busting reload + const url = new URL(request.url); + url.searchParams.set("t", Date.now()); + response.headers.set("Cache-Control", "no-cache, no-store, must-revalidate"); + response.headers.set("Pragma", "no-cache"); + response.headers.set("Expires", "0"); + response.headers.set("Location", url.toString()); + + return response; } catch (error) { return new Response("Failed to fetch all prompts", { status: 500 }) } -} \ No newline at end of file +} diff --git a/app/api/users/[id]/posts/route.js b/app/api/users/[id]/posts/route.js index 0c275977..124d3d7d 100644 --- a/app/api/users/[id]/posts/route.js +++ b/app/api/users/[id]/posts/route.js @@ -1,4 +1,6 @@ import Prompt from "@models/prompt"; +import User from "@models/user"; + import { connectToDB } from "@utils/database"; export const GET = async (request, { params }) => {