From eb18d576e9a38c10146386ad38f02ac0d01d2789 Mon Sep 17 00:00:00 2001 From: ryan Date: Wed, 30 Nov 2016 16:32:50 +0100 Subject: [PATCH] more mongocalls --- bigchaindb/backend/mongodb/query.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/bigchaindb/backend/mongodb/query.py b/bigchaindb/backend/mongodb/query.py index 89f9f1e0..bc9b12db 100644 --- a/bigchaindb/backend/mongodb/query.py +++ b/bigchaindb/backend/mongodb/query.py @@ -40,3 +40,29 @@ def transaction_exists(conn, transaction_id): return True else: return False + + +@query.get_transaction_from_block.register(MongoDBConnection) +def get_transaction_from_block(conn, block_id, tx_id): + # this is definitely wrong, but it's something like this + return conn.db['bigchain'].find_one({'id': block_id, + 'block.transactions.id': tx_id}) + + +@query.get_tx_by_metadata_id.register(MongoDBConnection) +def get_tx_by_metadata_id(conn, metadata_id): + return conn.db['bigchain']\ + .find({'block.transactions.transaction.metadata.id': metadata_id}) + + +@query.get_txs_by_asset_id.register(MongoDBConnection) +def get_txs_by_asset_id(conn, asset_id): + return conn.db['bigchain']\ + .find({'block.transaction.transaction.asset.id': asset_id}) + + +@query.get_tx_by_fulfillment.register(MongoDBConnection) +def get_tx_by_fulfillment(conn, txid, cid): + return conn.db['bigchain']\ + .find({'block.transactions.transaction.fulfillments.txid': txid, + 'block.transactions.transaction.fulfillments.cid': cid})