Uname: Linux webm012.cluster130.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 8.0.30 [ PHP INFO ] PHP os: Linux
Server Ip: 145.239.37.162
Your Ip: 216.73.216.190
User: dreampi (1009562) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : serviceMixin.js
import servicePriceMixin from './servicePriceMixin'

export default {
  mixins: [
    servicePriceMixin
  ],

  methods: {
    getArrayCustomPricing (service) {
      let data = service.customPricing

      let customPricing = null

      if (typeof data === 'undefined' || data === null || data === '') {
        customPricing = {enabled: null, durations: {}, persons: {}}
      } else if (typeof data === 'object') {
        if (Array.isArray(data.durations)) {
          if (!('persons' in data)) {
            data.persons = []
          }

          if (data.enabled === true) {
            data.enabled = 'duration'
          }

          return data
        } else {
          customPricing = JSON.parse(JSON.stringify(data))
        }
      } else {
        customPricing = JSON.parse(data)
      }

      if (customPricing.enabled === true) {
        customPricing.enabled = 'duration'
      }

      customPricing.persons = 'persons' in customPricing ? customPricing.persons : []

      let persons = []

      if (Object.keys(customPricing.persons).length) {
        persons.push({
          start: 1,
          range: Object.keys(customPricing.persons)[0] - 1,
          price: service.price,
          rules: []
        })

        Object.keys(customPricing.persons).forEach((person, index) => {
          persons.push({
            start: parseInt(person),
            range: index !== Object.keys(customPricing.persons).length - 1
              ? Object.keys(customPricing.persons)[index + 1] - 1
              : service.maxCapacity,
            price: customPricing.persons[person].price,
            rules: customPricing.persons[person].rules
          })
        })
      }

      let durations = []

      Object.keys(customPricing.durations).forEach((duration) => {
        durations.push({
          duration: parseInt(duration),
          price: customPricing.durations[duration].price,
          rules: customPricing.durations[duration].rules
        })
      })

      return {
        enabled: customPricing.enabled,
        durations: durations,
        persons: persons
      }
    },

    getJsonCustomPricing (service) {
      let durations = {}

      let customPricing = service.customPricing

      if (customPricing && customPricing.durations.filter(i => i.duration).length > 0) {
        customPricing.durations.forEach((item) => {
          durations[item.duration] = {
            price: item.price,
            rules: item.rules
          }
        })
      }

      let persons = {}

      if (customPricing && customPricing.persons.length) {
        customPricing.persons.forEach((item, index) => {
          if (index !== 0) {
            persons[customPricing.persons[index - 1].range + 1] = {
              price: item.price,
              rules: item.rules
            }
          }
        })
      }

      let enabled = null

      if (customPricing && this.isDurationPricingEnabled(customPricing)) {
        enabled = 'duration'
      } else if (customPricing && this.isPersonPricingEnabled(customPricing)) {
        enabled = 'person'
      }

      return JSON.stringify({enabled: enabled, durations: durations, persons: persons})
    }
  }
}
© 2026 GrazzMean-Shell