attach-model
A middleware to attach Sequelize models to a request
Usage
var attachModel = ; app;
Request parameters
In order to map request parameters to query options, the value of query-related
options (where
, include
, order
, offset
, limit
) is searched recursively
for either a function
value or a $get
key to retrieve a value
from the req
object by path notation. In code:
var options = where: id: $in: $get: "body.ids" created_at: $ { return reqquery ? reqquerysince : 0; } ;
Options
options.required
Boolean default: false
If true
a 404
response will be returned if no model is found.
If options.multiple
is true
this is not applicable.
options.as
String default: model name lower case
Request property name for results.
options.multiple
Boolean default: false
Will use model.findAll() to to retrieve multiple results
options.include
Array[{model, as, ...}]
Include option for sequelize find. See request parameters
options.where
Array {} default: {id: {$get: "params.id"}}
Require option for sequelize find. See request parameters
options.errorClass
Function default: NotFoundError
If options.multiple
is true
this is not applicable.
options.errorMessage
String default: "Model not found"
If options.multiple
is true
this is not applicable.
options.ttl
Number default: 0
Cache TTL in seconds for results.
This is a poor man's cache solution storing the resulting Model instances to a POJO. Use for small and frequently accessed result sets to improve performance.
options.order
Array[Array[column, order]] default: []
Specify query result order. See request parameters
options.limit
Number default: null
Specify query results limit. See request parameters
options.offset
Number default: 0
Specify query results offset. See request parameters