feat: us ssn

This commit is contained in:
Taranto 2020-10-05 19:03:46 +01:00 committed by Josh Harvey
parent d065baeda9
commit 5887a301fb
6 changed files with 29 additions and 10 deletions

View file

@ -409,7 +409,7 @@ function migrateComplianceTriggers (config) {
return { return {
triggers, triggers,
['compliance_rejectAddressReuse']: rejectAddressReuseActive ['compliance_rejectAddressReuse']: global.rejectAddressReuseActive
} }
} }

View file

@ -98,7 +98,7 @@ function update (id, data, userToken, txId) {
*/ */
async function updateCustomer (id, data) { async function updateCustomer (id, data) {
const formattedData = _.pick( const formattedData = _.pick(
['authorized_override', 'id_card_photo_override', 'id_card_data_override', 'sms_override'], ['authorized_override', 'id_card_photo_override', 'id_card_data_override', 'sms_override', 'us_ssn_override'],
_.mapKeys(_.snakeCase, data)) _.mapKeys(_.snakeCase, data))
const sql = Pgp.helpers.update(formattedData, _.keys(formattedData), 'customers') + const sql = Pgp.helpers.update(formattedData, _.keys(formattedData), 'customers') +
@ -234,7 +234,8 @@ function getComplianceTypes () {
'id_card_photo', 'id_card_photo',
'front_camera', 'front_camera',
'sanctions', 'sanctions',
'authorized' ] 'authorized',
'us_ssn' ]
} }
function enhanceAtFields (fields) { function enhanceAtFields (fields) {
@ -243,7 +244,8 @@ function enhanceAtFields (fields) {
'id_card_photo', 'id_card_photo',
'front_camera', 'front_camera',
'sanctions', 'sanctions',
'authorized' 'authorized',
'us_ssn'
] ]
const updatedFields = _.intersection(updateableFields, _.keys(fields)) const updatedFields = _.intersection(updateableFields, _.keys(fields))

View file

@ -108,10 +108,10 @@ function poll (req, res, next) {
const compatTriggers = complianceTriggers.getBackwardsCompatibleTriggers(triggers) const compatTriggers = complianceTriggers.getBackwardsCompatibleTriggers(triggers)
response.smsVerificationActive = !!compatTriggers.sms response.smsVerificationActive = !!compatTriggers.sms
response.smsVerificationThreshold = compatTriggers.sms response.smsVerificationThreshold = compatTriggers.sms
response.idCardDataVerificationActive = !!compatTriggers.idData response.idCardDataVerificationActive = !!compatTriggers.idCardData
response.idCardDataVerificationThreshold = compatTriggers.idData response.idCardDataVerificationThreshold = compatTriggers.idCardData
response.idCardPhotoVerificationActive = !!compatTriggers.idPhoto response.idCardPhotoVerificationActive = !!compatTriggers.idCardPhoto
response.idCardPhotoVerificationThreshold = compatTriggers.idPhoto response.idCardPhotoVerificationThreshold = compatTriggers.idCardPhoto
response.sanctionsVerificationActive = !!compatTriggers.sancations response.sanctionsVerificationActive = !!compatTriggers.sancations
response.sanctionsVerificationThreshold = compatTriggers.sancations response.sanctionsVerificationThreshold = compatTriggers.sancations
response.frontCameraVerificationActive = !!compatTriggers.facephoto response.frontCameraVerificationActive = !!compatTriggers.facephoto

View file

@ -0,0 +1,17 @@
const db = require('./db')
exports.up = function (next) {
var sql = [
'ALTER TABLE customers ADD COLUMN us_ssn text',
'ALTER TABLE customers ADD COLUMN us_ssn_at timestamptz',
"ALTER TABLE customers ADD COLUMN us_ssn_override verification_type not null default 'automatic'",
'ALTER TABLE customers ADD COLUMN us_ssn_override_by text references user_tokens (token)',
'ALTER TABLE customers ADD COLUMN us_ssn_override_at timestamptz',
]
db.multi(sql, next)
}
exports.down = function (next) {
next()
}

View file

@ -117,7 +117,7 @@ const getRequirementText = config => {
return 'asked to scan a ID' return 'asked to scan a ID'
case 'facephoto': case 'facephoto':
return 'asked to have a photo taken' return 'asked to have a photo taken'
case 'us-ssn': case 'usSsn':
return 'asked to input his social security number' return 'asked to input his social security number'
case 'sanctions': case 'sanctions':
return 'matched against the OFAC sanctions list' return 'matched against the OFAC sanctions list'

View file

@ -261,7 +261,7 @@ const requirementOptions = [
{ display: 'ID data', code: 'idCardData' }, { display: 'ID data', code: 'idCardData' },
{ display: 'Customer camera', code: 'facephoto' }, { display: 'Customer camera', code: 'facephoto' },
{ display: 'Sanctions', code: 'sanctions' }, { display: 'Sanctions', code: 'sanctions' },
{ display: 'US SSN', code: 'us-ssn' }, { display: 'US SSN', code: 'usSsn' },
// { display: 'Super user', code: 'superuser' }, // { display: 'Super user', code: 'superuser' },
{ display: 'Suspend', code: 'suspend' }, { display: 'Suspend', code: 'suspend' },
{ display: 'Block', code: 'block' } { display: 'Block', code: 'block' }