티스토리 뷰

안녕하세요 강정호입니다

 

오늘은 인스타그램 클론코딩에서 사용자의 계정을 만드는 방법에 대해서 다뤄보겠습니다.

 

Prisma에 사용자 객체를 생성하기 위해서는 아래와 같이 graphql파일과 js 파일이 필요합니다.

 

createAccount.graphql

작업유형

1. Query : 데이터를 조회(GET)

2. Mutation : 데이터 생성(INSERT), 수정(UPDATE), 삭제(DELETE)

Mutation 작업으로 createAccount 함수가 실행이 되면 User 객체가 데이터베이스에 생성.

 

createAccount.js

import { prisma } from "../../../../generated/prisma-client";

export default {

    /* Mutation 작업유형일 경우에 */ 
    Mutation: {
        // createAccount 함수를 호출한다.
        createAccount: async(_, args) => {
            // args는 userName, email, firstName, lastName, bio 매개변수로 가지고 있다.
            // args의 매개변수 값을 각각의 변수에 할당.
            const { userName, email, firstName="", lastName = "", bio = "" } = args;

            // prisma client에 내장된 createUser를 사용하여 User를 생성한다.
            // 생성한 User를 화면에 반환.
            const user = await prisma.createUser({
                userName,
                email,
                firstName,
                lastName,
                bio
            });
            return user;

        }
    }

}

 

 

결과

 

 

댓글