router.use((req, res, next) => { if (!req.user) { res.status(401).json({ error: 'Unauthorized' }); return; } next(); });
router.post('/books/add', async (req, res) => { try { const book = await Book.add(Object.assign({ userId: req.user.id }, req.body)); res.json(book); } catch (err) { logger.error(err); res.json({ error: err.message || err.toString() }); } });
router.get('/my-books', async (req, res) => { try { const { purchasedBookIds = [] } = req.user; const { purchasedBooks } = await Book.getPurchasedBooks({ purchasedBookIds }); res.json({ purchasedBooks }); } catch (err) { res.json({ error: err.message || err.toString() }); } });
router.post('/books/add', async (req, res) => { try { const book = await Book.add(Object.assign({ userId: req.user.id }, req.body)); res.json(book); } catch (err) { logger.error(err); res.json({ error: err.message || err.toString() }); } });
router.post('/books/add', async (req, res) => { try { const book = await Book.add(Object.assign({ userId: req.user.id }, req.body)); res.json(book); } catch (err) { logger.error(err); res.json({ error: err.message || err.toString() }); } });
router.post('/books/add', async (req, res) => { try { const book = await Book.add(Object.assign({ userId: req.user.id }, req.body)); res.json(book); } catch (err) { logger.error(err); res.json({ error: err.message || err.toString() }); } });
router.post('/books/add', async (req, res) => { try { const book = await Book.add(Object.assign({ userId: req.user.id }, req.body)); res.json(book); } catch (err) { logger.error(err); res.json({ error: err.message || err.toString() }); } });