// books.json
[
{
"title": "malza's coding",
"author": "malza",
"url": "<http://malza.com>",
"bookId": 1
},
{
"title": "zzangA's coding",
"author": "zzangA",
"url": "<http://zzangA.com>",
"bookId": 2
}
]
// bookId 와 bookTitle 로 원하는 책만 가져온다.
const typeDefs = gql`
type Book {
title: String
author: String
url: String
bookId: Int
}
type Query {
books: [Book]
bookId(bookId: Int): Book
bookTitle(title: String): Book
}
`;
const resolvers = {
Query: {
// books: () => books,
books: () => {
return JSON.parse(readFileSync(join(__dirname, "books.json")).toString());
},
bookId: (parent, args, context, info) => {
const books = JSON.parse(
readFileSync(join(__dirname, "books.json")).toString()
);
return books.find((book) => book.title === args.title);
},
bookTitle: (parent, args, context, info) => {
const books = JSON.parse(
readFileSync(join(__dirname, "books.json")).toString()
);
return books.find((book) => args.title === book.title);
},
},
};