GET and POST method for measurement
This commit is contained in:
		@@ -4,8 +4,6 @@ import IdValidate from './id';
 | 
			
		||||
 | 
			
		||||
export default class ConditionValidate {
 | 
			
		||||
  private static condition = {
 | 
			
		||||
    sample_id: IdValidate.get(),
 | 
			
		||||
 | 
			
		||||
    number: Joi.string()
 | 
			
		||||
      .max(128),
 | 
			
		||||
 | 
			
		||||
@@ -14,20 +12,19 @@ export default class ConditionValidate {
 | 
			
		||||
        .try(
 | 
			
		||||
          Joi.string().max(128),
 | 
			
		||||
          Joi.number(),
 | 
			
		||||
          Joi.boolean()
 | 
			
		||||
          Joi.boolean(),
 | 
			
		||||
          Joi.array()
 | 
			
		||||
        )
 | 
			
		||||
      ),
 | 
			
		||||
 | 
			
		||||
    treatment_template: IdValidate.get()
 | 
			
		||||
      )
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  static input (data, param) {
 | 
			
		||||
    if (param === 'new') {
 | 
			
		||||
      return Joi.object({
 | 
			
		||||
        sample_id: this.condition.sample_id.required(),
 | 
			
		||||
        sample_id: IdValidate.get().required(),
 | 
			
		||||
        number: this.condition.number.required(),
 | 
			
		||||
        parameters: this.condition.parameters.required(),
 | 
			
		||||
        treatment_template: this.condition.treatment_template.required()
 | 
			
		||||
        treatment_template: IdValidate.get().required()
 | 
			
		||||
      }).validate(data);
 | 
			
		||||
    }
 | 
			
		||||
    else if (param === 'change') {
 | 
			
		||||
@@ -45,10 +42,10 @@ export default class ConditionValidate {
 | 
			
		||||
    data = IdValidate.stringify(data);
 | 
			
		||||
    const {value, error} = Joi.object({
 | 
			
		||||
      _id: IdValidate.get(),
 | 
			
		||||
      sample_id: this.condition.sample_id,
 | 
			
		||||
      sample_id: IdValidate.get(),
 | 
			
		||||
      number: this.condition.number,
 | 
			
		||||
      parameters: this.condition.parameters,
 | 
			
		||||
      treatment_template: this.condition.treatment_template
 | 
			
		||||
      treatment_template: IdValidate.get()
 | 
			
		||||
    }).validate(data, {stripUnknown: true});
 | 
			
		||||
    return error !== undefined? null : value;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								src/routes/validate/measurement.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/routes/validate/measurement.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
import Joi from '@hapi/joi';
 | 
			
		||||
 | 
			
		||||
import IdValidate from './id';
 | 
			
		||||
 | 
			
		||||
export default class MeasurementValidate {
 | 
			
		||||
  private static measurement = {
 | 
			
		||||
    values: Joi.object()
 | 
			
		||||
      .pattern(/.*/, Joi.alternatives()
 | 
			
		||||
        .try(
 | 
			
		||||
          Joi.string().max(128),
 | 
			
		||||
          Joi.number(),
 | 
			
		||||
          Joi.boolean(),
 | 
			
		||||
          Joi.array()
 | 
			
		||||
        )
 | 
			
		||||
      )
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  static input (data, param) {
 | 
			
		||||
    if (param === 'new') {
 | 
			
		||||
      return Joi.object({
 | 
			
		||||
        condition_id: IdValidate.get().required(),
 | 
			
		||||
        values: this.measurement.values.required(),
 | 
			
		||||
        measurement_template: IdValidate.get().required()
 | 
			
		||||
      }).validate(data);
 | 
			
		||||
    }
 | 
			
		||||
    else if (param === 'change') {
 | 
			
		||||
      return Joi.object({
 | 
			
		||||
        values: this.measurement.values
 | 
			
		||||
      }).validate(data);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      return{error: 'No parameter specified!', value: {}};
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  static output (data) {
 | 
			
		||||
    data = IdValidate.stringify(data);
 | 
			
		||||
    const {value, error} = Joi.object({
 | 
			
		||||
      _id: IdValidate.get(),
 | 
			
		||||
      condition_id: IdValidate.get(),
 | 
			
		||||
      values: this.measurement.values,
 | 
			
		||||
      measurement_template: IdValidate.get()
 | 
			
		||||
    }).validate(data, {stripUnknown: true});
 | 
			
		||||
    return error !== undefined? null : value;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user