Skip to content

Loopback diff mixin allows to detect and hook for specific changes in persist models

License

Notifications You must be signed in to change notification settings

aliatech/loopback-diff-mixin

Repository files navigation

Loopback Diff mixin

Build Status Coverage Status npm version

Loopback diff mixin allows to detect and hook for specific changes in persist models

Highlights

  • //TODO

IMPORTANT: This Loopback mixin has only be tested with Loopback 3 and MongoDB connector. Requires Node ≥ 8

This project is under development.

How to install

Install the package through NPM

npm i -S @aliatech/loopback-diff-mixin

Install the package through Yarn

yarn add --prod @aliatech/loopback-diff-mixin

Basic configuration

Include the mixin in server/model-config.json. Example for Loopback 3:

{
  "_meta": {
    "sources": [
      "loopback/common/models",
      "loopback/server/models",
      "../common/models",
      "./models"
    ],
    "mixins": [
      "loopback/common/mixins",
      "../node_modules/@aliatech/loopback-diff-mixin/lib",
      "../common/mixins"
    ]
  }
}

Enable the mixin in your model definition, ie person.json.

{
  "name": "Person",
  "properties": {
    "name": "string"
  },
  "mixins": {
    "Diff": {
      "hooks": {
        "email": "emailChanged"
      }
    }
  }
}

Usage

//TODO

Debug

Prepend DEBUG environment when running server or tests to display what is happening:

DEBUG=loopback:mixins:diff node . # Run server with debug

Testing

Install develop dependences

npm i -D # If you use NPM
yarn install # If you use Yarn

Execute tests

npm test # Without coverage check
npm run test-with-coverage # With coverage check
DEBUG=loopback:mixins:diff npm test # With debug

Credits

Developed by Juan Costa for ALIA Technologies

ALIA Technologies

About

Loopback diff mixin allows to detect and hook for specific changes in persist models

Resources

License

Stars

Watchers

Forks

Packages

No packages published