feathers-solr
Advanced tools
Comparing version 3.0.2 to 3.0.3
@@ -184,2 +184,5 @@ "use strict"; | ||
} | ||
else { | ||
atomicFieldUpdate[field] = value; | ||
} | ||
} | ||
@@ -195,3 +198,3 @@ else if (Array.isArray(value)) { | ||
const patchData = toPatch.map((current) => { | ||
return Object.assign({ [idField]: current[idField] }, atomicFieldUpdate); | ||
return { ...{ [idField]: current[idField] }, ...atomicFieldUpdate }; | ||
}); | ||
@@ -198,0 +201,0 @@ return { ids, patchData }; |
interface ResposeHeader { | ||
status: number; | ||
QTime: number; | ||
params: { | ||
params?: { | ||
json: string; | ||
@@ -13,5 +13,16 @@ }; | ||
} | ||
interface Groupes { | ||
groupValue: string; | ||
doclist: Response; | ||
} | ||
interface ResponseGrouped { | ||
matches: number; | ||
ngroups?: number; | ||
doclist?: Response; | ||
groups?: Groupes[]; | ||
} | ||
interface SolrResponse { | ||
responseHeader: ResposeHeader; | ||
response?: Response; | ||
grouped?: Record<string, ResponseGrouped>; | ||
} | ||
@@ -18,0 +29,0 @@ export declare function responseFind(filters: any, paginate: any, res: Partial<SolrResponse>): any[] | { |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.responseGet = exports.responseFind = void 0; | ||
// export function getDataFromResponse(response: Partial<SolrResponse>): number { | ||
// // if(response.response) return response.response.numFound; | ||
// // return response.response ? response.response.numFound : response.grouped. | ||
// interface PaginatedResult { | ||
// QTime: number; | ||
// total: number; | ||
// limit: number; | ||
// skip: number; | ||
// data: any []; | ||
// } | ||
function responseFind(filters, paginate, res) { | ||
const { responseHeader, response, ...additionalResponse } = res; | ||
// console.log(res); | ||
const { responseHeader, response, grouped, ...additionalResponse } = res; | ||
if (!paginate.max && !paginate.default) { | ||
return response.docs; | ||
} | ||
const groupKey = grouped ? Object.keys(grouped)[0] : undefined; | ||
return { | ||
QTime: responseHeader.QTime || 0, | ||
total: response.numFound || 0, | ||
total: response ? response.numFound : grouped[groupKey].matches, | ||
limit: filters.$limit ? parseInt(filters.$limit, 10) : paginate.default || paginate.max, | ||
skip: filters.$skip ? parseInt(filters.$skip, 10) : response.start, | ||
data: response.docs, | ||
skip: filters.$skip ? parseInt(filters.$skip, 10) : response ? response.start : 0, | ||
data: response ? response.docs : grouped[groupKey].groups || grouped[groupKey].doclist.docs, | ||
...additionalResponse | ||
@@ -20,0 +25,0 @@ }; |
{ | ||
"name": "feathers-solr", | ||
"description": "A service plugin for Solr", | ||
"version": "3.0.2", | ||
"version": "3.0.3", | ||
"keywords": [ | ||
@@ -6,0 +6,0 @@ "feathers", |
@@ -198,2 +198,4 @@ import { NullableId, Query } from '@feathersjs/feathers'; | ||
atomicFieldUpdate[field] = { add: value }; | ||
} else { | ||
atomicFieldUpdate[field] = value; | ||
} | ||
@@ -207,4 +209,5 @@ } else if (Array.isArray(value)) { | ||
}); | ||
const patchData = toPatch.map((current:any) => { | ||
return Object.assign({ [idField]: current[idField] }, atomicFieldUpdate); | ||
const patchData = toPatch.map((current: any) => { | ||
return {...{[idField]: current[idField]}, ...atomicFieldUpdate} | ||
}); | ||
@@ -211,0 +214,0 @@ |
interface ResposeHeader { | ||
status: number; | ||
QTime: number; | ||
params: { | ||
params?: { | ||
json: string; | ||
@@ -15,33 +15,33 @@ } | ||
// interface Groupes { | ||
// groupValue: string; | ||
// doclist: Response; | ||
// } | ||
interface Groupes { | ||
groupValue: string; | ||
doclist: Response; | ||
} | ||
// interface ResponseGrouped { | ||
// matches: number; | ||
// groups: Groupes []; | ||
// } | ||
interface ResponseGrouped { | ||
matches: number; | ||
ngroups?: number; | ||
doclist?: Response; | ||
groups?: Groupes []; | ||
} | ||
// interface ResponseGroupedSimple { | ||
// matches: number; | ||
// ngroups: number; | ||
// doclist: Response []; | ||
// } | ||
interface SolrResponse { | ||
responseHeader: ResposeHeader; | ||
response?: Response; | ||
// grouped?: Record<string, ResponseGrouped | ResponseGroupedSimple>; | ||
grouped?: Record<string, ResponseGrouped>; | ||
} | ||
// export function getDataFromResponse(response: Partial<SolrResponse>): number { | ||
// // if(response.response) return response.response.numFound; | ||
// // return response.response ? response.response.numFound : response.grouped. | ||
// interface PaginatedResult { | ||
// QTime: number; | ||
// total: number; | ||
// limit: number; | ||
// skip: number; | ||
// data: any []; | ||
// } | ||
export function responseFind (filters: any, paginate: any, res: Partial<SolrResponse>) { | ||
const { responseHeader, response, ...additionalResponse } = res; | ||
// console.log(res); | ||
const { responseHeader, response, grouped, ...additionalResponse } = res; | ||
if (!paginate.max && !paginate.default) { | ||
@@ -51,10 +51,13 @@ return response.docs; | ||
const groupKey: string = grouped ? Object.keys(grouped)[0] : undefined; | ||
return { | ||
QTime: responseHeader.QTime || 0, | ||
total: response.numFound || 0, | ||
total: response ? response.numFound : grouped[groupKey].matches, | ||
limit: filters.$limit ? parseInt(filters.$limit, 10) : paginate.default || paginate.max, | ||
skip: filters.$skip ? parseInt(filters.$skip, 10) : response.start, | ||
data: response.docs , // || grouped, | ||
skip: filters.$skip ? parseInt(filters.$skip, 10) : response ? response.start : 0, | ||
data: response ? response.docs : grouped[groupKey].groups || grouped[groupKey].doclist.docs, | ||
...additionalResponse | ||
}; | ||
} | ||
} | ||
@@ -61,0 +64,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
80255
1184