fix: commissions overrides and coinatmradar

This commit is contained in:
Taranto 2020-10-16 16:16:22 +01:00 committed by Josh Harvey
parent 520efc0c27
commit be7e4c5c10
3 changed files with 30 additions and 20 deletions

View file

@ -22,17 +22,21 @@ const fromNamespace = _.curry((key, config) => _.compose(strip(key), filter(key)
const toNamespace = (key, config) => _.mapKeys(it => `${key}_${it}`)(config)
const resolveOverrides = (original, filter, overrides, overridesPath = 'overrides') => {
if (_.isEmpty(overrides)) return original
if (_.isEmpty(overrides)) return _.omit(overridesPath, original)
return _.omit(overridesPath, _.mergeAll([original, ..._.filter(filter)(overrides)]))
}
const getCommissions = (cryptoCode, deviceId, config) => {
const commissions = fromNamespace(namespaces.COMMISSIONS)(config)
const overrides = commissions.overrides
const filter = it => it.machine === deviceId && _.includes(cryptoCode)(it.cryptoCurrencies)
// TODO new-admin. We have a all machines override now
return resolveOverrides(commissions, filter, commissions.overrides)
const allFilter = it => it.machine === 'ALL_MACHINES' && _.includes(cryptoCode)(it.cryptoCurrencies)
if (_.isEmpty(overrides)) return _.omit('overrides', commissions)
return _.omit('overrides', _.mergeAll([commissions, ..._.filter(allFilter)(overrides), ..._.filter(filter)(overrides)]))
}
const getLocale = (deviceId, it) => {