feat: notifications and flow fixes

This commit is contained in:
Rafael Taranto 2024-06-18 23:43:35 +01:00
parent 423cfd4bbb
commit 8f8e95c292
9 changed files with 103 additions and 26 deletions

View file

@ -1,5 +1,5 @@
module.exports = {
WAIT: 'WAIT',
PENDING: 'PENDING',
RETRY: 'RETRY',
APPROVED: 'APPROVED',
REJECTED: 'REJECTED'

View file

@ -1,14 +1,31 @@
const uuid = require('uuid')
const {APPROVED} = require('../consts')
const CODE = 'mock-compliance'
const createLink = (settings, userId, level) => {
return `this is a mock external link, ${userId}, ${level}`
}
const getApplicantStatus = (settings, userId) => {
const getApplicantStatus = (account, userId) => {
return Promise.resolve({
service: CODE,
status: {
level: account.applicantLevel, answer: APPROVED
}
})
}
const createApplicant = () => {
return Promise.resolve({
id: uuid.v4()
})
}
module.exports = {
CODE,
createLink,
getApplicantStatus
createApplicant,
getApplicantStatus,
createLink
}

View file

@ -1,7 +1,7 @@
const _ = require('lodash/fp')
const sumsubApi = require('./sumsub.api')
const { WAIT, RETRY, APPROVED, REJECTED } = require('../consts')
const { PENDING, RETRY, APPROVED, REJECTED } = require('../consts')
const CODE = 'sumsub'
@ -31,17 +31,16 @@ const getApplicantStatus = (account, userId) => {
const reviewStatus = _.get('data.review.reviewStatus', r)
const reviewAnswer = _.get('data.review.reviewResult.reviewAnswer', r)
const reviewRejectType = _.get('data.review.reviewResult.reviewRejectType', r)
const sumsubUserId = _.get('data.review.reviewResult.reviewRejectType', r)
// if last review was from a different level, return the current level and RETRY
if (levelName !== account.applicantLevel) return { thirdPartyId: sumsubUserId, level: account.applicantLevel, answer: RETRY }
if (levelName !== account.applicantLevel) return { level: account.applicantLevel, answer: RETRY }
let answer = WAIT
let answer = PENDING
if (reviewAnswer === 'GREEN' && reviewStatus === 'completed') answer = APPROVED
if (reviewAnswer === 'RED' && reviewRejectType === 'RETRY') answer = RETRY
if (reviewAnswer === 'RED' && reviewRejectType === 'FINAL') answer = REJECTED
return { thirdPartyId: sumsubUserId, level: levelName, answer }
return { level: levelName, answer }
})
}
@ -49,6 +48,5 @@ module.exports = {
CODE,
createApplicant,
getApplicantStatus,
getApplicantByExternalId,
createLink
}