All files / platform/modules/booking/src/Validators UpdateSystemBooking.js

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 4/4

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    1x       42x                                           56x               1x  
'use strict';
 
const ValidatorAbstract = use('C2C/Abstracts/ValidatorAbstract');
 
class UpdateSystemBooking extends ValidatorAbstract {
  get rules() {
    return {
      discount: 'integer|above:-1',
      targetSystemStatus: 'string',
      paymentMethodCode: 'string',
      additionalPrice: 'number',
      canPayment: 'boolean',
      services: 'array',
      'services.*': 'required|object',
      'services.*.serviceId': 'required|string|available:services,id',
      'services.*.staffId': 'required|string|available:staff,id',
      'services.*.startTime': 'required|date', // 'dateBooking'
      extraInfo: 'object|extra:2550',
      startTime: 'date',
      endTime: 'date',
      totalDuration: 'integer|above:0',
      totalPrice: 'integer|above:-1',
      finalPrice: 'integer|above:-1',
      charge: 'integer|above:-1',
    };
  }
 
  get sanitizationRules() {
    return {
      discount: 'to_int',
      totalPrice: 'to_int',
      'services.*.startTime': 'to_date',
    };
  }
}
 
module.exports = UpdateSystemBooking;