This commit is contained in:
Jürg Lehni 2017-08-02 15:22:56 +00:00 committed by GitHub
commit bd2dca6a09
7 changed files with 84 additions and 1 deletions

View File

@ -273,7 +273,7 @@ Registry.prototype._defineRemoteMethods = function(ModelCtor, methods) {
if (typeof meta.isStatic !== 'boolean') {
key = isStatic ? key : m[1];
meta.isStatic = isStatic;
meta = Object.assign({}, meta, {isStatic});
} else if (meta.isStatic && m) {
throw new Error(g.f('Remoting metadata for %s.%s {{"isStatic"}} does ' +
'not match new method name-based style.', ModelCtor.modelName, key));

View File

@ -0,0 +1,7 @@
{
"name": "Foo",
"base": "PersistedModel",
"methods": {
"staticMethod": {}
}
}

View File

@ -0,0 +1,10 @@
{
"port": 3000,
"host": "127.0.0.1",
"remoting": {
"errorHandler": {
"debug": true,
"log": false
}
}
}

View File

@ -0,0 +1,6 @@
{
"db": {
"name": "db",
"connector": "memory"
}
}

View File

@ -0,0 +1,39 @@
{
"_meta": {
"sources": [
"loopback/common/models",
"loopback/server/models",
"../common/models",
"./models"
],
"mixins": [
"loopback/common/mixins",
"loopback/server/mixins",
"../common/mixins",
"./mixins"
]
},
"User": {
"dataSource": "db"
},
"AccessToken": {
"dataSource": "db",
"public": false
},
"ACL": {
"dataSource": "db",
"public": false
},
"RoleMapping": {
"dataSource": "db",
"public": false
},
"Role": {
"dataSource": "db",
"public": false
},
"Foo": {
"dataSource": "db",
"public": true
}
}

View File

@ -0,0 +1,12 @@
// Copyright IBM Corp. 2015. All Rights Reserved.
// Node module: loopback
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
'use strict';
var boot = require('loopback-boot');
var loopback = require('../../../../index');
var app = module.exports = loopback();
boot(app, __dirname);
app.use(loopback.rest());

View File

@ -14,6 +14,7 @@ var PersistedModel = loopback.PersistedModel;
var Promise = require('bluebird');
var TaskEmitter = require('strong-task-emitter');
var request = require('supertest');
var path = require('path');
var expect = require('./helpers/expect');
@ -1032,4 +1033,12 @@ describe.onServer('Remote Methods', function() {
});
}
});
describe('Create Model with remote methods from JSON description', function() {
it('does not add isStatic properties to the method settings', function() {
var app = require(path.join(__dirname,
'fixtures/remote-methods/server/server.js'));
assert.deepEqual(app.models.Foo.settings.methods.staticMethod, {});
});
});
});