diff --git a/package.json b/package.json index 4c8eb5b..830f0e4 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build": "npm run clean && npx tsc && npm run copyfiles", "clean": "npx rimraf --glob dist/", "copyfiles": "mkdir \"dist\\api\\v1\\core\\db\" && cp ./src/api/v1/core/db/ ./dist/api/v1/core -r", - "dev": "npm run copyfiles && tsc-watch --onSuccess \"node ./dist/index.js\"", + "dev": "npm run clean && npm run copyfiles && tsc-watch --onSuccess \"node ./dist/index.js\"", "start": "node ./dist/index.js", "test": "vitest", "test:coverage": "vitest run --coverage" @@ -48,4 +48,4 @@ "typescript": "^4.9.5", "vitest": "^1.6.0" } -} +} \ No newline at end of file diff --git a/src/api/v1/core b/src/api/v1/core index 01bff5d..7ac5403 160000 --- a/src/api/v1/core +++ b/src/api/v1/core @@ -1 +1 @@ -Subproject commit 01bff5da28bf55b2e376e6b7f20494b3534a5cc7 +Subproject commit 7ac5403d1eedab16dd3d995d5de5aca6bd9cc45b diff --git a/src/api/v1/verse/verse.ts b/src/api/v1/verse/verse.ts index 1ee9827..be6b38b 100644 --- a/src/api/v1/verse/verse.ts +++ b/src/api/v1/verse/verse.ts @@ -1,7 +1,7 @@ -import express, { Request, Response, Router } from 'express' -import axios from 'axios'; -import * as cheerio from 'cheerio'; -import { getVerse } from '../core/functions/verse'; +import express, { Request, Response, Router } from "express"; +import axios from "axios"; +import * as cheerio from "cheerio"; +import { getVerse } from "../core/functions/verse"; // Router const router: Router = express.Router(); @@ -52,25 +52,34 @@ const router: Router = express.Router(); * example: OK */ router.get("/", async (req: Request, res: Response) => { - let book = req.query.book as string; - const chapter = req.query.chapter ??= "1"; - const verses = req.query.verses ??= "1" as string; - let version = req.query.version ??= "KJV" as string; + let book = req.query.book as string; + const chapter = (req.query.chapter ??= "1"); + const verses = (req.query.verses ??= "-1" as string); + let version = (req.query.version ??= "KJV" as string); - function apiError(code: number, message: string) { - res.status(code).send({ - "code": code, - "message": message - }); - } - if (!book) return apiError(400, "Missing field 'book'"); - if (isNaN(parseInt(chapter.toString()))) return apiError(400, "Chapter must be a number"); - if (isNaN(parseInt(verses.toString()))) return apiError(400, "Verses must be a number"); + function apiError(code: number, message: string) { + res.status(code).send({ + code: code, + message: message, + }); + } + if (!book) return apiError(400, "Missing field 'book'"); + if (isNaN(parseInt(chapter.toString()))) + return apiError(400, "Chapter must be a number"); + if (isNaN(parseInt(verses.toString()))) + return apiError(400, "Verses must be a number"); + if (parseInt(chapter.toString()) <= 0) + return apiError(400, "Chapter must be greater than 0"); - const data = await getVerse(book, chapter.toString(), verses.toString(), version.toString()); + const data = await getVerse( + book, + chapter.toString(), + verses.toString(), + version.toString() + ); - if (data?.code) return apiError(data.code, data.message); - else return res.status(200).send(data); -}) + if (data?.code) return apiError(data.code, data.message); + else return res.status(200).send(data); +}); module.exports = router;