12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- const { AppError, catchErrors } = require('../utils/errorUtils');
- // const { genres, popularGenres } = require('../utils/constants');
- const getMovie = require('../fetchers/movie');
- exports.overview = (req, res, next) => res.redirect(301, '/about');
- exports.about = catchErrors(async (req, res, next) => {
- res.render('about', { title: 'About', page: 'About' });
- });
- exports.privacy = catchErrors(async (req, res, next) => {
- res.render('privacy', { title: 'Privacy', page: 'Privacy' });
- });
- exports.contact = catchErrors(async (req, res, next) => {
- res.render('contact', { title: 'Contact', page: 'Contact' });
- });
- exports.similarProjects = catchErrors(async (req, res, next) => {
- res.render('similarProjects', {
- title: 'Similar Projects',
- page: 'Similar Projects',
- });
- });
- exports.movie = catchErrors(async (req, res, next) => {
- const movie = await getMovie(req.params.title, +process.env.IMAGE_QUALITY);
- res.render('movie', {
- movie,
- title: movie.basic.name,
- page: movie.basic.name,
- });
- });
- /*
- exports.searchGenres = catchErrors(async (req, res, next) => {
- // fetching top 10 rated movies to show in homepage
- let movies;
- const genresQueriedStr = req.query.genres;
- const genresQueriedArr = genresQueriedStr?.split(',');
- if (!genresQueriedArr) {
- movies = await moviesDataFetcher('sci-fi,action');
- return res.render('homepage', {
- title: 'Home Page',
- page: 'Home Page',
- movies: movies.slice(-10),
- genres,
- popularGenres,
- });
- }
- const numResults = +req.query.results || 10;
- const numPage = +req.query.page || 1;
- const resultsToskip = numResults * (numPage - 1);
- movies = await moviesDataFetcher(genresQueriedStr);
- movies = movies.slice(resultsToskip, resultsToskip + numResults);
- const totalNumResults = movies.length;
- if (!movies.length) return next(new AppError('no movies found', 404));
- const [curPage, totalPages] = [numPage, totalNumResults / numResults];
- res.render('movies', {
- title: genresQueriedArr.join(', '),
- page: 'Movies',
- genres: genresQueriedArr,
- movies,
- curPage,
- totalPages,
- });
- });
- */
|