import type { H3Event, EventHandlerRequest } from "h3"; import type { Document } from "mongoose"; import { isFicmasHidden } from "~/lib/functions"; import { IStory } from "~/models/stories"; import { messages } from "../constants"; export default async function ( event: H3Event, story: IStory, idx: number, ) { let ret: any = {}; if (story.ficmas != null) { if (isFicmasHidden(story)) { ret = { statusCode: 423, message: `TOP SECRET! This story is part of an ongoing challenge. You'll be able to read it after the challenge's reveal date.`, }; } } if ( story.chapters[idx]?.hidden && event.context.currentUser?._id !== story.author._id && !event.context.currentUser?.profile.isAdmin ) { ret.statusCode = 403; ret.message = messages[403]; } return !!Object.keys(ret).length ? ret : null; }