New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

attach-model

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

attach-model

A middleware to attach Sequelize models to a request

latest
Source
npmnpm
Version
0.3.0
Version published
Weekly downloads
15
36.36%
Maintainers
1
Weekly downloads
 
Created
Source

attach-model

A middleware to attach Sequelize models to a request

Usage

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()
});

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: {
			$gt: function (req) {
				return req.query ? req.query.since : new Date(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

Keywords

express

FAQs

Package last updated on 06 Jan 2016

Did you know?

Socket

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.

Install

Related posts