diff --git a/lib/index.js b/lib/index.js index 6a44193..7a12401 100644 --- a/lib/index.js +++ b/lib/index.js @@ -170,7 +170,7 @@ exports.default = function (sequelize, options) { this.addHook("afterUpdate", afterHook); // create association - this.hasMany(sequelize.models.Revision, { + this.hasMany(sequelize.models[options.revisionModel], { foreignKey: "document_id", constraints: false, scope: { @@ -286,7 +286,7 @@ exports.default = function (sequelize, options) { d.save().then(function (d) { // Add diff to revision - revision.addRevisionChange(d); + revision['add' + options.revisionChangeModel](d); return null; }).catch(function (err) { log('RevisionChange save error'); @@ -372,6 +372,7 @@ exports.default = function (sequelize, options) { var RevisionChange = sequelize.define(options.revisionChangeModel, attributes, { underscored: options.underscored }); + // Set associations Revision.hasMany(RevisionChange, { foreignKey: options.defaultAttributes.revisionId, diff --git a/package.json b/package.json index 560ab44..b0837a2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sequelize-paper-trail", - "version": "0.4.0", + "version": "1.0.0", "description": "Track changes to your Sequelize models data. Perfect for auditing or versioning.", "bugs": { "url": "https://github.com/nielsgl/sequelize-paper-trail/issues", diff --git a/src/index.js b/src/index.js index 5bb9c59..14e0253 100644 --- a/src/index.js +++ b/src/index.js @@ -174,7 +174,7 @@ export default (sequelize: sequelize, options: object): object => { this.addHook("afterUpdate", afterHook); // create association - this.hasMany(sequelize.models.Revision, { + this.hasMany(sequelize.models[options.revisionModel], { foreignKey: "document_id", constraints: false, scope: { @@ -291,7 +291,7 @@ export default (sequelize: sequelize, options: object): object => { d.save() .then(function(d: any){ // Add diff to revision - revision.addRevisionChange(d); + revision['add' + options.revisionChangeModel](d); return null; }) .catch((err: any) => { @@ -377,6 +377,7 @@ export default (sequelize: sequelize, options: object): object => { var RevisionChange = sequelize.define(options.revisionChangeModel, attributes, { underscored: options.underscored }); + // Set associations Revision.hasMany(RevisionChange, { foreignKey: options.defaultAttributes.revisionId,