diff --git a/docs/server/generate_http_server_api_documentation.py b/docs/server/generate_http_server_api_documentation.py index df685315..b960d078 100644 --- a/docs/server/generate_http_server_api_documentation.py +++ b/docs/server/generate_http_server_api_documentation.py @@ -9,6 +9,38 @@ from bigchaindb.common.transaction import Transaction TPLS = {} + +TPLS['get-tx-id-request'] = """\ +GET /transactions/%(txid)s HTTP/1.1 +Host: example.com + +""" + + +TPLS['get-tx-id-response'] = """\ +HTTP/1.1 200 OK +Content-Type: application/json +X-BigchainDB-Timestamp: 1482766245 + +%(tx)s +""" + + +TPLS['get-tx-unfulfilled-request'] = """\ +GET /transactions?fulfilled=false&public_keys=%(public_keys)s HTTP/1.1 +Host: example.com + +""" + + +TPLS['get-tx-unfulfilled-response'] = """\ +HTTP/1.1 200 OK +Content-Type: application/json + +[%(tx)s] +""" + + TPLS['post-tx-request'] = """\ POST /transactions/ HTTP/1.1 Host: example.com @@ -32,7 +64,6 @@ Host: example.com """ - TPLS['get-tx-status-response'] = """\ HTTP/1.1 200 OK Content-Type: application/json @@ -43,20 +74,6 @@ Content-Type: application/json """ -TPLS['get-tx-request'] = """\ -GET /transactions/%(txid)s HTTP/1.1 -Host: example.com - -""" - - -TPLS['get-tx-response'] = """\ -HTTP/1.1 200 OK -Content-Type: application/json -X-BigchainDB-Timestamp: 1482766245 - -%(tx)s -""" def main(): @@ -75,7 +92,9 @@ def main(): for name, tpl in TPLS.items(): path = os.path.join(base_path, name + '.http') - code = tpl % {'tx': tx_json, 'txid': tx.id} + code = tpl % {'tx': tx_json, + 'txid': tx.id, + 'public_keys': tx.outputs[0].public_keys[0]} with open(path, 'w') as handle: handle.write(code) diff --git a/docs/server/source/drivers-clients/http-client-server-api.rst b/docs/server/source/drivers-clients/http-client-server-api.rst index c51dec65..284625f9 100644 --- a/docs/server/source/drivers-clients/http-client-server-api.rst +++ b/docs/server/source/drivers-clients/http-client-server-api.rst @@ -54,12 +54,12 @@ Transactions **Example request**: - .. literalinclude:: samples/get-tx-request.http + .. literalinclude:: samples/get-tx-id-request.http :language: http **Example response**: - .. literalinclude:: samples/get-tx-response.http + .. literalinclude:: samples/get-tx-id-response.http :language: http :resheader X-BigchainDB-Timestamp: A unix timestamp describing when a transaction was included into a valid block. The timestamp provided is taken from the block the transaction was included in. @@ -79,7 +79,7 @@ Transactions queried correctly. Some of them include retrieving a list of transactions that include: - * `Unfulfilled conditions <#get--transactions?fulfilled=false&owners_after=owners_after>`_ + * `Unfulfilled conditions <#get--transactions?fulfilled=false&public_keys=public_keys>`_ * `A specific asset <#get--transactions?operation=CREATE|TRANSFER&asset_id=asset_id>`_ * `Specific metadata <#get--transactions?&metadata_id=metadata_id>`_ @@ -89,7 +89,7 @@ Transactions :query boolean fulfilled: A flag to indicate if transaction's with fulfilled conditions should be returned. - :query string owners_after: Public key able to validly spend an output of a transaction, assuming the user also has the corresponding private key. + :query string public_keys: Public key able to validly spend an output of a transaction, assuming the user also has the corresponding private key. :query string operation: One of the three supported operations of a transaction: ``GENESIS``, ``CREATE``, ``TRANSFER``. @@ -100,12 +100,12 @@ Transactions :statuscode 404: BigchainDB does not expose this endpoint. -.. http:get:: /transactions?fulfilled=false&owners_after={owners_after} +.. http:get:: /transactions?fulfilled=false&public_keys={public_keys} Get a list of transactions with unfulfilled conditions. If the querystring ``fulfilled`` is set to ``false`` and all conditions for - ``owners_after`` happen to be fulfilled already, this endpoint will return + ``public_keys`` happen to be fulfilled already, this endpoint will return an empty list. This endpoint returns conditions only if the transaction they're in are @@ -113,67 +113,19 @@ Transactions :query boolean fulfilled: A flag to indicate if transaction's with fulfilled conditions should be returned. - :query string owners_after: Public key able to validly spend an output of a transaction, assuming the user also has the corresponding private key. + :query string public_keys: Public key able to validly spend an output of a transaction, assuming the user also has the corresponding private key. **Example request**: - .. sourcecode:: http - GET /transactions?fulfilled=false&owners_after=1AAAbbb...ccc HTTP/1.1 - Host: example.com + .. literalinclude:: samples/get-tx-unfulfilled-request.http + :language: http + **Example response**: - .. sourcecode:: http - - HTTP/1.1 200 OK - Content-Type: application/json - - [{ - "transaction": { - "conditions": [ - { - "cid": 0, - "condition": { - "uri": "cc:4:20:GG-pi3CeIlySZhQoJVBh9O23PzrOuhnYI7OHqIbHjkk:96", - "details": { - "signature": null, - "type": "fulfillment", - "type_id": 4, - "bitmask": 32, - "public_key": "1AAAbbb...ccc" - } - }, - "amount": 1, - "owners_after": [ - "1AAAbbb...ccc" - ] - } - ], - "operation": "CREATE", - "asset": { - "divisible": false, - "updatable": false, - "data": null, - "id": "aebeab22-e672-4d3b-a187-bde5fda6533d", - "refillable": false - }, - "metadata": null, - "timestamp": "1477578978", - "fulfillments": [ - { - "fid": 0, - "input": null, - "fulfillment": "cf:4:GG-pi3CeIlySZhQoJVBh9O23PzrOuhnYI7OHqIbHjkn2VnQaEWvecO1x82Qr2Va_JjFywLKIOEV1Ob9Ofkeln2K89ny2mB-s7RLNvYAVzWNiQnp18_nQEUsvwACEXTYJ", - "owners_before": [ - "2ePYHfV3yS3xTxF9EE3Xjo8zPwq2RmLPFAJGQqQKc3j6" - ] - } - ] - }, - "id": "2d431073e1477f3073a4693ac7ff9be5634751de1b8abaa1f4e19548ef0b4b0e", - "version": 1 - }] + .. literalinclude:: samples/get-tx-unfulfilled-response.http + :language: http :resheader Content-Type: ``application/json``