Archived
2

implemented paging

This commit is contained in:
VLE2FE
2020-06-25 10:44:55 +02:00
parent ac72d8a975
commit cd2962e186
8 changed files with 1111 additions and 113 deletions

View File

@ -44,7 +44,11 @@ export default class SampleValidate {
Joi.date()
)
)
})
}),
added: Joi.date()
.iso()
.min('1970-01-01T00:00:00.000Z')
};
static input (data, param) { // validate input, set param to 'new' to make all attributes required
@ -85,6 +89,7 @@ export default class SampleValidate {
}
static output (data, param = 'refs') { // validate output and strip unwanted properties, returns null if not valid
data.added = data._id.getTimestamp();
data = IdValidate.stringify(data);
let joiObject;
if (param === 'refs') {
@ -97,7 +102,8 @@ export default class SampleValidate {
condition: this.sample.condition,
material_id: IdValidate.get(),
note_id: IdValidate.get().allow(null),
user_id: IdValidate.get()
user_id: IdValidate.get(),
added: this.sample.added
};
}
else if(param === 'details') {
@ -123,7 +129,10 @@ export default class SampleValidate {
static query (data) {
return Joi.object({
status: Joi.string().valid('validated', 'new', 'all')
}).validate(data);
status: Joi.string().valid('validated', 'new', 'all'),
'last-id': IdValidate.get(),
'to-page': Joi.number().integer(),
'page-size': Joi.number().integer().min(1)
}).with('to-page', 'page-size').validate(data);
}
}