Flux Fluxible js プロジェクトでデコレータ stage:0 をサポートする babel を使用しています。サービス API モジュールに認証済みデコレータを使用して、有効なユーザー セッションを確認したいと考えています。
グーグルで調べてみると、さまざまなバリエーションを説明している投稿がいくつかあるようですが、決定的なドキュメントや説明書は見つかりませんでした.
これまでに試したことは次のとおりです。認証された関数のパラメーターが正しくないことはわかっています。また、エクスポート オブジェクトを使用するだけでなく、モジュールのクラスを実装する必要があるかどうかもわかりません。
ドキュメントが見つからなかった部分は、デコレータ自体を実装する方法です。この場合、装飾された関数が受け取ってチェックする req パラメータを取るものです。
// how do I change this method so that it can be implemented as a decorator
function checkAuthenticated(req) {
if (!req.session || !req.session.username)
{
throw new Error('unauthenticated');
}
}
module.exports = {
@checkAuthenticated
read: function(req, resource, params, serviceConfig, callback) {
//@authenticated decorator should allow me to move this out of this here
//checkAuthenticated(req);
if (resource === 'product.search') {
var keyword = params.text;
if (!keyword || keyword.length === 0) {
return callback('empty param', null);
} else {
searchProducts(keyword, callback);
}
}
}
};