@frankieone/one-sdk 1.7.15 → 1.7.16-rc
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/README.md +2 -3
- package/dist/cli/cli.js +130 -0
- package/dist/cli/darwin-amd64/onesdk-cli +0 -0
- package/dist/cli/darwin-arm64/onesdk-cli +0 -0
- package/dist/cli/linux-amd64/onesdk-cli +0 -0
- package/dist/cli/linux-arm64/onesdk-cli +0 -0
- package/dist/cli/templateGenerator.js +43 -0
- package/dist/cli/windows-amd64/onesdk-cli.exe +0 -0
- package/dist/commit.txt +1 -1
- package/dist/esm/modules/biometrics/definition.d.ts +1 -0
- package/dist/esm/modules/biometrics/definition.d.ts.map +1 -1
- package/dist/esm/modules/biometrics/events.d.ts +3 -0
- package/dist/esm/modules/biometrics/events.d.ts.map +1 -1
- package/dist/esm/modules/biometrics/vendors/Onfido/index.d.ts +3 -6
- package/dist/esm/modules/biometrics/vendors/Onfido/index.d.ts.map +1 -1
- package/dist/esm/modules/biometrics/vendors/Onfido/index.js +8 -102
- package/dist/esm/modules/biometrics/vendors/Onfido/index.js.map +1 -1
- package/dist/esm/modules/biometrics/vendors/Onfido/onfido.init.d.ts +4 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/onfido.init.d.ts.map +1 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/onfido.init.js +73 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/onfido.init.js.map +1 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/onfidoLegacy.init.d.ts +5 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/onfidoLegacy.init.d.ts.map +1 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/onfidoLegacy.init.js +106 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/onfidoLegacy.init.js.map +1 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/shared.d.ts +22 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/shared.d.ts.map +1 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/shared.js +45 -0
- package/dist/esm/modules/biometrics/vendors/Onfido/shared.js.map +1 -0
- package/dist/esm/modules/cli/index.d.ts +8 -0
- package/dist/esm/modules/cli/index.d.ts.map +1 -0
- package/dist/esm/modules/cli/index.js +6 -0
- package/dist/esm/modules/cli/index.js.map +1 -0
- package/dist/esm/modules/cli/template/index.d.ts +7 -0
- package/dist/esm/modules/cli/template/index.d.ts.map +1 -0
- package/dist/esm/modules/cli/template/index.js +68 -0
- package/dist/esm/modules/cli/template/index.js.map +1 -0
- package/dist/esm/modules/cli/template/templateIdv.d.ts +2 -0
- package/dist/esm/modules/cli/template/templateIdv.d.ts.map +1 -0
- package/dist/esm/modules/cli/template/templateIdv.js +109 -0
- package/dist/esm/modules/cli/template/templateIdv.js.map +1 -0
- package/dist/esm/modules/cli/template/templateIdvReview.d.ts +2 -0
- package/dist/esm/modules/cli/template/templateIdvReview.d.ts.map +1 -0
- package/dist/esm/modules/cli/template/templateIdvReview.js +125 -0
- package/dist/esm/modules/cli/template/templateIdvReview.js.map +1 -0
- package/dist/esm/modules/cli/template/templateManualKyc.d.ts +2 -0
- package/dist/esm/modules/cli/template/templateManualKyc.d.ts.map +1 -0
- package/dist/esm/modules/cli/template/templateManualKyc.js +215 -0
- package/dist/esm/modules/cli/template/templateManualKyc.js.map +1 -0
- package/dist/esm/modules/common/shared/models/Address.d.ts.map +1 -1
- package/dist/esm/modules/common/shared/models/Address.js +0 -1
- package/dist/esm/modules/common/shared/models/Address.js.map +1 -1
- package/dist/esm/modules/common/shared/models/Document.d.ts +2 -2
- package/dist/esm/modules/common/shared/models/Document.d.ts.map +1 -1
- package/dist/esm/modules/common/shared/models/Document.js +10 -8
- package/dist/esm/modules/common/shared/models/Document.js.map +1 -1
- package/dist/esm/modules/common/shared/models/F2/Date.d.ts.map +1 -1
- package/dist/esm/modules/common/shared/models/F2/Date.js.map +1 -1
- package/dist/esm/modules/common/shared/models/F2/Document.js +2 -2
- package/dist/esm/modules/common/shared/models/F2/Document.js.map +1 -1
- package/dist/esm/modules/common/shared/utils/sanitiser.js +1 -1
- package/dist/esm/modules/common/shared/utils/sanitiser.js.map +1 -1
- package/dist/esm/modules/common/vendors/incode/startCamera.d.ts +3 -3
- package/dist/esm/modules/common/vendors/incode/startCamera.d.ts.map +1 -1
- package/dist/esm/modules/common/vendors/incode/startCamera.js +2 -2
- package/dist/esm/modules/common/vendors/incode/startCamera.js.map +1 -1
- package/dist/esm/modules/common/vendors/onfido/index.d.ts +8 -2
- package/dist/esm/modules/common/vendors/onfido/index.d.ts.map +1 -1
- package/dist/esm/modules/common/vendors/onfido/index.js +68 -17
- package/dist/esm/modules/common/vendors/onfido/index.js.map +1 -1
- package/dist/esm/modules/common/vendors/onfido/onfido.types.d.ts +19 -2
- package/dist/esm/modules/common/vendors/onfido/onfido.types.d.ts.map +1 -1
- package/dist/esm/modules/common/vendors/onfido/onfido.types.js.map +1 -1
- package/dist/esm/modules/common/vendors/plaid/index.d.ts +5 -0
- package/dist/esm/modules/common/vendors/plaid/index.d.ts.map +1 -0
- package/dist/esm/modules/common/vendors/plaid/index.js +16 -0
- package/dist/esm/modules/common/vendors/plaid/index.js.map +1 -0
- package/dist/esm/modules/common/vendors/plaid/plaid.types.d.ts +29 -0
- package/dist/esm/modules/common/vendors/plaid/plaid.types.d.ts.map +1 -0
- package/dist/esm/modules/common/vendors/plaid/plaid.types.js +9 -0
- package/dist/esm/modules/common/vendors/plaid/plaid.types.js.map +1 -0
- package/dist/esm/modules/common/vendors/sumsub/index.d.ts +5 -0
- package/dist/esm/modules/common/vendors/sumsub/index.d.ts.map +1 -0
- package/dist/esm/modules/common/vendors/sumsub/index.js +16 -0
- package/dist/esm/modules/common/vendors/sumsub/index.js.map +1 -0
- package/dist/esm/modules/common/vendors/sumsub/sumsub.types.d.ts +29 -0
- package/dist/esm/modules/common/vendors/sumsub/sumsub.types.d.ts.map +1 -0
- package/dist/esm/modules/common/vendors/sumsub/sumsub.types.js +3 -0
- package/dist/esm/modules/common/vendors/sumsub/sumsub.types.js.map +1 -0
- package/dist/esm/modules/device/events.d.ts +8 -6
- package/dist/esm/modules/device/events.d.ts.map +1 -1
- package/dist/esm/modules/features.config.d.ts +1 -0
- package/dist/esm/modules/features.config.d.ts.map +1 -1
- package/dist/esm/modules/features.config.js +1 -0
- package/dist/esm/modules/features.config.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/appConfig.type.d.ts +13 -1
- package/dist/esm/modules/form/vendors/react/appConfig.type.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/appConfig.type.js +5 -0
- package/dist/esm/modules/form/vendors/react/appConfig.type.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieCardList/FrankieCardList.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieCardList/FrankieCardList.js +2 -4
- package/dist/esm/modules/form/vendors/react/components/view/FrankieCardList/FrankieCardList.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieCheckbox/FrankieCheckbox.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieCheckbox/FrankieCheckbox.js +2 -2
- package/dist/esm/modules/form/vendors/react/components/view/FrankieCheckbox/FrankieCheckbox.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieDescription/FrankieDescription.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieDescription/FrankieDescription.js +2 -4
- package/dist/esm/modules/form/vendors/react/components/view/FrankieDescription/FrankieDescription.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieInstructionList/FrankieInstructionList.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/FrankieInstructionList/FrankieInstructionList.js +2 -4
- package/dist/esm/modules/form/vendors/react/components/view/FrankieInstructionList/FrankieInstructionList.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/SearchableAddress/SearchableAddress.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/SearchableAddress/SearchableAddress.js +8 -4
- package/dist/esm/modules/form/vendors/react/components/view/SearchableAddress/SearchableAddress.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/components/view/Wrapper/Wrapper.js +5 -2
- package/dist/esm/modules/form/vendors/react/components/view/Wrapper/Wrapper.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/PersonalDetails/personalDetails.config.d.ts +24 -24
- package/dist/esm/modules/form/vendors/react/features/PersonalDetails/personalDetails.config.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderIssueNote.d.ts +13 -0
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderIssueNote.d.ts.map +1 -0
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderIssueNote.js +30 -0
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderIssueNote.js.map +1 -0
- package/dist/esm/modules/form/vendors/react/features/Result/Result.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Result/Result.js +4 -4
- package/dist/esm/modules/form/vendors/react/features/Result/Result.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Result/result.config.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Result/result.config.js +28 -0
- package/dist/esm/modules/form/vendors/react/features/Result/result.config.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Review/fields/drivers-licence.config.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Review/fields/drivers-licence.config.js +5 -1
- package/dist/esm/modules/form/vendors/react/features/Review/fields/drivers-licence.config.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Review/review.const.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/Review/review.const.js +3 -0
- package/dist/esm/modules/form/vendors/react/features/Review/review.const.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/ReviewDocument/ReviewDocument.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/features/ReviewDocument/ReviewDocument.js +2 -1
- package/dist/esm/modules/form/vendors/react/features/ReviewDocument/ReviewDocument.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/hooks/useAddressSearch.d.ts +1 -1
- package/dist/esm/modules/form/vendors/react/hooks/useAddressSearch.d.ts.map +1 -1
- package/dist/esm/modules/form/vendors/react/hooks/useAddressSearch.js +35 -39
- package/dist/esm/modules/form/vendors/react/hooks/useAddressSearch.js.map +1 -1
- package/dist/esm/modules/form/vendors/react/hooks/useReviewUpdateFactory.hook.d.ts +1 -1
- package/dist/esm/modules/frankie-client/clients/DocumentClient.d.ts +5 -0
- package/dist/esm/modules/frankie-client/clients/DocumentClient.d.ts.map +1 -0
- package/dist/esm/modules/frankie-client/clients/DocumentClient.js +18 -0
- package/dist/esm/modules/frankie-client/clients/DocumentClient.js.map +1 -0
- package/dist/esm/modules/frankie-client/clients/F2/DocumentClientF2.d.ts +5 -0
- package/dist/esm/modules/frankie-client/clients/F2/DocumentClientF2.d.ts.map +1 -0
- package/dist/esm/modules/frankie-client/clients/F2/DocumentClientF2.js +18 -0
- package/dist/esm/modules/frankie-client/clients/F2/DocumentClientF2.js.map +1 -0
- package/dist/esm/modules/idv/definition.types.d.ts +3 -2
- package/dist/esm/modules/idv/definition.types.d.ts.map +1 -1
- package/dist/esm/modules/idv/index.d.ts.map +1 -1
- package/dist/esm/modules/idv/index.js +14 -0
- package/dist/esm/modules/idv/index.js.map +1 -1
- package/dist/esm/modules/idv/vendors/Incode/index.d.ts +1 -1
- package/dist/esm/modules/idv/vendors/Mastercard/index.d.ts +1 -1
- package/dist/esm/modules/idv/vendors/OcrLabs/index.d.ts +1 -1
- package/dist/esm/modules/idv/vendors/Onfido/index.d.ts +1 -1
- package/dist/esm/modules/idv/vendors/Onfido/index.d.ts.map +1 -1
- package/dist/esm/modules/idv/vendors/Onfido/index.js +6 -1
- package/dist/esm/modules/idv/vendors/Onfido/index.js.map +1 -1
- package/dist/esm/modules/idv/vendors/Plaid/index.d.ts +21 -0
- package/dist/esm/modules/idv/vendors/Plaid/index.d.ts.map +1 -0
- package/dist/esm/modules/idv/vendors/Plaid/index.js +66 -0
- package/dist/esm/modules/idv/vendors/Plaid/index.js.map +1 -0
- package/dist/esm/modules/idv/vendors/Sumsub/index.d.ts +23 -0
- package/dist/esm/modules/idv/vendors/Sumsub/index.d.ts.map +1 -0
- package/dist/esm/modules/idv/vendors/Sumsub/index.js +125 -0
- package/dist/esm/modules/idv/vendors/Sumsub/index.js.map +1 -0
- package/dist/esm/modules/idv/vendors/common/iframeUtils/defineIframeIDVWrapper.d.ts +1 -1
- package/dist/esm/modules/index.d.ts.map +1 -1
- package/dist/esm/modules/index.js.map +1 -1
- package/dist/esm/modules/individual/F2/index.d.ts.map +1 -1
- package/dist/esm/modules/individual/F2/index.js +32 -4
- package/dist/esm/modules/individual/F2/index.js.map +1 -1
- package/dist/esm/modules/individual/actions/documents.d.ts +5 -0
- package/dist/esm/modules/individual/actions/documents.d.ts.map +1 -1
- package/dist/esm/modules/individual/actions/documents.js +15 -0
- package/dist/esm/modules/individual/actions/documents.js.map +1 -1
- package/dist/esm/modules/individual/definition.d.ts +2 -0
- package/dist/esm/modules/individual/definition.d.ts.map +1 -1
- package/dist/esm/modules/individual/index.d.ts.map +1 -1
- package/dist/esm/modules/individual/index.js +11 -6
- package/dist/esm/modules/individual/index.js.map +1 -1
- package/dist/esm/modules/meta.json +1 -1
- package/dist/esm/modules/ocr/actions/start.js +3 -3
- package/dist/esm/modules/ocr/actions/start.js.map +1 -1
- package/dist/esm/modules/ocr/definition.d.ts +2 -1
- package/dist/esm/modules/ocr/definition.d.ts.map +1 -1
- package/dist/esm/modules/ocr/vendors/Incode/index.d.ts.map +1 -1
- package/dist/esm/modules/ocr/vendors/Incode/index.js +4 -2
- package/dist/esm/modules/ocr/vendors/Incode/index.js.map +1 -1
- package/dist/esm/modules/ocr/vendors/Onfido/index.d.ts +2 -4
- package/dist/esm/modules/ocr/vendors/Onfido/index.d.ts.map +1 -1
- package/dist/esm/modules/ocr/vendors/Onfido/index.js +9 -145
- package/dist/esm/modules/ocr/vendors/Onfido/index.js.map +1 -1
- package/dist/esm/modules/ocr/vendors/Onfido/onfido.init.d.ts +6 -0
- package/dist/esm/modules/ocr/vendors/Onfido/onfido.init.d.ts.map +1 -0
- package/dist/esm/modules/ocr/vendors/Onfido/onfido.init.js +73 -0
- package/dist/esm/modules/ocr/vendors/Onfido/onfido.init.js.map +1 -0
- package/dist/esm/modules/ocr/vendors/Onfido/onfidoLegacy.init.d.ts +7 -0
- package/dist/esm/modules/ocr/vendors/Onfido/onfidoLegacy.init.d.ts.map +1 -0
- package/dist/esm/modules/ocr/vendors/Onfido/onfidoLegacy.init.js +112 -0
- package/dist/esm/modules/ocr/vendors/Onfido/onfidoLegacy.init.js.map +1 -0
- package/dist/esm/modules/ocr/vendors/Onfido/shared.d.ts +10 -0
- package/dist/esm/modules/ocr/vendors/Onfido/shared.d.ts.map +1 -0
- package/dist/esm/modules/ocr/vendors/Onfido/shared.js +81 -0
- package/dist/esm/modules/ocr/vendors/Onfido/shared.js.map +1 -0
- package/dist/esm/modules/ocr/vendors/dummy-ocr/index.d.ts.map +1 -1
- package/dist/esm/modules/ocr/vendors/dummy-ocr/index.js +16 -4
- package/dist/esm/modules/ocr/vendors/dummy-ocr/index.js.map +1 -1
- package/dist/esm/modules/sdk/index.d.ts.map +1 -1
- package/dist/esm/modules/sdk/index.js +2 -0
- package/dist/esm/modules/sdk/index.js.map +1 -1
- package/dist/esm/modules/sdk/networkCheck/index.d.ts +4 -0
- package/dist/esm/modules/sdk/networkCheck/index.d.ts.map +1 -0
- package/dist/esm/modules/sdk/networkCheck/index.js +18 -0
- package/dist/esm/modules/sdk/networkCheck/index.js.map +1 -0
- package/dist/esm/modules/sdk/types/globalEvents.d.ts +14 -8
- package/dist/esm/modules/sdk/types/globalEvents.d.ts.map +1 -1
- package/dist/esm/modules/session/index.js +1 -1
- package/dist/esm/modules/session/index.js.map +1 -1
- package/dist/esm/styles/f1-style.css +1 -1
- package/package.json +10 -5
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderFailureNote.d.ts +0 -3
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderFailureNote.d.ts.map +0 -1
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderFailureNote.js +0 -14
- package/dist/esm/modules/form/vendors/react/features/Result/CreditHeaderFailureNote.js.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { mkErrors } from '../common/errors.js';
|
|
11
|
+
import { initProcess } from '../common/initProcess.js';
|
|
12
|
+
export const handleOnfidoComplete = (_a) => __awaiter(void 0, [_a], void 0, function* ({ idvClient, recipe, eventHub, }) {
|
|
13
|
+
const errorMessages = mkErrors(recipe);
|
|
14
|
+
eventHub.emit('detection_complete');
|
|
15
|
+
try {
|
|
16
|
+
yield initProcess({ idvClient, recipe, eventHub });
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
const { message = '' } = error;
|
|
20
|
+
eventHub.emit('error', errorMessages('INIT_PROCESS', { message }));
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export const handleOnfidoError = ({ error, recipe, eventHub, }) => {
|
|
24
|
+
const errorMessages = mkErrors(recipe);
|
|
25
|
+
const { message = '' } = error;
|
|
26
|
+
eventHub.emit('error', errorMessages('DEFAULT', { message }));
|
|
27
|
+
};
|
|
28
|
+
// destroy onfido instance
|
|
29
|
+
export const removeOnfidoSdk = (_a) => __awaiter(void 0, [_a], void 0, function* ({ instance, recipe, eventHub, sdkVersion, }) {
|
|
30
|
+
const errorMessages = mkErrors(recipe);
|
|
31
|
+
try {
|
|
32
|
+
if (sdkVersion < 14) {
|
|
33
|
+
yield instance.safeTearDown();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
yield instance.tearDown();
|
|
37
|
+
}
|
|
38
|
+
eventHub.emit('session_closed');
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
const { message = '' } = error;
|
|
42
|
+
eventHub.emit('error', errorMessages('DEFAULT', { message }));
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../modules/biometrics/vendors/Onfido/shared.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAS5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAQlB,EAAE,4CARuB,EACzC,SAAS,EACT,MAAM,EACN,QAAQ,GAKT;IACC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAc,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,KAAK,EACL,MAAM,EACN,QAAQ,GAKT,EAAQ,EAAE;IACT,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,KAUb,EAAE,4CAVkB,EACpC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,UAAU,GAMX;IACC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;YACpB,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAc,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/cli/index.js"],"names":[],"mappings":"AAGA;;;;;;WAEC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import createHTML from './template/index.js';
|
|
2
|
+
// @param {string} flowId - the id of the flow to generate, idv / idv_review / manual_kyc
|
|
3
|
+
export default function generateOneSdkFlow({ flowId, env, cid, ccid, apiKey }) {
|
|
4
|
+
return createHTML(flowId)({ env, cid, ccid, apiKey });
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/cli/index.js"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAE7C,yFAAyF;AACzF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../modules/cli/template/index.js"],"names":[],"mappings":"AAuDA;;;;;aAkBC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { templateIdv } from './templateIdv.js';
|
|
2
|
+
import { templateIdvReview } from './templateIdvReview.js';
|
|
3
|
+
import { templateManualKyc } from './templateManualKyc.js';
|
|
4
|
+
const backendURL = {
|
|
5
|
+
dev: "https://backend.latest.frankiefinancial.io",
|
|
6
|
+
qa: "https://backend.qa.frankiefinancial.io",
|
|
7
|
+
uat: "https://backend.kycaml.uat.frankiefinancial.io",
|
|
8
|
+
prod: "https://backend.kycaml.frankiefinancial.io",
|
|
9
|
+
};
|
|
10
|
+
const js = String.raw;
|
|
11
|
+
const createRequestTokenFunction = ({ env, cid, ccid, apiKey }) => js `
|
|
12
|
+
// Function to get an authentication token from the FrankieOne API
|
|
13
|
+
// This token is required to initialize OneSDK
|
|
14
|
+
async function getToken() {
|
|
15
|
+
// WARNING: This is for testing purposes only
|
|
16
|
+
// In production, token generation should happen server-side for security
|
|
17
|
+
|
|
18
|
+
// Replace these placeholder values with your actual credentials
|
|
19
|
+
const customerId = '${cid}';
|
|
20
|
+
// Optional: leave empty if not applicable (for multi-tenant setups)
|
|
21
|
+
const customerChildId = '${ccid}';
|
|
22
|
+
const apiKey = '${apiKey}';
|
|
23
|
+
|
|
24
|
+
// Create authentication key by base64 encoding the credentials
|
|
25
|
+
const authKey = btoa(
|
|
26
|
+
[customerId, customerChildId, apiKey].filter(Boolean).join(':'),
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
// Replace this with your own logic to generate a unique customer reference
|
|
30
|
+
const customerReference = Math.random().toString(36).substring(2);
|
|
31
|
+
|
|
32
|
+
// Request a machine session token from FrankieOne
|
|
33
|
+
const tokenResponse = await fetch(
|
|
34
|
+
'${backendURL[env]}/auth/v2/machine-session',
|
|
35
|
+
{
|
|
36
|
+
method: 'POST',
|
|
37
|
+
headers: {
|
|
38
|
+
authorization: 'machine ' + authKey,
|
|
39
|
+
'Content-Type': 'application/json',
|
|
40
|
+
},
|
|
41
|
+
body: JSON.stringify({
|
|
42
|
+
permissions: {
|
|
43
|
+
preset: 'one-sdk',
|
|
44
|
+
reference: customerReference,
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
return await tokenResponse.json();
|
|
51
|
+
}`;
|
|
52
|
+
export default function createHTML(flowId) {
|
|
53
|
+
return function ({ env, cid, ccid, apiKey }) {
|
|
54
|
+
const getTokenImpl = createRequestTokenFunction({ env, cid, ccid, apiKey });
|
|
55
|
+
switch (flowId) {
|
|
56
|
+
case 'idv':
|
|
57
|
+
return templateIdv(getTokenImpl);
|
|
58
|
+
case 'idv_review':
|
|
59
|
+
return templateIdvReview(getTokenImpl);
|
|
60
|
+
case 'manual_kyc':
|
|
61
|
+
return templateManualKyc(getTokenImpl);
|
|
62
|
+
default:
|
|
63
|
+
return 'Unknown flow ID';
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
;
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/cli/template/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,4CAA4C;IACjD,EAAE,EAAE,wCAAwC;IAC5C,GAAG,EAAE,gDAAgD;IACrD,IAAI,EAAE,4CAA4C;CACnD,CAAC;AAEF,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;AAEtB,MAAM,0BAA0B,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA;;;;;;;;4BAQzC,GAAG;;iCAEE,IAAI;wBACb,MAAM;;;;;;;;;;;;WAYnB,UAAU,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;MAiBpB,CAAC;AAEP,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM;IACvC,OAAO,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;QACzC,MAAM,YAAY,GAAG,0BAA0B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5E,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;YAEnC,KAAK,YAAY;gBACf,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEzC,KAAK,YAAY;gBACf,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEzC;gBACE,OAAO,iBAAiB,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAAA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateIdv.d.ts","sourceRoot":"","sources":["../../../../../modules/cli/template/templateIdv.js"],"names":[],"mappings":"AAEO,uDA0GC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
const html = String.raw;
|
|
2
|
+
export const templateIdv = (getTokenImpl) => html `<!-- Generated by OneSDK CLI -->
|
|
3
|
+
<!-- More information: https://docs.frankieone.com/v1.14.1/docs/about-onesdk -->
|
|
4
|
+
|
|
5
|
+
<!DOCTYPE html>
|
|
6
|
+
<html lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<!-- UTF-8 encoding ensures proper display of special characters in the UI -->
|
|
9
|
+
<meta charset="utf-8" />
|
|
10
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
11
|
+
<title>OneSDK - IDV</title>
|
|
12
|
+
|
|
13
|
+
<!-- Load the OneSDK library from FrankieOne CDN -->
|
|
14
|
+
<!-- You can change the version number in the URL to use a different version -->
|
|
15
|
+
<script src="https://assets.frankiefinancial.io/one-sdk/v1/oneSdk.umd.js"></script>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
${getTokenImpl}
|
|
19
|
+
|
|
20
|
+
// Main function to initialize and start OneSDK
|
|
21
|
+
async function startOneSdk() {
|
|
22
|
+
const sessionToken = await getToken();
|
|
23
|
+
|
|
24
|
+
// Initialize OneSDK with configuration
|
|
25
|
+
const oneSdk = await OneSdk({
|
|
26
|
+
session: sessionToken,
|
|
27
|
+
mode: 'production',
|
|
28
|
+
recipe: {
|
|
29
|
+
form: {
|
|
30
|
+
provider: {
|
|
31
|
+
name: 'react',
|
|
32
|
+
// UNCOMMENT AND ADD YOUR KEY to use Google Places address autocomplete
|
|
33
|
+
// googleApiKey: "<GOOGLE_API_KEY>",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const oneSdkIndividual = oneSdk.individual();
|
|
40
|
+
oneSdkIndividual.addConsent("general");
|
|
41
|
+
oneSdkIndividual.addConsent("docs");
|
|
42
|
+
oneSdkIndividual.addConsent("creditheader");
|
|
43
|
+
await oneSdkIndividual.submit();
|
|
44
|
+
// Create an IDV (Identity Verification) flow instance
|
|
45
|
+
const idv = oneSdk.flow('idv');
|
|
46
|
+
|
|
47
|
+
const successScreen = oneSdk.component('form', {
|
|
48
|
+
name: 'RESULT',
|
|
49
|
+
mode: 'individual',
|
|
50
|
+
type: 'manual',
|
|
51
|
+
state: 'SUCCESS',
|
|
52
|
+
title: { label: "Thanks, you're all done" },
|
|
53
|
+
cta: null,
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
const failedScreen = oneSdk.component("form", {
|
|
57
|
+
name: "RESULT",
|
|
58
|
+
mode: "individual",
|
|
59
|
+
state: "FAIL",
|
|
60
|
+
type: "manual",
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// Mount the IDV flow to the container element
|
|
64
|
+
idv.mount('#idv-el');
|
|
65
|
+
|
|
66
|
+
// Handle loading states during verification
|
|
67
|
+
idv.on('loading', () => {
|
|
68
|
+
console.log('loading');
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Handle verification results
|
|
72
|
+
idv.on('results', async ({ checkStatus, document, entityId }) => {
|
|
73
|
+
if (checkStatus) {
|
|
74
|
+
console.log('results succesful');
|
|
75
|
+
successScreen.mount("#idv-el");
|
|
76
|
+
} else {
|
|
77
|
+
console.log('no data returned');
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// Handle errors during verification
|
|
82
|
+
idv.on('error', ({ message, payload }) => {
|
|
83
|
+
console.log('received error');
|
|
84
|
+
console.log(message, payload);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// Handle completion of document detection/capture
|
|
88
|
+
idv.on('detection_complete', (message) => {
|
|
89
|
+
console.log('capture finished');
|
|
90
|
+
console.log(message);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// Log all OneSDK events to console for debugging
|
|
94
|
+
idv.on('*', (message) => {
|
|
95
|
+
console.log(message);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
</script>
|
|
99
|
+
</head>
|
|
100
|
+
|
|
101
|
+
<body style="background-color: white" onload="startOneSdk()">
|
|
102
|
+
<!-- Container element where OneSDK will mount its UI components -->
|
|
103
|
+
<div
|
|
104
|
+
id="idv-el"
|
|
105
|
+
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;"
|
|
106
|
+
></div>
|
|
107
|
+
</body>
|
|
108
|
+
</html>`;
|
|
109
|
+
//# sourceMappingURL=templateIdv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateIdv.js","sourceRoot":"","sources":["../../../../../modules/cli/template/templateIdv.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;MAgB3C,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0FV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateIdvReview.d.ts","sourceRoot":"","sources":["../../../../../modules/cli/template/templateIdvReview.js"],"names":[],"mappings":"AAEO,6DA0HC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
const html = String.raw;
|
|
2
|
+
export const templateIdvReview = (getTokenImpl) => html `<!-- Generated by OneSDK CLI -->
|
|
3
|
+
<!-- More information: https://docs.frankieone.com/v1.14.1/docs/about-onesdk -->
|
|
4
|
+
|
|
5
|
+
<!DOCTYPE html>
|
|
6
|
+
<html lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<!-- UTF-8 encoding ensures proper display of special characters in the UI -->
|
|
9
|
+
<meta charset="utf-8" />
|
|
10
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
11
|
+
<title>OneSDK - IDV+Review</title>
|
|
12
|
+
|
|
13
|
+
<!-- Load the OneSDK library from FrankieOne CDN -->
|
|
14
|
+
<!-- You can change the version number in the URL to use a different version -->
|
|
15
|
+
<script src="https://assets.frankiefinancial.io/one-sdk/v1/oneSdk.umd.js"></script>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
${getTokenImpl}
|
|
19
|
+
|
|
20
|
+
// Main function to initialize and start OneSDK
|
|
21
|
+
async function startOneSdk() {
|
|
22
|
+
const sessionToken = await getToken();
|
|
23
|
+
|
|
24
|
+
// Initialize OneSDK with configuration
|
|
25
|
+
const oneSdk = await OneSdk({
|
|
26
|
+
session: sessionToken,
|
|
27
|
+
mode: 'production',
|
|
28
|
+
recipe: {
|
|
29
|
+
form: {
|
|
30
|
+
provider: {
|
|
31
|
+
name: 'react',
|
|
32
|
+
// UNCOMMENT AND ADD YOUR KEY to use Google Places address autocomplete
|
|
33
|
+
// googleApiKey: "<GOOGLE_API_KEY>",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const oneSdkIndividual = oneSdk.individual();
|
|
40
|
+
oneSdkIndividual.addConsent("general");
|
|
41
|
+
oneSdkIndividual.addConsent("docs");
|
|
42
|
+
oneSdkIndividual.addConsent("creditheader");
|
|
43
|
+
await oneSdkIndividual.submit();
|
|
44
|
+
|
|
45
|
+
// Create an IDV flow instance for identity verification
|
|
46
|
+
const idv = oneSdk.flow('idv');
|
|
47
|
+
|
|
48
|
+
// Create review component for OCR (Optical Character Recognition) review
|
|
49
|
+
const review = oneSdk.component('form', {
|
|
50
|
+
name: 'REVIEW',
|
|
51
|
+
type: 'ocr',
|
|
52
|
+
mode: 'individual',
|
|
53
|
+
verify: true
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
const successScreen = oneSdk.component('form', {
|
|
57
|
+
name: 'RESULT',
|
|
58
|
+
mode: 'individual',
|
|
59
|
+
type: 'manual',
|
|
60
|
+
state: 'SUCCESS',
|
|
61
|
+
title: { label: "Thanks, you're all done" },
|
|
62
|
+
cta: null,
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
const failedScreen = oneSdk.component("form", {
|
|
66
|
+
name: "RESULT",
|
|
67
|
+
mode: "individual",
|
|
68
|
+
state: "FAIL",
|
|
69
|
+
type: "manual",
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
review.on('form:review:ready', async () => {
|
|
73
|
+
try {
|
|
74
|
+
// Submit the review form and run verification
|
|
75
|
+
let res = oneSdkIndividual.submit({ verify: true });
|
|
76
|
+
console.log('submit and run verification result: ', res);
|
|
77
|
+
successScreen.mount('#idv-el');
|
|
78
|
+
} catch (error) {
|
|
79
|
+
console.error(error);
|
|
80
|
+
failedScreen.mount('#idv-el');
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
// Mount the IDV flow to the container element
|
|
85
|
+
idv.mount('#idv-el');
|
|
86
|
+
|
|
87
|
+
// Handle verification results
|
|
88
|
+
idv.on('results', async ({ checkStatus, document, entityId }) => {
|
|
89
|
+
if (checkStatus) {
|
|
90
|
+
console.log('results succesful');
|
|
91
|
+
review.mount('#idv-el');
|
|
92
|
+
} else {
|
|
93
|
+
console.log('no data returned');
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// Handle errors during verification
|
|
98
|
+
idv.on('error', ({ message, payload }) => {
|
|
99
|
+
console.log('received error');
|
|
100
|
+
console.log(message, payload);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Handle completion of document detection/capture
|
|
104
|
+
idv.on('detection_complete', (message) => {
|
|
105
|
+
console.log('capture finished');
|
|
106
|
+
console.log(message);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Log all events for debugging
|
|
110
|
+
idv.on('*', (message) => {
|
|
111
|
+
console.log(message);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
</script>
|
|
115
|
+
</head>
|
|
116
|
+
|
|
117
|
+
<body style="background-color: white" onload="startOneSdk()">
|
|
118
|
+
<!-- Container element where OneSDK will mount its UI components -->
|
|
119
|
+
<div
|
|
120
|
+
id="idv-el"
|
|
121
|
+
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;"
|
|
122
|
+
></div>
|
|
123
|
+
</body>
|
|
124
|
+
</html>`;
|
|
125
|
+
//# sourceMappingURL=templateIdvReview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateIdvReview.js","sourceRoot":"","sources":["../../../../../modules/cli/template/templateIdvReview.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;MAgBjD,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0GV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateManualKyc.d.ts","sourceRoot":"","sources":["../../../../../modules/cli/template/templateManualKyc.js"],"names":[],"mappings":"AAEO,6DAoNC"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
const html = String.raw;
|
|
2
|
+
export const templateManualKyc = (getTokenImpl) => html `<!-- Generated by OneSDK CLI
|
|
3
|
+
This is a sample HTML template for integrating FrankieOne's OneSDK * It
|
|
4
|
+
implements a complete KYC (Know Your Customer) flow with multiple steps: *
|
|
5
|
+
Welcome -> Consent -> Personal Details -> Document Upload -> Review -> Result
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
<!DOCTYPE html>
|
|
9
|
+
<html lang="en">
|
|
10
|
+
<head>
|
|
11
|
+
<!-- UTF-8 encoding ensures proper display of international characters -->
|
|
12
|
+
<meta charset="utf-8" />
|
|
13
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
14
|
+
<title>OneSDK - Manual KYC</title>
|
|
15
|
+
|
|
16
|
+
<!-- Load the OneSDK library from FrankieOne CDN -->
|
|
17
|
+
<!-- You can change the version number in the URL to use a different version -->
|
|
18
|
+
<script src="https://assets.frankiefinancial.io/one-sdk/v1/oneSdk.umd.js"></script>
|
|
19
|
+
|
|
20
|
+
<script>
|
|
21
|
+
${getTokenImpl}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Main function to initialize and configure OneSDK
|
|
25
|
+
* Sets up the complete KYC flow with all necessary screens and event handlers
|
|
26
|
+
*/
|
|
27
|
+
async function startOneSdk() {
|
|
28
|
+
const sessionToken = await getToken();
|
|
29
|
+
|
|
30
|
+
// Initialize OneSDK with basic configuration
|
|
31
|
+
const oneSdk = await OneSdk({
|
|
32
|
+
session: sessionToken,
|
|
33
|
+
mode: 'production',
|
|
34
|
+
recipe: {
|
|
35
|
+
form: {
|
|
36
|
+
provider: {
|
|
37
|
+
name: 'react',
|
|
38
|
+
// UNCOMMENT AND ADD YOUR KEY to use Google Places address autocomplete
|
|
39
|
+
// googleApiKey: "<GOOGLE_API_KEY>",
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// Enable debug logging of all OneSDK events
|
|
46
|
+
oneSdk.on('*', console.log);
|
|
47
|
+
|
|
48
|
+
// Get the container where OneSDK UI will be mounted
|
|
49
|
+
const appContainer = document.querySelector('#idv-el');
|
|
50
|
+
|
|
51
|
+
// Create components for each step of the KYC flow
|
|
52
|
+
// Each component is configured with specific options for its purpose
|
|
53
|
+
|
|
54
|
+
// Welcome screen - Initial landing page
|
|
55
|
+
const welcome = oneSdk.component('form', {
|
|
56
|
+
name: 'WELCOME',
|
|
57
|
+
mode: 'individual',
|
|
58
|
+
type: 'manual',
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
// Consent screen - Get user permission
|
|
62
|
+
const consent = oneSdk.component('form', {
|
|
63
|
+
name: 'CONSENT',
|
|
64
|
+
mode: 'individual',
|
|
65
|
+
type: 'manual',
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// Personal details form
|
|
69
|
+
const personal = oneSdk.component('form', {
|
|
70
|
+
name: 'PERSONAL',
|
|
71
|
+
mode: 'individual',
|
|
72
|
+
type: 'manual',
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Document upload screen
|
|
76
|
+
const documents = oneSdk.component('form', {
|
|
77
|
+
name: 'DOCUMENT',
|
|
78
|
+
mode: 'individual',
|
|
79
|
+
type: 'manual',
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// Review screen - Final verification step
|
|
83
|
+
const review = oneSdk.component('form', {
|
|
84
|
+
name: 'REVIEW',
|
|
85
|
+
mode: 'individual',
|
|
86
|
+
type: 'manual',
|
|
87
|
+
verify: true,
|
|
88
|
+
customResult: true,
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// Various result screens based on verification outcome
|
|
92
|
+
const success = oneSdk.component('form', {
|
|
93
|
+
name: 'RESULT',
|
|
94
|
+
mode: 'individual',
|
|
95
|
+
state: 'SUCCESS',
|
|
96
|
+
type: 'manual',
|
|
97
|
+
cta: {
|
|
98
|
+
label: 'Continue',
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
const failed = oneSdk.component('form', {
|
|
103
|
+
name: 'RESULT',
|
|
104
|
+
mode: 'individual',
|
|
105
|
+
state: 'FAIL',
|
|
106
|
+
type: 'manual',
|
|
107
|
+
cta: {
|
|
108
|
+
label: 'Continue',
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
const partial = oneSdk.component('form', {
|
|
113
|
+
name: 'RESULT',
|
|
114
|
+
mode: 'individual',
|
|
115
|
+
state: 'PARTIAL',
|
|
116
|
+
type: 'manual',
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
const pending = oneSdk.component('form', {
|
|
120
|
+
name: 'RESULT',
|
|
121
|
+
mode: 'individual',
|
|
122
|
+
state: 'PENDING',
|
|
123
|
+
type: 'manual',
|
|
124
|
+
cta: {
|
|
125
|
+
label: 'Continue',
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
const retry = oneSdk.component('form', {
|
|
130
|
+
name: 'RETRY',
|
|
131
|
+
mode: 'individual',
|
|
132
|
+
type: 'manual',
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
// Set up the flow between screens using event handlers
|
|
136
|
+
// Each handler listens for completion of current screen and shows the next
|
|
137
|
+
|
|
138
|
+
welcome.on('form:welcome:ready', () => {
|
|
139
|
+
consent.mount(appContainer);
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
// When consent is given, show personal details form
|
|
143
|
+
consent.on('form:consent:ready', async () => {
|
|
144
|
+
personal.mount(appContainer);
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
personal.on('form:personal:ready', async () => {
|
|
148
|
+
documents.mount(appContainer);
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// Allow navigation back to personal details
|
|
152
|
+
documents.on('form:document:back', async () => {
|
|
153
|
+
personal.mount(appContainer);
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
documents.on('form:document:ready', async () => {
|
|
157
|
+
review.mount(appContainer);
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// Handle different verification outcomes
|
|
161
|
+
review.on('form:review:success', async () => {
|
|
162
|
+
success.mount(appContainer);
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
review.on('form:review:failed', async () => {
|
|
166
|
+
failed.mount(appContainer);
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
review.on('form:review:pending', () => {
|
|
170
|
+
pending.mount(appContainer);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// Handle partial success with retry logic
|
|
174
|
+
let retryCount = 0;
|
|
175
|
+
review.on('form:review:partial', async () => {
|
|
176
|
+
if (retryCount < 2) {
|
|
177
|
+
retryCount += 1;
|
|
178
|
+
partial.mount(appContainer);
|
|
179
|
+
} else {
|
|
180
|
+
failed.mount(appContainer);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
// Log final verification outcomes
|
|
185
|
+
pending.on('form:result:pending', async () => {
|
|
186
|
+
console.log('form result pending');
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
success.on('form:result:success', async () => {
|
|
190
|
+
console.log('form result success');
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
failed.on('form:result:failed', async () => {
|
|
194
|
+
console.log('form result failed');
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
partial.on('form:result:partial', async () => {
|
|
198
|
+
retry.mount(appContainer);
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
// Start the flow by mounting the welcome screen
|
|
202
|
+
welcome.mount(appContainer);
|
|
203
|
+
}
|
|
204
|
+
</script>
|
|
205
|
+
</head>
|
|
206
|
+
|
|
207
|
+
<body style="background-color: white" onload="startOneSdk()">
|
|
208
|
+
<!-- Container where OneSDK will render its UI -->
|
|
209
|
+
<div
|
|
210
|
+
id="idv-el"
|
|
211
|
+
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;"
|
|
212
|
+
></div>
|
|
213
|
+
</body>
|
|
214
|
+
</html>`;
|
|
215
|
+
//# sourceMappingURL=templateManualKyc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateManualKyc.js","sourceRoot":"","sources":["../../../../../modules/cli/template/templateManualKyc.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;MAmBjD,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiMV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../../../../../modules/common/shared/models/Address.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AAED,qBAAa,OAAQ,YAAW,eAAe;IAC7C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAQ;IAChE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,IAAI,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC5B,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAQ;;gBAG7B,CAAC,EAAE,mBAAmB;IAkBlC,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAGjC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAE9B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,mBAAmB,IAAI,OAAO;IAI9B,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAOhC;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../../../../../modules/common/shared/models/Address.ts"],"names":[],"mappings":"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"}
|
|
@@ -140,7 +140,6 @@ export class Address {
|
|
|
140
140
|
}
|
|
141
141
|
get longForm() {
|
|
142
142
|
var _a, _b, _c;
|
|
143
|
-
console.log('getLongform', this.data);
|
|
144
143
|
if ((_a = this.data) === null || _a === void 0 ? void 0 : _a.longForm)
|
|
145
144
|
return (_b = this.data.longForm) !== null && _b !== void 0 ? _b : null;
|
|
146
145
|
if (this.isIncomplete)
|