0

別のフックのようにフックを使用することは可能restrictToOwnerですか? たとえば、ユーザーが自分の情報を一般的にのみ更新できるようにしたいのですが、他のユーザーの特定のプロパティにもアクセスできるようにしたいと考えています。したがって、特定のクエリ パラメータが存在する場合、たとえばユーザーについてのコメントを考えてみましょう。ユーザーにパスしてもらいたいのですが、それ以外の場合はrestrictToOwnerフックを利用したいと考えています。もちろん、独自の同等のrestrictToOwnerフックを作成することもできますが、可能であれば既存のものを利用したいと思います(?)。以下のコードは機能しませんが、次のようなものが必要です。

module.exports = function(options) {
  return function(hook) {
    if (typeof hook.data.comment !== 'undefined')
      return hook;
    return auth.restrictToOwner({ ownerField: '_id' });
  };
};

私がやりたいもう 1 つの同様のことは、要求が外部呼び出しである場合にのみフックを実行することです。私の内部スクリプトには無制限のアクセス権が必要です。何かのようなもの:

// user/hooks/index.js
exports.before = {
  patch: [
    globalHooks.ifExternal(auth.restrictToOwner({ ownerField: '_id' }))
  ]
};
// hooks/index.js
exports.ifExternal = function(func) {
  return function(hook) {
    if (typeof hook.params.provider === 'undefined') //? if internal
      return hook;
    return func;
  };
};

前もって感謝します!

4

1 に答える 1

1

auth.restrictToOwnerフック オブジェクトを使用する別の関数を返す関数です。

したがって、次のように呼び出す必要があります。

return auth.restrictToOwner({ ownerField: '_id' })(hook);

2 番目の質問に:

if (!hook.params.provider) {
  // internal only stuff here.
}
于 2016-10-18T11:12:12.117 に答える