我正在尝试在Loopback中为基于用户的模型创建自定义方法。
该方法调用login,然后检索用户的角色并将其添加到响应中,以便登录请求立即保存令牌和角色信息。
我的问题是,一旦我有令牌信息,我就不知道如何调用角色&我正在创建的角色转换方法...
如何将这些模型添加到当前范围?
如何从此方法访问rootScope?
这就是我的成就:
module.exports = function(TiUser) {
TiUser.auth = function(credentials, include, fn) {
var self = this;
self.login(credentials, include, function(err, token) {
var role = // Here I would retrieve Role related info
authInfo = {
token: token,
role: role
};
fn(err, authInfo);
});
};
TiUser.remoteMethod(
'auth',
{
description: 'Login method with Role data information embedded in return',
accepts: [
{arg: 'credentials', type: 'object', required: true, http: {source: 'body'}},
{arg: 'include', type: ['string'], http: {source: 'query' },
description: 'Related objects to include in the response. ' +
'See the description of return value for more details.'}
],
returns: {
arg: 'accessToken', type: 'object', root: true,
description: 'User Model'
},
http: {verb: 'post'}
}
);
};
答案 0 :(得分:7)
您可以从模型中返回app
,如TiUser.app
所以我称之为其他模型方法的方式是:
TiUser.app.models.Roles.find
等。