Skip to content

Commit

Permalink
Merge pull request #1809 from Inist-CNRS/fix-all-graph-routines
Browse files Browse the repository at this point in the history
Fixes sorting and filtering issue for all formats that use source/tar…
  • Loading branch information
touv authored Nov 29, 2023
2 parents a4d0f5b + afdec28 commit e26bac5
Show file tree
Hide file tree
Showing 13 changed files with 99 additions and 9 deletions.
17 changes: 10 additions & 7 deletions packages/ezsLodex/src/reduceQuery.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export const createFunction = () => async function LodexReduceQuery(data, feed)
throw new Error(`Unknown reducer '${reducer}'`);
}

const { map, reduce, finalize } = reducers[reducer];
const { map, reduce, finalize, fieldname } = reducers[reducer];
const fds = Array.isArray(field) ? field : [field];
const fields = fds.filter(Boolean);
const collName = String('mp_').concat(
Expand Down Expand Up @@ -79,21 +79,24 @@ export const createFunction = () => async function LodexReduceQuery(data, feed)
const findFilter = {};

if (minValue) {
findFilter.value = {
const minFilter = {
$gte: Number(minValue),
};
findFilter[fieldname('value')] = {
...minFilter,
};
}

if (maxValue) {
findFilter.value = {
...(findFilter.value || {}),
const maxFilter = {
$lte: Number(maxValue),
};
findFilter[fieldname('value')] = {
...maxFilter,
};
}

const [order, dir] = String(orderBy).split('/');
const sort = order && dir ? ({
[order]: dir === 'asc' ? 1 : -1,
[fieldname(order)]: dir === 'asc' ? 1 : -1,
}) : ({});
const cursor = result.find(findFilter);
const count = await cursor.count();
Expand Down
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/count.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/distinct.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
10 changes: 10 additions & 0 deletions packages/ezsLodex/src/reducers/graph.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,13 @@ module.exports.finalize = function finalize(key, value) {
}
return obj;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value.weight';
}
if (name === 'label') {
return 'value.source';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/groupby.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/keys.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/max.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/merge.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/min.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
10 changes: 10 additions & 0 deletions packages/ezsLodex/src/reducers/pairing.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,13 @@ module.exports.finalize = function finalize(key, value) {
}
return obj;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value.weight';
}
if (name === 'label') {
return 'value.source';
}
return '_id';
};
8 changes: 6 additions & 2 deletions packages/ezsLodex/src/reducers/stats.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.finalize = function finalize(key, value) {
return value;

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value.count';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/total.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};
7 changes: 7 additions & 0 deletions packages/ezsLodex/src/reducers/ventilate.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,10 @@ module.exports.reduce = function (key, values) {
module.exports.finalize = function finalize(key, value) {
return value;
};

module.exports.fieldname = function (name) {
if (name === 'value') {
return 'value';
}
return '_id';
};

0 comments on commit e26bac5

Please sign in to comment.