Skip to content
This repository has been archived by the owner on Jul 5, 2022. It is now read-only.

netiam/contrib-rest

Repository files navigation

netiam-contrib-rest

Build Status Dependencies npm version

A REST plugin for netiam

Get it

npm i -S netiam netiam-contrib-rest

Example

netiam({plugins})
  .rest({model: User})
  .json()

Compound Documents

To reduce the number of HTTP requests, you can embed related documents within the response object. You can do so, by utilizing the include parameter.

GET /articles?include=comments

Youc an also include more than one document at the same time.

GET /articles?include=comments,links

There is also support for deeply nested documents and documents on the same branch.

GET /articles?include=comments.author.profile,comments.author.image

Transactions

This plugin does support transactions via sequelize cls namespaces. However, it does not enforce transactions as you might use a database engine w/o any support for transactions.

How to

// test/utils/db.js
import Sequelize from 'sequelize'
import cls from 'continuation-local-storage'
import uuid from 'uuid'

const namespace = cls.createNamespace(uuid.v4())
Sequelize.cls = namespace

export const db = new Sequelize('database', 'username', 'password', {})

License

MIT License