aor-loopback
aor-loopback copied to clipboard
Problem to use a partial data info in where filter
I suggest the code block below to add 'like' statement:
if (query['where'] ) { var json = query['where']; query['where'] = {}; Object.keys(json).forEach(function(key) { query['where'][key] = { "like" : json[key], "options":"i" } ; }); }
in src/index.js after
query['where'] = {...params.filter}; //line 41
In MySql i have to use
if (query['where']) { var json = query['where']; query['where'] = {}; Object.keys(json).forEach(function (key) { query['where'][key] = { "regexp": '/^'+json[key]+'/i' }; }); }
Hola, en Admin on rest tu puedes decorar tu restClient con un filtro
const addFiltersCapabilities = requestHandler => (type, resource, params) => {
switch (type) {
case GET_LIST:
if (
resource === 'Notices' &&
params.filter.name !== undefined &&
type === 'GET_LIST'
) {
return requestHandler('GET_LIST', 'Notices', {
pagination: {},
sort: {},
filter: { name: { regexp: `.*${params.filter.name}.*` } }
});
}
return requestHandler(type, resource, params);
default:
return requestHandler(type, resource, params);
}
};
export default addFiltersCapabilities;
so
<Admin
restClient={addFiltersCapabilities(loopbackRestClient(API_URL))}
>
espero sirva de ayuda