Skip to content

Instantly share code, notes, and snippets.

@SandeshSarfare
Created January 21, 2016 07:05
Show Gist options
  • Save SandeshSarfare/27cc755729c2ef0510d0 to your computer and use it in GitHub Desktop.
Save SandeshSarfare/27cc755729c2ef0510d0 to your computer and use it in GitHub Desktop.
getCurrentContext() returns null randomly
//Members.js
----javascript
Members.getMember = function(Id, cb) {
var ctx = loopback.getCurrentContext();
var currentUser = ctx && ctx.get('currentUser');
var realms = [];
realms = currentUser.realm.split(",");
var fltr = {
"where": {
"id": Id,
"center": {
"inq": realms
}
}
};
Members.find(fltr, function(err, res) {
console.log(err,res);
});
};
//boot script
var loopback = require('loopback');
var boot = require('loopback-boot');
var app = module.exports = loopback();
app.start = function() {
// start the web server
return app.listen(function() {
app.emit('started');
var baseUrl = app.get('url').replace(/\/$/, '');
console.log('Web server listening at: %s', baseUrl);
if (app.get('loopback-component-explorer')) {
var explorerPath = app.get('loopback-component-explorer').mountPath;
console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
}
});
};
app.use(loopback.context());
app.use(loopback.token());
app.use(function setCurrentUser(req, res, next) {
if (!req.accessToken) {
return next();
}
app.models.User.findById(req.accessToken.userId, function(err, user) {
if (err) {
return next(err);
}
if (!user) {
return next(new Error('No user with this access token was found.'));
}
var loopbackContext = loopback.getCurrentContext();
if (loopbackContext) {
loopbackContext.set('currentUser', user);
}
next();
});
});
// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function(err) {
if (err) throw err;
// start the server if `$ node server.js`
if (require.main === module)
app.start();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment