我有一个场景,如果你喜欢一个帖子,它会改变
liked:false 到 liked:true
这个喜欢是基于当前用户是否喜欢该帖子。问题是当新用户注册时,liked尽管新用户不喜欢该帖子,它仍然会显示为真。
我如何能够检查当前用户是否喜欢该帖子?就检查当前用户是否喜欢该帖子而言,我认为我的逻辑有点不对。
我想保留findAll功能,我应该获得所有帖子,而不仅仅是当前用户。
有点像 instagram 或 facebook。
这是帖子数组

这就是我喜欢帖子的方式
喜欢帖子
likePost: async (req: any, res: Response) => {
const created = await models.Likes.findOne({
where: {
userId: req.session.user.id,
resourceId: req.params.id
}
});
console.log(created);
const post = await models.Post.findOne({ where: { id: req.params.id } });
// if like not created then do this
if (!created && post) {
await models.Likes.create({
userId: req.session.user.id,
resourceId: req.params.id
}).then(() => {
post.increment("likeCounts", { by: 1 });
post.update({ liked: req.session.user.id ? true : false });
res.status(200).send({
message: "You liked this post"
});
});
// else if post does not exist
} else if (!post) {
res.status(200).send({
message: "there is not post to be liked"
});
} else {
// else if a like does exist destroy like
await models.Likes.destroy({
where: {
userId: req.session.user.id
}
}).then(() => {
post.decrement("likeCounts", { by: 1 });
res.status(200).send({
message: "You unliked this post"
});
});
}
这就是我获取帖子的方式。
料青山看我应如是
潇湘沐
噜噜哒
随时随地看视频慕课网APP
相关分类