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)
}
}