info in (root/parent, args, context, info)

김종민·2022년 4월 26일
0

insta-backend

목록 보기
26/37

in users.util.js

Mutation은 return 을 ok, error로 지정할 수 있고
또한, mutation은 protectedResolver로 보호할 수 있으나.
Query는 그렇지 않아서 info를 사용해서 query일때 , 대응 방법을 알아봄

export function protectedResolver(ourResolver) {
  return function (root, args, context, info) {
  ///console.log(info)를 해 보면 요청이 왔을때, 
  ///operation.operation에 query인지 mutation인지 찍힘.
  
    if (!context.loggedInUser) {
      const query = info.operation.operation === 'query'
      if (query) {
        return null
        ///req가 query일때, loggedInUser.id가 없으면 null을 return해 줌.
        ///seeFeed같은 경우 protectedResolver가 맨 처음 나옴.
        
        
      } else {
        return {
          ok: false,
          error: 'Please log in to perform this action',
        }
      }
    }
    return ourResolver(root, args, context, info)
  }
}
profile
코딩하는초딩쌤

0개의 댓글