From b7227992b9cfc2d82acb4603d40b2ad96a0cd587 Mon Sep 17 00:00:00 2001 From: Aliaksandr Drozd Date: Wed, 24 Jul 2024 15:54:28 +0200 Subject: [PATCH] Fix skipped authenticity check --- package.json | 2 +- src/helpers/index.ts | 1 + src/helpers/merge-statuses.helper.ts | 18 ++++++++++++++++++ .../get-authenticity-check-list.recipe.ts | 11 +++-------- 4 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 src/helpers/merge-statuses.helper.ts diff --git a/package.json b/package.json index 9dd4e31..c5e9844 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "0.0.75", + "version": "0.0.76", "author": "Regula Forensics, Inc.", "name": "@regulaforensics/document-reader-recipes", "description": "Document Reader Recipes", diff --git a/src/helpers/index.ts b/src/helpers/index.ts index 2912673..434c30c 100644 --- a/src/helpers/index.ts +++ b/src/helpers/index.ts @@ -1,2 +1,3 @@ export * from './get-image-dimentions' export * from './convert-generalized-date-to-local.helper' +export * from './merge-statuses.helper' diff --git a/src/helpers/merge-statuses.helper.ts b/src/helpers/merge-statuses.helper.ts new file mode 100644 index 0000000..0406875 --- /dev/null +++ b/src/helpers/merge-statuses.helper.ts @@ -0,0 +1,18 @@ +import { eCheckResult } from '@regulaforensics/document-reader-typings' + + +export const mergeStatuses = (checks: eCheckResult[]): eCheckResult => { + let result: eCheckResult = eCheckResult.WAS_NOT_DONE + + for (const check of checks) { + if (check === eCheckResult.ERROR) { + return eCheckResult.ERROR + } + + if (result === eCheckResult.WAS_NOT_DONE && check === eCheckResult.OK) { + result = eCheckResult.OK + } + } + + return result +} \ No newline at end of file diff --git a/src/recipes/authenticity/get-authenticity-check-list/get-authenticity-check-list.recipe.ts b/src/recipes/authenticity/get-authenticity-check-list/get-authenticity-check-list.recipe.ts index faba15a..7f60119 100644 --- a/src/recipes/authenticity/get-authenticity-check-list/get-authenticity-check-list.recipe.ts +++ b/src/recipes/authenticity/get-authenticity-check-list/get-authenticity-check-list.recipe.ts @@ -21,6 +21,7 @@ import { RAuthenticitySecurityCheck, RAuthenticityTextCheck } from './models' +import { mergeStatuses } from '@/helpers' const skipFeatures = [ @@ -242,14 +243,8 @@ export const getAuthenticityCheckList = (input: ProcessResponse): RAuthenticityC current.groups[index].checkResult = eCheckResult.ERROR }) - if (current.groups.every(({ checkResult }) => checkResult === eCheckResult.OK)) { - current.checkResult = eCheckResult.OK - } else if (current.groups.some(({ checkResult }) => checkResult === eCheckResult.WAS_NOT_DONE)) { - current.checkResult = eCheckResult.WAS_NOT_DONE - return - } else { - current.checkResult = eCheckResult.ERROR - } + const checkResults = current.groups.map(({ checkResult }) => checkResult) + current.checkResult = mergeStatuses(checkResults) current.groups.sort((a, b) => a.checkResult - b.checkResult)