CSP fix
This commit is contained in:
@ -41,6 +41,8 @@ router.get('/samples', async (req, res, next) => {
|
||||
const sampleKeys = ['_id', 'color', 'number', 'type', 'batch', 'added', 'condition', 'material_id', 'note_id',
|
||||
'user_id'];
|
||||
|
||||
// TODO find further optimizations from bachelor thesis
|
||||
|
||||
// evaluate sort parameter from 'color-asc' to ['color', 1]
|
||||
filters.sort = filters.sort.split('-');
|
||||
filters.sort[0] = filters.sort[0] === 'added' ? '_id' : filters.sort[0]; // route added sorting criteria to _id
|
||||
@ -193,15 +195,15 @@ router.get('/samples', async (req, res, next) => {
|
||||
{$addFields: {'material.group': { $arrayElemAt: ['$material.group.name', 0]}}}
|
||||
);
|
||||
}
|
||||
if (sortFilterKeys.find(e => e === 'material.number')) { // add material number if needed
|
||||
materialQuery.push(
|
||||
{$addFields: {'material.number': { $arrayElemAt: [
|
||||
'$material.numbers.number', {$indexOfArray: ['$material.numbers.color', '$color']}
|
||||
]}}}
|
||||
);
|
||||
}
|
||||
// if (sortFilterKeys.find(e => e === 'material.number')) { // add material number if needed // TODO: adapt code to new numbers format
|
||||
// materialQuery.push(
|
||||
// {$addFields: {'material.number': { $arrayElemAt: [
|
||||
// '$material.numbers.number', {$indexOfArray: ['$material.numbers.color', '$color']}
|
||||
// ]}}}
|
||||
// );
|
||||
// }
|
||||
const specialMFilters = sortFilterKeys.filter(e => /material\./.test(e))
|
||||
.filter(e => ['material.supplier', 'material.group', 'material.number'].indexOf(e) >= 0);
|
||||
.filter(e => ['material.supplier', 'material.group', 'material.number'].indexOf(e) >= 0); // TODO
|
||||
// base material filters
|
||||
addFilterQueries(materialQuery, filters.filters.filter(e => specialMFilters.indexOf(e.field) >= 0));
|
||||
queryPtr.push(...materialQuery);
|
||||
@ -304,13 +306,13 @@ router.get('/samples', async (req, res, next) => {
|
||||
{$addFields: {'material.group': { $arrayElemAt: ['$material.group.name', 0]}}}
|
||||
);
|
||||
}
|
||||
if (fieldsToAdd.indexOf('material.number') >= 0) { // add material number if needed
|
||||
queryPtr.push(
|
||||
{$addFields: {'material.number': {
|
||||
$arrayElemAt: ['$material.numbers.number', {$indexOfArray: ['$material.numbers.color', '$color']}]
|
||||
}}}
|
||||
);
|
||||
}
|
||||
// if (fieldsToAdd.indexOf('material.number') >= 0) { // add material number if needed // TODO
|
||||
// queryPtr.push(
|
||||
// {$addFields: {'material.number': {
|
||||
// $arrayElemAt: ['$material.numbers.number', {$indexOfArray: ['$material.numbers.color', '$color']}]
|
||||
// }}}
|
||||
// );
|
||||
// }
|
||||
|
||||
let measurementFieldsFields: string[] = _.uniq(
|
||||
fieldsToAdd.filter(e => /measurements\./.test(e)).map(e => e.split('.')[1])
|
||||
|
Reference in New Issue
Block a user