Archived
2

restructured aggregation

This commit is contained in:
VLE2FE
2020-07-02 12:18:01 +02:00
parent 8cf1c14d88
commit e4bc5a77f1
9 changed files with 180 additions and 61 deletions

View File

@ -64,7 +64,8 @@ export default class SampleValidate {
'material.mineral',
'material.glass_fiber',
'material.carbon_fiber',
'material.number'
'material.number',
'measurements.(?!spectrum)*'
];
private static fieldKeys = [
@ -76,7 +77,7 @@ export default class SampleValidate {
'user_id',
'material._id',
'material.numbers',
'measurements.*'
'measurements.spectrum'
];
static input (data, param) { // validate input, set param to 'new' to make all attributes required
@ -168,7 +169,7 @@ export default class SampleValidate {
'from-id': IdValidate.get(),
'to-page': Joi.number().integer(),
'page-size': Joi.number().integer().min(1),
sort: Joi.string().pattern(new RegExp('^(' + this.sortKeys.join('|').replace(/\./g, '\\.') + ')-(asc|desc)$', 'm')).default('_id-asc'),
sort: Joi.string().pattern(new RegExp('^(' + this.sortKeys.join('|').replace(/\./g, '\\.').replace(/\*/g, '.+') + ')-(asc|desc)$', 'm')).default('_id-asc'),
csv: Joi.boolean().default(false),
fields: Joi.array().items(Joi.string().pattern(new RegExp('^(' + this.fieldKeys.join('|').replace(/\./g, '\\.').replace(/\*/g, '.+') + ')$', 'm'))).default(['_id','number','type','batch','material_id','color','condition','note_id','user_id','added'])
}).with('to-page', 'page-size').validate(data);