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<EventHandlerRequest>,
	story: IStory,
) {
	let ret: any = {};
	let num: number = event.context.chapterIndex;
	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[num]?.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;
}
