
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
attach-model
Advanced tools
A middleware to attach Sequelize models to a request
var attachModel = require("attach-model");
app.get("/foo/:id", attachModel(models.Foo, {as: "foo", required: true}), function (req, res, next) {
// req.foo will be the result of models.Foo.find({where: {id: req.params.id}})
// If required is true an NotFoundError will have been thrown by now.
res.json(req.foo);
next()
});
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: {
$gt: function (req) {
return req.query ? req.query.since : new Date(0);
}
}
}
};
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.
String default: model name lower case
Request property name for results.
Boolean default: false
Will use model.findAll() to to retrieve multiple results
Array[{model, as, ...}]
Include option for sequelize find. See request parameters
Array {} default: {id: {$get: "params.id"}}
Require option for sequelize find. See request parameters
Function default: NotFoundError
If options.multiple is true this is not applicable.
String default: "Model not found"
If options.multiple is true this is not applicable.
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.
Array[Array[column, order]] default: []
Specify query result order. See request parameters
Number default: null
Specify query results limit. See request parameters
Number default: 0
Specify query results offset. See request parameters
FAQs
A middleware to attach Sequelize models to a request
The npm package attach-model receives a total of 15 weekly downloads. As such, attach-model popularity was classified as not popular.
We found that attach-model demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.