From 186752c177e7f605f9b7928280b1f8d4654ad87d Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Sat, 18 Nov 2023 00:27:18 -0600 Subject: [PATCH] Refine page validation --- src/cache/index.ts | 12 ++++++------ src/photo/actions.ts | 3 +-- src/site/paths.ts | 8 +++++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/cache/index.ts b/src/cache/index.ts index 0065894a..042554df 100644 --- a/src/cache/index.ts +++ b/src/cache/index.ts @@ -25,7 +25,7 @@ import { parseCachedPhotoDates, parseCachedPhotosDates } from '@/photo'; import { getBlobPhotoUrls, getBlobUploadUrls } from '@/services/blob'; import type { Session } from 'next-auth'; import { createCameraKey } from '@/camera'; -import { PATHS_ADMIN, PATHS_TO_CACHE } from '@/site/paths'; +import { PATHS_ADMIN } from '@/site/paths'; // Table key const KEY_PHOTOS = 'photos'; @@ -102,7 +102,7 @@ export const revalidateAllKeys = () => { export const revalidateAllKeysAndPaths = () => { revalidateAllKeys(); - PATHS_TO_CACHE.forEach(path => revalidatePath(path)); + revalidatePath('/', 'layout'); }; export const revalidateAdminPaths = () => { @@ -125,10 +125,10 @@ export const getPhotosCountCached = ); export const getPhotosCountIncludingHiddenCached = - unstable_cache( - getPhotosCountIncludingHidden, - [KEY_PHOTOS, KEY_COUNT, KEY_HIDDEN], - ); + unstable_cache( + getPhotosCountIncludingHidden, + [KEY_PHOTOS, KEY_COUNT, KEY_HIDDEN], + ); export const getPhotosTagCountCached = unstable_cache( diff --git a/src/photo/actions.ts b/src/photo/actions.ts index 4e42d949..6cf42747 100644 --- a/src/photo/actions.ts +++ b/src/photo/actions.ts @@ -56,8 +56,7 @@ export async function deletePhotoAction(formData: FormData) { sqlDeletePhoto(formData.get('id') as string), ]); - revalidatePhotosKey(); - revalidateAdminPaths(); + revalidateAllKeysAndPaths(); }; export async function deletePhotoTagGloballyAction(formData: FormData) { diff --git a/src/site/paths.ts b/src/site/paths.ts index 9acce12f..77c8d9f2 100644 --- a/src/site/paths.ts +++ b/src/site/paths.ts @@ -22,9 +22,10 @@ export const PREFIX_CAMERA = '/shot-on'; export const PREFIX_FILM_SIMULATION = '/film'; // Dynamic paths -const PATH_PHOTO_DYNAMIC = `${PREFIX_PHOTO}/:photoId`; -const PATH_TAG_DYNAMIC = `${PREFIX_TAG}/:tag`; -const PATH_CAMERA_DYNAMIC = `${PREFIX_CAMERA}/:camera`; +const PATH_PHOTO_DYNAMIC = `${PREFIX_PHOTO}/[photoId]`; +const PATH_TAG_DYNAMIC = `${PREFIX_TAG}/[tag]`; +const PATH_CAMERA_DYNAMIC = `${PREFIX_CAMERA}/[camera]`; +const PATH_FILM_SIMULATION_DYNAMIC = `${PREFIX_FILM_SIMULATION}/[simulation]`; // Admin paths export const PATH_ADMIN_PHOTOS = `${PATH_ADMIN}/photos`; @@ -55,6 +56,7 @@ export const PATHS_TO_CACHE = [ PATH_PHOTO_DYNAMIC, PATH_TAG_DYNAMIC, PATH_CAMERA_DYNAMIC, + PATH_FILM_SIMULATION_DYNAMIC, ...PATHS_ADMIN, ];