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:
Sérgio Salgado 2022-11-03 18:53:08 +00:00 committed by Rafael Taranto
parent 6c8ced3c1f
commit 6ba0632067
31 changed files with 1730 additions and 67 deletions

View file

@ -0,0 +1,11 @@
const externalCompliance = require('../../../compliance-external')
const { loadLatest } = require('../../../new-settings-loader')
const resolvers = {
Query: {
getApplicantAccessToken: (...[, { customerId, triggerId }]) => loadLatest()
.then(settings => externalCompliance.createApplicantAccessToken(settings, customerId, triggerId))
}
}
module.exports = resolvers

View file

@ -7,6 +7,7 @@ const config = require('./config.resolver')
const currency = require('./currency.resolver')
const customer = require('./customer.resolver')
const customInfoRequests = require('./customInfoRequests.resolver')
const externalCompliance = require('./externalCompliance.resolver')
const funding = require('./funding.resolver')
const log = require('./log.resolver')
const loyalty = require('./loyalty.resolver')
@ -30,6 +31,7 @@ const resolvers = [
currency,
customer,
customInfoRequests,
externalCompliance,
funding,
log,
loyalty,

View file

@ -40,6 +40,7 @@ const typeDef = gql`
customInfoRequests: [CustomRequestData]
notes: [CustomerNote]
isTestCustomer: Boolean
externalCompliance: JSONObject
}
input CustomerInput {

View file

@ -0,0 +1,9 @@
const { gql } = require('apollo-server-express')
const typeDef = gql`
type Query {
getApplicantAccessToken(customerId: ID, triggerId: ID): String
}
`
module.exports = typeDef

View file

@ -7,6 +7,7 @@ const config = require('./config.type')
const currency = require('./currency.type')
const customer = require('./customer.type')
const customInfoRequests = require('./customInfoRequests.type')
const externalCompliance = require('./externalCompliance.type')
const funding = require('./funding.type')
const log = require('./log.type')
const loyalty = require('./loyalty.type')
@ -30,6 +31,7 @@ const types = [
currency,
customer,
customInfoRequests,
externalCompliance,
funding,
log,
loyalty,