示例#1
0
    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
示例#2
0
    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
示例#3
0
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'}
示例#4
0
    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
示例#5
0
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'}
示例#6
0
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'}
示例#7
0
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
示例#10
0
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
示例#12
0
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)