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 not_found_error = require('../../lib/src/http/errors/not_found_error')
|
||||||
|
|
||||||
const get_titles = async (req, res, next) => {
|
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) {
|
if (!titles) {
|
||||||
next(new not_found_error('titles not found'))
|
next(new not_found_error('titles not found'))
|
||||||
@@ -12,6 +12,18 @@ const get_titles = async (req, res, next) => {
|
|||||||
res.json(titles)
|
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 = {
|
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
|
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) => {
|
const get_free_session_servers = async (title) => {
|
||||||
var db = await get_db()
|
var db = await get_db()
|
||||||
if (!db) {
|
if (!db) {
|
||||||
@@ -119,5 +128,6 @@ module.exports = {
|
|||||||
add_active_session,
|
add_active_session,
|
||||||
generate_session_id,
|
generate_session_id,
|
||||||
remove_active_session,
|
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 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
|
module.exports = router
|
||||||
Reference in New Issue
Block a user