RethinkService class

Queries a single RethinkDB table or query.

Constructors

RethinkService(Connection connection, RqlQuery table, {bool allowRemoveAll = false, bool allowQuery = true, bool debug = false, bool listenForChanges = true})

Properties

allowQuery bool
If set to true, parameters in req.query are applied to the database query.
final
allowRemoveAll bool
If set to true, clients can remove all items by passing a null id to remove.
final
app ↔ Angel
getter/setter pairinherited
bootstrappers List<RequestHandler>
Handlers that must run to ensure this service's functionality.
no setterinherited
configuration Map
A Map of application-specific data that can be accessed.
finalinherited
connection → Connection
final
container → Container
A Container used to inject dependencies.
no setterinherited
debug bool
final
hashCode int
The hash code for this object.
no setterinherited
isAppActive bool
no setterinherited
listenForChanges bool
If set to true, then a HookedService mounted over this instance will fire events when RethinkDB pushes events.
final
middleware List<RequestHandler>
no setterinherited
mounted Map<Pattern, Router<RequestHandler>>
no setterinherited
onService Stream<Service>
Fired whenever a service is added to this instance.
no setterinherited
readData FutureOr<Map<String, dynamic>> Function(RequestContext, ResponseContext)?
A Function that reads the request body and converts it into Data.
no setterinherited
routes List<Route<RequestHandler>>
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
services Map<Pattern, Service>
A set of Service objects that have been mapped into routes.
no setterinherited
table → RqlQuery
Doesn't actually have to be a table, just a RethinkDB query.
final

Methods

addRoute(String method, String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const {}}) → Route<RequestHandler>
Adds a route that responds to the given path for requests with the given method (case-insensitive). Provide '*' as the method to respond to all methods.
inherited
addRoutes([Service? service]) → void
Generates RESTful routes pointing to this class's methods.
inherited
all(String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const []}) → Route<RequestHandler>
Adds a route that responds to any request matching the given path.
inherited
buildQuery(RqlQuery initialQuery, Map params) → RqlQuery
chain(Iterable<RequestHandler> middleware) → ChainedRouter<RequestHandler>
Prepends the given middleware to any routes created by the resulting router.
inherited
clone() → Router<RequestHandler>
Returns a Router with a duplicated version of this tree.
inherited
close() → void
Closes this service, including any database connections or stream controllers.
inherited
create(Map data, [Map? params]) Future<Map<String, dynamic>>
Creates a resource.
delete(String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const []}) → Route<RequestHandler>
Adds a route that responds to a DELETE request.
inherited
dumpTree({dynamic callback(String tree)?, String header = 'Dumping route tree:', String tab = ' '}) → void
Creates a visual representation of the route hierarchy and passes it to a callback. If none is provided, print is called.
inherited
enableCache() → void
Enables the use of a cache to eliminate the overhead of consecutive resolutions of the same path.
inherited
findHookedService<T extends Service>(Pattern path) → HookedService<dynamic, dynamic, T>?
Shorthand for finding a HookedService in a statically-typed manner.
inherited
findOne([Map<String, dynamic>? params, String errorMessage = 'No record was found matching the given query.']) Future<Map<String, dynamic>>
Retrieves the first object from the result of calling index with the given params.
inherited
findService<T extends Service>(Pattern path) → T?
Retrieves the service assigned to the given path.
inherited
findServiceOf<Id, Data>(Pattern path) → Service<Id, Data>?
Shorthand for finding a Service in a statically-typed manner.
inherited
get(String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const []}) → Route<RequestHandler>
Adds a route that responds to a GET request.
inherited
group(String path, void callback(Router<RequestHandler> router), {Iterable<RequestHandler> middleware = const [], String name = ''}) → SymlinkRoute<RequestHandler>
Creates a route, and allows you to add child routes to it via a Router instance.
inherited
groupAsync(String path, FutureOr<void> callback(Router<RequestHandler> router), {Iterable<RequestHandler> middleware = const [], String name = ''}) Future<SymlinkRoute<RequestHandler>>
Asynchronous equivalent of group.
inherited
Adds a route that responds to a HEAD request.
inherited
index([Map? params]) Future<List<Map<String, dynamic>>>
Retrieves all resources.
listenToQuery(RqlQuery query, HookedService<dynamic, dynamic, Service> hookedService) Future
map<U>(U encoder(Map<String, dynamic>), Map<String, dynamic> decoder(U), {FutureOr<U> readData(RequestContext, ResponseContext)?}) → Service<String, U>
Creates an AnonymousService that wraps over this one, and maps input and output using two converter functions.
inherited
modify(String id, Map data, [Map? params]) Future<Map<String, dynamic>>
Modifies a resource.
mount(String path, Router<RequestHandler> router) → SymlinkRoute<RequestHandler>
Incorporates another Router's routes into this one's.
inherited
Generates a URI string based on the given input. Handy when you have named routes.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onHooked(HookedService<dynamic, dynamic, Service> hookedService) → void
Invoked when this service is wrapped within a HookedService.
options(String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const {}}) → Route<RequestHandler>
Adds a route that responds to a OPTIONS request.
inherited
patch(String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const []}) → Route<RequestHandler>
Adds a route that responds to a PATCH request.
inherited
post(String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const []}) → Route<RequestHandler>
Adds a route that responds to a POST request.
inherited
put(String path, RequestHandler handler, {Iterable<RequestHandler> middleware = const []}) → Route
Adds a route that responds to a PUT request.
inherited
read(String id, [Map? params]) Future<Map<String, dynamic>>
Retrieves the desired resource.
readMany(List<String> ids, [Map<String, dynamic>? params]) Future<List<Map<String, dynamic>>>
Reads multiple resources at once.
inherited
remove(String? id, [Map? params]) Future<Map<String, dynamic>>
Removes the given resource.
resolve(String absolute, String relative, List<RoutingResult<RequestHandler?>> out, {String method = 'GET', bool strip = true}) bool
Finds the first Route that matches the given path, with the given method.
inherited
resolveAbsolute(String path, {String method = 'GET', bool strip = true}) Iterable<RoutingResult<RequestHandler>>
Returns the result of resolve with path passed as both absolute and relative.
inherited
resolveAll(String absolute, String relative, {String method = 'GET', bool strip = true}) Iterable<RoutingResult<RequestHandler>>
Finds every possible Route that matches the given path, with the given method.
inherited
toString() String
A string representation of this object.
inherited
update(String id, Map data, [Map? params]) Future<Map<String, dynamic>>
Overwrites a resource.
use<Id, Data, T extends Service<Id, Data>>(String path, T service) → HookedService<Id, Data, T>
Mounts a service at the given path.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited