diff --git a/learn-sequelize.js b/learn-sequelize.js index d4b688f..2e418a5 100644 --- a/learn-sequelize.js +++ b/learn-sequelize.js @@ -6,8 +6,17 @@ 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() { +async function insertNewGenre() { // Add code here + try { + const genre = await Genre.findOrCreate({ + where: { name: 'Fantasy' }, + defaults: { name: 'Fantasy' } + }) + } + catch (error) { + console.error(error); + } } /* @@ -16,36 +25,46 @@ function insertNewGenre() { - add one more Movie of your choice. - the movie CANNOT be from year 2008 (try it to learn about errors) */ -function insertNewMovie() { +async function insertNewMovie() { // Add code here + const movie = await Movie.create({title: "Learn Sequelize", year: 2024}) } /* Write a function that returns the title of the movie with ID=2 */ -function getMovieWithId2() { +async function getMovieWithId2() { // Add code here + const movie = await Movie.findByPk(2); + return movie.title; } /* Write a function that returns an array of all the actor names */ -function getAllActors() { +async function getAllActors() { // Add code here + const actor = await Actor.findAll(); + return actor.map(actor => actor.name); } /* Write a function that returns an array of all the movie titles from 2008 */ -function getAllMoviesFrom2008() { +async function getAllMoviesFrom2008() { // Add code here + const movies = await Movie.findAll({ + where: {year: 2008} + }) + return movies.map(movie => movie.title); } /* Write a function that deletes the genre you added in the first function: insertNewGenre() */ -function deleteGenreYouAdded() { +async function deleteGenreYouAdded() { // Add code here + const genre = await Genre.destroy({where: {name: 'Fantasy'}}); } /* @@ -54,8 +73,11 @@ function deleteGenreYouAdded() { - the actor and movie record already exist in the database - add the association record to the database */ -function associateRosarioToEagleEye() { +async function associateRosarioToEagleEye() { // Add code here + const actor = await Actor.findOne({where: {name: "Rosario Dawson"}}); + const movie = await Movie.findOne({where: {title: "Eagle Eye"}}); + await movie.addActor(actor); } /* @@ -66,6 +88,9 @@ function associateRosarioToEagleEye() { */ 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"}}); + await movie.addActor(actor); } module.exports = {