router.post("/post/:postId/favorites", authMiddleware, async (req, res) => {
const { postId } = req.params;
const { userId } = req.user;
try {
const existingLike = await prisma.favorites.findFirst({
where: {
postId: +postId,
userId: userId,
},
})
if (!existingLike) {
return res
.status(400)
. json({ errorMessage: "이미 좋아요 했습니다.!!" });
}
const favoritesPosts = await prisma.$transaction([
prisma.favorites.create({
data: {
postId: +postId,
userId: userId,
},
}),
prisma.posts.update({
where: { postId: +postId },
data: { fav_cnt: { increment: 1 } },
}),
]);
return res.status(201).json({ message: "팔로우 성공", favoritesPosts });
} catch (err) {
next(err);
}
});