@dc-qash/sdk 1.1.0 → 1.2.0
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/dist/lib.d.ts +30 -1
- package/dist/lib.js +74 -4
- package/package.json +1 -1
package/dist/lib.d.ts
CHANGED
|
@@ -37,18 +37,47 @@ export type IndividualAccountHolder = BaseAccountHolder & {
|
|
|
37
37
|
external_id: string | null;
|
|
38
38
|
};
|
|
39
39
|
export type AccountHolder = IndividualAccountHolder;
|
|
40
|
+
export type AccountListQuery = {
|
|
41
|
+
partner?: string | string[];
|
|
42
|
+
type?: string | string[];
|
|
43
|
+
holder?: string | string[];
|
|
44
|
+
currency?: string | string[];
|
|
45
|
+
};
|
|
46
|
+
export type CurrencyExchangeRate = {
|
|
47
|
+
currency: string;
|
|
48
|
+
rate: number;
|
|
49
|
+
};
|
|
50
|
+
export type CurrencySymbol = {
|
|
51
|
+
value: string;
|
|
52
|
+
is_after: boolean;
|
|
53
|
+
};
|
|
54
|
+
export type Currency = {
|
|
55
|
+
_id: string;
|
|
56
|
+
code: string;
|
|
57
|
+
name: string;
|
|
58
|
+
symbol: CurrencySymbol;
|
|
59
|
+
exchange_rates: CurrencyExchangeRate[];
|
|
60
|
+
};
|
|
40
61
|
export default class QashSDK {
|
|
41
62
|
apiKey: string;
|
|
42
63
|
environment: QashAPIEnv;
|
|
43
64
|
constructor(apiKey: string, environment?: QashAPIEnv);
|
|
44
65
|
getAuthorizedPartner(): Promise<Partner>;
|
|
45
66
|
CBS: QashCBS;
|
|
67
|
+
Datasets: QashDatasets;
|
|
68
|
+
}
|
|
69
|
+
declare class QashDatasets {
|
|
70
|
+
#private;
|
|
71
|
+
constructor(sdk: QashSDK);
|
|
72
|
+
getCurrencies(): Promise<Currency[]>;
|
|
73
|
+
getCurrency(currency_id: string): Promise<Currency>;
|
|
46
74
|
}
|
|
47
75
|
declare class QashCBS {
|
|
48
76
|
#private;
|
|
49
77
|
constructor(sdk: QashSDK);
|
|
50
78
|
getAccountHolders(): Promise<AccountHolder[]>;
|
|
51
|
-
getAccounts(): Promise<any[]>;
|
|
79
|
+
getAccounts(query?: AccountListQuery): Promise<any[]>;
|
|
80
|
+
getAccountHolder(account_holder_id: string): Promise<AccountHolder>;
|
|
52
81
|
createIndividualAccountHolder(data: IndividualAccountHolderCreationData): Promise<AccountHolder>;
|
|
53
82
|
}
|
|
54
83
|
export {};
|
package/dist/lib.js
CHANGED
|
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _QashCBS_sdk;
|
|
12
|
+
var _QashDatasets_sdk, _QashCBS_sdk;
|
|
13
13
|
// Types
|
|
14
14
|
export var QashAPIEnv;
|
|
15
15
|
(function (QashAPIEnv) {
|
|
@@ -18,12 +18,32 @@ export var QashAPIEnv;
|
|
|
18
18
|
QashAPIEnv["DEV"] = "https://api.dev.qash.cloud";
|
|
19
19
|
})(QashAPIEnv || (QashAPIEnv = {}));
|
|
20
20
|
;
|
|
21
|
+
// Util: build query value
|
|
22
|
+
function buildQueryValue(value) {
|
|
23
|
+
return Array.isArray(value) ? value.join(',') : value;
|
|
24
|
+
}
|
|
25
|
+
// Util: build query
|
|
26
|
+
function buildQuery(query) {
|
|
27
|
+
if (Object.keys(query).length == 0)
|
|
28
|
+
return "";
|
|
29
|
+
const kV = {};
|
|
30
|
+
for (let i in query) {
|
|
31
|
+
if (typeof query[i] !== "string" && !Array.isArray(query[i]))
|
|
32
|
+
continue;
|
|
33
|
+
if (Array.isArray(query[i]))
|
|
34
|
+
query[i] = query[i].filter((f) => typeof f === "string");
|
|
35
|
+
kV[i] = buildQueryValue(query[i]);
|
|
36
|
+
}
|
|
37
|
+
const built = Object.entries(kV).map(([k, v]) => `${k}=${v}`).join('&');
|
|
38
|
+
return '?' + built;
|
|
39
|
+
}
|
|
21
40
|
// SDK
|
|
22
41
|
export default class QashSDK {
|
|
23
42
|
constructor(apiKey, environment = QashAPIEnv.PRODUCTION) {
|
|
24
43
|
this.apiKey = apiKey;
|
|
25
44
|
this.environment = environment;
|
|
26
45
|
this.CBS = new QashCBS(this);
|
|
46
|
+
this.Datasets = new QashDatasets(this);
|
|
27
47
|
}
|
|
28
48
|
// Get authorized partner
|
|
29
49
|
getAuthorizedPartner() {
|
|
@@ -40,6 +60,42 @@ export default class QashSDK {
|
|
|
40
60
|
});
|
|
41
61
|
}
|
|
42
62
|
}
|
|
63
|
+
// Datasets
|
|
64
|
+
class QashDatasets {
|
|
65
|
+
constructor(sdk) {
|
|
66
|
+
_QashDatasets_sdk.set(this, void 0);
|
|
67
|
+
__classPrivateFieldSet(this, _QashDatasets_sdk, sdk, "f");
|
|
68
|
+
}
|
|
69
|
+
// Get currencies
|
|
70
|
+
getCurrencies() {
|
|
71
|
+
return new Promise(async (resolve, reject) => {
|
|
72
|
+
try {
|
|
73
|
+
let _q = await fetch(`${__classPrivateFieldGet(this, _QashDatasets_sdk, "f").environment}/datasets/currencies`).then(r => r.json());
|
|
74
|
+
if (_q.error || _q.errors)
|
|
75
|
+
throw _q.errors || [_q.error];
|
|
76
|
+
return resolve(_q);
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
reject(Array.isArray(e) ? e : ["unexpected_issue"]);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// Get currency
|
|
84
|
+
getCurrency(currency_id) {
|
|
85
|
+
return new Promise(async (resolve, reject) => {
|
|
86
|
+
try {
|
|
87
|
+
let _q = await fetch(`${__classPrivateFieldGet(this, _QashDatasets_sdk, "f").environment}/datasets/currency/${currency_id}`).then(r => r.json());
|
|
88
|
+
if (_q.error || _q.errors)
|
|
89
|
+
throw _q.errors || [_q.error];
|
|
90
|
+
return resolve(_q);
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
reject(Array.isArray(e) ? e : ["unexpected_issue"]);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
_QashDatasets_sdk = new WeakMap();
|
|
43
99
|
// CBS
|
|
44
100
|
class QashCBS {
|
|
45
101
|
constructor(sdk) {
|
|
@@ -63,11 +119,25 @@ class QashCBS {
|
|
|
63
119
|
}
|
|
64
120
|
// Get accounts
|
|
65
121
|
// TODO: Account type
|
|
66
|
-
|
|
67
|
-
|
|
122
|
+
getAccounts(query = {}) {
|
|
123
|
+
return new Promise(async (resolve, reject) => {
|
|
124
|
+
const builtQuery = buildQuery(query);
|
|
125
|
+
try {
|
|
126
|
+
let _q = await fetch(`${__classPrivateFieldGet(this, _QashCBS_sdk, "f").environment}/v1/cbs/accounts${builtQuery}`, { headers: { Authorization: `Basic ${__classPrivateFieldGet(this, _QashCBS_sdk, "f").apiKey}` } }).then(r => r.json());
|
|
127
|
+
if (_q.error || _q.errors)
|
|
128
|
+
throw _q.errors || [_q.error];
|
|
129
|
+
return resolve(_q);
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
reject(Array.isArray(e) ? e : ["unexpected_issue"]);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// Get account holder
|
|
137
|
+
getAccountHolder(account_holder_id) {
|
|
68
138
|
return new Promise(async (resolve, reject) => {
|
|
69
139
|
try {
|
|
70
|
-
let _q = await fetch(`${__classPrivateFieldGet(this, _QashCBS_sdk, "f").environment}/v1/cbs/
|
|
140
|
+
let _q = await fetch(`${__classPrivateFieldGet(this, _QashCBS_sdk, "f").environment}/v1/cbs/account-holder/${account_holder_id}`, { headers: { Authorization: `Basic ${__classPrivateFieldGet(this, _QashCBS_sdk, "f").apiKey}` } }).then(r => r.json());
|
|
71
141
|
if (_q.error || _q.errors)
|
|
72
142
|
throw _q.errors || [_q.error];
|
|
73
143
|
return resolve(_q);
|