Skip to content

Commit 8cd0821

Browse files
committed
feat: ubo tracker items now using identity verification checks
1 parent 8c70dca commit 8cd0821

File tree

6 files changed

+39
-18
lines changed

6 files changed

+39
-18
lines changed

apps/backoffice-v2/src/common/components/molecules/ProcessTracker/constants.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { Pencil } from '../../atoms/Pencil/Pencil';
99
import { COLLECTION_FLOW_PROCESS_NAME } from './trackers/collection-flow/consts';
1010
import { UBO_FLOW_PROCESS_NAME } from './trackers/ubo-flows/consts';
1111
import { THIRD_PARTY_PROCESS_NAME } from './trackers/third-party/consts';
12+
import { EndUserIndividualVerificationChecksStatus } from '@/domains/individuals/fetchers';
1213

1314
export const tagToAccordionCardItem = {
1415
[StateTag.COLLECTION_FLOW]: 'Collection flow',
@@ -111,6 +112,13 @@ export const tagToIcon = {
111112
[StateTag.REVISION]: Icon.REFRESH,
112113
} as const;
113114

115+
export const endUserFlowStatusToIcon = {
116+
[EndUserIndividualVerificationChecksStatus.IN_PROGRESS]: Icon.CLOCK,
117+
[EndUserIndividualVerificationChecksStatus.COMPLETED]: Icon.CHECK,
118+
[EndUserIndividualVerificationChecksStatus.FAILED]: Icon.X,
119+
DEFAULT: Icon.INDICATOR,
120+
} as const;
121+
114122
export const DEFAULT_PROCESS_TRACKER_PROCESSES = [
115123
COLLECTION_FLOW_PROCESS_NAME,
116124
THIRD_PARTY_PROCESS_NAME,

apps/backoffice-v2/src/common/components/molecules/ProcessTracker/trackers/ubo-flows/UBOFlowsTracker.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { UBO_FLOW_PROCESS_NAME } from './consts';
44
import { useUBOFlowsTrackerItems } from './hooks/useUBOFlowsTrackerItems';
55

66
export const UBOFlowsTracker = ({ workflow, plugins, processes }: TTrackerComponentProps) => {
7-
const items = useUBOFlowsTrackerItems(workflow?.childWorkflows);
7+
const items = useUBOFlowsTrackerItems(workflow?.endUsers || []);
88

99
return (
1010
<Tracker workflow={workflow} plugins={plugins} processes={processes}>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { endUserFlowStatusToIcon } from '@/common/components/molecules/ProcessTracker/constants';
2+
import { TWorkflowById } from '@/domains/workflows/fetchers';
3+
4+
export const getEndUserFlowStatus = (endUser: TWorkflowById['endUsers'][number]) => {
5+
const { status } = endUser.individualVerificationsChecks || {};
6+
7+
return (
8+
endUserFlowStatusToIcon[status as keyof typeof endUserFlowStatusToIcon] ??
9+
endUserFlowStatusToIcon.DEFAULT
10+
);
11+
};

apps/backoffice-v2/src/common/components/molecules/ProcessTracker/trackers/ubo-flows/hooks/useUBOFlowsTrackerItems/helpers/get-ubo-flow-status-by-tags.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

apps/backoffice-v2/src/common/components/molecules/ProcessTracker/trackers/ubo-flows/hooks/useUBOFlowsTrackerItems/useUBOFlowsTrackerItems.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
import { TWorkflowById } from '@/domains/workflows/fetchers';
22
import { useMemo } from 'react';
3-
import { getUBOFlowStatusByTags } from './helpers/get-ubo-flow-status-by-tags';
43
import { valueOrNA } from '@ballerine/common';
4+
import { getEndUserFlowStatus } from './helpers/get-end-user-flow-status';
55

6-
export const useUBOFlowsTrackerItems = (childWorkflows: TWorkflowById['childWorkflows']) => {
6+
export const useUBOFlowsTrackerItems = (endUsers: TWorkflowById['endUsers']) => {
77
const items = useMemo(
88
() =>
9-
childWorkflows?.map(({ context, tags }) => {
9+
endUsers?.map(endUser => {
1010
return {
11-
text: `${valueOrNA(context?.entity?.data?.firstName)} ${valueOrNA(
12-
context?.entity?.data?.lastName,
13-
)}`,
14-
leftIcon: getUBOFlowStatusByTags(tags),
11+
text: `${valueOrNA(endUser.firstName)} ${valueOrNA(endUser.lastName)}`,
12+
leftIcon: getEndUserFlowStatus(endUser),
1513
};
1614
}) || [],
17-
[childWorkflows],
15+
[endUsers],
1816
);
1917

2018
return items;

apps/backoffice-v2/src/domains/individuals/fetchers.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ export const EntityType = {
1616

1717
export const EndUserVariantSchema = z.enum([EntityType.UBO, EntityType.DIRECTOR]);
1818

19+
export const EndUserIndividualVerificationChecksStatus = {
20+
IN_PROGRESS: 'in-progress',
21+
COMPLETED: 'completed',
22+
FAILED: 'failed',
23+
} as const;
24+
1925
export const EndUserSchema = z.object({
2026
id: z.string(),
2127
firstName: z.string(),
@@ -30,7 +36,13 @@ export const EndUserSchema = z.object({
3036
amlHits: z.array(HitSchema.extend({ vendor: z.string().optional() })).optional(),
3137
individualVerificationsChecks: z
3238
.object({
33-
status: z.string(),
39+
status: z
40+
.union([
41+
z.literal(EndUserIndividualVerificationChecksStatus.IN_PROGRESS),
42+
z.literal(EndUserIndividualVerificationChecksStatus.COMPLETED),
43+
z.literal(EndUserIndividualVerificationChecksStatus.FAILED),
44+
])
45+
.optional(),
3446
data: z.object({
3547
kyc_session_1: z.object({
3648
vendor: z.string(),

0 commit comments

Comments
 (0)