@frankieone/one-sdk 0.2.3-alpha → 0.3.1-alpha
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 +1 -1
- package/dist/commit.txt +1 -1
- package/dist/esm/modules/biometrics/types/events.d.ts +9 -1
- package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js +89 -50
- package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js.map +1 -1
- package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/green-tick-svg.js +1 -0
- package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/green-tick-svg.js.map +1 -1
- package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.js +13 -11
- package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.js.map +1 -1
- package/dist/esm/modules/common/shared/models/Document.d.ts +9 -10
- package/dist/esm/modules/common/shared/models/Document.js.map +1 -1
- package/dist/esm/modules/common/types/Configuration.d.ts +1 -0
- package/dist/esm/modules/frankie-client/DummyFrankieApiClient.d.ts +1 -0
- package/dist/esm/modules/frankie-client/DummyFrankieApiClient.js +17 -15
- package/dist/esm/modules/frankie-client/DummyFrankieApiClient.js.map +1 -1
- package/dist/esm/modules/frankie-client/clients/IDVClient.d.ts +8 -2
- package/dist/esm/modules/frankie-client/clients/IDVClient.js +4 -2
- package/dist/esm/modules/frankie-client/clients/IDVClient.js.map +1 -1
- package/dist/esm/modules/frankie-client/clients/OCRClient.d.ts +2 -1
- package/dist/esm/modules/frankie-client/clients/OCRClient.js +4 -6
- package/dist/esm/modules/frankie-client/clients/OCRClient.js.map +1 -1
- package/dist/esm/modules/frankie-client/index.js +19 -14
- package/dist/esm/modules/frankie-client/index.js.map +1 -1
- package/dist/esm/modules/frankie-client/mocks/biometrics/{idvSubmissoin.d.ts → idvSubmission.d.ts} +1 -0
- package/dist/esm/modules/frankie-client/mocks/biometrics/{idvSubmissoin.js → idvSubmission.js} +13 -1
- package/dist/esm/modules/frankie-client/mocks/biometrics/{idvSubmissoin.js.map → idvSubmission.js.map} +1 -1
- package/dist/esm/modules/frankie-client/mocks/index.d.ts +4 -8
- package/dist/esm/modules/frankie-client/mocks/index.js +13 -7
- package/dist/esm/modules/frankie-client/mocks/index.js.map +1 -1
- package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.d.ts +23 -3
- package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.js +25 -20
- package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.js.map +1 -1
- package/dist/esm/modules/frankie-client/mocks/ocr/ocrSubmission.d.ts +23 -0
- package/dist/esm/modules/frankie-client/mocks/ocr/{driversLicence.js → ocrSubmission.js} +50 -46
- package/dist/esm/modules/frankie-client/mocks/ocr/ocrSubmission.js.map +1 -0
- package/dist/esm/modules/frankie-client/mocks/simplifier.d.ts +28 -0
- package/dist/esm/modules/frankie-client/mocks/simplifier.js +208 -0
- package/dist/esm/modules/frankie-client/mocks/simplifier.js.map +1 -0
- package/dist/esm/modules/index.d.ts +6 -1
- package/dist/esm/modules/index.js +2 -1
- package/dist/esm/modules/index.js.map +1 -1
- package/dist/esm/modules/individual/actions/search.js +3 -1
- package/dist/esm/modules/individual/actions/search.js.map +1 -1
- package/dist/esm/modules/ocr/actions/start.d.ts +1 -0
- package/dist/esm/modules/ocr/actions/start.js +14 -14
- package/dist/esm/modules/ocr/actions/start.js.map +1 -1
- package/dist/esm/modules/ocr/index.d.ts +1 -0
- package/dist/esm/modules/ocr/index.js +1 -0
- package/dist/esm/modules/ocr/index.js.map +1 -1
- package/dist/esm/modules/sdk/parseConfiguration.js +2 -1
- package/dist/esm/modules/sdk/parseConfiguration.js.map +1 -1
- package/dist/esm/modules/sdk/types/configuration.d.ts +6 -1
- package/dist/esm/modules/sdk/types/configuration.js.map +1 -1
- package/dist/umd/biometrics-dummy.js +1 -1
- package/dist/umd/biometrics-dummy.js.map +1 -1
- package/dist/umd/biometrics-ocrlabs.js +1 -1
- package/dist/umd/biometrics-ocrlabs.js.map +1 -1
- package/dist/umd/device-sardine.js +1 -1
- package/dist/umd/oneSdk.umd.js +1 -1
- package/dist/umd/oneSdk.umd.js.map +1 -1
- package/package.json +5 -7
- package/dist/esm/modules/frankie-client/mocks/ocr/driversLicence.d.ts +0 -15
- package/dist/esm/modules/frankie-client/mocks/ocr/driversLicence.js.map +0 -1
|
@@ -4,10 +4,10 @@ export class IDVClient extends BaseClient {
|
|
|
4
4
|
const entityId = this.entityId;
|
|
5
5
|
return this.frankie.get(`data/v2/idvCheck/${entityId}/token`).then((response) => response.data);
|
|
6
6
|
}
|
|
7
|
-
initProcess() {
|
|
7
|
+
initProcess({ isSynchronous }) {
|
|
8
8
|
const entityId = this.entityId;
|
|
9
9
|
return this.frankie
|
|
10
|
-
.post(`data/v2/idvCheck/${entityId}/initProcess`)
|
|
10
|
+
.post(`data/v2/idvCheck/${entityId}/initProcess${isSynchronous ? "?is_synchronous" : ""}`)
|
|
11
11
|
.then((response) => response.data);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -17,5 +17,7 @@ export var Status;
|
|
|
17
17
|
Status["WAITING_DOC_UPLOAD"] = "WAITING_DOC_UPLOAD";
|
|
18
18
|
Status["CHECK_NOT_STARTED"] = "CHECK_NOT_STARTED";
|
|
19
19
|
Status["CHECK_PROCESSING"] = "CHECK_PROCESSING";
|
|
20
|
+
Status["PROVIDER_OFFLINE"] = "PROVIDER_OFFLINE";
|
|
21
|
+
Status["COMPLETE"] = "COMPLETE";
|
|
20
22
|
})(Status || (Status = {}));
|
|
21
23
|
//# sourceMappingURL=IDVClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDVClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/IDVClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,QAAQ;QACN,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAmB,oBAAoB,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpH,CAAC;IACD,WAAW;
|
|
1
|
+
{"version":3,"file":"IDVClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/IDVClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,QAAQ;QACN,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAmB,oBAAoB,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpH,CAAC;IACD,WAAW,CAAC,EAAE,aAAa,EAAyB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO;aAChB,IAAI,CAAyB,oBAAoB,QAAQ,eAAe,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACjH,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAaD,MAAM,CAAN,IAAY,MAOX;AAPD,WAAY,MAAM;IAChB,yDAA+C,CAAA;IAC/C,mDAAyC,CAAA;IACzC,iDAAuC,CAAA;IACvC,+CAAqC,CAAA;IACrC,+CAAqC,CAAA;IACrC,+BAAqB,CAAA;AACvB,CAAC,EAPW,MAAM,KAAN,MAAM,QAOjB"}
|
|
@@ -16,7 +16,7 @@ export declare enum Status {
|
|
|
16
16
|
WAITING_BACK = "AWAITING_DOCUMENT_UPLOAD_BACK",
|
|
17
17
|
WAITING_FRONT = "AWAITING_DOCUMENT_UPLOAD_FRONT",
|
|
18
18
|
COMPLETE = "COMPLETE_OCR",
|
|
19
|
-
DOCUMENTS_INVALID = "
|
|
19
|
+
DOCUMENTS_INVALID = "AWAITING_DOCUMENT_UPLOAD_INVALID_TYPE",
|
|
20
20
|
DOCUMENTS_UPLOAD_FAILED = "AWAITING_DOCUMENT_UPLOAD_FAILED_OCR",
|
|
21
21
|
PROVIDER_OFFLINE = "AWAITING_OCR_RESULTS_PROVIDER_OFFLINE",
|
|
22
22
|
FAILED_FILE_SIZE = "DOCUMENT_INVALID_EXCEEDED_SIZE_LIMIT",
|
|
@@ -28,3 +28,4 @@ export declare type InputRequiredStatus = Status.WAITING_BACK | Status.WAITING_F
|
|
|
28
28
|
export declare const isCompleteStatus: (status: Status) => status is Status.COMPLETE;
|
|
29
29
|
export declare const isInputRequiredStatus: (status: Status) => status is InputRequiredStatus;
|
|
30
30
|
export declare const isFailedStatus: (status: Status) => status is FailedStatus;
|
|
31
|
+
export declare type OCRDocumentType = "DRIVERS_LICENCE" | "PASSPORT";
|
|
@@ -24,7 +24,7 @@ export class OCRClient extends BaseClient {
|
|
|
24
24
|
},
|
|
25
25
|
})
|
|
26
26
|
.then((response) => {
|
|
27
|
-
const { ocrDocument, documentStatus } = response.data;
|
|
27
|
+
const { ocrDocument, status: documentStatus } = response.data;
|
|
28
28
|
return {
|
|
29
29
|
ocrDocument: Document.fromJSON(ocrDocument),
|
|
30
30
|
documentStatus,
|
|
@@ -43,9 +43,7 @@ export class OCRClient extends BaseClient {
|
|
|
43
43
|
},
|
|
44
44
|
})
|
|
45
45
|
.then((response) => {
|
|
46
|
-
const { ocrDocument, documentStatus } = response.data;
|
|
47
|
-
if (isFailedStatus(documentStatus))
|
|
48
|
-
return { documentStatus, ocrDocument: null };
|
|
46
|
+
const { ocrDocument, status: documentStatus } = response.data;
|
|
49
47
|
return {
|
|
50
48
|
ocrDocument: Document.fromJSON(ocrDocument),
|
|
51
49
|
documentStatus,
|
|
@@ -67,7 +65,7 @@ export class OCRClient extends BaseClient {
|
|
|
67
65
|
},
|
|
68
66
|
})
|
|
69
67
|
.then((response) => {
|
|
70
|
-
const { ocrDocument, documentStatus } = response.data;
|
|
68
|
+
const { ocrDocument, status: documentStatus } = response.data;
|
|
71
69
|
return {
|
|
72
70
|
ocrDocument: Document.fromJSON(ocrDocument),
|
|
73
71
|
documentStatus,
|
|
@@ -93,7 +91,7 @@ export var Status;
|
|
|
93
91
|
Status["WAITING_BACK"] = "AWAITING_DOCUMENT_UPLOAD_BACK";
|
|
94
92
|
Status["WAITING_FRONT"] = "AWAITING_DOCUMENT_UPLOAD_FRONT";
|
|
95
93
|
Status["COMPLETE"] = "COMPLETE_OCR";
|
|
96
|
-
Status["DOCUMENTS_INVALID"] = "
|
|
94
|
+
Status["DOCUMENTS_INVALID"] = "AWAITING_DOCUMENT_UPLOAD_INVALID_TYPE";
|
|
97
95
|
Status["DOCUMENTS_UPLOAD_FAILED"] = "AWAITING_DOCUMENT_UPLOAD_FAILED_OCR";
|
|
98
96
|
Status["PROVIDER_OFFLINE"] = "AWAITING_OCR_RESULTS_PROVIDER_OFFLINE";
|
|
99
97
|
Status["FAILED_FILE_SIZE"] = "DOCUMENT_INVALID_EXCEEDED_SIZE_LIMIT";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OCRClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/OCRClient.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uCAAuC,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,YAAY,OAAyB;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACK,oBAAoB,CAAC,IAAU;;YACnC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,OAAO;iBAChB,IAAI,CAAqB,oBAAoB,IAAI,CAAC,QAAQ,MAAM,EAAE,QAAQ,EAAE;gBAC3E,OAAO,EAAE;oBACP,cAAc,EAAE,qBAAqB;iBACtC;aACF,CAAC;iBACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"OCRClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/OCRClient.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uCAAuC,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,YAAY,OAAyB;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACK,oBAAoB,CAAC,IAAU;;YACnC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,OAAO;iBAChB,IAAI,CAAqB,oBAAoB,IAAI,CAAC,QAAQ,MAAM,EAAE,QAAQ,EAAE;gBAC3E,OAAO,EAAE;oBACP,cAAc,EAAE,qBAAqB;iBACtC;aACF,CAAC;iBACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE9D,OAAO;oBACL,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC3C,cAAc;iBACf,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IACK,KAAK,CAAC,UAAkB;;YAC5B,OAAO,IAAI,CAAC,OAAO;iBAChB,GAAG,CACF,oBAAoB,IAAI,CAAC,QAAQ,MAAM,EACvC;gBACE,UAAU;aACX,EACD;gBACE,OAAO,EAAE;oBACP,cAAc,EAAE,qBAAqB;iBACtC;aACF,CACF;iBACA,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE9D,OAAO;oBACL,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC3C,cAAc;iBACf,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IACK,iBAAiB,CAAC,IAAU,EAAE,UAAkB,EAAE,MAAe;;YACrE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1C,IAAI,MAAM;gBAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE9C,OAAO,IAAI,CAAC,OAAO;iBAChB,GAAG,CAAqB,oBAAoB,IAAI,CAAC,QAAQ,MAAM,EAAE,QAAQ,EAAE;gBAC1E,OAAO,EAAE;oBACP,cAAc,EAAE,qBAAqB;iBACtC;aACF,CAAC;iBACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC9D,OAAO;oBACL,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC3C,cAAc;iBACf,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;CACF;AAWD,IAAI;AACJ,yJAAyJ;AACzJ,4EAA4E;AAC5E,0EAA0E;AAC1E,2HAA2H;AAC3H,iIAAiI;AACjI,iJAAiJ;AACjJ,qJAAqJ;AACrJ,2IAA2I;AAC3I,qIAAqI;AACrI,KAAK;AACL,MAAM,CAAN,IAAY,MAUX;AAVD,WAAY,MAAM;IAChB,mDAAyC,CAAA;IACzC,wDAA8C,CAAA;IAC9C,0DAAgD,CAAA;IAChD,mCAAyB,CAAA;IACzB,qEAA2D,CAAA;IAC3D,yEAA+D,CAAA;IAC/D,oEAA0D,CAAA;IAC1D,mEAAyD,CAAA;IACzD,uEAA6D,CAAA;AAC/D,CAAC,EAVW,MAAM,KAAN,MAAM,QAUjB;AAUD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAA4B,EAAE;IAC3E,OAAO,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC;AACpC,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAiC,EAAE;IACrF,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAA0B,EAAE;IACvE,OAAO;QACL,MAAM,CAAC,uBAAuB;QAC9B,MAAM,CAAC,iBAAiB;QACxB,MAAM,CAAC,kBAAkB;QACzB,MAAM,CAAC,gBAAgB;KACxB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -12,31 +12,36 @@ import { Status } from "./clients/OCRClient";
|
|
|
12
12
|
import { DummyFrankieApiClient } from "./DummyFrankieApiClient";
|
|
13
13
|
import { FrankieApiClient } from "./FrankieApiClient";
|
|
14
14
|
import { mockFlow } from "./mocks";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
import { resolveSimplifiedMockOptions } from "./mocks/simplifier";
|
|
16
|
+
const defaultMockOptions = {
|
|
17
|
+
preloadedIndividual: {
|
|
18
|
+
documents: [{ idType: "PASSPORT", scans: "F" }],
|
|
18
19
|
},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
status: Status.WAITING_BACK,
|
|
23
|
-
scans: "front",
|
|
24
|
-
},
|
|
25
|
-
updateResponsePayloads: [
|
|
26
|
-
{ status: Status.DOCUMENTS_INVALID, scans: "front" },
|
|
27
|
-
{ status: Status.COMPLETE, scans: "all" },
|
|
28
|
-
],
|
|
20
|
+
ocrFlow: {
|
|
21
|
+
detectedType: "DRIVERS_LICENCE",
|
|
22
|
+
statusResults: [Status.WAITING_BACK, Status.DOCUMENTS_INVALID, Status.COMPLETE],
|
|
29
23
|
},
|
|
30
24
|
};
|
|
25
|
+
const isDummy = (mode) => (typeof mode === "string" ? mode : mode.modeName);
|
|
31
26
|
export function mkFrankieClient(options) {
|
|
32
27
|
var _a;
|
|
33
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
if (options.mode === SdkModes.DUMMY) {
|
|
29
|
+
if (isDummy(options.mode) === SdkModes.DUMMY) {
|
|
30
|
+
// initialise dummy client with optional token
|
|
35
31
|
const dummyClient = new DummyFrankieApiClient(Object.assign(Object.assign({}, options), { defaultDelay: 200 }));
|
|
36
32
|
if ((_a = options.session) === null || _a === void 0 ? void 0 : _a.token)
|
|
37
33
|
dummyClient.setToken(options.session.token);
|
|
34
|
+
// resolve mock options either from mode: { options } or if mode: "dummy", then use default mock options
|
|
35
|
+
const simplifiedMockOptions = typeof options.mode === "string" ? defaultMockOptions : options.mode.mocks;
|
|
36
|
+
const mockOptions = resolveSimplifiedMockOptions(simplifiedMockOptions);
|
|
37
|
+
console.debug("Resolved mock options", {
|
|
38
|
+
mockOptions,
|
|
39
|
+
resultingMockedRequests: mockOptions,
|
|
40
|
+
});
|
|
41
|
+
// inject mocked flow to dummy client
|
|
38
42
|
return mockFlow(dummyClient, mockOptions);
|
|
39
43
|
}
|
|
44
|
+
// if not in dummy mode, simply initialise the regular api client with the provided token
|
|
40
45
|
const client = new FrankieApiClient();
|
|
41
46
|
yield client.setToken(options.session.token, { checkValidity: true });
|
|
42
47
|
return client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/frankie-client/index.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAsC,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/frankie-client/index.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAsC,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAyB,MAAM,oBAAoB,CAAC;AAEzF,MAAM,kBAAkB,GAA0B;IAChD,mBAAmB,EAAE;QACnB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;KAChD;IACD,OAAO,EAAE;QACP,YAAY,EAAE,iBAAiB;QAC/B,aAAa,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC;KAChF;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAGlF,MAAM,UAAgB,eAAe,CAAC,OAAgB;;;QACpD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,EAAE;YAC5C,8CAA8C;YAC9C,MAAM,WAAW,GAAG,IAAI,qBAAqB,iCAAM,OAAO,KAAE,YAAY,EAAE,GAAG,IAAG,CAAC;YACjF,IAAI,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK;gBAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxE,wGAAwG;YACxG,MAAM,qBAAqB,GACzB,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7E,MAAM,WAAW,GAAgB,4BAA4B,CAAC,qBAAqB,CAAC,CAAC;YACrF,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACrC,WAAW;gBACX,uBAAuB,EAAE,WAAW;aACrC,CAAC,CAAC;YACH,qCAAqC;YACrC,OAAO,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SAC3C;QACD,yFAAyF;QACzF,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;;CACf;AACD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/esm/modules/frankie-client/mocks/biometrics/{idvSubmissoin.d.ts → idvSubmission.d.ts}
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { DummyFrankieApiClient } from "../../DummyFrankieApiClient";
|
|
2
2
|
export declare function generateIDVToken(client: DummyFrankieApiClient): DummyFrankieApiClient;
|
|
3
3
|
export declare function initIDVProcess(client: DummyFrankieApiClient): DummyFrankieApiClient;
|
|
4
|
+
export declare function initSynchronousIDVProcess(client: DummyFrankieApiClient): DummyFrankieApiClient;
|
package/dist/esm/modules/frankie-client/mocks/biometrics/{idvSubmissoin.js → idvSubmission.js}
RENAMED
|
@@ -22,4 +22,16 @@ export function initIDVProcess(client) {
|
|
|
22
22
|
});
|
|
23
23
|
return client;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
export function initSynchronousIDVProcess(client) {
|
|
26
|
+
client.stubResponse({ url: new RegExp(`data/v2/idvCheck/${URL_PARAM}/initProcess?is_synchronous`), method: "post" }, () => {
|
|
27
|
+
return {
|
|
28
|
+
title: "Call to init process",
|
|
29
|
+
delay: 3000,
|
|
30
|
+
data: {
|
|
31
|
+
checkStatus: Status.COMPLETE,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
return client;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=idvSubmission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"idvSubmission.js","sourceRoot":"","sources":["../../../../../../modules/frankie-client/mocks/biometrics/idvSubmission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAyB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE/E,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC5D,MAAM,CAAC,YAAY,CACjB,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,oBAAoB,SAAS,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EACzE;QACE,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE;YACJ,KAAK,EAAE,6BAA6B;SACrC;KACF,CACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA6B;IAC1D,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,oBAAoB,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE;QACzG,OAAO;YACL,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE,IAAI;YACX,IAAI,EAAE;gBACJ,WAAW,EAAE,MAAM,CAAC,gBAAgB;aACrC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA6B;IACrE,MAAM,CAAC,YAAY,CACjB,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,oBAAoB,SAAS,6BAA6B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAC/F,GAAG,EAAE;QACH,OAAO;YACL,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE,IAAI;YACX,IAAI,EAAE;gBACJ,WAAW,EAAE,MAAM,CAAC,QAAQ;aAC7B;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { DummyFrankieApiClient } from "../DummyFrankieApiClient";
|
|
2
|
-
import {
|
|
3
|
-
import { Options as
|
|
2
|
+
import { Options as PreloadedIndividualOptions } from "./individual/loadIndividual";
|
|
3
|
+
import { Options as OCRFlowOptions } from "./ocr/ocrSubmission";
|
|
4
4
|
export declare function mockFlow(client: DummyFrankieApiClient, options: MockOptions): DummyFrankieApiClient;
|
|
5
|
-
declare type OCRDocumentType = "DRIVERS_LICENCE" | "PASSPORT";
|
|
6
5
|
export declare type MockOptions = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
type: OCRDocumentType;
|
|
10
|
-
} & OCROptions);
|
|
6
|
+
preloadedIndividual?: false | PreloadedIndividualOptions;
|
|
7
|
+
ocrRequests?: OCRFlowOptions;
|
|
11
8
|
};
|
|
12
|
-
export {};
|
|
@@ -1,24 +1,30 @@
|
|
|
1
|
-
import { generateIDVToken, initIDVProcess } from "./biometrics/
|
|
1
|
+
import { generateIDVToken, initIDVProcess, initSynchronousIDVProcess } from "./biometrics/idvSubmission";
|
|
2
2
|
import { applicantNotFound, loadExistingApplicant, loadSuccessfulCheckResults, } from "./individual/loadIndividual";
|
|
3
3
|
import { submitSuccessfulData, successfulVerification } from "./individual/submitData";
|
|
4
4
|
import { loadConfiguration } from "./initialisation/loadConfiguration";
|
|
5
5
|
import { validateToken } from "./initialisation/validateToken";
|
|
6
|
-
import {
|
|
6
|
+
import { submitOCR } from "./ocr/ocrSubmission";
|
|
7
7
|
export function mockFlow(client, options) {
|
|
8
|
-
const { preloadIndividual = false, ocrDocument = false } = options;
|
|
9
8
|
loadConfiguration(client);
|
|
10
9
|
validateToken(client);
|
|
11
|
-
if (
|
|
12
|
-
loadExistingApplicant(client,
|
|
10
|
+
if (hasPreloadedIndividual(options))
|
|
11
|
+
loadExistingApplicant(client, options);
|
|
13
12
|
else
|
|
14
13
|
applicantNotFound(client);
|
|
15
14
|
submitSuccessfulData(client);
|
|
16
15
|
loadSuccessfulCheckResults(client);
|
|
17
16
|
successfulVerification(client);
|
|
18
|
-
if (
|
|
19
|
-
|
|
17
|
+
if (hasOcrOptions(options))
|
|
18
|
+
submitOCR(client, options);
|
|
20
19
|
generateIDVToken(client);
|
|
21
20
|
initIDVProcess(client);
|
|
21
|
+
initSynchronousIDVProcess(client);
|
|
22
22
|
return client;
|
|
23
23
|
}
|
|
24
|
+
const hasPreloadedIndividual = (options) => {
|
|
25
|
+
return Boolean(options.preloadedIndividual);
|
|
26
|
+
};
|
|
27
|
+
const hasOcrOptions = (options) => {
|
|
28
|
+
return Boolean(options.ocrRequests);
|
|
29
|
+
};
|
|
24
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACzG,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,GAE3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAA6B,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3E,MAAM,UAAU,QAAQ,CAAC,MAA6B,EAAE,OAAoB;IAC1E,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,IAAI,sBAAsB,CAAC,OAAO,CAAC;QAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;QACvE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE/B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE/B,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvD,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,sBAAsB,GAAG,CAC7B,OAAoB,EAC4D,EAAE;IAClF,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC9C,CAAC,CAAC;AACF,MAAM,aAAa,GAAG,CACpB,OAAoB,EAC2D,EAAE;IACjF,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC"}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
|
+
import { Applicant } from "../../../common/shared/models/Applicant";
|
|
1
2
|
import { Document } from "../../../common/shared/models/Document";
|
|
2
3
|
import { DummyFrankieApiClient } from "../../../frankie-client";
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
import { MockOptions as MockOptionsPartial } from "..";
|
|
5
|
+
import { DeepPartial } from "../../../common/shared/models/general";
|
|
6
|
+
export declare type Options = {
|
|
7
|
+
individual?: DeepPartial<Applicant>;
|
|
8
|
+
documents?: DeepPartial<Document>[];
|
|
5
9
|
};
|
|
6
|
-
|
|
10
|
+
declare type MockOptions = MockOptionsPartial & {
|
|
11
|
+
preloadedIndividual: Options;
|
|
12
|
+
};
|
|
13
|
+
export declare function resolveIndividualDdata(options: Options): {
|
|
14
|
+
individual: Applicant & {
|
|
15
|
+
name: {
|
|
16
|
+
givenName: string;
|
|
17
|
+
familyName: string;
|
|
18
|
+
middleName: any;
|
|
19
|
+
};
|
|
20
|
+
dateOfBirth: string;
|
|
21
|
+
entityId: string;
|
|
22
|
+
} & import("type-fest/source/partial-deep").PartialObjectDeep<Applicant>;
|
|
23
|
+
documents: (Document & Partial<Document> & import("type-fest/source/partial-deep").PartialObjectDeep<Document>)[];
|
|
24
|
+
};
|
|
25
|
+
export declare function loadExistingApplicant(client: DummyFrankieApiClient, options: MockOptions): DummyFrankieApiClient;
|
|
7
26
|
export declare function applicantNotFound(client: DummyFrankieApiClient): DummyFrankieApiClient;
|
|
8
27
|
export declare function loadSuccessfulCheckResults(client: DummyFrankieApiClient): DummyFrankieApiClient;
|
|
28
|
+
export {};
|
|
@@ -1,34 +1,39 @@
|
|
|
1
1
|
import { Applicant } from "../../../common/shared/models/Applicant";
|
|
2
2
|
import { CheckSummary } from "../../../common/shared/models/CheckSummary";
|
|
3
3
|
import { Document } from "../../../common/shared/models/Document";
|
|
4
|
+
import merge from "lodash.merge";
|
|
4
5
|
import { v4 as uuid } from "uuid";
|
|
5
6
|
import { URL_PARAM } from "../../DummyFrankieApiClient";
|
|
7
|
+
export function resolveIndividualDdata(options) {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
return {
|
|
10
|
+
individual: merge(new Applicant(), {
|
|
11
|
+
name: { givenName: "John", familyName: "Doe", middleName: null },
|
|
12
|
+
dateOfBirth: "1991-10-16",
|
|
13
|
+
entityId: `mockpreloaded-${uuid()}`,
|
|
14
|
+
}, (_a = options.individual) !== null && _a !== void 0 ? _a : {}),
|
|
15
|
+
documents: (_b = options.documents) === null || _b === void 0 ? void 0 : _b.map((docConfig) => merge(new Document(), {
|
|
16
|
+
documentId: `mockpreloaded-${uuid()}`,
|
|
17
|
+
idNumber: String(Math.floor(Math.random() * 999999999)),
|
|
18
|
+
country: "AUS",
|
|
19
|
+
idType: "OTHER",
|
|
20
|
+
ocrResult: {},
|
|
21
|
+
}, docConfig)),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
6
24
|
export function loadExistingApplicant(client, options) {
|
|
7
|
-
|
|
8
|
-
const documentsConfig = (_a = options.documents) !== null && _a !== void 0 ? _a : [];
|
|
25
|
+
const { individual, documents } = resolveIndividualDdata(options.preloadedIndividual);
|
|
9
26
|
client.stubResponse({ url: "/data/v2/applicant", method: "get" }, (config) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
applicant.dateOfBirth = "1998-10-10";
|
|
15
|
-
applicant.entityId = (_a = config.params.entityId) !== null && _a !== void 0 ? _a : uuid();
|
|
16
|
-
applicant.customerReference = (_b = config.params.reference) !== null && _b !== void 0 ? _b : null;
|
|
17
|
-
const documents = documentsConfig.map((config) => {
|
|
18
|
-
const document = Object.assign(new Document(), {
|
|
19
|
-
documentId: "preexisting-" + uuid(),
|
|
20
|
-
idNumber: String(Math.floor(Math.random() * 999999999)),
|
|
21
|
-
country: "AUS",
|
|
22
|
-
ocrResult: {},
|
|
23
|
-
}, config);
|
|
24
|
-
return document;
|
|
25
|
-
});
|
|
27
|
+
if (config.params.entityId)
|
|
28
|
+
individual.entityId = config.params.entityId;
|
|
29
|
+
if (config.params.reference)
|
|
30
|
+
individual.customerReference = config.params.reference;
|
|
26
31
|
return {
|
|
27
32
|
title: "Search individual",
|
|
28
33
|
status: 200,
|
|
29
34
|
data: {
|
|
30
|
-
applicant:
|
|
31
|
-
documents,
|
|
35
|
+
applicant: individual.toJSON(),
|
|
36
|
+
documents: documents.map((d) => d.toJSON()),
|
|
32
37
|
},
|
|
33
38
|
};
|
|
34
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadIndividual.js","sourceRoot":"","sources":["../../../../../../modules/frankie-client/mocks/individual/loadIndividual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"loadIndividual.js","sourceRoot":"","sources":["../../../../../../modules/frankie-client/mocks/individual/loadIndividual.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Document, Scan } from "../../../common/shared/models/Document";
|
|
2
|
+
import { PartialDeep } from "type-fest";
|
|
3
|
+
import { MockOptions as MockOptionsPartial } from "..";
|
|
4
|
+
import { DeepPartial } from "../../../common/shared/models/general";
|
|
5
|
+
import { OCRDocumentType, Status } from "../../clients/OCRClient";
|
|
6
|
+
import { DummyFrankieApiClient } from "../../DummyFrankieApiClient";
|
|
7
|
+
export declare type OCRDocumentOptions = {
|
|
8
|
+
status: Status;
|
|
9
|
+
ocrDocument: PartialDeep<Document>;
|
|
10
|
+
};
|
|
11
|
+
export declare type Options = {
|
|
12
|
+
detectedType: OCRDocumentType;
|
|
13
|
+
updateResponsePayloads: OCRDocumentOptions[];
|
|
14
|
+
postResponsePayload: OCRDocumentOptions;
|
|
15
|
+
};
|
|
16
|
+
declare type MockOptions = Omit<MockOptionsPartial, "ocrRequests"> & {
|
|
17
|
+
ocrRequests: Options;
|
|
18
|
+
};
|
|
19
|
+
export declare function submitOCR(client: DummyFrankieApiClient, options: MockOptions): DummyFrankieApiClient;
|
|
20
|
+
export declare function createOCRDocument(client: DummyFrankieApiClient, options: MockOptions): DummyFrankieApiClient;
|
|
21
|
+
export declare function updateOCRDocument(client: DummyFrankieApiClient, options: MockOptions): DummyFrankieApiClient;
|
|
22
|
+
export declare const mkFullScanPayload: (scanOptions: DeepPartial<Document>["scans"][0]) => Scan;
|
|
23
|
+
export {};
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
+
import { Scan } from "../../../common/shared/models/Document";
|
|
2
|
+
import merge from "lodash.merge";
|
|
1
3
|
import { v4 as uuid } from "uuid";
|
|
2
|
-
import { Status } from "../../clients/OCRClient";
|
|
3
4
|
import { URL_PARAM } from "../../DummyFrankieApiClient";
|
|
4
5
|
const scanUuidFront = uuid();
|
|
5
6
|
const scanUuidBack = uuid();
|
|
6
|
-
export function
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
export function submitOCR(client, options) {
|
|
8
|
+
createOCRDocument(client, options);
|
|
9
|
+
updateOCRDocument(client, options);
|
|
9
10
|
return client;
|
|
10
11
|
}
|
|
11
|
-
export function
|
|
12
|
+
export function createOCRDocument(client, options) {
|
|
12
13
|
client.stubResponse({ url: new RegExp(`data/v2/idvCheck/${URL_PARAM}/ocr`), method: "post" }, () => {
|
|
13
|
-
|
|
14
|
-
const { status = Status.WAITING_BACK, scans = "front" } = (_a = options.postResponsePayload) !== null && _a !== void 0 ? _a : {};
|
|
15
|
-
const sides = status === Status.WAITING_OCR_RUN ? scans : "front";
|
|
16
|
-
const data = mkFullPayload({ status, sides, documentId: uuid() });
|
|
14
|
+
const data = mkFullPayload(options.ocrRequests.postResponsePayload, options);
|
|
17
15
|
return {
|
|
18
16
|
delay: 800,
|
|
19
17
|
title: `OCR New document`,
|
|
@@ -23,12 +21,14 @@ export function createDLOcrDocument(client, options) {
|
|
|
23
21
|
});
|
|
24
22
|
return client;
|
|
25
23
|
}
|
|
26
|
-
export function
|
|
24
|
+
export function updateOCRDocument(client, options) {
|
|
27
25
|
client.stubResponse({ url: new RegExp(`data/v2/idvCheck/${URL_PARAM}/ocr`), method: "put" }, (config) => {
|
|
26
|
+
const currentRequestPayload = options.ocrRequests.updateResponsePayloads.shift();
|
|
28
27
|
const documentId = config.data instanceof FormData ? config.data.get("documentId") : config.data.documentId;
|
|
28
|
+
if (documentId)
|
|
29
|
+
currentRequestPayload.ocrDocument.documentId = documentId;
|
|
29
30
|
// If not submitting image file, this is a OCR rerun
|
|
30
|
-
const
|
|
31
|
-
const data = mkFullPayload({ status, sides: scans, documentId });
|
|
31
|
+
const data = mkFullPayload(currentRequestPayload, options);
|
|
32
32
|
return {
|
|
33
33
|
title: `Update document for OCR`,
|
|
34
34
|
delay: 800,
|
|
@@ -38,26 +38,49 @@ export function submitDLBackScan(client, options) {
|
|
|
38
38
|
});
|
|
39
39
|
return client;
|
|
40
40
|
}
|
|
41
|
-
const
|
|
41
|
+
export const mkFullScanPayload = (scanOptions) => {
|
|
42
|
+
const defaultScanObject = {
|
|
43
|
+
file: null,
|
|
44
|
+
fileUploadUuid: null,
|
|
45
|
+
mimeType: "image/jpeg",
|
|
46
|
+
scanCreated: "2022-05-31T03:48:25.000+0000",
|
|
47
|
+
scanId: uuid(),
|
|
48
|
+
scanName: "dl-front.jpg",
|
|
49
|
+
side: "F",
|
|
50
|
+
};
|
|
51
|
+
return Scan.fromJSON(merge(defaultScanObject, scanOptions));
|
|
52
|
+
};
|
|
53
|
+
const mkFullPayload = (requestOptions, allMockOptions) => {
|
|
54
|
+
var _a;
|
|
55
|
+
const idType = allMockOptions.ocrRequests.detectedType;
|
|
56
|
+
const { status, ocrDocument } = requestOptions;
|
|
57
|
+
const scansOptions = (_a = ocrDocument === null || ocrDocument === void 0 ? void 0 : ocrDocument.scans) !== null && _a !== void 0 ? _a : [];
|
|
58
|
+
const scans = scansOptions.map(mkFullScanPayload).map((scan) => {
|
|
59
|
+
if (scan.side === "F")
|
|
60
|
+
scan.scanId = scanUuidFront;
|
|
61
|
+
if (scan.side === "B")
|
|
62
|
+
scan.scanId = scanUuidBack;
|
|
63
|
+
return scan;
|
|
64
|
+
});
|
|
42
65
|
return {
|
|
43
|
-
|
|
44
|
-
ocrDocument: {
|
|
66
|
+
status,
|
|
67
|
+
ocrDocument: merge({
|
|
45
68
|
country: "AUS",
|
|
46
69
|
dateOfBirth: null,
|
|
47
|
-
documentId,
|
|
70
|
+
documentId: uuid(),
|
|
48
71
|
extraData: {},
|
|
49
72
|
gender: null,
|
|
50
73
|
idExpiry: "0001-01-01",
|
|
51
74
|
idNumber: "P77864526",
|
|
52
75
|
idSubType: null,
|
|
53
|
-
idType
|
|
76
|
+
idType,
|
|
54
77
|
ocrResult: {
|
|
55
78
|
status,
|
|
56
|
-
runDate:
|
|
57
|
-
documentTypeInternal:
|
|
79
|
+
runDate: new Date().toISOString(),
|
|
80
|
+
documentTypeInternal: idType,
|
|
58
81
|
dateOfExpiry: "2031-05-28",
|
|
59
82
|
dateOfIssue: "2021-05-28",
|
|
60
|
-
documentType:
|
|
83
|
+
documentType: idType,
|
|
61
84
|
documentNumber: "999999999",
|
|
62
85
|
dateOfBirth: "1990-01-01",
|
|
63
86
|
nationality: null,
|
|
@@ -72,30 +95,7 @@ const mkFullPayload = ({ status, sides, documentId }) => {
|
|
|
72
95
|
mismatch: ["firstName", "lastName", "documentNumber", "dateOfBirth"],
|
|
73
96
|
},
|
|
74
97
|
region: "VIC",
|
|
75
|
-
scans:
|
|
76
|
-
const scans = [];
|
|
77
|
-
if (["all", "front"].includes(sides))
|
|
78
|
-
scans.push({
|
|
79
|
-
file: null,
|
|
80
|
-
fileUploadUuid: null,
|
|
81
|
-
mimeType: "image/jpeg",
|
|
82
|
-
scanCreated: "2022-05-31T03:48:25.000+0000",
|
|
83
|
-
scanId: scanUuidFront,
|
|
84
|
-
scanName: "dl-front.jpg",
|
|
85
|
-
side: "F",
|
|
86
|
-
});
|
|
87
|
-
if (["all", "back"].includes(sides))
|
|
88
|
-
scans.push({
|
|
89
|
-
file: null,
|
|
90
|
-
fileUploadUuid: null,
|
|
91
|
-
mimeType: "image/jpeg",
|
|
92
|
-
scanCreated: "2022-05-31T03:52:25.000+0000",
|
|
93
|
-
scanId: scanUuidBack,
|
|
94
|
-
scanName: "dl-back.jpg",
|
|
95
|
-
side: "B",
|
|
96
|
-
});
|
|
97
|
-
return scans;
|
|
98
|
-
})(),
|
|
98
|
+
scans: [],
|
|
99
99
|
validation: {
|
|
100
100
|
electronic: {
|
|
101
101
|
isValid: true,
|
|
@@ -109,7 +109,11 @@ const mkFullPayload = ({ status, sides, documentId }) => {
|
|
|
109
109
|
electronic: null,
|
|
110
110
|
manual: null,
|
|
111
111
|
},
|
|
112
|
-
},
|
|
112
|
+
}, ocrDocument, {
|
|
113
|
+
idType,
|
|
114
|
+
scans,
|
|
115
|
+
docScan: scans,
|
|
116
|
+
}),
|
|
113
117
|
};
|
|
114
118
|
};
|
|
115
|
-
//# sourceMappingURL=
|
|
119
|
+
//# sourceMappingURL=ocrSubmission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ocrSubmission.js","sourceRoot":"","sources":["../../../../../../modules/frankie-client/mocks/ocr/ocrSubmission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exposes functions that offer a simplified conversion of MockOptions for external usage
|
|
3
|
+
*/
|
|
4
|
+
import { Applicant } from "../../common/shared/models/Applicant";
|
|
5
|
+
import { Document, Scan, TScan } from "../../common/shared/models/Document";
|
|
6
|
+
import { DeepPartial } from "../../common/shared/models/general";
|
|
7
|
+
import { MockOptions } from ".";
|
|
8
|
+
import { OCRDocumentType, Status } from "../clients/OCRClient";
|
|
9
|
+
export declare function resolveSimplifiedMockOptions(simplifiedOptions: SimplifiedMockOptions): MockOptions;
|
|
10
|
+
export declare const resolveSimplifiedPreloadedDocument: (partialDoc: PartialDocument, allOptions: SimplifiedMockOptions) => DeepPartial<Document>;
|
|
11
|
+
export declare const resolveScans: (scansOptions: PartialDocument["scans"]) => Scan[];
|
|
12
|
+
export declare type SimplifiedMockOptions = {
|
|
13
|
+
preloadedIndividual?: false | {
|
|
14
|
+
individual?: DeepPartial<Applicant>;
|
|
15
|
+
documents?: PartialDocument[];
|
|
16
|
+
};
|
|
17
|
+
ocrFlow?: {
|
|
18
|
+
detectedType: OCRDocumentType;
|
|
19
|
+
statusResults: Status[];
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare type ScanSide = "F" | "B" | "both" | "none";
|
|
23
|
+
export declare type ScanObject = DeepPartial<TScan> & {
|
|
24
|
+
side: "F" | "B";
|
|
25
|
+
};
|
|
26
|
+
export declare type PartialDocument = DeepPartial<Omit<Document, "scans">> & {
|
|
27
|
+
scans?: ScanSide | ScanObject[] | Scan[];
|
|
28
|
+
};
|