diff --git a/.gitignore b/.gitignore index 07ef8ed1..0c8b7947 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ config/* !config/default.js assets/js/config/ !assets/js/config/default.js +scrape.sh diff --git a/src/web/releases.js b/src/web/releases.js index 59a16ac5..f40dabb0 100644 --- a/src/web/releases.js +++ b/src/web/releases.js @@ -1,5 +1,7 @@ 'use strict'; +const path = require('path'); + const { fetchRelease, fetchReleases, searchReleases } = require('../releases'); async function fetchReleaseApi(req, res, type = 'scene') { @@ -39,6 +41,16 @@ async function fetchMoviesApi(req, res) { return fetchReleasesApi(req, res, 'movie'); } +async function sendSceneThumbnail(req, res) { + const release = await fetchRelease(req.params.releaseId); + + if (release) { + res.sendFile(path.resolve('media', release.poster.path)); + } else { + res.status(404).send({ scene: null }); + } +} + module.exports = { fetchRelease: fetchReleaseApi, fetchReleases: fetchReleasesApi, @@ -46,4 +58,6 @@ module.exports = { fetchMovie: fetchMovieApi, fetchScenes: fetchScenesApi, fetchMovies: fetchMoviesApi, + + sendSceneThumbnail }; diff --git a/src/web/server.js b/src/web/server.js index 62b06015..bdfe90b0 100644 --- a/src/web/server.js +++ b/src/web/server.js @@ -19,6 +19,7 @@ const { fetchScenes, fetchMovie, fetchMovies, + sendSceneThumbnail } = require('./releases'); const { @@ -82,6 +83,11 @@ async function initServer() { router.get('/api/scenes', fetchScenes); router.get('/api/scenes/:releaseId', fetchScene); + router.get([ + '/api/scenes/:releaseId/thumb', + '/api/scenes/:releaseId/thumbnail' + ], sendSceneThumbnail); + router.get('/api/movies', fetchMovies); router.get('/api/movies/:releaseId', fetchMovie);