2019-05-06 00:01:57 +00:00
|
|
|
'use strict';
|
|
|
|
|
2020-05-19 23:11:32 +00:00
|
|
|
const { fetchRelease, fetchReleases, searchReleases } = require('../releases');
|
|
|
|
|
2020-05-19 23:38:58 +00:00
|
|
|
async function fetchReleaseApi(req, res, type = 'scene') {
|
|
|
|
const release = await fetchRelease(req.params.releaseId, type);
|
2020-05-19 23:11:32 +00:00
|
|
|
|
|
|
|
if (release) {
|
2020-05-19 23:38:58 +00:00
|
|
|
res.send({ [type]: release });
|
2020-05-19 23:11:32 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2020-05-19 23:38:58 +00:00
|
|
|
res.status(404).send({ [type]: null });
|
2020-05-19 23:11:32 +00:00
|
|
|
}
|
2019-05-06 00:01:57 +00:00
|
|
|
|
2020-05-19 23:38:58 +00:00
|
|
|
async function fetchReleasesApi(req, res, type = 'scene') {
|
2020-05-14 02:26:05 +00:00
|
|
|
const query = req.query.query || req.query.q;
|
2019-05-18 23:34:08 +00:00
|
|
|
|
2020-05-14 02:26:05 +00:00
|
|
|
const releases = query
|
2020-05-19 23:38:58 +00:00
|
|
|
? await searchReleases(query, req.query.limit, type)
|
|
|
|
: await fetchReleases(req.query.limit, type);
|
2019-11-11 04:18:28 +00:00
|
|
|
|
2020-05-19 23:38:58 +00:00
|
|
|
res.send({ [`${type}s`]: releases });
|
|
|
|
}
|
|
|
|
|
|
|
|
async function fetchSceneApi(req, res) {
|
|
|
|
return fetchReleaseApi(req, res, 'scene');
|
|
|
|
}
|
|
|
|
|
|
|
|
async function fetchScenesApi(req, res) {
|
|
|
|
return fetchReleasesApi(req, res, 'scene');
|
|
|
|
}
|
|
|
|
|
|
|
|
async function fetchMovieApi(req, res) {
|
|
|
|
return fetchReleaseApi(req, res, 'movie');
|
|
|
|
}
|
|
|
|
|
|
|
|
async function fetchMoviesApi(req, res) {
|
|
|
|
return fetchReleasesApi(req, res, 'movie');
|
2019-11-11 04:18:28 +00:00
|
|
|
}
|
|
|
|
|
2019-05-06 00:01:57 +00:00
|
|
|
module.exports = {
|
2020-05-19 23:11:32 +00:00
|
|
|
fetchRelease: fetchReleaseApi,
|
2020-05-14 02:26:05 +00:00
|
|
|
fetchReleases: fetchReleasesApi,
|
2020-05-19 23:38:58 +00:00
|
|
|
fetchScene: fetchSceneApi,
|
|
|
|
fetchMovie: fetchMovieApi,
|
|
|
|
fetchScenes: fetchScenesApi,
|
|
|
|
fetchMovies: fetchMoviesApi,
|
2019-05-06 00:01:57 +00:00
|
|
|
};
|