scene /thumb(nail) route #23
			
				
			
		
		
		
	|  | @ -8,3 +8,4 @@ config/* | ||||||
| !config/default.js | !config/default.js | ||||||
| assets/js/config/ | assets/js/config/ | ||||||
| !assets/js/config/default.js | !assets/js/config/default.js | ||||||
|  | scrape.sh | ||||||
|  |  | ||||||
|  | @ -1,5 +1,7 @@ | ||||||
| 'use strict'; | 'use strict'; | ||||||
| 
 | 
 | ||||||
|  | const path = require('path'); | ||||||
|  | 
 | ||||||
| const { fetchRelease, fetchReleases, searchReleases } = require('../releases'); | const { fetchRelease, fetchReleases, searchReleases } = require('../releases'); | ||||||
| 
 | 
 | ||||||
| async function fetchReleaseApi(req, res, type = 'scene') { | async function fetchReleaseApi(req, res, type = 'scene') { | ||||||
|  | @ -39,6 +41,16 @@ async function fetchMoviesApi(req, res) { | ||||||
| 	return fetchReleasesApi(req, res, 'movie'); | 	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 = { | module.exports = { | ||||||
| 	fetchRelease: fetchReleaseApi, | 	fetchRelease: fetchReleaseApi, | ||||||
| 	fetchReleases: fetchReleasesApi, | 	fetchReleases: fetchReleasesApi, | ||||||
|  | @ -46,4 +58,6 @@ module.exports = { | ||||||
| 	fetchMovie: fetchMovieApi, | 	fetchMovie: fetchMovieApi, | ||||||
| 	fetchScenes: fetchScenesApi, | 	fetchScenes: fetchScenesApi, | ||||||
| 	fetchMovies: fetchMoviesApi, | 	fetchMovies: fetchMoviesApi, | ||||||
|  | 
 | ||||||
|  | 	sendSceneThumbnail | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -19,6 +19,7 @@ const { | ||||||
| 	fetchScenes, | 	fetchScenes, | ||||||
| 	fetchMovie, | 	fetchMovie, | ||||||
| 	fetchMovies, | 	fetchMovies, | ||||||
|  | 	sendSceneThumbnail | ||||||
| } = require('./releases'); | } = require('./releases'); | ||||||
| 
 | 
 | ||||||
| const { | const { | ||||||
|  | @ -82,6 +83,11 @@ async function initServer() { | ||||||
| 	router.get('/api/scenes', fetchScenes); | 	router.get('/api/scenes', fetchScenes); | ||||||
| 	router.get('/api/scenes/:releaseId', fetchScene); | 	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', fetchMovies); | ||||||
| 	router.get('/api/movies/:releaseId', fetchMovie); | 	router.get('/api/movies/:releaseId', fetchMovie); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue