get_titles_for_language added, celebrate input value check added
This commit is contained in:
@@ -2,7 +2,7 @@ const database = require('../database/database.js')
|
||||
const not_found_error = require('../../lib/src/http/errors/not_found_error')
|
||||
|
||||
const get_titles = async (req, res, next) => {
|
||||
var titles = await database.get_titles()
|
||||
var titles = await database.get_titles(req.query.start, req.query.count)
|
||||
|
||||
if (!titles) {
|
||||
next(new not_found_error('titles not found'))
|
||||
@@ -12,6 +12,18 @@ const get_titles = async (req, res, next) => {
|
||||
res.json(titles)
|
||||
}
|
||||
|
||||
const get_titles_for_language = async (req, res, next) => {
|
||||
var titles = await database.get_titles_for_language(req.query.start, req.query.count, req.query.language.toLowerCase())
|
||||
|
||||
if (!titles) {
|
||||
next(new not_found_error('titles not found'))
|
||||
return
|
||||
}
|
||||
|
||||
res.json(titles)
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
get_titles
|
||||
get_titles,
|
||||
get_titles_for_language
|
||||
}
|
||||
@@ -29,6 +29,15 @@ const get_titles = async (start, count) => {
|
||||
return (!titles.length) ? null : titles
|
||||
}
|
||||
|
||||
const get_titles_for_language = async (start, count, language) => {
|
||||
var db = await get_db()
|
||||
if (!db) {
|
||||
return null
|
||||
}
|
||||
var titles = await db.collection('title').find({language:language}).skip(parseInt(start)).limit(parseInt(count)).toArray()
|
||||
return (!titles.length) ? null : titles
|
||||
}
|
||||
|
||||
const get_free_session_servers = async (title) => {
|
||||
var db = await get_db()
|
||||
if (!db) {
|
||||
@@ -119,5 +128,6 @@ module.exports = {
|
||||
add_active_session,
|
||||
generate_session_id,
|
||||
remove_active_session,
|
||||
get_session_websocket_url
|
||||
get_session_websocket_url,
|
||||
get_titles_for_language
|
||||
}
|
||||
+16
-2
@@ -1,6 +1,20 @@
|
||||
const router = require('express').Router()
|
||||
const {get_titles} = require('../controllers/title')
|
||||
const { celebrate, Joi, Segments} = require('celebrate')
|
||||
const {get_titles, get_titles_for_language} = require('../controllers/title')
|
||||
|
||||
router.get('/get', get_titles)
|
||||
router.get('/get', celebrate({
|
||||
[Segments.QUERY]: Joi.object().keys({
|
||||
start: Joi.string().required(),
|
||||
count: Joi.string().required()
|
||||
})
|
||||
}), get_titles)
|
||||
|
||||
router.get('/get_for_language', celebrate({
|
||||
[Segments.QUERY]: Joi.object().keys({
|
||||
start: Joi.string().required(),
|
||||
count: Joi.string().required(),
|
||||
language: Joi.string().required()
|
||||
})
|
||||
}), get_titles_for_language)
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user