[인스타클론코딩] [App].15 - 앱 마무리
by 한만섭
ToDo
- [] 좋아요 에러
- [] 업로드시 post밀림 현상
- [] 사진 앨범 선택
- [] 프로필 사진 세로 배치
- [] notification
- [] message
- [] explorer
backend 수정
import { prisma } from '../../../generated/prisma-client';
export default {
Post: {
isLiked: async (parent, __, { request }) => {
const { id: parentId } = parent;
const { user } = request;
console.log(parentId, user);
const result = await prisma.$exists.like({
AND: [
{
user: {
id: user.id
}
},
{
post: {
id: parentId
}
}
]
});
console.log(result);
return result;
},
likeCount: async (parent, _, __) =>
await prisma
.likesConnection({ where: { post: { id: parent.id } } })
.aggregate()
.count(),
commentCount: async (parent, _, __) =>
await prisma
.commentsConnection({ where: { post: { id: parent.id } } })
.aggregate()
.count(),
files: parent => prisma.post({ id: parent.id }).files(),
comments: parent => prisma.post({ id: parent.id }).comments(),
user: parent => prisma.post({ id: parent.id }).user(),
Likes: parent => prisma.post({ id: parent.id }).Likes()
}
};
기존에는 post에 postid와 좋아요 리스트 중에 사용자의 id가 있는지 확인하는 방식이었는데, 이게 제대로 동작을 하지 않아서 아래와 같이 like
객체 중에 userid 와 postId가 일치하는 것이 있으면 true를 리턴해주는 방식을 사용했습니다.
Post.js
prisma.$exists.like({
AND: [
{
user: {
id: user.id
}
},
{
post: {
id: parentId
}
}
]
});
Subscribe via RSS