프로젝트
[인스타그램 클론코딩] #3.12 editUser seeUser Resolver
jhkang-dev
2020. 9. 8. 13:47
안녕하세요 강정호 입니다
오늘은 editUser와 seeUser API를 개발해 보겠습니다.
seeUser.graphql
type Query {
seeUser(id: String!): User!
}
seeUser.js
import { prisma } from "../../../../generated/prisma-client";
export default {
Query: {
seeUser: async (_, args, { request, isAuthenticated }) => {
const { id } = args;
return prisma.user({id});
}
}
}
테스트
id를 사용하여 User 데이터를 정상적으로 조회 확인.
editUser.graphql
type Mutation {
editUser(
userName: String
, email: String
, firstName: String
, lastName: String
, bio: String
): User!
}
editUser.js
import { prisma } from "../../../../generated/prisma-client";
export default {
Mutation: {
editUser: async (_, args, {request, isAuthenticated}) => {
isAuthenticated(request);
const { userName
, email
, firstName
, lastName
, bio } = args;
const { user } = request;
return prisma.updateUser(
{where: {id: user.id},
data: {
userName, email, firstName, lastName, bio
}
});
}
}
}
테스트
bio를 위와 같이 변경하였다. 변경하지 않는 값들은 그대로 보존된다.