Instagram Clone/GraghQL API

IsSelf and IsFollowing

Learning-Developer 2019. 10. 18. 13:04

computed or custom field

datamodel.prisma
models.graphql

위 두 이미지에서 보여지듯이, prisma 파일과 graphql 파일에서 정의하는 User가 다르다. 

graphql에서 정의한 user에는 prisma에서 정의한 user에 없는 요소들이 들어 있다. 

이런 요소들은 아래와 같이 parent라는 속성을 이용해 resolver를 만든다. 

Database에 First name과 Last name이 있다고 하자. 

Full name을 요청하고 싶으면 어떻게 하면 될까? 

request하는 user를 불러와서 first name과 last name을 각각 불러준다. 

여기서 user를 parent라고 한다.

내가 A라는 사람을 팔로우 하는지 판단하는 isFollowing 함수는, 

prisma에 등록된 user 중 1) id가 요청자의 id와 같으면서, 2) A의 아이디를 follow하는 user가 존재하는지 찾는다. 

팔로우 하는 사람 id를 seeUser 했을때

내 아이디를 seeUser 했을 때