pre:signinとpost:signinフックにロジックを追加したいが、定義されている場所を見つけることができません。 admin/server/api/session/signin.jsでは、私はcallHook()の両方が見つかりましたが、実際のフックは見つかりません。ヘルプは非常に感謝!KeystoneJS:callHookフックはどこに定義されていますか?
0
A
答えて
0
KeystoneJS grappling-hookを使用しています。 callHookを使うことができる理由です。 node_modules /キーストーンで
/あなたはこのコード
var grappling = require('grappling-hook');
grappling.mixin(this).allowHooks('pre:static', 'pre:bodyparser', 'pre:session', 'pre:routes', 'pre:render', 'updates', 'signout', 'signin', 'pre:logger');
を見ることができますindex.js私はわかりませんが、彼らは本当に存在しませんので、あなたが実際のフックを見つけていません。
方法は、キーストーンで定義されており、単にそれらをhoockableなり取り組むされています。例えばサインインはキーストーンインスタンスで定義された方法であり、グラップルはそれをホッケー可能にした。 ここでは、署名が完了した後の対処方法を示します。
keystone.callHook(user, 'post:signin', function (err) {
if (err) return res.json({ error: 'post:signin error', detail: err });
res.json({ success: true, user: user });
});
だから素人用語で、あなたは...ヘイのキーストーンは、このユーザーが署名された後、私の関数を呼び出す。そして、台形内部にはコードが実際に存在しないことのために言ってrを。
MY知識がここに限定されているユーザーが渡されたか、このユーザーがログインしたときにのみ起こることをどのように。私が思うに、我々はまだいくつかの専門家はここに点灯する必要があります。
0
私は特定のモデルがデータベースに追加されたたびに呼び出される関数に必要なユースケースを持っていました。私はあなたがそのような結果を達成するために特に投稿ミドルウェアMongoose middlewareを使用できることを知りました。だから、私の場合は、新しい製品が追加または更新されるたびに関数を実行するProductスキーマがありました。次のように追加するのは簡単でした:
関連する問題
- 1. I18n.localizeはどこでレールに定義されていますか?
- 2. UNS_32はどこに定義されていますか?
- 3. java.awt.Graphicsのメソッドはどこに定義されていますか?
- 4. フォントファミリはどこに定義されていますか?
- 5. Rubyでキーワードはどこに定義されていますか?
- 6. BCRYPT_HASH_FUNCTION_TABLEはどこに定義されていますか?
- 7. アクションメソッド "setElementClass"はどこに定義されていますか?
- 8. ffiシンボルはどこに定義されていますか?
- 9. ノードはどこに定義されていますか?
- 10. com.intellij.modules.langはどこに定義されていますか
- 11. Rails: "params"はどこに定義されていますか?
- 12. DEBUGマクロはどこに定義されていますか?
- 13. #this.datasource#は通常どこに定義されていますか?
- 14. エイリアスはどこに定義されていますか
- 15. Roslyn.Compilers.CSharp.Syntax.Identifierはどこに定義されていますか?
- 16. Reads.atはどこに定義されていますか?
- 17. Enum.values()はどこに定義されていますか?
- 18. [Gradle] [Play] compilePlayBinaryScalaはどこに定義されていますか?
- 19. Widget.Material.Light.TextView.ListSeparatorはどこに定義されていますか?
- 20. tt_news - "newsMoreLink"レジスタはどこに定義されていますか?
- 21. Arduino:Serial.beginシンボルはどこに定義されていますか?
- 22. クラス "セクション"はどこに定義されていますか?
- 23. 「リンク」はどこに定義されていますか?
- 24. Clang:-Wallオプションはどこに定義されていますか?
- 25. アンドロイドSDKバージョンはどこに定義されていますか?
- 26. _startシンボルはどこに定義されていますか
- 27. Poco ByteOrder :: ToNetwork()はどこに定義されていますか?
- 28. GCCのトークンタイプはどこに定義されていますか?
- 29. mallocはどこでコードで定義されていますか?
- 30. Qt:イベントタイプはどこで定義されていますか?
ありがとうございました。私はそれをはるかに持っていますが、実際のフックはどこにも見ません。あなたが作成する必要があるところで、そして/または、その1つの例について、もう少し詳しく説明できますか?たとえば、投稿:signinフックを追加したい場合は、作成したfuncを見つけるためにgrappling-hookを接続するにはどうすればよいですか? – user166879
keystone.callHook(NEWUSER、「ポスト:サインイン」、機能(ERR){} – enRaiser
ああ、私の混乱だったので - である - 私はcallHook(予想)実際には、それは実際にだとき、他の場所で定義されていますフックを呼び出すために?ときにこれ等を定めると同時に、フック関数を呼び出す。3番目のパラメータは、フック関数である。Node.jsのの – user166879