diff --git a/learn-sequelize.js b/learn-sequelize.js index d4b688f..deb383b 100644 --- a/learn-sequelize.js +++ b/learn-sequelize.js @@ -6,8 +6,9 @@ const { Genre, Movie, Actor } = require("./models"); - add one more Genre of your choice - duplicate entries are not allowed (try it to learn about errors) */ -function insertNewGenre() { - // Add code here +async function insertNewGenre() { + const newGenre = await Genre.create({ name: "Horror" }); + return newGenre; } /* @@ -16,36 +17,41 @@ function insertNewGenre() { - add one more Movie of your choice. - the movie CANNOT be from year 2008 (try it to learn about errors) */ -function insertNewMovie() { - // Add code here +async function insertNewMovie() { + const newMovie = await Movie.create({ title: "The Hunger Games: Mockingjay – Part 2", year: 2015 }); + return newMovie; } /* Write a function that returns the title of the movie with ID=2 */ -function getMovieWithId2() { - // Add code here +async function getMovieWithId2() { + const movie = await Movie.findByPk(2); + return movie.title; } /* Write a function that returns an array of all the actor names */ -function getAllActors() { - // Add code here +async function getAllActors() { + const actors = await Actor.findAll(); + return actors.map((actor) => actor.name); } /* Write a function that returns an array of all the movie titles from 2008 */ -function getAllMoviesFrom2008() { - // Add code here +async function getAllMoviesFrom2008() { + const movies = await Movie.findAll({ where: { year: 2008 } }); + const movieTitles = movies.map((movie) => movie.title); + return movieTitles; } /* Write a function that deletes the genre you added in the first function: insertNewGenre() */ -function deleteGenreYouAdded() { - // Add code here +async function deleteGenreYouAdded() { + return await Genre.destroy({ where: { name: "Horror" } }); } /* @@ -54,8 +60,10 @@ function deleteGenreYouAdded() { - the actor and movie record already exist in the database - add the association record to the database */ -function associateRosarioToEagleEye() { - // Add code here +async function associateRosarioToEagleEye() { + const actor = await Actor.findOne({ where: { name: "Rosario Dawson" } }); + const movie = await Movie.findOne({ where: { title: "Eagle Eye" } }); + return await movie.addActor(actor); } /* @@ -65,7 +73,9 @@ function associateRosarioToEagleEye() { - add the association record to the database */ async function associateRobertToTropicThunder() { - // Add code here + const actor = await Actor.findOne({ where: { name: "Robert Downey Jr." } }); + const movie = await Movie.findOne({ where: { title: "Tropic Thunder" } }); + return await movie.addActor(actor); } module.exports = {