Your IP : 216.73.216.91


Current Path : /var/node/inatote/Inatote-Backend/configurations/
Upload File :
Current File : /var/node/inatote/Inatote-Backend/configurations/configuration.js

import requiredParam from '../helpers/required-param.js'
import upperFirst from '../helpers/upper-first.js'

export default function makeConfiguration(configurationInfo = requiredParam('configurationInfo')) {
    const validrateconfigurationInfo = validate(configurationInfo)
    const normalConfuration = normalize(validrateconfigurationInfo)
    return Object.freeze(normalConfuration)

    function validate({
        configurationName = requiredParam('configurationName'),
        riderRadius = requiredParam('riderRadius'),
        deliveryCharges = requiredParam('deliveryCharges'),
        serviceFee = requiredParam('serviceFee'),
        heavyOrderFee = requiredParam('heavyOrderFee'),
        smallOrderFee = requiredParam('smallOrderFee'),
        forDriver = requiredParam('forDriver'),
        forCompany = requiredParam('forCompany'),
        productMarkup = requiredParam('productMarkup'),
        nearbyArea = requiredParam('nearbyArea'),
        // area shoul be in meters
        ...otherInfo
    } = {}) {

        return { configurationName,productMarkup,nearbyArea , riderRadius, deliveryCharges, serviceFee, heavyOrderFee, smallOrderFee, forDriver, forCompany, ...otherInfo }
    }


    function normalize({ configurationName, ...otherInfo }) {
        return {
            ...otherInfo,
            configurationName: upperFirst(configurationName)
        }
    }
}