From 1090298f4391ce6115ad31256469d6da77e92df4 Mon Sep 17 00:00:00 2001 From: shuyi320 Date: Tue, 12 Nov 2024 21:16:20 -0500 Subject: [PATCH] Completed lab --- learn-sequelize.js | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/learn-sequelize.js b/learn-sequelize.js index d4b688f..bf60703 100644 --- a/learn-sequelize.js +++ b/learn-sequelize.js @@ -6,8 +6,10 @@ 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 + const newGenre = await Genre.create({ name: 'comedy' }) + return newGenre } /* @@ -16,36 +18,48 @@ 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 newMovie = await Movie.create({ title: 'The Godfather', year: 1972 }) + return newMovie } /* 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 actors = await Actor.findAll() + const actorNames = actors.map(actor => actor.name) + return actorNames } /* 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 } }) + 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() { +async function deleteGenreYouAdded() { // Add code here + deleted = await Genre.destroy({ where: { name: 'comedy' } }) + return deleted } /* @@ -54,8 +68,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' } }) + return await actor.addMovie(movie) } /* @@ -66,6 +83,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' } }) + return await movie.addActor(actor) } module.exports = {