feat: implement sumsub API module
feat: add 3rd party services splash screen feat: add sumsub as a configurable 3rd party service feat: sumsub config loader fix: small fixes feat: add external validation as a compliance trigger feat: add external validation route in l-s feat: add external validation graphql module feat: integrate sumsub SDK feat: improve sumsub form to allow adding multiple applicant levels with enhanced UX feat: added support for array fields in FormRenderer feat: allow external validation triggers to dynamically use levels setup in the services page fix: multiple small fixes feat: get external compliance customer info fix: small fixes feat: add informational card in customer profile regarding external service info feat: send external customer data for machine trigger verification feat: restrictions to the creation of custom info requests and external validation triggers fix: allow for a single applicant level to be setup fix: account instance access fix: small fixes fix: development-only log
This commit is contained in:
parent
6c8ced3c1f
commit
6ba0632067
31 changed files with 1730 additions and 67 deletions
|
|
@ -18,13 +18,14 @@ const notifier = require('../notifier')
|
|||
const respond = require('../respond')
|
||||
const { getTx } = require('../new-admin/services/transactions.js')
|
||||
const machineLoader = require('../machine-loader')
|
||||
const { loadLatestConfig } = require('../new-settings-loader')
|
||||
const { loadLatest, loadLatestConfig } = require('../new-settings-loader')
|
||||
const customInfoRequestQueries = require('../new-admin/services/customInfoRequests')
|
||||
const T = require('../time')
|
||||
const plugins = require('../plugins')
|
||||
const Tx = require('../tx')
|
||||
const loyalty = require('../loyalty')
|
||||
const logger = require('../logger')
|
||||
const externalCompliance = require('../compliance-external')
|
||||
|
||||
function updateCustomerCustomInfoRequest (customerId, patch) {
|
||||
const promise = _.isNil(patch.data) ?
|
||||
|
|
@ -234,6 +235,23 @@ function sendSmsReceipt (req, res, next) {
|
|||
})
|
||||
}
|
||||
|
||||
function getExternalComplianceLink (req, res, next) {
|
||||
const customerId = req.query.customer
|
||||
const triggerId = req.query.trigger
|
||||
if (_.isNil(customerId) || _.isNil(triggerId)) return next(httpError('Not Found', 404))
|
||||
|
||||
const settings = req.settings
|
||||
const triggers = configManager.getTriggers(settings.config)
|
||||
const trigger = _.find(it => it.id === triggerId)(triggers)
|
||||
|
||||
return externalCompliance.createApplicantAccessToken(settings, customerId, trigger.id)
|
||||
.then(token => {
|
||||
const url = `https://${process.env.NODE_ENV === 'production' ? `${process.env.HOSTNAME}` : `localhost:3001` }/${trigger.externalService}?customer=${customerId}&trigger=${trigger.id}&t=${token}`
|
||||
process.env.NODE_ENV === 'development' && console.log(url)
|
||||
return respond(req, res, { url: url })
|
||||
})
|
||||
}
|
||||
|
||||
function addOrUpdateCustomer (customerData, config, isEmailAuth) {
|
||||
const triggers = configManager.getTriggers(config)
|
||||
const maxDaysThreshold = complianceTriggers.maxDaysThreshold(triggers)
|
||||
|
|
@ -311,6 +329,7 @@ router.patch('/:id/suspend', triggerSuspend)
|
|||
router.patch('/:id/photos/idcarddata', updateIdCardData)
|
||||
router.patch('/:id/:txId/photos/customerphoto', updateTxCustomerPhoto)
|
||||
router.post('/:id/smsreceipt', sendSmsReceipt)
|
||||
router.get('/external', getExternalComplianceLink)
|
||||
router.post('/phone_code', getOrAddCustomerPhone)
|
||||
router.post('/email_code', getOrAddCustomerEmail)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue