diff --git a/server/api/sidebar/index.get.ts b/server/api/sidebar/index.get.ts index 9e4d0f6..21dea2e 100644 --- a/server/api/sidebar/index.get.ts +++ b/server/api/sidebar/index.get.ts @@ -1,6 +1,14 @@ import { SidebarItem } from "@models/sidebarEntry"; -export default cachedEventHandler(async (ev) => { - const si = await SidebarItem.find({}); - return si.map((a) => a.toObject()); -}); +export default cachedEventHandler( + async (ev) => { + const si = await SidebarItem.find({}); + return si.map((a) => a.toObject()); + }, + { + getKey(event) { + return "sidebar"; + }, + maxAge: 60 * 10, + }, +); diff --git a/server/api/user/me/stories.get.ts b/server/api/user/me/stories.get.ts index 7e7cdf7..774095d 100644 --- a/server/api/user/me/stories.get.ts +++ b/server/api/user/me/stories.get.ts @@ -1,11 +1,19 @@ import { listQuerier } from "@server/dbHelpers"; import { isLoggedIn } from "@server/middlewareButNotReally"; -export default cachedEventHandler(async (ev) => { - isLoggedIn(ev); - const id = ev.context.currentUser!._id; - let s = await listQuerier({ author: id }, ev.context, ev); - return { - stories: s.stories, - total: s.stories.length, - }; -}); +export default cachedEventHandler( + async (ev) => { + isLoggedIn(ev); + const id = ev.context.currentUser!._id; + let s = await listQuerier({ author: { $in: [id] } }, ev.context, ev); + return { + stories: s?.stories || [], + total: s?.stories.length || 0, + }; + }, + { + varies: ["Cookie"], + getKey(event) { + return `${event.context.currentUser?._id || null}/stories`; + }, + }, +);