models: move Change LDL def into a json file
This commit is contained in:
parent
6cbc231fba
commit
0906a6f5b3
|
@ -10,26 +10,6 @@ var PersistedModel = require('../../lib/loopback').PersistedModel
|
|||
, assert = require('assert')
|
||||
, debug = require('debug')('loopback:change');
|
||||
|
||||
/*!
|
||||
* Properties
|
||||
*/
|
||||
|
||||
var properties = {
|
||||
id: {type: String, id: true},
|
||||
rev: {type: String},
|
||||
prev: {type: String},
|
||||
checkpoint: {type: Number},
|
||||
modelName: {type: String},
|
||||
modelId: {type: String}
|
||||
};
|
||||
|
||||
/*!
|
||||
* Options
|
||||
*/
|
||||
|
||||
var options = {
|
||||
trackChanges: false
|
||||
};
|
||||
|
||||
/**
|
||||
* Change list entry.
|
||||
|
@ -41,11 +21,11 @@ var options = {
|
|||
* @property {String} modelName Model name
|
||||
* @property {String} modelId Model ID
|
||||
*
|
||||
* @class
|
||||
* @inherits {Model}
|
||||
* @class Change
|
||||
* @inherits {PersistedModel}
|
||||
*/
|
||||
|
||||
var Change = module.exports = PersistedModel.extend('Change', properties, options);
|
||||
module.exports = function(Change) {
|
||||
|
||||
/*!
|
||||
* Constants
|
||||
|
@ -501,6 +481,7 @@ Change.prototype.getModel = function(callback) {
|
|||
* @param {PersistedModel} TargetModel
|
||||
* @property {ModelClass} source The source model instance
|
||||
* @property {ModelClass} target The target model instance
|
||||
* @class Change.Conflict
|
||||
*/
|
||||
|
||||
function Conflict(modelId, SourceModel, TargetModel) {
|
||||
|
@ -644,3 +625,4 @@ Conflict.prototype.type = function(cb) {
|
|||
return cb(null, Change.UNKNOWN);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"name": "Change",
|
||||
"trackChanges": false,
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"id": true
|
||||
},
|
||||
"rev": {
|
||||
"type": "string"
|
||||
},
|
||||
"prev": {
|
||||
"type": "string"
|
||||
},
|
||||
"checkpoint": {
|
||||
"type": "number"
|
||||
},
|
||||
"modelName": {
|
||||
"type": "string"
|
||||
},
|
||||
"modelId": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -33,7 +33,9 @@ module.exports = function(loopback) {
|
|||
require('../common/models/user.json'),
|
||||
require('../common/models/user.js'));
|
||||
|
||||
loopback.Change = require('../common/models/change');
|
||||
loopback.Change = createModel(
|
||||
require('../common/models/change.json'),
|
||||
require('../common/models/change.js'));
|
||||
|
||||
loopback.Checkpoint = createModel(
|
||||
require('../common/models/checkpoint.json'),
|
||||
|
|
|
@ -960,7 +960,10 @@ PersistedModel.enableChangeTracking = function() {
|
|||
}
|
||||
|
||||
PersistedModel._defineChangeModel = function() {
|
||||
var BaseChangeModel = require('./../common/models/change');
|
||||
var BaseChangeModel = loopback.Change;
|
||||
assert(BaseChangeModel,
|
||||
'Change model must be defined before enabling change replication');
|
||||
|
||||
return this.Change = BaseChangeModel.extend(this.modelName + '-change',
|
||||
{},
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue