import { storyQuerier } from "@server/dbHelpers"; import { chapterTransformer } from "@server/dbHelpers"; import { isLoggedIn } from "@server/middlewareButNotReally"; import { messages } from "@server/constants"; import { IUser } from "@models/user"; 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 as IUser)._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; });