From 7f463d70ce23745134853f9e3b9b3d463c5a7efe Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Sat, 2 Mar 2024 12:57:26 -0600 Subject: [PATCH] Improve photo cache invalidation --- src/photo/cache.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/photo/cache.ts b/src/photo/cache.ts index 1741e9b4..aa37e9f1 100644 --- a/src/photo/cache.ts +++ b/src/photo/cache.ts @@ -25,7 +25,16 @@ import { } from '@/services/vercel-postgres'; import { parseCachedPhotoDates, parseCachedPhotosDates } from '@/photo'; import { createCameraKey } from '@/camera'; -import { PATHS_ADMIN, PATH_ADMIN, pathForPhoto } from '@/site/paths'; +import { + PATHS_ADMIN, + PATH_ADMIN, + PATH_GRID, + PATH_ROOT, + PREFIX_CAMERA, + PREFIX_FILM_SIMULATION, + PREFIX_TAG, + pathForPhoto, +} from '@/site/paths'; // Table key const KEY_PHOTOS = 'photos'; @@ -104,10 +113,18 @@ export const revalidateAdminPaths = () => { }; export const revalidatePhoto = (photoId: string) => { + // Tags revalidateTag(photoId); revalidateTagsKey(); - revalidatePath('/'); + revalidateCamerasKey(); + revalidateFilmSimulationsKey(); + // Paths revalidatePath(pathForPhoto(photoId)); + revalidatePath(PATH_ROOT); + revalidatePath(PATH_GRID); + revalidatePath(PREFIX_TAG, 'layout'); + revalidatePath(PREFIX_CAMERA, 'layout'); + revalidatePath(PREFIX_FILM_SIMULATION, 'layout'); revalidatePath(PATH_ADMIN, 'layout'); };