У меня есть модель под названием Product. Я хочу, чтобы для этой модели была настраиваемая по всем направлениям фильтрация.
Например: sails.config.field = 2;
Когда я выполняю GET / Product, я хочу, чтобы он по существу выполнял GET / Product? Where = {"field ": 2}
Вышеупомянутое работает для схемы путем добавления политики, но я хочу, чтобы при использовании ватерлинии ORM
GET / Product и Product.find () выполнялись последовательно. вернуть то же самое.
Я могу переопределить модель: Product.find, и она будет работать отлично ... ЕСЛИ бы у меня был способ получить доступ к базовому коду поиска.
Код, который я использую для перехвата чертежа, следующий:
if (!req.query.where) {
req.query.where = `{"status":{">":0,">=":${sails.config.catalogVersions.status}}}`;
} else {
const parsedWhere = JSON.parse(req.query.where);
parsedWhere.status = {
'>': 0,
'>=': sails.config.catalogVersions.status,
};
req.query.where = JSON.stringify(parsedWhere);
}
Я мог бы очень легко применить это к перехватчику Model.find.
Есть ли способ, который однажды поплывет загружен, я могу получить доступ к методу поиска root на модели, даже если он был перезаписан во время загрузки?