2026-01-01 22:24:30 -06:00
|
|
|
/**
|
|
|
|
|
* Cache Invalidation Helper
|
|
|
|
|
* Add to admin routes to clear cache when data changes
|
|
|
|
|
*/
|
|
|
|
|
const { cache } = require("../middleware/cache");
|
|
|
|
|
const logger = require("../config/logger");
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Invalidate product-related cache
|
|
|
|
|
*/
|
|
|
|
|
const invalidateProductCache = () => {
|
|
|
|
|
cache.deletePattern("products");
|
2026-01-18 02:22:05 -06:00
|
|
|
cache.deletePattern("product:"); // Clear individual product caches
|
2026-01-01 22:24:30 -06:00
|
|
|
cache.deletePattern("featured");
|
|
|
|
|
logger.debug("Product cache invalidated");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Invalidate blog-related cache
|
|
|
|
|
*/
|
|
|
|
|
const invalidateBlogCache = () => {
|
|
|
|
|
cache.deletePattern("blog");
|
|
|
|
|
logger.debug("Blog cache invalidated");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Invalidate portfolio-related cache
|
|
|
|
|
*/
|
|
|
|
|
const invalidatePortfolioCache = () => {
|
|
|
|
|
cache.deletePattern("portfolio");
|
|
|
|
|
logger.debug("Portfolio cache invalidated");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Invalidate homepage cache
|
|
|
|
|
*/
|
|
|
|
|
const invalidateHomepageCache = () => {
|
|
|
|
|
cache.deletePattern("homepage");
|
|
|
|
|
logger.debug("Homepage cache invalidated");
|
|
|
|
|
};
|
|
|
|
|
|
2026-01-18 02:22:05 -06:00
|
|
|
/**
|
|
|
|
|
* Invalidate pages cache
|
|
|
|
|
*/
|
|
|
|
|
const invalidatePagesCache = () => {
|
|
|
|
|
cache.deletePattern("pages");
|
|
|
|
|
cache.deletePattern("page:");
|
|
|
|
|
cache.deletePattern("/pages");
|
|
|
|
|
cache.deletePattern("GET:/api/pages");
|
|
|
|
|
logger.debug("Pages cache invalidated");
|
|
|
|
|
};
|
|
|
|
|
|
2026-01-01 22:24:30 -06:00
|
|
|
/**
|
|
|
|
|
* Invalidate all caches
|
|
|
|
|
*/
|
|
|
|
|
const invalidateAllCache = () => {
|
|
|
|
|
cache.clear();
|
|
|
|
|
logger.info("All cache cleared");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
|
invalidateProductCache,
|
|
|
|
|
invalidateBlogCache,
|
|
|
|
|
invalidatePortfolioCache,
|
|
|
|
|
invalidateHomepageCache,
|
2026-01-18 02:22:05 -06:00
|
|
|
invalidatePagesCache,
|
2026-01-01 22:24:30 -06:00
|
|
|
invalidateAllCache,
|
|
|
|
|
};
|