UNPKG

@controlla/cli

Version:

Command line interface for rapid Controlla projects development

56 lines (48 loc) 1.52 kB
const parserFilters = filter => { let filterParams = '' let param = '' if (filter.where) { Object.keys(filter.where).map((value, key) => { if (value !== 'param') { filter.where[value].length > 0 && (filterParams += `&${value}=*${filter.where[value]}*`) param += `,${value}` } else { (param && filter.where[value].length > 0) && (filterParams += `&param=${filter.where[value]}${param}`) } }) } if (filter.whereIn) { Object.keys(filter.whereIn).map((value, key) => { filter.whereIn[value].forEach((el) => { filterParams += `&${value}[]=${el}` }) }) } if (filter.whereBetween) { Object.keys(filter.whereBetween).map((value, key) => { if (filter.whereBetween[value].length > 0) { filterParams += `&${value}>${filter.whereBetween[value][0]}` filterParams += `&${value}<${filter.whereBetween[value][1]}` } }) } if (filter.betweenDates) { Object.keys(filter.betweenDates).map((value, key) => { if (filter.betweenDates[value].length > 0) { filterParams += `&between_dates=${filter.betweenDates[value][0]},${filter.betweenDates[value][1]},${value}` } }) } if (filter.includes) { if (filter.includes.length > 0) { filterParams += `&includes=${filter.includes}` } } if (filter.orderBy) { if (filter.orderBy.length > 0) { filterParams += `&order_by=${filter.orderBy}` } } return filterParams } export default parserFilters