feat(api): add movie details endpoint

This commit is contained in:
sct
2020-09-16 05:33:37 +00:00
parent 48d62c3178
commit b1761484cb
5 changed files with 236 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import { getSettings } from '../lib/settings';
import searchRoutes from './search';
import discoverRoutes from './discover';
import requestRoutes from './request';
import movieRoutes from './movie';
const router = Router();
@@ -21,6 +22,7 @@ router.use(
router.use('/search', isAuthenticated(), searchRoutes);
router.use('/discover', isAuthenticated(), discoverRoutes);
router.use('/request', isAuthenticated(), requestRoutes);
router.use('/movie', isAuthenticated(), movieRoutes);
router.use('/auth', authRoutes);
router.get('/settings/public', (_req, res) => {

18
server/routes/movie.ts Normal file
View File

@@ -0,0 +1,18 @@
import { Router } from 'express';
import TheMovieDb from '../api/themoviedb';
import { mapMovieDetails } from '../models/Movie';
import { MediaRequest } from '../entity/MediaRequest';
const movieRoutes = Router();
movieRoutes.get('/:id', async (req, res) => {
const tmdb = new TheMovieDb();
const movie = await tmdb.getMovie({ movieId: Number(req.params.id) });
const request = await MediaRequest.getRequest(movie.id);
return res.status(200).json(mapMovieDetails(movie, request));
});
export default movieRoutes;