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
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
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
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