Fix backend API to allow book-only favorites (chapter is now optional)

This commit is contained in:
Ryderjj89
2025-09-13 18:31:38 -04:00
parent f008fc64b4
commit 8423784d8d

View File

@@ -173,13 +173,14 @@ app.get('/api/favorites', requireAuth, (req, res) => {
app.post('/api/favorites', requireAuth, (req, res) => { app.post('/api/favorites', requireAuth, (req, res) => {
const { book, chapter, verse_start, verse_end, note } = req.body; const { book, chapter, verse_start, verse_end, note } = req.body;
if (!book || !chapter) { // Book is required, but chapter is optional (for book-level favorites)
return res.status(400).json({ error: 'Book and chapter are required' }); if (!book) {
return res.status(400).json({ error: 'Book is required' });
} }
const favorite = { const favorite = {
book, book,
chapter, chapter: chapter || null,
verse_start: verse_start || null, verse_start: verse_start || null,
verse_end: verse_end || null, verse_end: verse_end || null,
note: note || null note: note || null
@@ -213,14 +214,14 @@ app.delete('/api/favorites/:id', requireAuth, (req, res) => {
app.get('/api/favorites/check', requireAuth, (req, res) => { app.get('/api/favorites/check', requireAuth, (req, res) => {
const { book, chapter, verse_start, verse_end } = req.query; const { book, chapter, verse_start, verse_end } = req.query;
if (!book || !chapter) { if (!book) {
return res.status(400).json({ error: 'Book and chapter are required' }); return res.status(400).json({ error: 'Book is required' });
} }
favoritesOps.isFavorited( favoritesOps.isFavorited(
req.user.id, req.user.id,
book, book,
chapter, chapter || null,
verse_start || null, verse_start || null,
verse_end || null, verse_end || null,
(err, isFavorited) => { (err, isFavorited) => {