All files / platform/modules/service/src/Validators SaveService.js

100% Statements 9/9
100% Branches 2/2
100% Functions 2/2
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40    1x       15x 15x                   15x 15x 6x     15x       20x                       1x  
'use strict';
 
const ValidatorAbstract = use('C2C/Abstracts/ValidatorAbstract');
 
class SaveService extends ValidatorAbstract {
  get rules() {
    const { categoryId } = this.ctx.request.all();
    const rules = {
      categoryId: 'required|string|available:service_categories,id',
      name: 'required|string|max:255',
      duration: 'required|integer|above:0',
      price: `required|integer|above:-1|rangePrice:service_categories,id,${categoryId},minPrice,maxPrice`,
      order: 'integer',
      description: 'string',
      photo: 'string|imageUrl',
      extraInfo: 'object|extra:255',
    };
    const serviceId = this.ctx.params.serviceId;
    if (serviceId) {
      rules.active = 'boolean';
    }
 
    return rules;
  }
 
  get sanitizationRules() {
    return {
      categoryId: 'trim',
      name: 'trim',
      duration: 'to_int',
      price: 'to_int',
      order: 'to_int',
      description: 'escape',
      active: 'to_boolean',
    };
  }
}
 
module.exports = SaveService;