/
book-resolvers.ts
49 lines (46 loc) · 1.1 KB
/
book-resolvers.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { dataSources } from '../../datasources';
export default {
Query: {
books() {
return dataSources.bookService.getBooks();
},
book(parent, args) {
return dataSources.bookService.getBook(args.id);
},
},
Mutation: {
createBook(parent, args) {
const { publisherId, ...rest } = args.book;
return dataSources.bookService.createBook(
{
...rest,
},
publisherId
);
},
updateBook(parent, args) {
const { publisherId, ...rest } = args.book;
return dataSources.bookService.updateBook(
args.bookId,
{
...rest,
},
publisherId
);
},
deleteBook(parent, args) {
return dataSources.bookService.deleteBook(args.bookId);
},
setBookAuthors(parent, args) {
return dataSources.bookService.setBookAuthors(args.bookId, args.authorIds);
},
},
Book: {
publisher(parent) {
return dataSources.bookService.getBookPublisher(parent.id);
},
authors(parent) {
return dataSources.bookService.getBookAuthors(parent.id);
},
},
};