@pax2pay/client 0.3.64 → 0.3.66
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/Client/Configuration/index.ts +54 -0
- package/Client/Connection.ts +5 -4
- package/dist/Client/Configuration/index.d.ts +4 -0
- package/dist/Client/Configuration/index.js +22 -0
- package/dist/Client/Configuration/index.js.map +1 -1
- package/dist/Client/Connection.d.ts +1 -1
- package/dist/Client/Connection.js +4 -4
- package/dist/Client/Connection.js.map +1 -1
- package/package.json +1 -1
|
@@ -28,4 +28,58 @@ export class Configuration {
|
|
|
28
28
|
async getPortalFeatures(): Promise<model.PaxpayFeature[] | model.ErrorResponse> {
|
|
29
29
|
return await this.connection.get<model.PaxpayFeature[]>(`${this.folder}/portal`)
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
async setupCredentials(
|
|
33
|
+
organisationCode: string,
|
|
34
|
+
providerCode: ProviderCode,
|
|
35
|
+
request: model.CredentialRequest
|
|
36
|
+
): Promise<model.CredentialResponse | model.ErrorResponse> {
|
|
37
|
+
const header = { "x-assume": organisationCode }
|
|
38
|
+
return await this.connection.post<model.CredentialResponse>(
|
|
39
|
+
`credentials/${providerCode}/setup`,
|
|
40
|
+
request,
|
|
41
|
+
undefined,
|
|
42
|
+
header
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
async getAllCredentials(organisationCode: string): Promise<model.CredentialResponse[] | model.ErrorResponse> {
|
|
46
|
+
const header = { "x-assume": organisationCode }
|
|
47
|
+
const parameters = { totalCount: false }
|
|
48
|
+
const response = await this.connection.get<{ list: model.CredentialResponse[]; totalCount: number }>(
|
|
49
|
+
`credentials`,
|
|
50
|
+
parameters,
|
|
51
|
+
header
|
|
52
|
+
)
|
|
53
|
+
if (model.ErrorResponse.is(response))
|
|
54
|
+
return response
|
|
55
|
+
else
|
|
56
|
+
return response.list
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async updateCredentials(
|
|
60
|
+
organisationCode: string,
|
|
61
|
+
providerCode: ProviderCode,
|
|
62
|
+
request: model.CredentialRequest
|
|
63
|
+
): Promise<model.CredentialResponse | model.ErrorResponse> {
|
|
64
|
+
const header = { "x-assume": organisationCode }
|
|
65
|
+
return await this.connection.put<model.CredentialResponse>(
|
|
66
|
+
`credentials/${providerCode}`,
|
|
67
|
+
request,
|
|
68
|
+
undefined,
|
|
69
|
+
header
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
async saveCredentials(
|
|
73
|
+
organisationCode: string,
|
|
74
|
+
providerCode: ProviderCode,
|
|
75
|
+
request: model.CredentialRequest
|
|
76
|
+
): Promise<model.CredentialResponse | model.ErrorResponse> {
|
|
77
|
+
const header = { "x-assume": organisationCode }
|
|
78
|
+
return await this.connection.post<model.CredentialResponse>(
|
|
79
|
+
`credentials/${providerCode}`,
|
|
80
|
+
request,
|
|
81
|
+
undefined,
|
|
82
|
+
header
|
|
83
|
+
)
|
|
84
|
+
}
|
|
31
85
|
}
|
package/Client/Connection.ts
CHANGED
|
@@ -31,7 +31,7 @@ export class Connection {
|
|
|
31
31
|
header?: any
|
|
32
32
|
): Promise<Response | (model.ErrorResponse & { status: Codes | DefaultCodes })> {
|
|
33
33
|
const isMultipart = request && request instanceof FormData
|
|
34
|
-
const cookie = window.
|
|
34
|
+
const cookie = window.localStorage.getItem("cookie")
|
|
35
35
|
const publicKey = window.sessionStorage.getItem("public-key")
|
|
36
36
|
let requestHeaders: Record<string, string> = { "x-invoking-system": "portal_2" }
|
|
37
37
|
if (!isMultipart)
|
|
@@ -83,7 +83,7 @@ export class Connection {
|
|
|
83
83
|
if (caughtErrorResponse)
|
|
84
84
|
return caughtErrorResponse
|
|
85
85
|
if (response && response.headers.has("x-otp-cookie"))
|
|
86
|
-
window.
|
|
86
|
+
window.localStorage.setItem("cookie", response.headers.get("x-otp-cookie") ?? "")
|
|
87
87
|
//get temp token to set up 2fa before login
|
|
88
88
|
if (response && response.status == 403 && response.url.includes("login") && response.headers.has("X-Auth-Token"))
|
|
89
89
|
window.sessionStorage.setItem("authData", JSON.stringify({ token: response.headers.get("X-Auth-Token") }))
|
|
@@ -110,9 +110,10 @@ export class Connection {
|
|
|
110
110
|
}
|
|
111
111
|
async get<Response, Codes = 400 | 403 | 404 | 500>(
|
|
112
112
|
path: string,
|
|
113
|
-
parameters?: Record<string, any
|
|
113
|
+
parameters?: Record<string, any>,
|
|
114
|
+
header?: any
|
|
114
115
|
): Promise<Response | (model.ErrorResponse & { status: Codes | DefaultCodes })> {
|
|
115
|
-
return await this.fetch<Response, Codes>(path, "GET", undefined, parameters)
|
|
116
|
+
return await this.fetch<Response, Codes>(path, "GET", undefined, parameters, header)
|
|
116
117
|
}
|
|
117
118
|
async put<Response, Codes = 400 | 403 | 404 | 500>(
|
|
118
119
|
path: string,
|
|
@@ -13,4 +13,8 @@ export declare class Configuration {
|
|
|
13
13
|
getUserConfig(): Promise<model.UserConfig | model.ErrorResponse>;
|
|
14
14
|
updateUserConfig(request: model.UserConfig): Promise<model.UserConfig | model.ErrorResponse>;
|
|
15
15
|
getPortalFeatures(): Promise<model.PaxpayFeature[] | model.ErrorResponse>;
|
|
16
|
+
setupCredentials(organisationCode: string, providerCode: ProviderCode, request: model.CredentialRequest): Promise<model.CredentialResponse | model.ErrorResponse>;
|
|
17
|
+
getAllCredentials(organisationCode: string): Promise<model.CredentialResponse[] | model.ErrorResponse>;
|
|
18
|
+
updateCredentials(organisationCode: string, providerCode: ProviderCode, request: model.CredentialRequest): Promise<model.CredentialResponse | model.ErrorResponse>;
|
|
19
|
+
saveCredentials(organisationCode: string, providerCode: ProviderCode, request: model.CredentialRequest): Promise<model.CredentialResponse | model.ErrorResponse>;
|
|
16
20
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as model from "../../model";
|
|
1
2
|
export class Configuration {
|
|
2
3
|
constructor(connection) {
|
|
3
4
|
this.connection = connection;
|
|
@@ -24,5 +25,26 @@ export class Configuration {
|
|
|
24
25
|
async getPortalFeatures() {
|
|
25
26
|
return await this.connection.get(`${this.folder}/portal`);
|
|
26
27
|
}
|
|
28
|
+
async setupCredentials(organisationCode, providerCode, request) {
|
|
29
|
+
const header = { "x-assume": organisationCode };
|
|
30
|
+
return await this.connection.post(`credentials/${providerCode}/setup`, request, undefined, header);
|
|
31
|
+
}
|
|
32
|
+
async getAllCredentials(organisationCode) {
|
|
33
|
+
const header = { "x-assume": organisationCode };
|
|
34
|
+
const parameters = { totalCount: false };
|
|
35
|
+
const response = await this.connection.get(`credentials`, parameters, header);
|
|
36
|
+
if (model.ErrorResponse.is(response))
|
|
37
|
+
return response;
|
|
38
|
+
else
|
|
39
|
+
return response.list;
|
|
40
|
+
}
|
|
41
|
+
async updateCredentials(organisationCode, providerCode, request) {
|
|
42
|
+
const header = { "x-assume": organisationCode };
|
|
43
|
+
return await this.connection.put(`credentials/${providerCode}`, request, undefined, header);
|
|
44
|
+
}
|
|
45
|
+
async saveCredentials(organisationCode, providerCode, request) {
|
|
46
|
+
const header = { "x-assume": organisationCode };
|
|
47
|
+
return await this.connection.post(`credentials/${providerCode}`, request, undefined, header);
|
|
48
|
+
}
|
|
27
49
|
}
|
|
28
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Configuration/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Configuration/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC,MAAM,OAAO,aAAa;IAEzB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QADzC,WAAM,GAAG,QAAQ,CAAA;IAC2B,CAAC;IACvD,MAAM,CAAC,MAAM,CAAC,UAAsB;QACnC,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,eAA6B,QAAQ;QAC/D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAa,GAAG,IAAI,CAAC,MAAM,aAAa,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;IACtG,CAAC;IACD,KAAK,CAAC,wBAAwB,CAC7B,OAAiC;QAEjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAA2B,GAAG,IAAI,CAAC,MAAM,eAAe,EAAE,OAAO,CAAC,CAAA;IACpG,CAAC;IACD,KAAK,CAAC,qBAAqB;QAC1B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAA2B,GAAG,IAAI,CAAC,MAAM,eAAe,CAAC,CAAA;IAC1F,CAAC;IACD,KAAK,CAAC,aAAa;QAClB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAmB,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,CAAA;IAC1E,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,OAAyB;QAC/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAmB,GAAG,IAAI,CAAC,MAAM,OAAO,EAAE,OAAO,CAAC,CAAA;IACpF,CAAC;IACD,KAAK,CAAC,iBAAiB;QACtB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAwB,GAAG,IAAI,CAAC,MAAM,SAAS,CAAC,CAAA;IACjF,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,gBAAwB,EACxB,YAA0B,EAC1B,OAAgC;QAEhC,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA;QAC/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAChC,eAAe,YAAY,QAAQ,EACnC,OAAO,EACP,SAAS,EACT,MAAM,CACN,CAAA;IACF,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,gBAAwB;QAC/C,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA;QAC/C,MAAM,UAAU,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACzC,aAAa,EACb,UAAU,EACV,MAAM,CACN,CAAA;QACD,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC;YACnC,OAAO,QAAQ,CAAA;;YAEf,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACtB,gBAAwB,EACxB,YAA0B,EAC1B,OAAgC;QAEhC,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA;QAC/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAC/B,eAAe,YAAY,EAAE,EAC7B,OAAO,EACP,SAAS,EACT,MAAM,CACN,CAAA;IACF,CAAC;IACD,KAAK,CAAC,eAAe,CACpB,gBAAwB,EACxB,YAA0B,EAC1B,OAAgC;QAEhC,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA;QAC/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAChC,eAAe,YAAY,EAAE,EAC7B,OAAO,EACP,SAAS,EACT,MAAM,CACN,CAAA;IACF,CAAC;CACD"}
|
|
@@ -15,7 +15,7 @@ export declare class Connection {
|
|
|
15
15
|
post<Response, Codes = 400 | 403 | 404 | 500>(path: string, request: any, parameters?: Record<string, any>, header?: any): Promise<Response | (model.ErrorResponse & {
|
|
16
16
|
status: Codes | DefaultCodes;
|
|
17
17
|
})>;
|
|
18
|
-
get<Response, Codes = 400 | 403 | 404 | 500>(path: string, parameters?: Record<string, any
|
|
18
|
+
get<Response, Codes = 400 | 403 | 404 | 500>(path: string, parameters?: Record<string, any>, header?: any): Promise<Response | (model.ErrorResponse & {
|
|
19
19
|
status: Codes | DefaultCodes;
|
|
20
20
|
})>;
|
|
21
21
|
put<Response, Codes = 400 | 403 | 404 | 500>(path: string, request: any, parameters?: Record<string, any>, header?: any): Promise<Response | (model.ErrorResponse & {
|
|
@@ -33,7 +33,7 @@ export class Connection {
|
|
|
33
33
|
async fetch(path, method, request, parameters, header) {
|
|
34
34
|
var _a, _b, _c;
|
|
35
35
|
const isMultipart = request && request instanceof FormData;
|
|
36
|
-
const cookie = window.
|
|
36
|
+
const cookie = window.localStorage.getItem("cookie");
|
|
37
37
|
const publicKey = window.sessionStorage.getItem("public-key");
|
|
38
38
|
let requestHeaders = { "x-invoking-system": "portal_2" };
|
|
39
39
|
if (!isMultipart)
|
|
@@ -83,7 +83,7 @@ export class Connection {
|
|
|
83
83
|
if (caughtErrorResponse)
|
|
84
84
|
return caughtErrorResponse;
|
|
85
85
|
if (response && response.headers.has("x-otp-cookie"))
|
|
86
|
-
window.
|
|
86
|
+
window.localStorage.setItem("cookie", (_b = response.headers.get("x-otp-cookie")) !== null && _b !== void 0 ? _b : "");
|
|
87
87
|
if (response && response.status == 403 && response.url.includes("login") && response.headers.has("X-Auth-Token"))
|
|
88
88
|
window.sessionStorage.setItem("authData", JSON.stringify({ token: response.headers.get("X-Auth-Token") }));
|
|
89
89
|
return !response
|
|
@@ -101,8 +101,8 @@ export class Connection {
|
|
|
101
101
|
async post(path, request, parameters, header) {
|
|
102
102
|
return await this.fetch(path, "POST", request, parameters, header);
|
|
103
103
|
}
|
|
104
|
-
async get(path, parameters) {
|
|
105
|
-
return await this.fetch(path, "GET", undefined, parameters);
|
|
104
|
+
async get(path, parameters, header) {
|
|
105
|
+
return await this.fetch(path, "GET", undefined, parameters, header);
|
|
106
106
|
}
|
|
107
107
|
async put(path, request, parameters, header) {
|
|
108
108
|
return await this.fetch(path, "PUT", request, parameters, header);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connection.js","sourceRoot":"../","sources":["Client/Connection.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAInD,MAAM,OAAO,UAAU;IAItB,IAAI,KAAK;QACR,OAAO,uBAAA,IAAI,yBAAO,CAAA;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,KAAyB;QAClC,uBAAA,IAAI,qBAAU,KAAK,MAAA,CAAA;IACpB,CAAC;IACD,YAA6B,GAAW,EAAE,KAAc;QAA3B,QAAG,GAAH,GAAG,CAAQ;QARxC,oCAAe;QACf,yCAAoB;QAQnB,uBAAA,IAAI,qBAAU,KAAK,MAAA,CAAA;IACpB,CAAC;IAED,IAAI,UAAU;QACb,OAAO,uBAAA,IAAI,8BAAY,CAAA;IACxB,CAAC;IACD,IAAI,UAAU,CAAC,KAAyB;QACvC,uBAAA,IAAI,0BAAe,KAAK,MAAA,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,KAAK,CACV,IAAY,EACZ,MAAc,EACd,OAAa,EACb,UAAgC,EAChC,MAAY;;QAEZ,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,YAAY,QAAQ,CAAA;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Connection.js","sourceRoot":"../","sources":["Client/Connection.ts"],"names":[],"mappings":"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"}
|