Added error handler to web server.

This commit is contained in:
DebaucheryLibrarian
2021-02-26 19:39:48 +01:00
parent f018735052
commit 0eba0461c9
5 changed files with 55 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ const inquirer = require('inquirer');
const logger = require('./logger')(__filename);
const knex = require('./knex');
const { flushOrphanedMedia } = require('./media');
const { HttpError } = require('./errors');
function curateRelease(release, withMedia = false, withPoster = true) {
if (!release) {
@@ -126,6 +127,10 @@ async function fetchScene(releaseId) {
}
async function fetchScenes(limit = 100) {
if (typeof limit !== 'number') {
throw new HttpError('Limit parameter needs to be a number', 400);
}
const releases = await knex('releases')
.modify(withRelations, false, true)
.limit(Math.min(limit, 1000000));
@@ -134,6 +139,14 @@ async function fetchScenes(limit = 100) {
}
async function searchScenes(query, limit = 100, relevance = 0) {
if (typeof limit !== 'number') {
throw new HttpError('Limit parameter needs to be a number', 400);
}
if (typeof relevance !== 'number') {
throw new HttpError('Relevance parameter needs to be a number', 400);
}
const releases = await knex
.select(knex.raw('search_results.rank as relevance'))
.from(knex.raw('search_releases(:query) as search_results', { query }))