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