| Current Path : /var/node/inatote/Inatote-Backend/configurations/ |
| 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)
}
}
}