Skip to content
Snippets Groups Projects
movieController.js 1.77 KiB
Newer Older
  • Learn to ignore specific revisions
  • Bastien's avatar
    Bastien committed
    const db = require('../models/db');
    
    
    Bastien's avatar
    Bastien committed
    exports.getMovieInformations = (req, res, next) => {
    
    Bastien's avatar
    Bastien committed
        let filmId = req.params.id;
    
        db.query('SELECT * FROM Film WHERE tconst = ?',
    
    Bastien's avatar
    Bastien committed
            [filmId], function (error, results, fields) {
    
                if (error) {
                    res.status(500).json({ error });
                } else {
                    let infos = results[0];
                    res.status(200).json(infos);
                }
            })
    };
    
    exports.searchMovie = (req, res, next) => {
        let search = req.query.title;
    
        db.query('SELECT * FROM Film WHERE primaryTitle LIKE CONCAT("%",?,"%") OR titleFR LIKE CONCAT("%",?,"%")',
            [search, search], function (error, results, fields) {
                if(error) {
                    res.status(500).json({error});
                }
                else {
                    let searchResults = results;
                    res.status(200).json(searchResults);
                }
            })
    
    Bastien's avatar
    Bastien committed
    
    
    Bastien's avatar
    Bastien committed
    };
    
    exports.getRecentlyReleasedMovies = (req, res, next) => {
        const numberOfMovies = req.query.numberOfMovies || 20;
    
        db.query('SELECT * FROM Film WHERE releaseDate <= CURDATE() ORDER BY releaseDate DESC LIMIT ?',
            [parseInt(numberOfMovies)], (error, results, fields) => {
                if (error) {
                    res.status(500).json({ error });
                } else {
                    res.status(200).json(results);
                }
            });
    
    };
    exports.getMovieCast = (req, res, next) => {
        let filmId = req.params.id;
    
        db.query('SELECT * FROM roles r JOIN personne p on r.nconst=p.nconst WHERE r.tconst = ?',
            [filmId], function (error, results, fields) {
    
                if (error) {
                    res.status(500).json({ error });
                } else {
                    let infos = results;
                    res.status(200).json(infos);
                }
            })
    
    Bastien's avatar
    Bastien committed
    };