[인스타클론코딩] [Server].17 - 댓글 갯수 세기
by 한만섭
- TOC
코드
import { prisma } from '../../../../generated/prisma-client';
export default {
Query: {
seeFullPost: async (_, args, { request, isAuthenticated }) => {
isAuthenticated(request);
const { id } = args;
//post , comments , likeCount
const post = await prisma.post({ id });
const comments = await prisma.post({ id }).comments();
const likeCount = await prisma
.likesConnection({ where: { post: { id } } })
.aggregate()
.count();
return {
post,
comments,
likeCount
};
}
}
};
댓글 주인 알아내기
지금까지 한것은 게시물에 있는 Comment, like model들의 정보를 얻기 위한 것 이었습니다. 이제는 게시물의 댓글의 유저정보를 알아내려고 합니다. 이 것은 comment를 얻어오는 곳에서 $fragment를 사용해야합니다.
export const COMMENT_FRAGMENT = `
fragment CommentParts on Comment {
id
text
user {
username
}
}
`;
import { prisma } from '../../../../generated/prisma-client';
import { COMMENT_FRAGMENT } from '../../../fragments';
export default {
Query: {
seeFullPost: async (_, args, { request, isAuthenticated }) => {
isAuthenticated(request);
const { id } = args;
//post , comments , likeCount
const post = await prisma.post({ id });
const comments = await prisma
.post({ id })
.comments()
.$fragment(COMMENT_FRAGMENT);
const likeCount = await prisma
.likesConnection({ where: { post: { id } } })
.aggregate()
.count();
return {
post,
comments,
likeCount
};
}
}
};
Subscribe via RSS