mirror of
https://github.com/journey-ad/Bitmagnet-Next-Web
synced 2024-11-21 17:39:35 +00:00
⚡ Caching time
This commit is contained in:
parent
3a88b39e3b
commit
3b2007de8d
@ -88,5 +88,11 @@
|
||||
"next": ["const", "let", "var"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"prettier/prettier": [
|
||||
"warn",
|
||||
{
|
||||
"endOfLine": "auto"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 158 KiB |
@ -26,7 +26,7 @@ const query = gql`
|
||||
`;
|
||||
|
||||
// Function to handle GET requests
|
||||
export async function GET(request: Request) {
|
||||
const handler = async(request: Request) => {
|
||||
const { searchParams } = new URL(request.url);
|
||||
const hash = searchParams.get("hash");
|
||||
|
||||
@ -34,7 +34,7 @@ export async function GET(request: Request) {
|
||||
if (!hash) {
|
||||
return NextResponse.json(
|
||||
{
|
||||
message: "hash is required",
|
||||
message: "`hash` is required",
|
||||
status: 400,
|
||||
},
|
||||
{
|
||||
@ -76,3 +76,5 @@ export async function GET(request: Request) {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export { handler as GET, handler as POST };
|
||||
|
@ -57,7 +57,7 @@ const schema = z.object({
|
||||
withTotalCount: z.coerce.boolean().default(false),
|
||||
});
|
||||
|
||||
export async function GET(request: Request) {
|
||||
const handler = async (request: Request) => {
|
||||
// Extract search parameters from the request URL
|
||||
const { searchParams } = new URL(request.url);
|
||||
const params = Object.fromEntries(searchParams.entries());
|
||||
@ -92,12 +92,13 @@ export async function GET(request: Request) {
|
||||
variables: {
|
||||
queryInput: safeParams,
|
||||
},
|
||||
fetchPolicy: "no-cache",
|
||||
});
|
||||
|
||||
return NextResponse.json(
|
||||
{
|
||||
data: data.search,
|
||||
message: "Success",
|
||||
message: "success",
|
||||
status: 200,
|
||||
},
|
||||
{
|
||||
@ -119,3 +120,5 @@ export async function GET(request: Request) {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export { handler as GET, handler as POST };
|
||||
|
@ -14,7 +14,9 @@ async function fetchData(hash64: string) {
|
||||
notFound();
|
||||
}
|
||||
|
||||
const data = await apiFetch(`/api/detail?hash=${hash}`); // Fetch data from API
|
||||
const data = await apiFetch(`/api/detail?hash=${hash}`, {
|
||||
next: { revalidate: 60 * 60 * 24 * 7 }, // cache for 7 days
|
||||
});
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { Metadata } from "next";
|
||||
import { redirect } from "next/navigation";
|
||||
import { getTranslations } from "next-intl/server";
|
||||
import { Link } from "@nextui-org/react";
|
||||
|
||||
@ -8,7 +7,6 @@ import SearchResultsList from "@/components/SearchResultsList";
|
||||
import apiFetch from "@/utils/api";
|
||||
import { MagnetIcon } from "@/components/icons";
|
||||
import { siteConfig } from "@/config/site";
|
||||
import { Toast } from "@/utils";
|
||||
import {
|
||||
DEFAULT_SORT_TYPE,
|
||||
SEARCH_PAGE_SIZE,
|
||||
@ -70,7 +68,9 @@ async function fetchData({
|
||||
}
|
||||
|
||||
try {
|
||||
const resp = await apiFetch(`/api/search?${params.toString()}`);
|
||||
const resp = await apiFetch(`/api/search?${params.toString()}`, {
|
||||
next: { revalidate: 60 * 60 * 6 }, // cache for 6 hours
|
||||
});
|
||||
|
||||
if (isNewSearch) {
|
||||
totalCount = resp.data.total_count;
|
||||
|
Loading…
Reference in New Issue
Block a user