Esempio n. 1
0
 def save_download(cls, data):
     try:
         database = ArangoCore.get_database()
         collections = [
             ArangoEdge.USER_DOWNLOAD, ArangoVertex.DOWNLOAD,
             ArangoEdge.DOWNLOAD_DATA
         ]
         with database.transaction(write=collections,
                                   commit_on_error=False) as transaction:
             # Add post to graph vertex
             ArangoCore.add_vertex_to_collection(ArangoVertex.DOWNLOAD,
                                                 data, transaction)
             # Add user_download to graph edge
             ArangoCore.add_user_download_to_collection(
                 ArangoEdge.USER_DOWNLOAD, ArangoVertex.USER,
                 data['user_id'], ArangoVertex.DOWNLOAD, data['id'],
                 transaction)
             ArangoCore.add_edge_to_collection(ArangoEdge.DOWNLOAD_DATA,
                                               ArangoVertex.DOWNLOAD,
                                               data['id'],
                                               ArangoVertex.DATA,
                                               data['data_id'], transaction)
             transaction.commit()
         return True
     except Exception as exception:
         raise exception
Esempio n. 2
0
    def add_friend(cls, user_friend_data, activity_data):
        if '_user_cache' in user_friend_data:
            del user_friend_data['_user_cache']
        try:
            database = ArangoCore.get_database()
            collections = ArangoEdge.FRIEND
            with database.transaction(write=collections,
                                      commit_on_error=False) as transaction:
                ArangoCore.add_edge_to_collection(
                    ArangoEdge.FRIEND, ArangoVertex.USER,
                    user_friend_data['user_id'], ArangoVertex.USER,
                    user_friend_data['friend_user_id'], transaction)
                transaction.commit()

        except Exception as exception:
            raise exception
Esempio n. 3
0
 def save_post(cls, post_data):
     try:
         database = ArangoCore.get_database()
         collections = POST_COLLECTIONS
         with database.transaction(write=collections,
                                   commit_on_error=False) as transaction:
             # Add post to graph vertex
             ArangoCore.add_vertex_to_collection(ArangoVertex.POST,
                                                 post_data, transaction)
             # Add user_post to graph edge
             ArangoCore.add_edge_to_collection(ArangoEdge.USER_POST,
                                               ArangoVertex.USER,
                                               post_data['user_id'],
                                               ArangoVertex.POST,
                                               post_data['id'], transaction)
             transaction.commit()
         return True
     except Exception as exception:
         raise exception
Esempio n. 4
0
 def save_comment(cls, comment_data):
     try:
         database = ArangoCore.get_database()
         collections = [ArangoVertex.COMMENT] + [
             ArangoEdge.POST_COMMENT
         ] + [ArangoVertex.ACTIVITY]
         with database.transaction(write=collections,
                                   commit_on_error=False) as transaction:
             # Add post to graph vertex
             ArangoCore.add_vertex_to_collection(ArangoVertex.COMMENT,
                                                 comment_data, transaction)
             # Add user_post to graph edge
             ArangoCore.add_edge_to_collection(ArangoEdge.POST_COMMENT,
                                               ArangoVertex.POST,
                                               comment_data['post_id'],
                                               ArangoVertex.COMMENT,
                                               comment_data['id'],
                                               transaction)
             transaction.commit()
         return True
     except Exception as exception:
         raise exception