Add bible API
This commit is contained in:
70
routes/bible.js
Normal file
70
routes/bible.js
Normal file
@@ -0,0 +1,70 @@
|
||||
const axios = require('axios');
|
||||
var express = require('express')
|
||||
var router = express.Router()
|
||||
const DB = require("./../mongoDB.js");
|
||||
|
||||
const fetchAPI = async (path) => {
|
||||
baseUrl = "https://api.scripture.api.bible/v1/"
|
||||
let detailHtml = await axios.get(baseUrl + path, {headers:{'api-key':'8b43472a173a39e04cd868fd4848ed75'}}).catch(console.error);
|
||||
return detailHtml?.data;
|
||||
}
|
||||
|
||||
const defaultBibleId = "592420522e16049f-01";
|
||||
|
||||
//getMedia('y42zyf3').then(console.log)
|
||||
DB.getDB.then((DB) => {
|
||||
router.get("", async (req, res) => {
|
||||
const bibles = await fetchAPI('bibles');
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
router.get("/books", async (req, res) => {
|
||||
const bibleId = req.query.bibleId || defaultBibleId;
|
||||
const bibles = await fetchAPI('bibles/' + bibleId +"/books");
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
router.get("/books", async (req, res) => {
|
||||
const bibleId = req.query.bibleId || defaultBibleId;
|
||||
const bibles = await fetchAPI('bibles/' + bibleId +"/books");
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
router.get("/books/:bookId", async (req, res) => {
|
||||
const bookId = req.params.bookId;
|
||||
const bibles = await fetchAPI('bibles/' + bibleId +"/books/" + bookId);
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
router.get("/books/:bookId/chapters", async (req, res) => {
|
||||
const bookId = req.params.bookId;
|
||||
const bibleId = req.query.bibleId || defaultBibleId;
|
||||
const bibles = await fetchAPI('bibles/' + bibleId +"/books/" + bookId + "/chapters");
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
router.get("/chapters/:chapterId", async (req, res) => {
|
||||
const chapterId = req.params.chapterId;
|
||||
const bibleId = req.query.bibleId || defaultBibleId;
|
||||
const bibles = await fetchAPI('bibles/' + bibleId + "/chapters/" + chapterId);
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
router.get("/chapters/:chapterId/verses", async (req, res) => {
|
||||
const chapterId = req.params.chapterId;
|
||||
const bibleId = req.query.bibleId || defaultBibleId;
|
||||
const bibles = await fetchAPI('bibles/' + bibleId + "/chapters/" + chapterId + "/verses");
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
router.get("/search", async (req, res) => {
|
||||
const query = req.query.query;
|
||||
const limit = req.query.limit || 10;
|
||||
const bibleId = req.query.bibleId || defaultBibleId;
|
||||
const bibles = await fetchAPI('bibles/' + bibleId + "/search?query=" + query + "&limit=" + limit);
|
||||
return res.json(bibles);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user