Archived
2

added status filter

This commit is contained in:
VLE2FE
2020-06-15 12:49:32 +02:00
parent 5c04263475
commit c95af7bc0b
6 changed files with 69 additions and 2 deletions

View File

@ -22,7 +22,24 @@ const router = express.Router();
router.get('/samples', (req, res, next) => {
if (!req.auth(res, ['read', 'write', 'maintain', 'dev', 'admin'], 'all')) return;
SampleModel.find({status: globals.status.validated}).lean().exec((err, data) => {
const {error, value: filters} = SampleValidate.query(req.query);
if (error) return res400(error, res);
let conditions;
if (filters.hasOwnProperty('status')) {
if(filters.status === 'all') {
conditions = {$or: [{status: globals.status.validated}, {status: globals.status.new}]}
}
else {
conditions = {status: globals.status[filters.status]};
}
}
else { // default
conditions = {status: globals.status.validated};
}
SampleModel.find(conditions).lean().exec((err, data) => {
if (err) return next(err);
res.json(_.compact(data.map(e => SampleValidate.output(e)))); // validate all and filter null values from validation errors
})