Standardizing th API

This commit is contained in:
Vivek Teega 2019-06-12 13:51:46 +05:30
parent 58cb925e7f
commit 2f1bc12a56

View File

@ -20,8 +20,8 @@ app.clients = set()
# FLO TOKEN APIs # FLO TOKEN APIs
@app.route('/api/v1.0/gettokenlist', methods=['GET']) @app.route('/api/v1.0/getTokenList', methods=['GET'])
async def gettokenlist(): async def getTokenList():
filelist = [] filelist = []
for item in os.listdir(os.path.join(dbfolder,'tokens')): for item in os.listdir(os.path.join(dbfolder,'tokens')):
if os.path.isfile(os.path.join(dbfolder, 'tokens', item)): if os.path.isfile(os.path.join(dbfolder, 'tokens', item)):
@ -30,12 +30,12 @@ async def gettokenlist():
return jsonify(tokens = filelist, result='ok') return jsonify(tokens = filelist, result='ok')
@app.route('/api/v1.0/getaddressbalance', methods=['GET']) @app.route('/api/v1.0/getAddressBalance', methods=['GET'])
async def getaddressbalance(): async def getAddressBalance():
address = request.args.get('address') floaddress = request.args.get('floaddress')
token = request.args.get('token') token = request.args.get('token')
if address is None or token is None: if floaddress is None or token is None:
return jsonify(result='error') return jsonify(result='error')
dblocation = dbfolder + '/tokens/' + str(token) + '.db' dblocation = dbfolder + '/tokens/' + str(token) + '.db'
@ -44,14 +44,14 @@ async def getaddressbalance():
c = conn.cursor() c = conn.cursor()
else: else:
return 'Token doesn\'t exist' return 'Token doesn\'t exist'
c.execute('SELECT SUM(transferBalance) FROM activeTable WHERE address="{}"'.format(address)) c.execute('SELECT SUM(transferBalance) FROM activeTable WHERE address="{}"'.format(floaddress))
balance = c.fetchall()[0][0] balance = c.fetchall()[0][0]
conn.close() conn.close()
return jsonify(result='ok', token=token, address=address, balance=balance) return jsonify(result='ok', token=token, floaddress=floaddress, balance=balance)
@app.route('/api/v1.0/gettokeninfo', methods=['GET']) @app.route('/api/v1.0/getTokenInfo', methods=['GET'])
async def gettokeninfo(): async def getTokenInfo():
token = request.args.get('token') token = request.args.get('token')
if token is None: if token is None:
@ -73,8 +73,8 @@ async def gettokeninfo():
activeAddress_no=numberOf_distinctAddresses) activeAddress_no=numberOf_distinctAddresses)
@app.route('/api/v1.0/gettransactions', methods=['GET']) @app.route('/api/v1.0/getTransactions', methods=['GET'])
async def gettransactions(): async def getTransactions():
token = request.args.get('token') token = request.args.get('token')
senderFloAddress = request.args.get('senderFloAddress') senderFloAddress = request.args.get('senderFloAddress')
destFloAddress = request.args.get('destFloAddress') destFloAddress = request.args.get('destFloAddress')
@ -115,8 +115,8 @@ async def gettransactions():
return jsonify(result='ok', transactions=rowarray_list) return jsonify(result='ok', transactions=rowarray_list)
@app.route('/api/v1.0/gettokenbalances', methods=['GET']) @app.route('/api/v1.0/getTokenBalances', methods=['GET'])
async def gettokenbalances(): async def getTokenBalances():
token = request.args.get('token') token = request.args.get('token')
if token is None: if token is None:
return jsonify(result='error') return jsonify(result='error')
@ -134,7 +134,7 @@ async def gettokenbalances():
for address in addressBalances: for address in addressBalances:
tempdict = {} tempdict = {}
tempdict['address'] = address[0] tempdict['floaddress'] = address[0]
tempdict['balance'] = address[1] tempdict['balance'] = address[1]
returnList.append(tempdict) returnList.append(tempdict)
@ -143,8 +143,8 @@ async def gettokenbalances():
# SMART CONTRACT APIs # SMART CONTRACT APIs
@app.route('/api/v1.0/getsmartContractlist', methods=['GET']) @app.route('/api/v1.0/getSmartContractList', methods=['GET'])
async def getcontractlist(): async def getContractList():
contractName = request.args.get('contractName') contractName = request.args.get('contractName')
contractAddress = request.args.get('contractAddress') contractAddress = request.args.get('contractAddress')
@ -224,19 +224,19 @@ async def getcontractlist():
return jsonify(smartContracts = contractList, result='ok') return jsonify(smartContracts = contractList, result='ok')
@app.route('/api/v1.0/getsmartContractinfo', methods=['GET']) @app.route('/api/v1.0/getSmartContractInfo', methods=['GET'])
async def getcontractinfo(): async def getContractInfo():
name = request.args.get('name') contractName = request.args.get('contractName')
contractAddress = request.args.get('contractAddress') contractAddress = request.args.get('contractAddress')
if name is None: if contractName is None:
return jsonify(result='error', details='Smart Contract\'s name hasn\'t been passed') return jsonify(result='error', details='Smart Contract\'s name hasn\'t been passed')
if contractAddress is None: if contractAddress is None:
return jsonify(result='error', details='Smart Contract\'s address hasn\'t been passed') return jsonify(result='error', details='Smart Contract\'s address hasn\'t been passed')
contractName = '{}-{}.db'.format(name.strip(),contractAddress.strip()) contractDbName = '{}-{}.db'.format(contractName.strip(),contractAddress.strip())
filelocation = os.path.join(dbfolder,'smartContracts', contractName) filelocation = os.path.join(dbfolder,'smartContracts', contractDbName)
if os.path.isfile(filelocation): if os.path.isfile(filelocation):
#Make db connection and fetch data #Make db connection and fetch data
@ -269,7 +269,7 @@ async def getcontractinfo():
conn = sqlite3.connect(os.path.join(dbfolder,'system.db')) conn = sqlite3.connect(os.path.join(dbfolder,'system.db'))
c = conn.cursor() c = conn.cursor()
c.execute('select status, incorporationDate, expiryDate, closeDate from activecontracts where contractName=="{}" and contractAddress=="{}"'.format(name.strip(), contractAddress.strip())) c.execute('select status, incorporationDate, expiryDate, closeDate from activecontracts where contractName=="{}" and contractAddress=="{}"'.format(contractName.strip(), contractAddress.strip()))
results = c.fetchall() results = c.fetchall()
if len(results) == 1: if len(results) == 1:
@ -287,19 +287,19 @@ async def getcontractinfo():
return jsonify(result='error', details='Smart Contract with the given name doesn\'t exist') return jsonify(result='error', details='Smart Contract with the given name doesn\'t exist')
@app.route('/api/v1.0/getsmartContractparticipants', methods=['GET']) @app.route('/api/v1.0/getSmartContractParticipants', methods=['GET'])
async def getcontractparticipants(): async def getcontractparticipants():
name = request.args.get('name') contractName = request.args.get('contractName')
contractAddress = request.args.get('contractAddress') contractAddress = request.args.get('contractAddress')
if name is None: if contractName is None:
return jsonify(result='error', details='Smart Contract\'s name hasn\'t been passed') return jsonify(result='error', details='Smart Contract\'s name hasn\'t been passed')
if contractAddress is None: if contractAddress is None:
return jsonify(result='error', details='Smart Contract\'s address hasn\'t been passed') return jsonify(result='error', details='Smart Contract\'s address hasn\'t been passed')
contractName = '{}-{}.db'.format(name.strip(),contractAddress.strip()) contractDbName = '{}-{}.db'.format(contractName.strip(),contractAddress.strip())
filelocation = os.path.join(dbfolder,'smartContracts', contractName) filelocation = os.path.join(dbfolder,'smartContracts', contractDbName)
if os.path.isfile(filelocation): if os.path.isfile(filelocation):
#Make db connection and fetch data #Make db connection and fetch data
@ -311,7 +311,7 @@ async def getcontractparticipants():
conn.close() conn.close()
returnval = {} returnval = {}
for row in result: for row in result:
returnval[row[0]] = {'participantAddress':row[1], 'tokenAmount':row[2], 'userChoice':row[3], 'transactionHash':row[4], 'winningAmount':row[5]} returnval[row[0]] = {'participantFloAddress':row[1], 'tokenAmount':row[2], 'userChoice':row[3], 'transactionHash':row[4], 'winningAmount':row[5]}
return jsonify(result='ok', participantInfo=returnval) return jsonify(result='ok', participantInfo=returnval)