Fix role.isOwner to support app-local registry
This commit is contained in:
parent
845c59eced
commit
cae9786f0e
|
@ -147,12 +147,10 @@ module.exports = function(Role) {
|
||||||
});
|
});
|
||||||
|
|
||||||
function isUserClass(modelClass) {
|
function isUserClass(modelClass) {
|
||||||
if (modelClass) {
|
if (!modelClass) return false;
|
||||||
return modelClass === loopback.User ||
|
var User = modelClass.modelBuilder.models.User;
|
||||||
modelClass.prototype instanceof loopback.User;
|
if (!User) return false;
|
||||||
} else {
|
return modelClass == User || modelClass.prototype instanceof User;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -407,4 +407,27 @@ describe('role model', function() {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('isOwner', function() {
|
||||||
|
it('supports app-local model registry', function(done) {
|
||||||
|
var app = loopback({ localRegistry: true, loadBuiltinModels: true });
|
||||||
|
app.dataSource('db', { connector: 'memory' });
|
||||||
|
// attach all auth-related models to 'db' datasource
|
||||||
|
app.enableAuth({ dataSource: 'db' });
|
||||||
|
|
||||||
|
var Role = app.models.Role;
|
||||||
|
var User = app.models.User;
|
||||||
|
|
||||||
|
var u = app.registry.findModel('User');
|
||||||
|
var credentials = { email: 'test@example.com', password: 'pass' };
|
||||||
|
User.create(credentials, function(err, user) {
|
||||||
|
if (err) return done(err);
|
||||||
|
|
||||||
|
Role.isOwner(User, user.id, user.id, function(err, result) {
|
||||||
|
if (err) return done(err);
|
||||||
|
expect(result, 'isOwner result').to.equal(true);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue