New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

feathers-solr

Package Overview
Dependencies
Maintainers
1
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

feathers-solr - npm Package Compare versions

Comparing version 2.3.1 to 2.4.0

3

lib/core/index.js

@@ -1,2 +0,2 @@

const { addId, jsonQuery, patchQuery, deleteQuery, whitelist, defaultOperators } = require('./query');
const { addId, getIds, jsonQuery, patchQuery, deleteQuery, whitelist, defaultOperators } = require('./query');
const { responseFind, responseGet } = require('./response');

@@ -6,2 +6,3 @@

addId,
getIds,
jsonQuery,

@@ -8,0 +9,0 @@ patchQuery,

@@ -232,4 +232,13 @@ const { _ } = require('@feathersjs/commons');

const getIds = (data, id) => {
if (!Array.isArray(data) && data[id]) return [data[id]];
return data.map(d => {
return d[id];
});
};
module.exports = {
addId,
getIds,
jsonQuery,

@@ -236,0 +245,0 @@ patchQuery,

@@ -67,2 +67,3 @@ const { _ } = require('@feathersjs/commons');

const { filters, query, paginate } = this.filterQuery(params);
return this.Model.post('query', core.jsonQuery(id, filters, query, paginate)).then(res => {

@@ -78,2 +79,3 @@ if (_.get(res, 'response.numFound') === 0) {

const { filters, query, paginate } = this.filterQuery(params);
if (query.$suggest) {

@@ -86,14 +88,31 @@ return this.Model.get(this.suggest, { q: query.$suggest });

_create(raw, params = {}) {
async _create(raw, params = {}) {
if (_.isEmpty(raw)) throw new errors.MethodNotAllowed('Data is empty');
// add uuid
const addId = item => core.addId(item, this.id);
const data = Array.isArray(raw) ? raw.map(addId) : addId(raw);
const dataToCreate = Array.isArray(raw) ? raw.map(addId) : addId(raw);
const sel = select(params, this.id);
return this.Model.post('update/json', Array.isArray(data) ? data : [data], Object.assign(params, this.commit)).then(res => sel(data));
// create data
await this.Model.post('update/json', Array.isArray(dataToCreate) ? dataToCreate : [dataToCreate], Object.assign(params, this.commit));
const refIds = core.getIds(dataToCreate, this.id);
const query = { id: { $in: refIds } };
// request and return created data or plain solr response
return this._find({ query: query })
.then(select(params, this.id))
.then(res => {
return refIds.length == 1 ? res[0] : res;
});
}
async _patch(id, data, params = {}) {
const toPatch = await this._getOrFind(id, params);
const { ids, patchData } = core.patchQuery(toPatch, data, this.id);
// request data to patch
const dataToPatch = await this._getOrFind(id, params);
// patch query, Atomic Field update
const { ids, patchData } = core.patchQuery(dataToPatch, data, this.id);
// patch data
await this.Model.post('update/json', patchData, this.commit);

@@ -108,12 +127,18 @@

_remove(id, params = {}) {
async _remove(id, params = {}) {
if (id === null && _.isEmpty(params)) {
throw new errors.MethodNotAllowed('Delete with out id and query is not allowed');
}
const sel = select(params, this.id);
return this._getOrFind(id, params).then(data => {
const query = core.deleteQuery(id, params || null);
const sel = select(params, this.id);
return this.Model.post('update/json', query, Object.assign(this.commit)).then(res => sel(data));
});
// get delete query
const query = core.deleteQuery(id, params || null);
// get data to delete
const dataToDelete = await this._getOrFind(id, params);
// delete
const response = await this.Model.post('update/json', query, Object.assign(this.commit));
return sel(dataToDelete);
}

@@ -128,9 +153,12 @@

}
return this._getOrFind(id, params).then(res => {
if (!res[this.id]) {
throw new errors.NotFound('No record found');
}
data.id = res.id;
return this.Model.post('update/json', [data]).then(res => sel(data));
});
data[this.id] = id || dataToUpdate[this.id];
// update
const response = await this.Model.post('update/json', [data], Object.assign(params, this.commit));
// get updated data
const updatedData = await this._getOrFind(id, params);
return _.omit(sel(updatedData), 'score', '_version_');
}

@@ -137,0 +165,0 @@ }

{
"name": "feathers-solr",
"description": "A service plugin for Solr",
"version": "2.3.1",
"version": "2.4.0",
"homepage": "https://github.com/sajov/feathers-solr",

@@ -35,3 +35,3 @@ "keywords": [

"scripts": {
"publish": "git push origin --tags && npm run changelog && git push origin",
"publish": "git push origin --tags && git push origin",
"changelog": "github_changelog_generator && git add CHANGELOG.md && git commit -am \"Updating changelog\"",

@@ -38,0 +38,0 @@ "release:patch": "npm version patch && npm publish",

@@ -334,3 +334,3 @@ # feathers-solr

```Javascript
service.Model.post('schema',{"add-field":{name:"age",type:"pint"}});
service.Model.post('config',{"add-requesthandler":{...}});
```

@@ -337,0 +337,0 @@

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc