'use strict'; const { fetchRelease, fetchReleases, searchReleases } = require('../releases'); async function fetchReleaseApi(req, res, type = 'scene') { const release = await fetchRelease(req.params.releaseId, type); if (release) { res.send({ [type]: release }); return; } res.status(404).send({ [type]: null }); } async function fetchReleasesApi(req, res, type = 'scene') { const query = req.query.query || req.query.q; const releases = query ? await searchReleases(query, req.query.limit, type) : await fetchReleases(req.query.limit, type); 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'); } module.exports = { fetchRelease: fetchReleaseApi, fetchReleases: fetchReleasesApi, fetchScene: fetchSceneApi, fetchMovie: fetchMovieApi, fetchScenes: fetchScenesApi, fetchMovies: fetchMoviesApi, };