Loopback:使用JavaScript执行生成的方法

时间:2016-08-20 16:38:17

标签: javascript loopbackjs

我想在JavaScript中使用生成的方法(特别是__get__accessTokens),但我不知道如何。我可以测试这个功能(获取用户的令牌)使用REST API Explorer可以正常工作,但是我找不到任何关于如何以编程方式访问生成的方法以及它们的签名是什么的示例。我需要的一个示例(User扩展了默认的 module.exports = function(Member) { Member.__get__accessTokens(...) // or if I have a specific user (e.g. after executing findById) Member.findById(id, function(err, member) { member.__get__accessTokens(...) }); } 模型):

模型/ member.js

#!/bin/bash

# break self-recursiveness
git log | head -n6 | grep -q 'version.h update' && exit 0

commit_id=`git log | head -n3 | grep commit`
v_date=`git log | head -n3 | grep -i date | sed 's|[dD]ate:\s*\(.*\)|\1|'`

sed -i "s|#define COMMIT.*|#define COMMIT \"${commit_id}\"|" server/version.h
sed -i "s|#define V_DATE.*|#define V_DATE \"${v_date}\"|" server/version.h

git commit -m"version.h update" server/version.h
exit 0

2 个答案:

答案 0 :(得分:1)

您可以使用before_install: ⋮ - echo | git fetch origin -f gh-pages:gh-pages afterRemote方法。

beforeRemote

您可以使用当前上下文。 https://docs.strongloop.com/display/public/LB/Using+current+context

答案 1 :(得分:1)

您可以从上下文中访问它:

module.exports = function(Product) {  
    var app = require('../../server/server')

    Product.afterRemote('create', function( ctx, modelInstance, next) {
        var accessToken = ctx.req.accessToken

        // get Customer (User) by using the user id in token object
        app.models.Customer.findById(accessToken.userId, function(err, user) {
            modelInstance.createdBy = user.username
            next()
        })
    })
}

我使用这部分代码来捕获通过REST API创建模型的用户名。可以在here

中找到完整的说明