def select_all(self): friendships = [] sql = f"SELECT * FROM {self.table}" results = run_sql(sql) for row in results: user = UserRep().select(row['user_id']) befriended = UserRep().select(row['befriended_id']) friendship = Friendship( user, befriended, row["id"], ) friendships.append(friendship) return friendships
def select(self, id): friendship = None sql = f"SELECT * FROM {self.table} " + "WHERE id = %s" values = [id] result = run_sql(sql, values)[0] if result is not None: user = UserRep().select(result['user_id']) befriended = UserRep().select(result['befriended_id']) friendship = Friendship( user, befriended, result["id"], ) return friendship
def remove_friend(): data = loads(request.data) friend_id = data['friendId'] user_id = data['userId'] FriendshipRep().delete_by_friend_id_and_user_id(friend_id, user_id) friends = UserRep().get_friends(user_id) return dumps({"success": True, 'friends': friends}), 200, {'Content-type': 'application/json'}
def select_by_friend_id_and_user_id(self, friend_id, user_id): friendship = None sql = f"SELECT * FROM {self.table} " + "WHERE user_id = %s AND befriended_id = %s" print(friend_id, user_id) values = [user_id, friend_id] result = run_sql(sql, values) if len(result) != 0: result = result[0] user = UserRep().select(result['user_id']) befriended = UserRep().select(result['befriended_id']) friendship = Friendship( user, befriended, result["id"], ) return friendship
def get_friend(user_id, friend_id): if user_id == 'null': return dumps({"success": False, 'message': 'User is null in user_movies.py'}), 400, {'Content-type': 'application/json'} if friend_id == 'null': return dumps({"success": False, 'message': 'Friend is null in user_movies.py'}), 400, {'Content-type': 'application/json'} friend = UserRep().get_friend(user_id, friend_id) return dumps({"success": True, 'friend': friend}), 200, {'Content-type': 'application/json'}
def add_friend(): data = loads(request.data) user_id = data['userId'] friend_email = data['email'] friend = UserRep().select_by_email(friend_email) if friend is None: return dumps({"success": False, 'message': 'There is no user with this email.'}), 400, {'Content-type': 'application/json'} user = UserRep().select(user_id) # check if user and friend are not the same person if friend.id == user_id: return dumps({"success": False, 'message': 'How lonely are you? You can\'t add yourself as a friend.'}), 400, {'Content-type': 'application/json'} # check if they are already friends are_friends = FriendshipRep().select_by_friend_id_and_user_id(friend.id, user_id) if are_friends is not None: return dumps({"success": False, 'message': f'You are already friends with {friend.name}'}), 400, {'Content-type': 'application/json'} friendship = Friendship(user, friend) FriendshipRep().save(friendship) friends = UserRep().get_friends(user_id) return dumps({"success": True, 'friends': friends}), 200, {'Content-type': 'application/json'}
def get_movies(user_id): if user_id == 'null': return dumps({ "success": False, 'message': 'User is null in user_movies.py' }), 400, { 'Content-type': 'application/json' } liked_movies = UserRep().get_liked_movies_array(user_id) disliked_movies = UserRep().get_disliked_movies_array(user_id) seen_movies = UserRep().get_seen_movies_array(user_id) movies = { 'liked_movies': liked_movies, 'disliked_movies': disliked_movies, 'seen_movies': seen_movies } return dumps({ "success": True, 'movies': movies }), 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 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 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
from models.user import User from repositories.user_rep import UserRep from repositories.movie_rep import MovieRep from repositories.friendships_rep import FriendshipRep import pdb pdb.set_trace() UserRep().get_disliked_movies(14) FriendshipRep().select_all() UserRep().get_friends(1)