如何在Loopback中向内置模型(比如User)添加更多remoteMethod

时间:2015-02-03 06:39:11

标签: node.js express loopbackjs strongloop

如何在Loopback中向内置模型(比如用户)添加更多remoteMethod?

我创建了一个common / models / user.js并添加了以下代码

var loopback = require('loopback');
var User = loopback.User;

User.signup = function(userData, callback){

        // Validate data
        // Save data - User
        // Create role mapping
        // return token
}

User.remoteMethod(
    'signup', 
    {
      accepts: [{ arg: 'userData', type: 'object' }],
      returns: { arg: 'token', type: 'object' },
      http: { verb: 'post' }
    });

但是,注册并没有出现在资源管理器中。你能帮忙吗?

干杯,

1 个答案:

答案 0 :(得分:1)

实际上有open issue关于如何更好地处理这种情况。现在它不漂亮,但你可以做到。根据您的情况,最简单的方法可能是创建一个简单的启动脚本来扩展User

server/boot/中创建新文件:a-new-user.js(不幸的是,文件必须在explorer.js 之前按字母顺序排列,否则新的远程方法将不会显示在资源管理器界面中。)只需在该文件中添加以下代码并重新启动应用程序:

module.exports = function (app) {
    var User = app.models.User;

    User.signup = function(userData, callback){
        // ...
        callback(null, 'some response data');
    };

    User.remoteMethod(
        'signup',
        {
            accepts: [{ arg: 'userData', type: 'object' }],
            returns: { arg: 'token', type: 'object' },
            http: { verb: 'post' }
        }
    );
};