Socket
Socket
Sign inDemoInstall

feathers-solr-node

Package Overview
Dependencies
155
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.6 to 0.2.7

.eslintignore

32

example/app.js

@@ -1,16 +0,15 @@

const feathers = require("feathers");
const rest = require("feathers-rest");
const hooks = require("feathers-hooks");
const bodyParser = require("body-parser");
const errorHandler = require("feathers-errors/handler");
const solr = require("../main");
const express = require("@feathersjs/express");
const logger = require("winston");
const feathers = require('feathers');
const rest = require('feathers-rest');
const hooks = require('feathers-hooks');
const bodyParser = require('body-parser');
const solr = require('../main');
const express = require('@feathersjs/express');
const logger = require('winston');
const Service = new solr({
host: "115.79.204.120",
port: 8086,
core: "topic_27009",
username: "solr",
password: "solradmin",
host: 'localhost',
port: 8089,
core: 'topic_27009',
username: 'solr',
password: 'solradmin',
paginate: {

@@ -27,3 +26,3 @@ default: 10,

.use(bodyParser.urlencoded({ extended: true }))
.use("/solr", Service)
.use('/solr', Service)
.use(

@@ -33,3 +32,3 @@ express.errorHandler({

logger,
json: (err, req, res, next) => {
json: (err, req, res) => {
res.json({

@@ -47,2 +46,3 @@ error: {

console.log("Feathers app started on 127.0.0.1:3030");
// eslint-disable-next-line no-console
console.log('Feathers app started on 127.0.0.1:3030');

@@ -958,3 +958,4 @@ /*!

path: params.fullPath,
family: params.ipVersion
family: params.ipVersion,
timeout: params.timeout || 180000,
};

@@ -1009,3 +1010,4 @@

headers: headers,
family: params.ipVersion
family: params.ipVersion,
timeout: params.timeout || 180000,
};

@@ -1012,0 +1014,0 @@

@@ -1,17 +0,17 @@

const _ = require("./util");
const errors = require("@feathersjs/errors");
const _ = require('./util');
const errors = require('@feathersjs/errors');
class QueryParser {
constructor(options) {
this.mapKey = {
$select: "fields",
$search: "query",
$limit: "limit",
$skip: "offset",
$sort: "sort",
$facet: "facet",
$params: "params"
$select: 'fields',
$search: 'query',
$limit: 'limit',
$skip: 'offset',
$sort: 'sort',
$facet: 'facet',
$params: 'params'
//$qf: "qf"
//'$or':'filter'
};
this.METHODS = ["$or"];
this.METHODS = ['$or'];
this.setDefaultQuery(options);

@@ -22,13 +22,13 @@ }

this.defaultQuery = {
query: "*:*", // TODO: score
query: '*:*', // TODO: score
//filter: [],
// sort: '',
fields: _.get(options, "query.$select") || "*",
fields: _.get(options, 'query.$select') || '*',
limit:
_.get(options, "paginate.default") ||
_.get(options, "paginate.max") ||
_.get(options, 'paginate.default') ||
_.get(options, 'paginate.max') ||
10,
offset: 0
};
this.rowsMax = _.get(options, "paginate.max");
this.rowsMax = _.get(options, 'paginate.max');
}

@@ -61,7 +61,7 @@

filterBuilder(item, param) {
if (item === "$or") {
let value = this[item](item, param);
if (item === '$or') {
let value = this[item](item, param,true);
return [value];
}
if (item[0] === "$") {
if (item[0] === '$') {
return false;

@@ -76,14 +76,15 @@ }

Object.keys(param).forEach(f => {
if (f[0] === "$" && typeof this[f] !== "undefined") {
if (f[0] === '$' && typeof this[f] !== 'undefined') {
let condition = this[f](field, param[f]);
$filter.push(condition);
}
else {
$filter.push(...this.filter(f, param[f]));
}
});
} else if (Array.isArray(param)) {
if (Array.isArray(param)) {
param = "(" + param.join(" OR ") + ")";
}
$filter.push(field + ":" + param);
param = '(' + param.join(' OR ') + ')';
$filter.push(field + ':' + param);
} else {
$filter.push(field + ":" + param);
$filter.push(field + ':' + param);
}

@@ -108,5 +109,5 @@ return $filter;

Object.keys(param).forEach(name => {
order.push(name + (parseInt(param[name]) === 1 ? " asc" : " desc"));
order.push(name + (parseInt(param[name]) === 1 ? ' asc' : ' desc'));
});
return order.join(",");
return order.join(',');
}

@@ -116,3 +117,3 @@

if (Array.isArray(param)) {
param = param.join(",");
param = param.join(',');
}

@@ -133,3 +134,3 @@ return param;

}
return "!" + field + ':("' + param + '")';
return '!' + field + ':("' + param + '")';
}

@@ -145,15 +146,15 @@

$lt(field, param) {
return field + ":[* TO " + param + "}";
return field + ':[* TO ' + param + '}';
}
$lte(field, param) {
return field + ":[* TO " + param + "]";
return field + ':[* TO ' + param + ']';
}
$gt(field, param) {
return field + ":{" + param + " TO *]";
return field + ':{' + param + ' TO *]';
}
$gte(field, param) {
return field + ":[" + param + " TO *]";
return field + ':[' + param + ' TO *]';
}

@@ -165,21 +166,28 @@

}
return "!" + field + ':"' + param + '"';
return '!' + field + ':"' + param + '"';
}
$or(field, param) {
//let filter = this.query.filter;
$or(field, param, root) {
let operator = 'OR';
var $filter = [];
if (Array.isArray(param)) {
param.forEach(item => {
var f = Object.keys(item)[0];
if (f[0] === "$" && typeof this[f] !== "undefined") {
let condition = this[f](f, item[f]);
$filter.push(condition);
} else {
$filter.push(...this.filter(f, item[f]));
let fq = this.filter(field, item);
if(fq.length>1){
fq = '(' +fq.join(' AND ') +')';
}
$filter.push(fq);
// var f = Object.keys(item)[0];
// if (f[0] === '$' && typeof this[f] !== 'undefined') {
// let condition = this[f](f, item[f]);
// $filter.push(condition);
// } else {
// $filter.push(...this.filter(f, item[f]));
// }
});
} else {
Object.keys(param).forEach(item => {
if (item[0] === "$" && typeof param[item] !== "undefined") {
if (item[0] === '$' && typeof param[item] !== 'undefined') {
let condition = this[item](item, param[item]);

@@ -193,8 +201,19 @@ $filter.push(condition);

if ($filter.length > 0) {
return "(" + $filter.join(" OR ") + ")";
if(root && $filter.length || $filter.length==1){
return $filter.join(` ${operator} `);
}
return null;
else if ($filter.length > 1) {
return '('+ $filter.join(` ${operator} `) + ')';
}
return [];
}
// $or(field, param) {
// return this['$andor']('or', param);
// }
$and(field, param) {
return this['$andor']('or', param);
}
$qf(field, params) {

@@ -216,4 +235,4 @@ return Object.assign({}, this.query.params || {}, {

parseDelete(id, params) {
if (id === "*" || id === "*:*") {
return { delete: { query: "*:*" } };
if (id === '*' || id === '*:*') {
return { delete: { query: '*:*' } };
} else if (id) {

@@ -227,5 +246,5 @@ return { delete: { id: id } };

});
return { delete: { query: query.join(" AND ") } };
return { delete: { query: query.join(' AND ') } };
}
return { delete: { query: "*:*" } };
return { delete: { query: '*:*' } };
}

@@ -232,0 +251,0 @@ }

@@ -10,3 +10,3 @@ {

"description": "Solr Adapter for Feathersjs. Base on Solr-client, so can also used as a Solr-client",
"version": "0.2.6",
"version": "0.2.7",
"repository": {

@@ -13,0 +13,0 @@ "type": "git",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc