The simplest possible solution for clearing the handler cache when registering a model.
This commit is contained in:
parent
e56574fd13
commit
b466bb96c8
|
@ -102,6 +102,7 @@ app.model = function (Model, config) {
|
|||
var remotingClassName = compat.getClassNameForRemoting(Model);
|
||||
this.remotes().exports[remotingClassName] = Model;
|
||||
this.models().push(Model);
|
||||
clearHandlerCache(this);
|
||||
Model.shared = true;
|
||||
Model.app = this;
|
||||
Model.emit('attached', this);
|
||||
|
@ -639,6 +640,10 @@ function tryReadConfig(cwd, fileName) {
|
|||
}
|
||||
}
|
||||
|
||||
function clearHandlerCache(app) {
|
||||
app._handlers = undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Install all express middleware required by LoopBack.
|
||||
*
|
||||
|
|
|
@ -29,6 +29,14 @@ describe('app', function() {
|
|||
expect(app.remotes().exports).to.eql({ color: Color });
|
||||
});
|
||||
|
||||
it('clears handler cache', function() {
|
||||
var originalRestHandler = app.handler('rest');
|
||||
var Color = db.createModel('color', {name: String});
|
||||
app.model(Color);
|
||||
var newRestHandler = app.handler('rest');
|
||||
expect(originalRestHandler).to.not.equal(newRestHandler);
|
||||
});
|
||||
|
||||
describe('in compat mode', function() {
|
||||
before(function() {
|
||||
loopback.compat.usePluralNamesForRemoting = true;
|
||||
|
|
Loading…
Reference in New Issue