redstone_rethinkdb 0.0.185 copy "redstone_rethinkdb: ^0.0.185" to clipboard
redstone_rethinkdb: ^0.0.185 copied to clipboard

outdated

MVC Plugin for Redstone

Redstone RethinkDb Plugin #

Basic #

Setup 1 #

Use rethinkPlugin instead of getMapperPlugin to get a Connection injected to your routes.

import 'package:redstone/server.dart' as app;
import 'package:rethinkdb_driver/rethinkdb_driver.dart';
import 'package:redstone_rethinkdb/redstone_rethinkdb.dart';

final Rethinkdb r = new Rethinkdb();

main () {
  RethinkDbManager manager = new RethinkDbManager("someHost", "someDatabase");
  app.addPlugin(rethinkPlugin(manager));
  
  ...
}

Useage 1 #

By convention in Rethinkdb the connection is named and in Redstone is named dbConn, therefore you should specify "dbConn" inside @app.Attr and set the name of the variable to conn.

@app.Route ('/someRoute')
someRoute (@app.Attr("dbConn") Connection conn) async {
 var result = await r
   .table ('someTable')
   //build your query as you like
   .run(conn);
   
 ...
}

Setup 2 #

You can also use the normal getMapperPlugin, but you will instead get injected a RethinkConnection.

import 'package:redstone/server.dart' as app;
import 'package:redstone_mapper/plugin.dart';
import 'package:rethinkdb_driver/rethinkdb_driver.dart';
import 'package:redstone_rethinkdb/redstone_rethinkdb.dart';

final Rethinkdb r = new Rethinkdb();

main () {
  RethinkDbManager manager = new RethinkDbManager("someHost", "someDatabase");
  app.addPlugin(getMapperPlugin(manager));
  
  ...
}

Useage 2 #

You can tap into the dbConn attribute without naming it in Attr (be sure to name the variable ``dbConn) but you have to access the ConnectionthroughdbConn.conn`.

@app.Route ('/someRoute')
someRoute (@app.Attr() RethinkConnection dbConn) async {
 var result = await r
   .table ('someTable')
   //build your query as you like
   .run(dbConn.conn);
 ...
}

RethinkServices #

Use RethinkServices<T> to better structure your code and avoid error when repetively specifying the same table. It also includes some helper methods for basic CRUD operations.

0
likes
0
points
4
downloads

Publisher

unverified uploader

Weekly Downloads

MVC Plugin for Redstone

Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (license)

Dependencies

connection_pool, redstone, redstone_mapper, rethinkdb_driver

More

Packages that depend on redstone_rethinkdb