204 lines
5.5 KiB
JavaScript
204 lines
5.5 KiB
JavaScript
const express = require("express");
|
|
const router = express.Router();
|
|
const db = require("../../../database/config");
|
|
|
|
router.get("/", async (req, res) => {
|
|
try {
|
|
db.all(
|
|
"SELECT * FROM ayah ORDER BY CAST(id as INTEGER) ASC",
|
|
(err, data) => {
|
|
if (err) {
|
|
res.status(500).json({ status: 500, message: err.message });
|
|
} else if (!data) {
|
|
res.status(404).json({ status: 404, data: [] });
|
|
} else {
|
|
res.status(200).json({ status: 200, data: data });
|
|
}
|
|
}
|
|
);
|
|
} catch (error) {
|
|
res.status(500).json({ status: 500, message: error.message });
|
|
}
|
|
});
|
|
|
|
router.get("/range", async (req, res) => {
|
|
try {
|
|
const surahId = req.query.surahId;
|
|
const start = req.query.start;
|
|
const end = req.query.end;
|
|
if (surahId != null && start != null && end != null) {
|
|
db.all(
|
|
"SELECT * FROM ayah WHERE surah = " +
|
|
surahId +
|
|
" AND ayah BETWEEN CAST(" +
|
|
start +
|
|
" as INTEGER) and CAST(" +
|
|
end +
|
|
" as INTEGER) ORDER BY CAST(id as INTEGER) ASC",
|
|
(err, data) => {
|
|
if (err) {
|
|
res.status(500).json({ status: 500, message: err.message });
|
|
} else if (!data) {
|
|
res.status(404).json({ status: 404, data: [] });
|
|
} else {
|
|
res.status(200).json({ status: 200, data: data });
|
|
}
|
|
}
|
|
);
|
|
} else {
|
|
res.status(500).json({
|
|
status: 500,
|
|
message: "Parameter di perlukan (surahId, start, end).",
|
|
});
|
|
}
|
|
} catch (error) {
|
|
res.status(500).json({ status: 500, message: error.message });
|
|
}
|
|
});
|
|
|
|
router.get("/surah", async (req, res) => {
|
|
try {
|
|
const id = req.query.id;
|
|
if (id != null) {
|
|
db.all(
|
|
"SELECT * FROM ayah WHERE surah = " +
|
|
id +
|
|
" ORDER BY CAST(id as INTEGER) ASC",
|
|
(err, data) => {
|
|
if (err) {
|
|
res.status(500).json({ status: 500, message: err.message });
|
|
} else if (!data) {
|
|
res.status(404).json({ status: 404, data: [] });
|
|
} else {
|
|
res.status(200).json({ status: 200, data: data });
|
|
}
|
|
}
|
|
);
|
|
} else {
|
|
res.status(500).json({
|
|
status: 500,
|
|
message: "Parameter di perlukan (id).",
|
|
});
|
|
}
|
|
} catch (error) {
|
|
res.status(500).json({ status: 500, message: error.message });
|
|
}
|
|
});
|
|
|
|
router.get("/juz", async (req, res) => {
|
|
try {
|
|
const id = req.query.id;
|
|
if (id != null) {
|
|
db.all(
|
|
"SELECT * FROM ayah WHERE juz = " +
|
|
id +
|
|
" ORDER BY CAST(id as INTEGER) ASC",
|
|
(err, data) => {
|
|
if (err) {
|
|
res.status(500).json({ status: 500, message: err.message });
|
|
} else if (!data) {
|
|
res.status(404).json({ status: 404, data: [] });
|
|
} else {
|
|
res.status(200).json({ status: 200, data: data });
|
|
}
|
|
}
|
|
);
|
|
} else {
|
|
res.status(500).json({
|
|
status: 500,
|
|
message: "Parameter di perlukan (id).",
|
|
});
|
|
}
|
|
} catch (error) {
|
|
res.status(500).json({ status: 500, message: error.message });
|
|
}
|
|
});
|
|
|
|
router.get("/page", async (req, res) => {
|
|
try {
|
|
const id = req.query.id;
|
|
if (id != null) {
|
|
db.all(
|
|
"SELECT * FROM ayah WHERE page = " +
|
|
id +
|
|
" ORDER BY CAST(id as INTEGER) ASC",
|
|
(err, data) => {
|
|
if (err) {
|
|
res.status(500).json({ status: 500, message: err.message });
|
|
} else if (!data) {
|
|
res.status(404).json({ status: 404, data: [] });
|
|
} else {
|
|
res.status(200).json({ status: 200, data: data });
|
|
}
|
|
}
|
|
);
|
|
} else {
|
|
res.status(500).json({
|
|
status: 500,
|
|
message: "Parameter di perlukan (id).",
|
|
});
|
|
}
|
|
} catch (error) {
|
|
res.status(500).json({ status: 500, message: error.message });
|
|
}
|
|
});
|
|
|
|
router.get("/specific", async (req, res) => {
|
|
try {
|
|
const surahId = req.query.surahId;
|
|
const ayahId = req.query.ayahId;
|
|
if (surahId != null && ayahId != null) {
|
|
db.get(
|
|
"SELECT * FROM ayah WHERE surah = " + surahId + " AND ayah = " + ayahId,
|
|
(err, data) => {
|
|
if (err) {
|
|
res.status(500).json({ status: 500, message: err.message });
|
|
} else if (!data) {
|
|
res.status(404).json({ status: 404, data: {} });
|
|
} else {
|
|
res.status(200).json({ status: 200, data: data });
|
|
}
|
|
}
|
|
);
|
|
} else {
|
|
res.status(500).json({
|
|
status: 500,
|
|
message: "Parameter di perlukan (surahId, ayahId).",
|
|
});
|
|
}
|
|
} catch (error) {
|
|
res.status(500).json({ status: 500, message: error.message });
|
|
}
|
|
});
|
|
|
|
router.get("/find", async (req, res) => {
|
|
try {
|
|
const query = req.query.query;
|
|
if (query != null && query.length > 3) {
|
|
db.all(
|
|
"SELECT * FROM ayah WHERE text LIKE '%" +
|
|
query +
|
|
"%' ORDER BY CAST(id as INTEGER) ASC",
|
|
(err, data) => {
|
|
if (err) {
|
|
res.status(500).json({ status: 500, message: err.message });
|
|
} else if (!data) {
|
|
res.status(404).json({ status: 404, data: [] });
|
|
} else {
|
|
res.status(200).json({ status: 200, data: data });
|
|
}
|
|
}
|
|
);
|
|
} else {
|
|
res.status(500).json({
|
|
status: 500,
|
|
message: "Parameter di perlukan (query). Harus lebih dari 3 karakter.",
|
|
});
|
|
}
|
|
} catch (error) {
|
|
res.status(500).json({ status: 500, message: error.message });
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|