Update node URL
- Can now change URLs for nodes without disk migration
- `updateNodes` JSON object property for updating the URL of nodes
Trusted IDs
- Added TrustedIDs for apps
- TrustedIDs are added/removed by admin ID
- TrustedIDs have permission to edit the tag field
Other changes
- supernode configs are converted into strings when stored in DB. (parsed back when retrieving from DB)
- updated SubAdmin column type from VARCHAR(3500) to TEXT
- moved base table struct to base_table.json
- moved cloud data struct to data_structure.json
- improvements to database module
- use database.DB from module.export cache instead of global mapping
- Improved security for node-privkey storage
- Private is stored as encrypted in file (loaded once on startup)
- node private key is stored in encrypted format in memory
- moved myPrivKey, myFloID to keys module
- Refresh the blockchain data atleast once every 1 hour.
- If regular countdown (based on requests) occurs, then automatically reset the blockchain-refresh timer.
- Fixed: processIncomingData throwing error when using POST request
- Fixed: tag/note data not working properly (getData returns an array, thus need to use result[0])
- Adding data, tag, note will return the entire data (ie, all columns) to user
- Fixed: a minor syntax bug in DB.getData
- Fixed: mostRecent option not giving the last record correctly
- if afterTime parameter is passed in request, any data changed (tag, note) after given time is returned. (afterTime also combines with other condition parameters).
- Request data now return all columns from the table
Added new feature 'Note':
- Receivers can add a tiny note to data received.
- For data received by adminID of authorised app, subAdmins will also be able to add/edit note
Improved Invalid error and Internal error feedback:
- Only Invalid errors are relayed to user ( Invalid error code: 400).
- Internal errors caused just indicate 'unable to process request' to user (Internal error code: 500)
Other changes:
- Processing Tag will now check application from data stored. application parameter is not required (Signature will require vectorClock instead of application).
- Fixed bug: clear-authorized-data using incorrect floID values
- config.json and param.json moved to args/
- param-default.json will be used by default if param.json is not generated by the user
- Renamed launch.js to start.js
- Minor bug fixes
- Changed some console.log to console.debug (Also added few more).
- Fixed: DB.lastLogTime not returning correct value
- Fixed: MySQL disconnection bug. Now using Pool connect for persistent connection.
- Fixed: connectNode not connecting properly due to a typo.
- Fixed: RECONNECT_NEXT_NODE const value not added
- Fixed: reconnectNextNode not triggered when only one node was online and a node comes online.
- Fixed: orderBackup not storing the order properly when less or just sufficient nodes available.
- Added: orderBackup to requesting data when sync is required
- Fixed: typo in sendStoredData
- Added: logInterval of _prevNode, _nextNode and _list