@frankieone/one-sdk 0.5.4-rc.1 → 0.6.5-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 +483 -481
- package/dist/commit.txt +2 -1
- package/dist/esm/modules/common/constants.d.ts +1 -0
- package/dist/esm/modules/common/constants.js +2 -0
- package/dist/esm/modules/common/constants.js.map +1 -1
- package/dist/esm/modules/common/modules/{runIfWhen.d.ts → HOF.d.ts} +17 -2
- package/dist/esm/modules/common/modules/{runIfWhen.js → HOF.js} +22 -3
- package/dist/esm/modules/common/modules/HOF.js.map +1 -0
- package/dist/esm/modules/common/modules/LocalStorage.d.ts +6 -0
- package/dist/esm/modules/common/modules/LocalStorage.js +21 -0
- package/dist/esm/modules/common/modules/LocalStorage.js.map +1 -0
- package/dist/esm/modules/common/modules/env2url.d.ts +6 -1
- package/dist/esm/modules/common/modules/env2url.js +17 -1
- package/dist/esm/modules/common/modules/env2url.js.map +1 -1
- package/dist/esm/modules/common/modules/url.d.ts +5 -0
- package/dist/esm/modules/common/modules/url.js +10 -0
- package/dist/esm/modules/common/modules/url.js.map +1 -0
- package/dist/esm/modules/common/shared/models/api.d.ts +2 -0
- package/dist/esm/modules/common/types/Configuration.d.ts +15 -0
- package/dist/esm/modules/federation/constants.d.ts +2 -0
- package/dist/esm/modules/federation/constants.js +3 -0
- package/dist/esm/modules/federation/constants.js.map +1 -0
- package/dist/esm/modules/federation/index.d.ts +3 -0
- package/dist/esm/modules/federation/index.js +69 -0
- package/dist/esm/modules/federation/index.js.map +1 -0
- package/dist/esm/modules/federation/parseConfiguration.d.ts +2 -0
- package/dist/esm/modules/federation/parseConfiguration.js +43 -0
- package/dist/esm/modules/federation/parseConfiguration.js.map +1 -0
- package/dist/esm/modules/federation/types/events.d.ts +4 -0
- package/dist/esm/modules/federation/types/events.js +2 -0
- package/dist/esm/modules/federation/types/events.js.map +1 -0
- package/dist/esm/modules/federation/types/module.d.ts +8 -0
- package/dist/esm/modules/federation/types/module.js +2 -0
- package/dist/esm/modules/federation/types/module.js.map +1 -0
- package/dist/esm/modules/federation/types/wrapper.d.ts +18 -0
- package/dist/esm/modules/federation/types/wrapper.js +2 -0
- package/dist/esm/modules/federation/types/wrapper.js.map +1 -0
- package/dist/esm/modules/federation/vendors/Singpass.d.ts +8 -0
- package/dist/esm/modules/federation/vendors/Singpass.js +110 -0
- package/dist/esm/modules/federation/vendors/Singpass.js.map +1 -0
- package/dist/esm/modules/frankie-client/DummyFrankieApiClient.d.ts +28 -22
- package/dist/esm/modules/frankie-client/DummyFrankieApiClient.js +47 -45
- package/dist/esm/modules/frankie-client/DummyFrankieApiClient.js.map +1 -1
- package/dist/esm/modules/frankie-client/FrankieApiClient.d.ts +6 -8
- package/dist/esm/modules/frankie-client/FrankieApiClient.js +10 -25
- package/dist/esm/modules/frankie-client/FrankieApiClient.js.map +1 -1
- package/dist/esm/modules/frankie-client/clients/ApplicantClient.js +7 -11
- package/dist/esm/modules/frankie-client/clients/ApplicantClient.js.map +1 -1
- package/dist/esm/modules/frankie-client/clients/BaseClient.d.ts +1 -3
- package/dist/esm/modules/frankie-client/clients/BaseClient.js +4 -3
- package/dist/esm/modules/frankie-client/clients/BaseClient.js.map +1 -1
- package/dist/esm/modules/frankie-client/clients/FederationClient.d.ts +11 -0
- package/dist/esm/modules/frankie-client/clients/FederationClient.js +24 -0
- package/dist/esm/modules/frankie-client/clients/FederationClient.js.map +1 -0
- package/dist/esm/modules/frankie-client/clients/StorageClient.d.ts +10 -0
- package/dist/esm/modules/frankie-client/clients/StorageClient.js +23 -0
- package/dist/esm/modules/frankie-client/clients/StorageClient.js.map +1 -0
- package/dist/esm/modules/frankie-client/clients/TelemetryEventsClient.js +1 -1
- package/dist/esm/modules/frankie-client/index.d.ts +8 -2
- package/dist/esm/modules/frankie-client/index.js +23 -32
- package/dist/esm/modules/frankie-client/index.js.map +1 -1
- package/dist/esm/modules/frankie-client/mocks/federation/index.d.ts +4 -0
- package/dist/esm/modules/frankie-client/mocks/federation/index.js +32 -0
- package/dist/esm/modules/frankie-client/mocks/federation/index.js.map +1 -0
- package/dist/esm/modules/frankie-client/mocks/index.js +4 -0
- package/dist/esm/modules/frankie-client/mocks/index.js.map +1 -1
- package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.d.ts +1 -1
- package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.js +2 -2
- package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.js.map +1 -1
- package/dist/esm/modules/index.d.ts +15 -3
- package/dist/esm/modules/index.js +18 -9
- package/dist/esm/modules/index.js.map +1 -1
- package/dist/esm/modules/individual/actions/search.js +4 -5
- package/dist/esm/modules/individual/actions/search.js.map +1 -1
- package/dist/esm/modules/individual/types/events.d.ts +1 -1
- package/dist/esm/modules/meta.json +1 -1
- package/dist/esm/modules/ocr/actions/start.js +6 -14
- package/dist/esm/modules/ocr/actions/start.js.map +1 -1
- package/dist/esm/modules/sdk/index.js +3 -1
- package/dist/esm/modules/sdk/index.js.map +1 -1
- package/dist/esm/modules/sdk/initialisation/componentLoader.js +1 -1
- package/dist/esm/modules/sdk/initialisation/componentLoader.js.map +1 -1
- package/dist/esm/modules/sdk/initialisation/configurationParser.js +4 -7
- package/dist/esm/modules/sdk/initialisation/configurationParser.js.map +1 -1
- package/dist/esm/modules/sdk/initialisation/sharedDependencies.d.ts +2 -1
- package/dist/esm/modules/sdk/initialisation/sharedDependencies.js +4 -4
- package/dist/esm/modules/sdk/initialisation/sharedDependencies.js.map +1 -1
- package/dist/esm/modules/sdk/types/components.d.ts +2 -2
- package/dist/esm/modules/sdk/types/configuration.d.ts +17 -26
- package/dist/esm/modules/sdk/types/configuration.js.map +1 -1
- package/dist/esm/modules/sdk/types/module.d.ts +1 -1
- package/dist/esm/modules/session/SessionContext.d.ts +55 -0
- package/dist/esm/modules/session/SessionContext.js +88 -0
- package/dist/esm/modules/session/SessionContext.js.map +1 -0
- package/dist/esm/modules/session/constants.d.ts +3 -0
- package/dist/esm/modules/session/constants.js +4 -0
- package/dist/esm/modules/session/constants.js.map +1 -0
- package/dist/esm/modules/session/index.d.ts +6 -0
- package/dist/esm/modules/session/index.js +70 -0
- package/dist/esm/modules/session/index.js.map +1 -0
- package/dist/esm/modules/session/types/module.d.ts +5 -0
- package/dist/esm/modules/session/types/module.js +2 -0
- package/dist/esm/modules/session/types/module.js.map +1 -0
- package/dist/esm/types/Primitives.d.ts +1 -0
- package/dist/release.txt +2 -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/dist/version.txt +2 -0
- package/package.json +146 -143
- package/dist/esm/modules/common/modules/runIfWhen.js.map +0 -1
- package/dist/esm/modules/common/types/Session.d.ts +0 -16
- package/dist/esm/modules/common/types/Session.js +0 -2
- package/dist/esm/modules/common/types/Session.js.map +0 -1
|
@@ -1,39 +1,26 @@
|
|
|
1
1
|
import { EventHub } from "../common";
|
|
2
2
|
import { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
3
|
+
import { SessionMeta } from "../session/SessionContext";
|
|
3
4
|
import { FrankieApiClient } from "./FrankieApiClient";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
declare type StubFactory = (options: Partial<AxiosRequestConfig> & {
|
|
10
|
-
urlMatch?: RegExpExecArray | string;
|
|
11
|
-
}) => Partial<AxiosResponse & {
|
|
12
|
-
delay: number;
|
|
13
|
-
title?: string;
|
|
14
|
-
}>;
|
|
15
|
-
export declare const URL_PARAM = "([^/]+)";
|
|
5
|
+
export declare const URL_PARAM = "([^/?]+)";
|
|
6
|
+
export declare const QUERY_PARAM = "([^&?]+)";
|
|
7
|
+
export declare const dummySessionMeta: SessionMeta;
|
|
16
8
|
export declare class DummyFrankieApiClient extends FrankieApiClient {
|
|
17
9
|
protected o: {
|
|
18
10
|
globalEventHub: EventHub;
|
|
19
11
|
defaultDelay?: number;
|
|
20
12
|
};
|
|
21
|
-
protected requestPayloadDictionary:
|
|
13
|
+
protected requestPayloadDictionary: StubResponseDictionary;
|
|
22
14
|
protected globalEventHub: EventHub;
|
|
23
15
|
constructor(o: {
|
|
24
16
|
globalEventHub: EventHub;
|
|
25
17
|
defaultDelay?: number;
|
|
26
18
|
});
|
|
27
|
-
|
|
28
|
-
checkValidity?: boolean;
|
|
29
|
-
}): Promise<void>;
|
|
30
|
-
stubResponse(options: {
|
|
19
|
+
stubResponse<TheMethod extends Method | "redirect" | "default">(options: {
|
|
31
20
|
url: string | RegExp;
|
|
32
|
-
method?:
|
|
33
|
-
}, responsePayload?:
|
|
34
|
-
|
|
35
|
-
title: string;
|
|
36
|
-
}>): void;
|
|
21
|
+
method?: TheMethod;
|
|
22
|
+
}, responsePayload?: StubResponseDictionary[string][TheMethod]): void;
|
|
23
|
+
findStub<URLPattern extends string, TheMethod extends Method | "redirect">(url: URLPattern, method: TheMethod): FoundStub<TheMethod> | null;
|
|
37
24
|
getStubPayload(config: Partial<AxiosRequestConfig>): AxiosResponse & {
|
|
38
25
|
delay?: number;
|
|
39
26
|
};
|
|
@@ -42,7 +29,26 @@ export declare class DummyFrankieApiClient extends FrankieApiClient {
|
|
|
42
29
|
delete<T = unknown>(url: string, config?: AxiosRequestConfig | undefined): Promise<AxiosResponse<T>>;
|
|
43
30
|
post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig | undefined): Promise<AxiosResponse<T>>;
|
|
44
31
|
put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig | undefined): Promise<AxiosResponse<T>>;
|
|
32
|
+
redirect(url: URL): void;
|
|
45
33
|
private delayResponse;
|
|
46
34
|
}
|
|
47
35
|
declare type Method = "get" | "put" | "post" | "delete";
|
|
36
|
+
declare type URLPattern = string;
|
|
37
|
+
declare type StubResponse = Partial<AxiosResponse & {
|
|
38
|
+
delay: number;
|
|
39
|
+
title?: string;
|
|
40
|
+
}>;
|
|
41
|
+
declare type StubResponseDictionary = Record<URLPattern, Partial<MethodStubDictionary>>;
|
|
42
|
+
declare type MethodStubDictionary = Record<Method | "default", Partial<StubResponse> | StubFactory> & {
|
|
43
|
+
redirect: RedirectStub;
|
|
44
|
+
};
|
|
45
|
+
declare type StubFactoryParameter = Partial<AxiosRequestConfig> & {
|
|
46
|
+
urlMatch?: RegExpExecArray | string;
|
|
47
|
+
};
|
|
48
|
+
declare type StubFactory = (options: StubFactoryParameter) => StubResponse;
|
|
49
|
+
declare type FoundStub<TheMethod extends Method | "redirect"> = {
|
|
50
|
+
stub: StubResponseDictionary[string][TheMethod];
|
|
51
|
+
urlMatch?: RegExpExecArray | string;
|
|
52
|
+
};
|
|
53
|
+
declare type RedirectStub = (url: URL) => URL | null;
|
|
48
54
|
export {};
|
|
@@ -20,19 +20,22 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
};
|
|
21
21
|
import { merge } from "../common";
|
|
22
22
|
import { AxiosError } from "axios";
|
|
23
|
+
import { SessionContext } from "../session/SessionContext";
|
|
23
24
|
import { FrankieApiClient } from "./FrankieApiClient";
|
|
24
|
-
const
|
|
25
|
-
export const
|
|
25
|
+
export const URL_PARAM = "([^/?]+)";
|
|
26
|
+
export const QUERY_PARAM = "([^&?]+)";
|
|
26
27
|
const DEFAULT_DELAY = 0;
|
|
27
28
|
const regexKeyMatcher = /^regex:/;
|
|
28
29
|
const regexKeyPrefix = "regex:";
|
|
29
|
-
const
|
|
30
|
-
environment: "https://dummy.com",
|
|
30
|
+
export const dummySessionMeta = {
|
|
31
31
|
customerID: "none",
|
|
32
|
+
customerChildID: "none",
|
|
33
|
+
environment: "https://dummy.com",
|
|
32
34
|
sessionId: "none",
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
reference: "dummy-reference",
|
|
36
|
+
entityId: null,
|
|
35
37
|
};
|
|
38
|
+
const trimUrl = (url) => url.replace(/\/$/, "").replace(/^\//, "");
|
|
36
39
|
export class DummyFrankieApiClient extends FrankieApiClient {
|
|
37
40
|
constructor(o) {
|
|
38
41
|
var _a;
|
|
@@ -42,18 +45,7 @@ export class DummyFrankieApiClient extends FrankieApiClient {
|
|
|
42
45
|
this.o.defaultDelay = (_a = o.defaultDelay) !== null && _a !== void 0 ? _a : DEFAULT_DELAY;
|
|
43
46
|
this.globalEventHub = o.globalEventHub;
|
|
44
47
|
this.instance.defaults.baseURL = "https://dummy.com";
|
|
45
|
-
this.
|
|
46
|
-
}
|
|
47
|
-
setToken(t, o = {}) {
|
|
48
|
-
const _super = Object.create(null, {
|
|
49
|
-
setToken: { get: () => super.setToken }
|
|
50
|
-
});
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
yield _super.setToken.call(this, t, o);
|
|
53
|
-
// Fill gaps of session object defined by token with values from defaultSessionData and reassign to sessionMeta
|
|
54
|
-
const sessionObject = Object.assign(defaultSessionData, this.session);
|
|
55
|
-
this.session = sessionObject;
|
|
56
|
-
});
|
|
48
|
+
this.session = new SessionContext(dummySessionMeta);
|
|
57
49
|
}
|
|
58
50
|
stubResponse(options, responsePayload) {
|
|
59
51
|
var _a, _b;
|
|
@@ -68,68 +60,72 @@ export class DummyFrankieApiClient extends FrankieApiClient {
|
|
|
68
60
|
const method = (_b = options.method) !== null && _b !== void 0 ? _b : "default";
|
|
69
61
|
this.requestPayloadDictionary[trimmedUrl][method] = responsePayload;
|
|
70
62
|
}
|
|
71
|
-
|
|
72
|
-
const { url, method } = config;
|
|
63
|
+
findStub(url, method) {
|
|
73
64
|
const trimmedUrl = trimUrl(url);
|
|
74
|
-
const defaultResponse = {
|
|
75
|
-
data: {},
|
|
76
|
-
status: 200,
|
|
77
|
-
statusText: "OK",
|
|
78
|
-
headers: {},
|
|
79
|
-
config,
|
|
80
|
-
isMockResponse: true,
|
|
81
|
-
};
|
|
82
65
|
const dictionary = this.requestPayloadDictionary;
|
|
83
66
|
const findAsRegex = () => {
|
|
84
|
-
const
|
|
67
|
+
const allMatchedKeys = Object.keys(dictionary)
|
|
85
68
|
.filter((k) => k.match(regexKeyMatcher))
|
|
86
69
|
.map((k) => k.replace(regexKeyMatcher, ""))
|
|
87
|
-
.
|
|
88
|
-
// ensure regex pattern is searching the full url by prepending with '^' and appending with $
|
|
70
|
+
.filter((regexPattern) => {
|
|
71
|
+
// ensure regex pattern is searching the full url by prepending with '^' and appending with '$'
|
|
89
72
|
const regex = new RegExp(`^${regexPattern}$`);
|
|
90
73
|
return Boolean(regex.exec(trimmedUrl));
|
|
91
74
|
});
|
|
92
|
-
if (!
|
|
75
|
+
if (!allMatchedKeys)
|
|
93
76
|
return false;
|
|
94
|
-
const
|
|
77
|
+
const longestMatchedKey = allMatchedKeys.sort((a, b) => b.length - a.length).shift();
|
|
78
|
+
const regex = new RegExp(`^${longestMatchedKey}$`);
|
|
95
79
|
const urlMatch = regex.exec(trimmedUrl);
|
|
96
80
|
return {
|
|
97
|
-
|
|
81
|
+
methods: dictionary[`${regexKeyPrefix}${longestMatchedKey}`],
|
|
98
82
|
urlMatch,
|
|
99
83
|
};
|
|
100
84
|
};
|
|
101
85
|
const findAsKey = () => {
|
|
102
86
|
if (!dictionary[trimmedUrl])
|
|
103
87
|
return false;
|
|
104
|
-
return {
|
|
88
|
+
return { methods: dictionary[trimmedUrl], urlMatch: trimmedUrl };
|
|
105
89
|
};
|
|
106
90
|
const findStoredStub = () => {
|
|
107
|
-
const emptyStub = { stub: {} };
|
|
108
91
|
const payloadsForUrl = findAsKey() || findAsRegex();
|
|
109
92
|
if (!payloadsForUrl)
|
|
110
|
-
return
|
|
111
|
-
const {
|
|
112
|
-
const payloadForMethod =
|
|
113
|
-
const defaultPayload =
|
|
114
|
-
// If url wasn't even found
|
|
93
|
+
return null;
|
|
94
|
+
const { methods, urlMatch } = payloadsForUrl;
|
|
95
|
+
const payloadForMethod = methods === null || methods === void 0 ? void 0 : methods[method];
|
|
96
|
+
const defaultPayload = methods === null || methods === void 0 ? void 0 : methods.default;
|
|
97
|
+
// If url wasn't even found
|
|
115
98
|
if (!payloadsForUrl)
|
|
116
|
-
return
|
|
117
|
-
// If method wasn't found and there isnt a default
|
|
99
|
+
return null;
|
|
100
|
+
// If method wasn't found and there isnt a default
|
|
118
101
|
if (!payloadForMethod && !defaultPayload)
|
|
119
|
-
return
|
|
102
|
+
return null;
|
|
120
103
|
// If method wasn't found, but default stub was, return default
|
|
121
104
|
if (!payloadForMethod && defaultPayload)
|
|
122
105
|
return { stub: defaultPayload };
|
|
123
106
|
// Otherwise stub for specific method was found, return it
|
|
124
107
|
return { stub: payloadForMethod, urlMatch };
|
|
125
108
|
};
|
|
109
|
+
return findStoredStub();
|
|
110
|
+
}
|
|
111
|
+
getStubPayload(config) {
|
|
112
|
+
var _a;
|
|
113
|
+
const { url, method } = config;
|
|
114
|
+
const defaultResponse = {
|
|
115
|
+
data: {},
|
|
116
|
+
status: 200,
|
|
117
|
+
statusText: "OK",
|
|
118
|
+
headers: {},
|
|
119
|
+
config,
|
|
120
|
+
isMockResponse: true,
|
|
121
|
+
};
|
|
126
122
|
const mergeWithDefaults = (foundStub) => {
|
|
127
123
|
const { stub, urlMatch } = foundStub;
|
|
128
124
|
// provide configuration and matched url (either regex match results or trimmed url string)
|
|
129
125
|
const response = typeof stub === "function" ? stub(Object.assign(Object.assign({}, config), { urlMatch })) : stub;
|
|
130
126
|
return merge({}, defaultResponse, response);
|
|
131
127
|
};
|
|
132
|
-
const storedStub =
|
|
128
|
+
const storedStub = (_a = this.findStub(url, method)) !== null && _a !== void 0 ? _a : { stub: {} };
|
|
133
129
|
const mergedResponse = mergeWithDefaults(storedStub);
|
|
134
130
|
return mergedResponse;
|
|
135
131
|
}
|
|
@@ -163,6 +159,12 @@ export class DummyFrankieApiClient extends FrankieApiClient {
|
|
|
163
159
|
return this.preventUncaughtErrors(url, config, "put", data);
|
|
164
160
|
});
|
|
165
161
|
}
|
|
162
|
+
redirect(url) {
|
|
163
|
+
const { stub } = this.findStub(url.hostname, "redirect");
|
|
164
|
+
const resultingURL = stub(url);
|
|
165
|
+
if (resultingURL)
|
|
166
|
+
window.location.href = resultingURL.href;
|
|
167
|
+
}
|
|
166
168
|
delayResponse(payload, delay) {
|
|
167
169
|
return __awaiter(this, void 0, void 0, function* () {
|
|
168
170
|
let groupTitle = "Executing mock request to";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DummyFrankieApiClient.js","sourceRoot":"","sources":["../../../../modules/frankie-client/DummyFrankieApiClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAY,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAqC,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DummyFrankieApiClient.js","sourceRoot":"","sources":["../../../../modules/frankie-client/DummyFrankieApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ENVIRONMENTS } from "../common";
|
|
2
|
-
import { ApplicantId } from "../
|
|
3
|
-
import { SessionMeta } from "../sdk/types";
|
|
2
|
+
import { ApplicantId, SessionContext } from "../session/SessionContext";
|
|
4
3
|
import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "axios";
|
|
5
4
|
import { ClientsConstructorDictionary, InstanceOf, LoadClientParametersFor } from "./ClientsDictionary";
|
|
6
5
|
export declare type IFrankieClientCredentials = {
|
|
@@ -10,7 +9,7 @@ export declare type IFrankieClientCredentials = {
|
|
|
10
9
|
};
|
|
11
10
|
export declare class FrankieApiClient {
|
|
12
11
|
protected instance: AxiosInstance;
|
|
13
|
-
protected
|
|
12
|
+
protected sessionContext: SessionContext;
|
|
14
13
|
constructor();
|
|
15
14
|
get interceptors(): AxiosInstance["interceptors"];
|
|
16
15
|
set entityId(value: string);
|
|
@@ -18,14 +17,13 @@ export declare class FrankieApiClient {
|
|
|
18
17
|
environment: ENVIRONMENTS;
|
|
19
18
|
}): Promise<string>;
|
|
20
19
|
get token(): string;
|
|
21
|
-
get session():
|
|
22
|
-
set session(session:
|
|
23
|
-
|
|
24
|
-
checkValidity?: boolean;
|
|
25
|
-
}): Promise<void>;
|
|
20
|
+
get session(): SessionContext;
|
|
21
|
+
set session(session: SessionContext);
|
|
22
|
+
validateSession(): Promise<AxiosResponse<unknown, any>>;
|
|
26
23
|
get<T = unknown>(url: string, config?: AxiosRequestConfig | undefined): Promise<AxiosResponse<T>>;
|
|
27
24
|
delete<T = unknown>(url: string, config?: AxiosRequestConfig | undefined): Promise<AxiosResponse<T>>;
|
|
28
25
|
post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig | undefined): Promise<AxiosResponse<T>>;
|
|
29
26
|
put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig | undefined): Promise<AxiosResponse<T>>;
|
|
27
|
+
redirect(url: URL): void;
|
|
30
28
|
loadClient<Client extends keyof ClientsConstructorDictionary>(...parameters: LoadClientParametersFor<Client>): Promise<InstanceOf<Client>>;
|
|
31
29
|
}
|
|
@@ -9,16 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { env2url } from "../common";
|
|
11
11
|
import { stringToBase64 } from "../common/modules/base64";
|
|
12
|
-
import { hasEntityId } from "../common/types/Session";
|
|
13
12
|
import Axios from "axios";
|
|
14
|
-
import jwtDecode from "jwt-decode";
|
|
15
13
|
export class FrankieApiClient {
|
|
16
14
|
constructor() {
|
|
17
15
|
this.instance = Axios.create();
|
|
18
16
|
this.interceptors.response.use((response) => {
|
|
19
17
|
const token = response.headers.token;
|
|
20
|
-
if (token)
|
|
21
|
-
this.setToken(token);
|
|
18
|
+
if (token && this.session)
|
|
19
|
+
this.session.setToken(token);
|
|
22
20
|
return response;
|
|
23
21
|
});
|
|
24
22
|
}
|
|
@@ -26,7 +24,7 @@ export class FrankieApiClient {
|
|
|
26
24
|
return this.instance.interceptors;
|
|
27
25
|
}
|
|
28
26
|
set entityId(value) {
|
|
29
|
-
this.
|
|
27
|
+
this.sessionContext.setEntityId(value);
|
|
30
28
|
}
|
|
31
29
|
login(credentials, applicantId, options) {
|
|
32
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -34,7 +32,6 @@ export class FrankieApiClient {
|
|
|
34
32
|
const agent = "machine";
|
|
35
33
|
const environmentUrl = env2url(options.environment);
|
|
36
34
|
this.instance.defaults.baseURL = environmentUrl;
|
|
37
|
-
// TODO: create new set of permissions for onesdk
|
|
38
35
|
const response = yield this.post(endpoint, {
|
|
39
36
|
permissions: Object.assign({ preset: "one-sdk" }, applicantId),
|
|
40
37
|
}, {
|
|
@@ -50,23 +47,16 @@ export class FrankieApiClient {
|
|
|
50
47
|
return this.session.token;
|
|
51
48
|
}
|
|
52
49
|
get session() {
|
|
53
|
-
return this.
|
|
50
|
+
return this.sessionContext;
|
|
54
51
|
}
|
|
55
52
|
set session(session) {
|
|
56
53
|
this.instance.defaults.baseURL = session.environment;
|
|
57
54
|
this.instance.defaults.headers.common.authorization = session.token;
|
|
58
55
|
this.instance.defaults.headers.common["X-Frankie-Channel"] = "onesdk";
|
|
59
|
-
this.
|
|
56
|
+
this.sessionContext = session;
|
|
60
57
|
}
|
|
61
|
-
|
|
62
|
-
return
|
|
63
|
-
const { checkValidity = false } = options;
|
|
64
|
-
const session = deconstructToken(token);
|
|
65
|
-
this.session = session;
|
|
66
|
-
if (checkValidity) {
|
|
67
|
-
yield this.get("data/v2/token-validity");
|
|
68
|
-
}
|
|
69
|
-
});
|
|
58
|
+
validateSession() {
|
|
59
|
+
return this.get("data/v2/token-validity");
|
|
70
60
|
}
|
|
71
61
|
get(url, config) {
|
|
72
62
|
return this.instance.get(url, config);
|
|
@@ -80,6 +70,9 @@ export class FrankieApiClient {
|
|
|
80
70
|
put(url, data, config) {
|
|
81
71
|
return this.instance.put(url, data, config);
|
|
82
72
|
}
|
|
73
|
+
redirect(url) {
|
|
74
|
+
window.location.href = url.href;
|
|
75
|
+
}
|
|
83
76
|
loadClient(...parameters) {
|
|
84
77
|
return __awaiter(this, void 0, void 0, function* () {
|
|
85
78
|
const [which, options] = parameters;
|
|
@@ -94,14 +87,6 @@ export class FrankieApiClient {
|
|
|
94
87
|
});
|
|
95
88
|
}
|
|
96
89
|
}
|
|
97
|
-
const deconstructToken = (token) => {
|
|
98
|
-
var _a, _b;
|
|
99
|
-
// deconstructs JWT to get entityId or reference and environment (url)
|
|
100
|
-
// returns all that information, including token into SessionMeta
|
|
101
|
-
const { data: payload } = jwtDecode(token);
|
|
102
|
-
const identifier = hasEntityId(payload) ? { entityId: payload.entityId } : { reference: payload.reference };
|
|
103
|
-
return Object.assign({ token, customerID: (_a = payload.organisation) === null || _a === void 0 ? void 0 : _a.customerId, customerChildID: (_b = payload.organisation) === null || _b === void 0 ? void 0 : _b.customerChildId, environment: payload.environment, sessionId: payload.sessionId }, identifier);
|
|
104
|
-
};
|
|
105
90
|
function serialiseCredentials(credentials) {
|
|
106
91
|
const elements = [credentials.customerID, credentials.customerChildID, credentials.apiKey];
|
|
107
92
|
return stringToBase64(elements.filter(Boolean).join(":"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrankieApiClient.js","sourceRoot":"","sources":["../../../../modules/frankie-client/FrankieApiClient.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"FrankieApiClient.js","sourceRoot":"","sources":["../../../../modules/frankie-client/FrankieApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { Applicant } from "../../common/shared/models/Applicant";
|
|
11
11
|
import { CheckSummary } from "../../common/shared/models/CheckSummary";
|
|
12
12
|
import { Document } from "../../common/shared/models/Document";
|
|
13
|
-
import { hasEntityId } from "../../common/types/Session";
|
|
14
13
|
import { BaseClient } from "./BaseClient";
|
|
15
14
|
/**
|
|
16
15
|
* Applicant client handles BFF Applicant and Document Operations
|
|
@@ -23,7 +22,7 @@ export class ApplicantClient extends BaseClient {
|
|
|
23
22
|
* A search made using entityId HAS to be successful, since the entity id already exists. If not found, throw exception
|
|
24
23
|
* A search made using reference doesn't need to return results, as it might be a
|
|
25
24
|
*/
|
|
26
|
-
const { reference, entityId } = this
|
|
25
|
+
const { reference, entityId } = this;
|
|
27
26
|
const data = yield this.frankie
|
|
28
27
|
.get("/data/v2/applicant/", {
|
|
29
28
|
params: {
|
|
@@ -59,11 +58,10 @@ export class ApplicantClient extends BaseClient {
|
|
|
59
58
|
updateApplicant(payload) {
|
|
60
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
60
|
const { applicant, documents } = payload;
|
|
62
|
-
if (!
|
|
61
|
+
if (!this.entityId)
|
|
63
62
|
throw new Error("Entity id not found in local state. Has entity been created yet?");
|
|
64
|
-
const { entityId } = this.entityIdentifier;
|
|
65
63
|
return this.frankie
|
|
66
|
-
.put(`/data/v2/applicants/${entityId}`, {
|
|
64
|
+
.put(`/data/v2/applicants/${this.entityId}`, {
|
|
67
65
|
applicant,
|
|
68
66
|
documents,
|
|
69
67
|
kycMethod: "electronic",
|
|
@@ -73,10 +71,9 @@ export class ApplicantClient extends BaseClient {
|
|
|
73
71
|
}
|
|
74
72
|
getLatestCheckResults() {
|
|
75
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
if (!
|
|
74
|
+
if (!this.entityId)
|
|
77
75
|
throw new Error("Entity id not found in local state. Has entity been created yet?");
|
|
78
|
-
|
|
79
|
-
return yield this.frankie.get(`/data/v2/applicants/${entityId}`).then((r) => {
|
|
76
|
+
return yield this.frankie.get(`/data/v2/applicants/${this.entityId}`).then((r) => {
|
|
80
77
|
const { checkSummary } = r.data;
|
|
81
78
|
return CheckSummary.fromJSON(checkSummary);
|
|
82
79
|
});
|
|
@@ -84,10 +81,9 @@ export class ApplicantClient extends BaseClient {
|
|
|
84
81
|
}
|
|
85
82
|
triggerChecks() {
|
|
86
83
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
if (!
|
|
84
|
+
if (!this.entityId)
|
|
88
85
|
throw new Error("Entity id not found in local state. Has entity been created yet?");
|
|
89
|
-
|
|
90
|
-
yield this.frankie.post(`/data/v1/applicants/${entityId}/checks`);
|
|
86
|
+
yield this.frankie.post(`/data/v1/applicants/${this.entityId}/checks`);
|
|
91
87
|
return this.getLatestCheckResults();
|
|
92
88
|
});
|
|
93
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicantClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/ApplicantClient.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAqB,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAoB,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ApplicantClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/ApplicantClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { ApplicantId } from "../../common/types/Session";
|
|
2
|
-
import { ReadonlyDeep } from "type-fest";
|
|
3
1
|
import { FrankieApiClient } from "../FrankieApiClient";
|
|
4
2
|
export declare class BaseClient {
|
|
5
3
|
protected frankie: FrankieApiClient;
|
|
6
4
|
constructor(frankie: FrankieApiClient);
|
|
7
|
-
get
|
|
5
|
+
get reference(): string | null;
|
|
8
6
|
get entityId(): string | null;
|
|
9
7
|
set entityId(v: string | null);
|
|
10
8
|
}
|
|
@@ -2,12 +2,13 @@ export class BaseClient {
|
|
|
2
2
|
constructor(frankie) {
|
|
3
3
|
this.frankie = frankie;
|
|
4
4
|
}
|
|
5
|
-
get
|
|
6
|
-
|
|
5
|
+
get reference() {
|
|
6
|
+
var _a;
|
|
7
|
+
return (_a = this.frankie.session.reference) !== null && _a !== void 0 ? _a : null;
|
|
7
8
|
}
|
|
8
9
|
get entityId() {
|
|
9
10
|
var _a;
|
|
10
|
-
return (_a = this.
|
|
11
|
+
return (_a = this.frankie.session.entityId) !== null && _a !== void 0 ? _a : null;
|
|
11
12
|
}
|
|
12
13
|
set entityId(v) {
|
|
13
14
|
this.frankie.entityId = v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/BaseClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/BaseClient.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IACrB,YAAsB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAEnD,IAAI,SAAS;;QACX,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ;;QACV,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,CAAgB;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Vendor } from "../../federation/constants";
|
|
2
|
+
import { BaseClient } from "./BaseClient";
|
|
3
|
+
export declare class FederationClient extends BaseClient {
|
|
4
|
+
provideAuthorisation(provider: Vendor, authCode: string): Promise<AuthorisationPayload>;
|
|
5
|
+
submitCachedData(): Promise<unknown>;
|
|
6
|
+
}
|
|
7
|
+
declare type AuthorisationPayload = {
|
|
8
|
+
individual: object;
|
|
9
|
+
status: string;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
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 { BaseClient } from "./BaseClient";
|
|
11
|
+
export class FederationClient extends BaseClient {
|
|
12
|
+
provideAuthorisation(provider, authCode) {
|
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
// TODO: This whole method
|
|
15
|
+
return yield this.frankie
|
|
16
|
+
.get(`/federation/v1/callback/${provider}?authCode=${authCode}`)
|
|
17
|
+
.then((d) => d.data);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
submitCachedData() {
|
|
21
|
+
return this.frankie.post("/federation/v1/singpass/entity").then((d) => d.data);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=FederationClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FederationClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/FederationClient.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IACxC,oBAAoB,CAAC,QAAgB,EAAE,QAAgB;;YAC3D,0BAA0B;YAC1B,OAAO,MAAM,IAAI,CAAC,OAAO;iBACtB,GAAG,CAAuB,2BAA2B,QAAQ,aAAa,QAAQ,EAAE,CAAC;iBACrF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;KAAA;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* May be used to abstract quick storage. May be implemented as a wrapper for LocalStorage
|
|
3
|
+
* OR as a wrapper for a backend API which stores temporary data in redis
|
|
4
|
+
*/
|
|
5
|
+
import { BaseClient } from "./BaseClient";
|
|
6
|
+
export declare class StorageClient extends BaseClient {
|
|
7
|
+
store(key: string, value: unknown): void;
|
|
8
|
+
retrieve<Type>(key: string): Type;
|
|
9
|
+
retrieveAndDelete<Type>(key: string): Type;
|
|
10
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* May be used to abstract quick storage. May be implemented as a wrapper for LocalStorage
|
|
3
|
+
* OR as a wrapper for a backend API which stores temporary data in redis
|
|
4
|
+
*/
|
|
5
|
+
import { BaseClient } from "./BaseClient";
|
|
6
|
+
export class StorageClient extends BaseClient {
|
|
7
|
+
store(key, value) {
|
|
8
|
+
window.localStorage.setItem(key, JSON.stringify(value));
|
|
9
|
+
}
|
|
10
|
+
retrieve(key) {
|
|
11
|
+
// May fail parsing and throw exception
|
|
12
|
+
const value = window.localStorage.getItem(key);
|
|
13
|
+
if (!value)
|
|
14
|
+
return null;
|
|
15
|
+
return JSON.parse(value);
|
|
16
|
+
}
|
|
17
|
+
retrieveAndDelete(key) {
|
|
18
|
+
const value = this.retrieve(key);
|
|
19
|
+
window.localStorage.removeItem(key);
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=StorageClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageClient.js","sourceRoot":"","sources":["../../../../../modules/frankie-client/clients/StorageClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,KAAK,CAAC,GAAW,EAAE,KAAc;QAC/B,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAO,GAAW;QACxB,uCAAuC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,iBAAiB,CAAO,GAAW;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAO,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseClient } from "./BaseClient";
|
|
2
2
|
export class TelemetryEventsClient extends BaseClient {
|
|
3
3
|
dispatch(payload) {
|
|
4
|
-
return this.frankie.post(`/data/
|
|
4
|
+
return this.frankie.post(`/data/v2/events`, Object.assign({}, payload));
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=TelemetryEventsClient.js.map
|