def delete_download_history(cls, data): try: database = ArangoCore.get_database() collections = [ArangoEdge.USER_DOWNLOAD] with database.transaction(write=collections, commit_on_error=False) as transaction: ArangoCore.delete_edge_from_collection( ArangoEdge.USER_DOWNLOAD, data.get('_key'), transaction) transaction.commit() return True except Exception as exception: raise exception
def delete_data(cls, data): try: database = ArangoCore.get_database() collections = [ArangoVertex.DATA, ArangoEdge.USER_DATA] with database.transaction(write=collections, commit_on_error=False) as transaction: data_id = data.get('id') user_id = data.get('user_id') ArangoCore.delete_vertex_from_collection( ArangoVertex.DATA, data_id, transaction) key = '{0}-{1}'.format(user_id, data_id) ArangoCore.delete_edge_from_collection(ArangoEdge.USER_DATA, key, transaction) transaction.commit() return True except Exception as exception: raise exception
def unfollow_band(cls, user_id, band_data): try: database = ArangoCore.get_database() collections = ACTIVITY_COLLECTIONS collections += [ArangoVertex.BAND, ArangoEdge.USER_FOLLOW] with database.transaction(write=collections, commit_on_error=False) as transaction: # Remove relation between 2 user _key = '{0}-{1}'.format(user_id, band_data['user_id']) ArangoCore.delete_edge_from_collection(ArangoEdge.USER_FOLLOW, _key) # Update band data cls.update_band(band_data['user_id'], band_data['follow_count'], transaction) transaction.commit() except Exception as exception: raise exception