Remove updateAttribute as remote method
This commit is contained in:
parent
49da6f4249
commit
fbf0e35f1d
|
@ -17,64 +17,6 @@ Model.shared = true;
|
|||
* For **remoting**. Construct objects when calling instance methods remotely.
|
||||
*/
|
||||
|
||||
Model.sharedCtor = function (data, id, fn) {
|
||||
var ModelCtor = this;
|
||||
|
||||
if(typeof data === 'function') {
|
||||
fn = data;
|
||||
data = null;
|
||||
id = null;
|
||||
} else if (typeof id === 'function') {
|
||||
fn = id;
|
||||
|
||||
if(typeof data !== 'object') {
|
||||
id = data;
|
||||
data = null;
|
||||
} else {
|
||||
id = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(id && data) {
|
||||
var model = new ModelCtor(data);
|
||||
model.id = id;
|
||||
fn(null, model);
|
||||
} else if(data) {
|
||||
fn(null, new ModelCtor(data));
|
||||
} else if(id) {
|
||||
ModelCtor.find(id, function (err, model) {
|
||||
if(err) {
|
||||
fn(err);
|
||||
} else if(model) {
|
||||
fn(null, model);
|
||||
} else {
|
||||
err = new Error('could not find a model with id ' + id);
|
||||
err.statusCode = 404;
|
||||
|
||||
fn(err);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
fn(new Error('must specify an id or data'));
|
||||
}
|
||||
}
|
||||
|
||||
// before remote hook
|
||||
Model.beforeRemote = function (name, fn) {
|
||||
var self = this;
|
||||
if(this.app) {
|
||||
var remotes = this.app.remotes();
|
||||
remotes.before(self.pluralModelName + '.' + name, function (ctx, next) {
|
||||
fn(ctx, ctx.result, next);
|
||||
});
|
||||
} else {
|
||||
var args = arguments;
|
||||
this.once('attached', function () {
|
||||
self.beforeRemote.apply(self, args);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// after remote hook
|
||||
Model.afterRemote = function (name, fn) {
|
||||
var self = this;
|
||||
|
@ -103,6 +45,62 @@ Model.setup = function () {
|
|||
// list
|
||||
Model.acl = [];
|
||||
|
||||
Model.sharedCtor = function (data, id, fn) {
|
||||
if(typeof data === 'function') {
|
||||
fn = data;
|
||||
data = null;
|
||||
id = null;
|
||||
} else if (typeof id === 'function') {
|
||||
fn = id;
|
||||
|
||||
if(typeof data !== 'object') {
|
||||
id = data;
|
||||
data = null;
|
||||
} else {
|
||||
id = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(id && data) {
|
||||
var model = new ModelCtor(data);
|
||||
model.id = id;
|
||||
fn(null, model);
|
||||
} else if(data) {
|
||||
fn(null, new ModelCtor(data));
|
||||
} else if(id) {
|
||||
ModelCtor.find(id, function (err, model) {
|
||||
if(err) {
|
||||
fn(err);
|
||||
} else if(model) {
|
||||
fn(null, model);
|
||||
} else {
|
||||
err = new Error('could not find a model with id ' + id);
|
||||
err.statusCode = 404;
|
||||
|
||||
fn(err);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
fn(new Error('must specify an id or data'));
|
||||
}
|
||||
}
|
||||
|
||||
// before remote hook
|
||||
ModelCtor.beforeRemote = function (name, fn) {
|
||||
var self = this;
|
||||
if(this.app) {
|
||||
var remotes = this.app.remotes();
|
||||
remotes.before(self.pluralModelName + '.' + name, function (ctx, next) {
|
||||
fn(ctx, ctx.result, next);
|
||||
});
|
||||
} else {
|
||||
var args = arguments;
|
||||
this.once('attached', function () {
|
||||
self.beforeRemote.apply(self, args);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
ModelCtor.sharedCtor.accepts = [
|
||||
{arg: 'data', type: 'object', http: {source: 'body'}},
|
||||
{arg: 'id', type: 'any', http: {source: 'url'}}
|
||||
|
|
|
@ -61,7 +61,6 @@ describe('DataSource', function() {
|
|||
existsAndShared('isNewRecord', false);
|
||||
existsAndShared('_adapter', false);
|
||||
existsAndShared('destroy', true);
|
||||
existsAndShared('updateAttribute', true);
|
||||
existsAndShared('updateAttributes', true);
|
||||
existsAndShared('reload', true);
|
||||
|
||||
|
|
Loading…
Reference in New Issue