@everymatrix/cashier-verifications 1.39.1 → 1.39.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@everymatrix/cashier-verifications",
|
|
3
|
-
"version": "1.39.
|
|
3
|
+
"version": "1.39.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"svelte": "src/index.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "34113a6474c9833b52690631f489148f6b5c67e0"
|
|
39
39
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<svelte:options tag={null} />
|
|
2
2
|
<script lang="ts">
|
|
3
3
|
|
|
4
|
-
import { _, addNewMessages, setLocale } from './i18n';
|
|
4
|
+
import { _, addNewMessages, setLocale, setupI18n } from './i18n';
|
|
5
5
|
import { TRANSLATIONS } from './translations';
|
|
6
6
|
|
|
7
7
|
export let endpoint: string;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
let clickedVerificationsLink = new Set<string>();
|
|
18
18
|
let verificationStatus: Verifications;
|
|
19
19
|
let displayMessages;
|
|
20
|
-
let allVerificationsVisible =
|
|
20
|
+
let allVerificationsVisible = true;
|
|
21
21
|
|
|
22
22
|
enum CustomerVerificationVendors {
|
|
23
23
|
'Manual' = 'Manual',
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
enum CustomerVerificationStatus {
|
|
32
|
-
'Unknown',
|
|
33
|
-
'Unverified',
|
|
34
|
-
'InProgress',
|
|
35
|
-
'Failed',
|
|
36
|
-
'Verified',
|
|
37
|
-
'Referred',
|
|
38
|
-
'True',
|
|
39
|
-
'False',
|
|
40
|
-
'AwaitingForResponse'
|
|
32
|
+
'Unknown' = 'Unknown',
|
|
33
|
+
'Unverified' = 'Unverified',
|
|
34
|
+
'InProgress' = 'InProgress',
|
|
35
|
+
'Failed' = 'Failed',
|
|
36
|
+
'Verified' = 'Verified',
|
|
37
|
+
'Referred' = 'Referred',
|
|
38
|
+
'True' = 'True',
|
|
39
|
+
'False' = 'False',
|
|
40
|
+
'AwaitingForResponse' = 'AwaitingForResponse'
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
enum CustomerVerificationType {
|
|
@@ -130,19 +130,12 @@
|
|
|
130
130
|
})
|
|
131
131
|
}
|
|
132
132
|
fetch(url, requestParams).then(res => res.json()).then(data => {
|
|
133
|
-
data.Verifications
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
verificationStatus = getCalculatedStatus(data.Verifications);
|
|
134
|
+
verificationStatus.VerificationStatuses.forEach(status => {
|
|
135
|
+
if (status.VerificationUrlType !== 'Widget') {
|
|
136
|
+
verificationVendorList.add(status.Vendor);
|
|
136
137
|
}
|
|
137
138
|
})
|
|
138
|
-
verificationStatus = getCalculatedStatus(data.Verifications);
|
|
139
|
-
verificationStatus.VerificationStatuses = data.Verifications.map((verification) => ({
|
|
140
|
-
Type: verification.Type,
|
|
141
|
-
Vendor: verification.VendorName,
|
|
142
|
-
VerificationDocuments: verification.Documents ? [...Object.values(verification.Documents)] : [],
|
|
143
|
-
VerificationUrlType: verification.Flags?.DeferredUrlTypeKey,
|
|
144
|
-
VerificationUrl: verification.Flags?.DeferredUrlKey
|
|
145
|
-
}))
|
|
146
139
|
displayMessages = getMessages()
|
|
147
140
|
})
|
|
148
141
|
}
|
|
@@ -163,34 +156,53 @@
|
|
|
163
156
|
}
|
|
164
157
|
|
|
165
158
|
const getCalculatedStatus = (verifications) => {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
159
|
+
if (!verifications || !verifications.length) {
|
|
160
|
+
return { VerificationSummaryStatus: CustomerVerificationStatus.Unverified }
|
|
161
|
+
}
|
|
169
162
|
const verificationInProgress = getVerificationInProgress(verifications);
|
|
170
163
|
if (verificationInProgress) {
|
|
171
164
|
return {
|
|
172
165
|
VerificationSummaryStatus: CustomerVerificationStatus.InProgress,
|
|
173
|
-
VerificationUrl
|
|
166
|
+
VerificationUrl: verificationInProgress.Flags?.DeferredUrlKey,
|
|
167
|
+
VerificationStatuses: getVerificationsFilteredByStatus(verifications, verificationStatusInProgress)
|
|
174
168
|
}
|
|
175
169
|
} else {
|
|
176
170
|
const isVerificationFailed = verifications.some((verification) => verification.Status === CustomerVerificationStatus.Failed )
|
|
177
171
|
return {
|
|
178
|
-
VerificationSummaryStatus: isVerificationFailed ? CustomerVerificationStatus.Failed : CustomerVerificationStatus.Verified
|
|
172
|
+
VerificationSummaryStatus: isVerificationFailed ? CustomerVerificationStatus.Failed : CustomerVerificationStatus.Verified,
|
|
173
|
+
VerificationStatuses: getVerificationsFilteredByStatus(verifications, [CustomerVerificationStatus.Failed])
|
|
179
174
|
}
|
|
180
175
|
}
|
|
181
176
|
}
|
|
182
177
|
|
|
178
|
+
const getVerificationsFilteredByStatus = (verifications, statuses) => {
|
|
179
|
+
return verifications
|
|
180
|
+
.filter((verification) => statuses.includes(verification.Status))
|
|
181
|
+
.map((verification) => ({
|
|
182
|
+
Type: verification.Type,
|
|
183
|
+
Vendor: verification.VendorName,
|
|
184
|
+
VerificationDocuments: verification.Documents ? [...Object.values(verification.Documents)] : [],
|
|
185
|
+
VerificationUrlType: verification.Flags?.DeferredUrlTypeKey,
|
|
186
|
+
VerificationUrl: verification.Flags?.DeferredUrlKey
|
|
187
|
+
}))
|
|
188
|
+
}
|
|
189
|
+
|
|
183
190
|
const getVerificationInProgress = (verifications) => {
|
|
184
191
|
return verifications.find((verification) => {
|
|
185
192
|
let isInProgress = verificationStatusInProgress.includes(verification.Status);
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
hasRequestedDocs = Object.values(verification.Documents).some((doc) => doc.Status === VerificationDocumentsStatuses.Requested)
|
|
193
|
+
if (!isInProgress) {
|
|
194
|
+
return false;
|
|
189
195
|
}
|
|
190
|
-
return
|
|
196
|
+
return verification.Flags && verification.Flags.DeferredUrlKey || isManualDocRequested(verification)
|
|
191
197
|
})
|
|
192
198
|
}
|
|
193
199
|
|
|
200
|
+
const isManualDocRequested = (verification) => {
|
|
201
|
+
const isManual = verification.Documents && verification.VendorName === CustomerVerificationVendors.Manual;
|
|
202
|
+
const hasRequestedDocs = Object.values(verification.Documents).some((doc) => doc.Status === VerificationDocumentsStatuses.Requested)
|
|
203
|
+
return isManual && hasRequestedDocs
|
|
204
|
+
}
|
|
205
|
+
|
|
194
206
|
const getMessages = () => {
|
|
195
207
|
switch (verificationStatus.VerificationSummaryStatus) {
|
|
196
208
|
case CustomerVerificationStatus.InProgress:
|
|
@@ -199,23 +211,20 @@
|
|
|
199
211
|
result.push(getSuccessfulMessageByVendor(vendor));
|
|
200
212
|
});
|
|
201
213
|
return result;
|
|
202
|
-
case CustomerVerificationStatus.Referred:
|
|
203
|
-
return ['verification.idenfy.referred-awaiting'];
|
|
204
214
|
case CustomerVerificationStatus.Failed:
|
|
205
|
-
return ['verification.message.failed'];
|
|
215
|
+
return [$_('verification.message.failed')];
|
|
206
216
|
}
|
|
207
217
|
}
|
|
208
218
|
|
|
209
219
|
const getSuccessfulMessageByVendor = (vendor) => {
|
|
220
|
+
const verifications = verificationStatus.VerificationStatuses.filter(item => item.Vendor === vendor);
|
|
210
221
|
if (vendor === CustomerVerificationVendors.ShuftiPro) {
|
|
211
|
-
const verifications = verificationStatus.VerificationStatuses.filter(item => item.Vendor === vendor);
|
|
212
222
|
return getShuftiVerificationMessage(verifications);
|
|
213
223
|
} else {
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
};
|
|
224
|
+
const linkName = $_('verification.idenfy.link-name'),
|
|
225
|
+
params = {
|
|
226
|
+
link: `<a href="${verifications[0].VerificationUrl}" target="_blank">${linkName}</a>`
|
|
227
|
+
};
|
|
219
228
|
return $_('verification.idenfy.in-progress', {values: params});
|
|
220
229
|
}
|
|
221
230
|
}
|
|
@@ -267,6 +276,7 @@
|
|
|
267
276
|
|
|
268
277
|
<div class="CashierVerifications" bind:this={customStylingContainer}>
|
|
269
278
|
{#if displayMessages}
|
|
279
|
+
<div>
|
|
270
280
|
{#each displayMessages as message, index}
|
|
271
281
|
<div class="CashierVerificationMessage" class:ShowAll={allVerificationsVisible} on:click={(e) => showAllVerifications(e, index)}>
|
|
272
282
|
<div class="IconVerification"><svg width="64px" height="64px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" stroke="#ffffff"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M4.39254 16.2614C2.64803 13.1941 1.66074 9.71783 1.51646 6.15051C1.50127 5.77507 1.70918 5.42812 2.04153 5.25282L11.5335 0.246091C11.8254 0.0920859 12.1746 0.0920859 12.4665 0.246091L21.9585 5.25282C22.2908 5.42812 22.4987 5.77507 22.4835 6.15051C22.3393 9.71783 21.352 13.1941 19.6075 16.2614C17.8618 19.3307 15.4169 21.8869 12.4986 23.7001C12.1931 23.8899 11.8069 23.8899 11.5014 23.7001C8.58313 21.8869 6.13817 19.3307 4.39254 16.2614Z" fill="#fa9200"></path> <path d="M8.25 12.75L11.25 15L17.25 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </g></svg></div>
|
|
@@ -280,6 +290,7 @@
|
|
|
280
290
|
{/if}
|
|
281
291
|
</div>
|
|
282
292
|
{/each}
|
|
293
|
+
</div>
|
|
283
294
|
{/if}
|
|
284
295
|
</div>
|
|
285
296
|
|
|
@@ -306,9 +317,11 @@
|
|
|
306
317
|
box-shadow: 0 0 4px $color-black-transparency-10;
|
|
307
318
|
width: 100%;
|
|
308
319
|
border-radius: $border-radius-medium-plus;
|
|
309
|
-
margin-bottom: 20px;
|
|
310
320
|
container-name: method-list;
|
|
311
321
|
container-type: inline-size;
|
|
322
|
+
&:has(.CashierVerificationMessage) {
|
|
323
|
+
margin-bottom: 20px;
|
|
324
|
+
}
|
|
312
325
|
}
|
|
313
326
|
.IconVerification {
|
|
314
327
|
width: 30px;
|