sequelize-extension-updatedby

0.0.3 • Public • Published

sequelize-extension-updatedBy

Build Status codecov GitHub license

Installation

$ npm install --save sequelize-extension-updatedBy

Usage

This library uses sequelize-extension to extend sequelize models. If a model has a updatedBy field, this extension will automatically set updatedBy to options.user.id when an instance is updated.

const Sequelize = require('sequelize');
const extendSequelize = require('sequelize-extension');
const enhanceUpdatedBy = require('sequelize-extension-updatedBy');
 
const sequelize = new Sequelize(...);
 
const Task = sequelize.define('task', {
  name: Sequelize.STRING(255),
});
 
extendSequelize([Task], {
  updatedBy: enhanceUpdatedBy(),
});
 
const task1 = await Task.create({...}, { user: { id: 2 } });
console.log(task1.updatedBy);
// 2
 
const task2 = await Task.create({...});
console.log(task2.updatedBy);
// 1 <- default userId
 
await Task.bulkCreate([
  {...},
  {...},
], { user: { id: 3 } });
// All created tasks will have updatedBy === 3
 
task1.name = 'New name';
await task1.save();
console.log(task1.updatedBy);
// 1
 
await Task.update(
  {...}, // values
  {
    where: {...},
    user: { id: 4 },
  },
);
// All updated tasks will have updatedBy === 4

Other Extensions

sequelize-extension-tracking - Automatically track sequelize instance updates.
sequelize-extension-createdby - Automatically set createdBy with options.user.id option.
sequelize-extension-deletedby - Automatically set deletedBy with options.user.id option.
sequelize-extension-graphql - Create GraphQL schema based on sequelize models.
sequelize-extension-view - Models with the method createViews will be called to create table views (virtual models).

Package Sidebar

Install

npm i sequelize-extension-updatedby

Weekly Downloads

5

Version

0.0.3

License

MIT

Unpacked Size

103 kB

Total Files

15

Last publish

Collaborators

  • gcmarques