Skip to content

Latest commit

 

History

History
59 lines (53 loc) · 2.11 KB

TODO.md

File metadata and controls

59 lines (53 loc) · 2.11 KB

TODO

  • README
  • Wrap allow around code
  • Add api links to docs
  • Errors
  • Add error handling for non-rethinkdb driver connections
  • Keep server running on error
  • It should handle queries that throw errors
  • Fix ECONNRESET bugs

Future

  • Use from browser
  • Replace net library with websockets
  • Authentication
  • Convert queries back to strings. Re-build AST.
  • Save options in RethinkDB instead of passing them as flags
  • Add logging

Done

  • Test cursors
  • Test multiple concurrent queries from the same connection
  • Test changefeeds
  • API
  • Better name for allowSysDbAccess
  • Allow only a single database/table
  • database --db test,hello
  • Prevent connection if database is passed that is not allowed (Throw error)
  • tables --table people, trains, --table test.people, hello.trains
  • Prevent r.args
  • Prevent getting the dbName, tableName dynamically
  • Refactor
  • Refactor code so that it uses classes
  • Break up codes into more modular structure
  • Opt-in Options:
  • Allow Insert --allow-insert
  • Allow Delete--allow-delete
  • Allow Update--allow-update
  • Allow Database Create --allow-db-create
  • Database Drop --allow-db-drop
  • Table Creation --allow-table-create
  • Table Drop --allow-table-drop
  • HTTP --allow-http
  • JavaScript --allow-javascript
  • Reconfigure --allow-reconfigure
  • Rebalance --allow-rebalance
  • Add token/connection parser
  • Prevent insert, update, replace, delete
  • Fix corner cases
  • update with null: does nothing.
  • update with r.literal(): throws Error.
  • insert with conflict: replace. allowReplace must be allowed.
  • insert with conflict: replace with null will deleted the document. allowDelete must be allowed. (Throw error)
  • insert with conflict: update. allowUpdate must be allowed.
  • replace with null deletes the document.
  • replace with r.literal: Throws error.