import { storyQuerier } from "@server/dbHelpers"; import { chapterTransformer } from "@server/dbHelpers"; import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn"; import { messages } from "@server/constants"; export default eventHandler(async (ev) => { isLoggedIn(ev); const s = await storyQuerier(ev); const hidden = s.chapters.some((a) => a.hidden); if ( hidden && ev.context.currentUser?._id !== s.author._id && !ev.context.currentUser?.profile.isAdmin ) { throw createError({ statusCode: 403, message: messages[403], }); } const story = s.toObject(); for (let i = 0; i < story.chapters.length; i++) { story.chapters[i] = (await chapterTransformer(s, ev, i)).currentChapter; } return story; });