From 33aa98e4569ca6a48b39ace1902e3d0b53dc57b1 Mon Sep 17 00:00:00 2001 From: bloodwiing Date: Fri, 17 May 2024 08:34:52 +0300 Subject: [PATCH] Add: Cache full Category list --- src/lib/server/db/category.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/server/db/category.js b/src/lib/server/db/category.js index 88c0746..26967b6 100644 --- a/src/lib/server/db/category.js +++ b/src/lib/server/db/category.js @@ -45,6 +45,10 @@ export const getCategoriesCachedByRef = refExtendCachedMethod(getCategoriesCache export async function getCategories(category_ids = undefined) { if (category_ids !== undefined && category_ids.length == 0) return new Map(); + if (category_ids === undefined && cache.has('all')) { + return /** @type {Result} */ (cache.get('all')); + } + const filter = category_ids ? sql`WHERE id IN ${ sql(category_ids) }` : sql``; const query = sql` @@ -61,7 +65,11 @@ export async function getCategories(category_ids = undefined) { categories.forEach(row => { result.set(row['id'], parseCategoryFromRow(row)); - }) + }); + + if (category_ids === undefined) { + cache.set('all', result); + } return updateCategoryCache(result); }