diff --git a/lib/customers.js b/lib/customers.js index 27d71ba2..7ff7fd94 100644 --- a/lib/customers.js +++ b/lib/customers.js @@ -72,7 +72,8 @@ function get (phone) { function update (id, data, userToken, txId) { const formattedData = _.omit(['id'], _.mapKeys(_.snakeCase, data)) - const updateData = enhanceAtFields(enhanceOverrideFields(formattedData, userToken)) + const enhancedUpdateData = enhanceAtFields(enhanceOverrideFields(formattedData, userToken)) + const updateData = updateOverride(enhancedUpdateData) const sql = Pgp.helpers.update(updateData, _.keys(updateData), 'customers') + ' where id=$1 returning *' @@ -238,6 +239,21 @@ function getComplianceTypes () { 'us_ssn' ] } +function updateOverride (fields) { + const updateableFields = [ + 'id_card_data', + 'id_card_photo', + 'front_camera', + 'authorized', + 'us_ssn' + ] + + const updatedFields = _.intersection(updateableFields, _.keys(fields)) + const atFields = _.fromPairs(_.map(f => [`${f}_override`, 'automatic'], updatedFields)) + + return _.merge(fields, atFields) +} + function enhanceAtFields (fields) { const updateableFields = [ 'id_card_data',