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 45const api = "https://reactnd-books-api.udacity.com" // Generate a unique token for storing your bookshelf data on the backend server. let token = localStorage.token if (!token) token = localStorage.token = Math.random().toString(36).substr(-8) const headers = { 'Accept': 'application/json', 'Authorization': token } export const get = (bookId) => fetch(`${api}/books/${bookId}`, { headers }) .then(res => res.json()) .then(data => data.book) export const getAll = () => fetch(`${api}/books`, { headers }) .then(res => res.json()) .then(data => data.books) export const update = (book, shelf) => fetch(`${api}/books/${book.id}`, { method: 'PUT', headers: { ...headers, 'Content-Type': 'application/json' }, body: JSON.stringify({ shelf }) }).then(res => res.json()) export const search = (query) => fetch(`${api}/search`, { method: 'POST', headers: { ...headers, 'Content-Type': 'application/json' }, body: JSON.stringify({ query }) }).then(res => res.json()) .then(data => data.books)