2023-10-02 21:43:24 -04:00
|
|
|
import san from "sanitize-html";
|
2023-12-11 21:29:46 -05:00
|
|
|
import { storyQuerier } from "~/lib/server/dbHelpers";
|
2023-10-02 21:43:24 -04:00
|
|
|
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
|
|
|
|
import { Story } from "~/models/stories";
|
|
|
|
import { Review } from "~/models/stories/review";
|
|
|
|
|
|
|
|
export default eventHandler(async (ev) => {
|
|
|
|
isLoggedIn(ev);
|
|
|
|
let body = await readBody(ev);
|
|
|
|
let parent = await storyQuerier(ev);
|
|
|
|
let newReview = new Review({
|
|
|
|
text: san(body.review),
|
|
|
|
leftOn: parent._id,
|
|
|
|
author: ev.context.currentUser!._id,
|
|
|
|
replyingTo: null,
|
|
|
|
replies: [],
|
|
|
|
datePosted: new Date(),
|
|
|
|
});
|
|
|
|
await newReview.save();
|
|
|
|
parent.reviews += 1;
|
|
|
|
await parent.save();
|
|
|
|
// TODO: emails lol
|
|
|
|
return {
|
|
|
|
success: true,
|
|
|
|
data: newReview.toObject(),
|
|
|
|
};
|
|
|
|
});
|