Files
seasonedShows/src/request/utils.js
Kevin 1815a429b0 Fix: Linter warnings (#137)
* Automaticly fixable eslint issues, mostly 3 -> 2 space indentation

* fix: updated plex_userid to camelcase

* Linted and some consistency refactor on middleware

* eslint uses ecmaversion 2020 & allow empty catch rule

* Started linting source files

* Fixed eslint errors & improved a lot of error handling

* Set 2 eslint rules as warning temporarly
2022-08-20 17:21:25 +02:00

49 lines
1.1 KiB
JavaScript

// TODO : test title and date are valid matches to columns in the database
const validSortParams = ["title", "date"];
const validSortDirs = ["asc", "desc"];
const validFilterParams = [
"movie",
"show",
"seeding",
"downloading",
"paused",
"finished",
"downloaded"
];
function validSort(by, direction) {
return new Promise((resolve, reject) => {
if (by === undefined) {
resolve();
}
if (validSortParams.includes(by) && validSortDirs.includes(direction)) {
resolve();
} else {
reject(
new Error(
`invalid sort parameter, must be of: ${validSortParams} with optional sort directions: ${validSortDirs} appended with ':'`
)
);
}
});
}
function validFilter(filterParam) {
return new Promise((resolve, reject) => {
if (filterParam === undefined) {
resolve();
}
if (filterParam && validFilterParams.includes(filterParam)) {
resolve();
} else {
reject(
new Error(`filter parameteres must be of type: ${validFilterParams}`)
);
}
});
}
module.exports = { validSort, validFilter };