Есть ли какая-нибудь петлевая функция 3, которая может помочь в изменении, а затем в создании фильтров? - PullRequest
0 голосов
/ 14 февраля 2019

Мне нужно применить фильтр по умолчанию.До сих пор я дошел до этой точки:

Project.find = function (filter, callback) { return override.apply(this, arguments); }

Теперь я хочу применить свой фильтр по умолчанию и здесь вместе с фильтром, который был передан пользователем.Как этого добиться?Нужно ли обрабатывать это вручную или есть какое-либо встроенное решение для этого, обеспечиваемое loopback 3?

1 Ответ

0 голосов
/ 14 февраля 2019

То, что вы могли бы использовать, - это средство «до удаленного» поиска, где у вас есть доступ ко всему телу запроса, так что вы можете изменять его в зависимости от состояния системы.Так, например:

Project.beforeRemote('find', function(ctx, next) {
    console.log('whole request: ', ctx.req);
    console.log('request body: ', ctx.req.body);
    console.log('request params: ', ctx.req.params);
    //... add filtering
    next();
});

В противном случае, если вы хотите применить фильтрацию к каждому вызову Project.find (..), вам нужно использовать операционный хук для «доступа», но тогда у вас естьНапример, меньше информации в контексте, вы не знаете, кто вызывает команду.

Я настоятельно рекомендую прочитать отличную петлевую документацию, касающуюся эксплуатационных и удаленных перехватчиков ,

...