PUT method for condition
This commit is contained in:
		@@ -32,10 +32,8 @@ export default class ConditionValidate {
 | 
			
		||||
    }
 | 
			
		||||
    else if (param === 'change') {
 | 
			
		||||
      return Joi.object({
 | 
			
		||||
        sample_id: this.condition.sample_id,
 | 
			
		||||
        number: this.condition.number,
 | 
			
		||||
        parameters: this.condition.parameters,
 | 
			
		||||
        treatment_template: this.condition.treatment_template
 | 
			
		||||
        parameters: this.condition.parameters
 | 
			
		||||
      }).validate(data);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,33 @@
 | 
			
		||||
import Joi from '@hapi/joi';
 | 
			
		||||
 | 
			
		||||
export default class ParametersValidate {
 | 
			
		||||
  static input (data, parameters) {
 | 
			
		||||
  static input (data, parameters, param) {  // data to validate, parameters from template, param: 'new', 'change'
 | 
			
		||||
    let joiObject = {};
 | 
			
		||||
    parameters.forEach(parameter => {
 | 
			
		||||
      if (parameter.range.hasOwnProperty('values')) {
 | 
			
		||||
        joiObject[parameter.name] = Joi.alternatives()
 | 
			
		||||
          .try(Joi.string(), Joi.number(), Joi.boolean())
 | 
			
		||||
          .valid(...parameter.range.values)
 | 
			
		||||
          .required();
 | 
			
		||||
          .valid(...parameter.range.values);
 | 
			
		||||
      }
 | 
			
		||||
      else if (parameter.range.hasOwnProperty('min') && parameter.range.hasOwnProperty('max')) {
 | 
			
		||||
        joiObject[parameter.name] = Joi.number()
 | 
			
		||||
          .min(parameter.range.min)
 | 
			
		||||
          .max(parameter.range.max)
 | 
			
		||||
          .required();
 | 
			
		||||
          .max(parameter.range.max);
 | 
			
		||||
      }
 | 
			
		||||
      else if (parameter.range.hasOwnProperty('min')) {
 | 
			
		||||
        joiObject[parameter.name] = Joi.number()
 | 
			
		||||
          .min(parameter.range.min)
 | 
			
		||||
          .required();
 | 
			
		||||
          .min(parameter.range.min);
 | 
			
		||||
      }
 | 
			
		||||
      else if (parameter.range.hasOwnProperty('max')) {
 | 
			
		||||
        joiObject[parameter.name] = Joi.number()
 | 
			
		||||
          .max(parameter.range.max)
 | 
			
		||||
          .required();
 | 
			
		||||
          .max(parameter.range.max);
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
        joiObject[parameter.name] = Joi.alternatives()
 | 
			
		||||
          .try(Joi.string(), Joi.number(), Joi.boolean())
 | 
			
		||||
          .required();
 | 
			
		||||
          .try(Joi.string(), Joi.number(), Joi.boolean());
 | 
			
		||||
      }
 | 
			
		||||
      if (param === 'new') {
 | 
			
		||||
        joiObject[parameter.name] = joiObject[parameter.name].required()
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    return Joi.object(joiObject).validate(data);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user