cache-revalidation.ts 769 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // "use server";
  2. import { revalidatePath } from "next/cache";
  3. /**
  4. * Revalidate all product-related caches
  5. */
  6. export async function revalidateProducts() {
  7. revalidatePath("/", "layout");
  8. revalidatePath("/product", "page");
  9. }
  10. /**
  11. * Revalidate search-related caches
  12. */
  13. export async function revalidateSearch() {
  14. revalidatePath("/search", "page");
  15. }
  16. /**
  17. * Revalidate a specific product page
  18. */
  19. export async function revalidateProductPage(productId: string) {
  20. revalidatePath(`/product/${productId}`, "page");
  21. }
  22. /**
  23. * Revalidate search page
  24. */
  25. export async function revalidateSearchPage() {
  26. revalidatePath("/search", "page");
  27. }
  28. /**
  29. * Revalidate all caches (use sparingly)
  30. */
  31. export async function revalidateAll() {
  32. revalidatePath("/", "layout");
  33. }