코드

  • seeFeed.js

    import { prisma } from '../../../../generated/prisma-client';
    import { POST_FRAGMENT } from '../../../fragments';
    
    export default {
        Query: {
            seeFeed: async (_, __, { request, isAuthenticated }) => {
                isAuthenticated(request);
                const { user } = request;
                return await prisma
                    .posts({
                        where: {
                            OR: [{ user }, { user: { followers_some: user } }]
                        }
                    })
                    .$fragment(POST_FRAGMENT);
            }
        }
    };
    
  • 내 게시물과 팔로워 게시물을 가져오는 부분

    prisma
    .posts({
        where: {
            OR: [{ user }, { user: { followers_some: user } }] // Post의 작성자가 자기 자신 이거나 , 작성자의 팔로워중에 자기자신이 있는 게시물
        }
    })
    .$fragment(POST_FRAGMENT); // username을 사용하기 위한 fragment