38 lines
1.4 KiB
JavaScript
38 lines
1.4 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var utils = require('../utils');
|
||
|
var common = require('./common');
|
||
|
var DataModificationBase = require('../base-messages/DataModificationBase');
|
||
|
|
||
|
module.exports = DataModificationMessage;
|
||
|
|
||
|
function DataModificationMessage(content, transport) {
|
||
|
DataModificationBase.call(this, content, transport);
|
||
|
}
|
||
|
|
||
|
require('util').inherits(DataModificationMessage, DataModificationBase);
|
||
|
|
||
|
DataModificationMessage.prototype.attribute = function (attribute) {
|
||
|
utils.validate.object(attribute, 'attribute');
|
||
|
utils.validate.notEmptyString(attribute.name, 'attribute name');
|
||
|
utils.validate.attributeName(this._content.attributes, attribute.name);
|
||
|
|
||
|
if (attribute.old !== undefined || attribute.new !== undefined) {
|
||
|
utils.validate.string(attribute.old, 'attribute old value');
|
||
|
utils.validate.string(attribute.new, 'attribute new value');
|
||
|
}
|
||
|
|
||
|
this._content.attributes.push(attribute);
|
||
|
return this;
|
||
|
};
|
||
|
|
||
|
DataModificationMessage.prototype._validateContent = function () {
|
||
|
DataModificationBase.prototype._validateContent.call(this);
|
||
|
utils.validate.provided(this._content['data_subject'], 'data-subject');
|
||
|
};
|
||
|
|
||
|
DataModificationMessage.prototype.dataSubject = common.dataSubject;
|
||
|
DataModificationMessage.prototype.logPrepare = common.logPrepare;
|
||
|
DataModificationMessage.prototype.logSuccess = common.logSuccess;
|
||
|
DataModificationMessage.prototype.logFailure = common.logFailure;
|