OrmService<Id, Data, TQuery extends Query<Data, QueryWhere>> class

A Service implementation that wraps over a Query class generated via the Angel ORM.

Constructors

OrmService(QueryExecutor executor, FutureOr<TQuery> queryCreator(), {String idField = 'id', bool allowRemoveAll = false, bool allowQuery = true, FutureOr<Data> readData(RequestContext, ResponseContext)?})
In most cases, you will want to provide readData.

Properties

allowQuery bool
If set to true, parameters in req.queryParameters 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
container → Container
A Container used to inject dependencies.
no setterinherited
executor → QueryExecutor
The QueryExecutor used to communicate with a database.
final
hashCode int
The hash code for this object.
no setterinherited
idField String
The name of the primary key in the database table.
final
isAppActive bool
no setterinherited
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
queryCreator FutureOr<TQuery> Function()
A callback that produces an instance of TQuery.
final
readData → (FutureOr<Data> 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

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
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(Data data, [Map<String, dynamic>? params]) Future<Data>
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<Data>
Retrieves the first object from the result of calling index with the given params.
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<String, dynamic>? params]) Future<List<Data>>
Retrieves all resources.
map<U>(U encoder(Data), Data decoder(U), {FutureOr<U> readData(RequestContext, ResponseContext)?}) → Service<Id, U>
Creates an AnonymousService that wraps over this one, and maps input and output using two converter functions.
inherited
modify(Id id, Data data, [Map<String, dynamic>? params]) Future<Data>
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.
inherited
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(Id id, [Map<String, dynamic>? params]) Future<Data>
Retrieves the desired resource.
readMany(List<Id> ids, [Map<String, dynamic>? params]) Future<List<Data>>
Reads multiple resources at once.
remove(Id id, [Map<String, dynamic>? params]) Future<Data>
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(Id id, Data data, [Map<String, dynamic>? params]) Future<Data>
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