small material changes for easier UI implementation
This commit is contained in:
@ -20,7 +20,10 @@ export default class MaterialValidate { // validate input for material
|
||||
.items(
|
||||
Joi.string()
|
||||
.max(64)
|
||||
)
|
||||
),
|
||||
|
||||
status: Joi.string()
|
||||
.valid(...Object.values(globals.status))
|
||||
};
|
||||
|
||||
static input (data, param) { // validate input, set param to 'new' to make all attributes required
|
||||
@ -47,18 +50,22 @@ export default class MaterialValidate { // validate input for material
|
||||
}
|
||||
}
|
||||
|
||||
static output (data) { // validate output and strip unwanted properties, returns null if not valid
|
||||
static output (data, status = false) { // validate output and strip unwanted properties, returns null if not valid
|
||||
data = IdValidate.stringify(data);
|
||||
data.group = data.group_id.name;
|
||||
data.supplier = data.supplier_id.name;
|
||||
const {value, error} = Joi.object({
|
||||
const validate: any = {
|
||||
_id: IdValidate.get(),
|
||||
name: this.material.name,
|
||||
supplier: this.material.supplier,
|
||||
group: this.material.group,
|
||||
properties: this.material.properties,
|
||||
numbers: this.material.numbers
|
||||
}).validate(data, {stripUnknown: true});
|
||||
};
|
||||
if (status) {
|
||||
validate.status = this.material.status;
|
||||
}
|
||||
const {value, error} = Joi.object(validate).validate(data, {stripUnknown: true});
|
||||
return error !== undefined? null : value;
|
||||
}
|
||||
|
||||
@ -83,9 +90,13 @@ export default class MaterialValidate { // validate input for material
|
||||
});
|
||||
}
|
||||
|
||||
static query (data) {
|
||||
static query (data, dev = false) {
|
||||
const acceptedStatuses = [globals.status.val, globals.status.new];
|
||||
if (dev) { // dev and admin can also access deleted samples
|
||||
acceptedStatuses.push(globals.status.del)
|
||||
}
|
||||
return Joi.object({
|
||||
status: Joi.string().valid(globals.status.val, globals.status.new, 'all')
|
||||
status: Joi.array().items(Joi.string().valid(...acceptedStatuses)).default([globals.status.val])
|
||||
}).validate(data);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user