def add_liked_movie(): data = loads(request.data) movie_api_id = int(data['movie']) user_id = data['user'] user = UserRep().select(user_id) # checking if there is already the movie in movie = MovieRep().select_by_api_id(movie_api_id) if movie is None: movie = Movie(movie_api_id) MovieRep().save(movie) liked_movie_user = LikedMovieUser(movie, user) # adding movie to user (like relationship) LikedMovieUserRep().save(liked_movie_user) return dumps({"success": True}), 200, {'Content-type': 'application/json'}
def remove_seen_movie(): data = loads(request.data) movie_api_id = int(data['movie']) user_id = data['user'] movie_id = MovieRep().select_by_api_id(movie_api_id).id SeenMovieUserRep().delete_by_user_id_and_movie_id(user_id, movie_id) return dumps({"success": True}), 200, {'Content-type': 'application/json'}
def select(self, id): liked_movie_user = None sql = f"SELECT * FROM {self.table} " + "WHERE id = %s" values = [id] result = run_sql(sql, values)[0] if result is not None: movie = MovieRep().select(result['movie_id']) user = UserRep().select(result['user_id']) liked_movie_user = LikedMovieUser( movie, user, result["id"], ) return liked_movie_user
def select_all(self): liked_movies_users = [] sql = f"SELECT * FROM {self.table}" results = run_sql(sql) for row in results: movie = MovieRep().select(row['movie_id']) user = UserRep().select(row['user_id']) liked_movie_user = LikedMovieUser( movie, user, row["id"], ) liked_movies_users.append(liked_movie_user) return liked_movies_users
def select_by_user_id_and_movie_id(self, user_id, movie_id): seen_movie_user = None sql = f"SELECT * FROM {self.table} " + "WHERE user_id = %s AND movie_id = %s" values = [user_id, movie_id] result = run_sql(sql, values)[0] if result is not None: movie = MovieRep().select(result['movie_id']) user = UserRep().select(result['user_id']) seen_movie_user = SeenMovieUser( movie, user, result["id"], ) return seen_movie_user