Example #1
0
exports.getEnabledFilter = function(collection, data) {
  var enabledFilter

  if (data.enabled === true) {
    enabledFilter = ejs.AndFilter(
      ejs.OrFilter([
        ejs.TermFilter('enabled', 'T'),
        ejs.MissingFilter('enabled')
      ])
    )
  } else if (data.enabled === false) {
    enabledFilter = ejs.AndFilter(
      ejs.TermFilter('enabled', 'F')
    )
  }

  return enabledFilter;
}
Example #2
0
exports.generateRangeFilter = function(options, values) {
  var rangeFilters = _.chain(values)
  .map(function(value) {
    var rangeOptions = _.findWhere(options.ranges, {name: value});
    // if input is incorrect
    if (!rangeOptions) {
      return null;
    }
    var rangeFilter = ejs.RangeFilter(options.field);
    if (rangeOptions.gte) {
      rangeFilter.gte(rangeOptions.gte);
    }
    if (rangeOptions.lte) {
      rangeFilter.lte(rangeOptions.lte);
    }
    return rangeFilter;
  })
  .filter(function(val) {
    return val !== null;
  })
  .value()
  return ejs.OrFilter(rangeFilters);
}