@or-sdk/data-hub 0.4.0 → 0.7.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/cjs/DataHub.js +49 -2
- package/dist/cjs/DataHub.js.map +1 -1
- package/dist/esm/DataHub.js +20 -3
- package/dist/esm/DataHub.js.map +1 -1
- package/dist/types/DataHub.d.ts +4 -3
- package/dist/types/types.d.ts +40 -4
- package/package.json +3 -3
- package/src/DataHub.ts +58 -12
- package/src/types.ts +33 -6
package/dist/cjs/DataHub.js
CHANGED
|
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
17
28
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
29
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
30
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -50,6 +61,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
50
61
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
62
|
}
|
|
52
63
|
};
|
|
64
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
65
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
66
|
+
if (ar || !(i in from)) {
|
|
67
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
68
|
+
ar[i] = from[i];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
72
|
+
};
|
|
53
73
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
74
|
exports.DataHub = void 0;
|
|
55
75
|
var base_1 = require("@or-sdk/base");
|
|
@@ -89,12 +109,12 @@ var DataHub = (function (_super) {
|
|
|
89
109
|
_a.sent();
|
|
90
110
|
variables = {
|
|
91
111
|
requestId: requestId,
|
|
92
|
-
hash: (0, uuid_1.v4)()
|
|
112
|
+
hash: (0, uuid_1.v4)(),
|
|
93
113
|
};
|
|
94
114
|
data = {
|
|
95
115
|
operationName: 'checkExecutionResult',
|
|
96
116
|
query: constants_1.QUERY_CHECK_EXECUTION_RESULT,
|
|
97
|
-
variables: variables
|
|
117
|
+
variables: variables,
|
|
98
118
|
};
|
|
99
119
|
return [4, this.makeRequest({
|
|
100
120
|
method: 'POST',
|
|
@@ -118,6 +138,33 @@ var DataHub = (function (_super) {
|
|
|
118
138
|
});
|
|
119
139
|
});
|
|
120
140
|
};
|
|
141
|
+
DataHub.prototype.getFullList = function (method, route, data) {
|
|
142
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
143
|
+
var resultList, resultFullList, result;
|
|
144
|
+
return __generator(this, function (_a) {
|
|
145
|
+
switch (_a.label) {
|
|
146
|
+
case 0:
|
|
147
|
+
resultFullList = [];
|
|
148
|
+
_a.label = 1;
|
|
149
|
+
case 1: return [4, this.makeRequest({
|
|
150
|
+
method: method,
|
|
151
|
+
route: route,
|
|
152
|
+
data: data,
|
|
153
|
+
})];
|
|
154
|
+
case 2:
|
|
155
|
+
result = _a.sent();
|
|
156
|
+
resultList = result.data.list;
|
|
157
|
+
resultFullList = __spreadArray(__spreadArray([], resultFullList, true), resultList.records, true);
|
|
158
|
+
data.variables.params = __assign(__assign({}, data.variables.params), { last: resultList.last });
|
|
159
|
+
_a.label = 3;
|
|
160
|
+
case 3:
|
|
161
|
+
if (resultList.last) return [3, 1];
|
|
162
|
+
_a.label = 4;
|
|
163
|
+
case 4: return [2, (0, base_1.makeList)(resultFullList)];
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
};
|
|
121
168
|
return DataHub;
|
|
122
169
|
}(base_1.Base));
|
|
123
170
|
exports.DataHub = DataHub;
|
package/dist/cjs/DataHub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA2E;AAO3E,yCAAwE;AACxE,6BAAoC;AASpC;IAA6B,2BAAI;IAO/B,iBAAY,MAAqB;QAAjC,iBASC;QARS,IAAA,KAAK,GAAmB,MAAM,MAAzB,EAAE,YAAY,GAAK,MAAM,aAAX,CAAY;QAEvC,QAAA,kBAAM;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC,SAAC;;IACL,CAAC;IAaM,6BAAW,GAAlB,UAAsB,MAAoB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;IACjC,CAAC;IAQY,2BAAS,GAAtB,UAAuB,SAAiB;;;;;;wBACtC,IAAI,CAAC,SAAS,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;yBAC9D;wBAEG,OAAO,GAAG,CAAC,CAAC;;;wBAGd,OAAO,EAAE,CAAC;wBACV,WAAM,IAAA,cAAO,EAAC,IAAI,CAAC,EAAA;;wBAAnB,SAAmB,CAAC;wBAEd,SAAS,GAAG;4BAChB,SAAS,WAAA;4BACT,IAAI,EAAE,IAAA,SAAM,GAAE;yBACf,CAAC;wBAEI,IAAI,GAAG;4BACX,aAAa,EAAE,sBAAsB;4BACrC,KAAK,EAAE,wCAA4B;4BACnC,SAAS,WAAA;yBACV,CAAC;wBAEiD,WAAM,IAAI,CAAC,WAAW,CAAqD;gCAC5H,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,UAAU;gCACjB,IAAI,MAAA;6BACL,CAAC,EAAA;;wBAJoC,MAAM,GAAO,CAAA,SAIjD,CAAA,0BAJ0C;wBAM5C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;4BAC/B,IAAI,MAAM,CAAC,KAAK,EAAE;gCAChB,MAAM,MAAM,CAAC,KAAK,CAAC;6BACpB;4BAED,WAAO,MAAM,EAAC;yBACf;;;4BAEM,OAAO,GAAG,GAAG;;4BAEtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;;;;KAC5D;IAQY,6BAAW,GAAxB,UAA4B,MAA8B,EAAE,KAAa,EAAE,IAAwB;;;;;;wBAE7F,cAAc,GAAQ,EAAE,CAAC;;4BAGZ,WAAM,IAAI,CAAC,WAAW,CAA6B;4BAChE,MAAM,QAAA;4BACN,KAAK,OAAA;4BACL,IAAI,MAAA;yBACL,CAAC,EAAA;;wBAJI,MAAM,GAAG,SAIb;wBAEF,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC9B,cAAc,mCAAO,cAAc,SAAK,UAAU,CAAC,OAAO,OAAC,CAAC;wBAE5D,IAAI,CAAC,SAAS,CAAC,MAAM,yBAChB,IAAI,CAAC,SAAS,CAAC,MAAM,KACxB,IAAI,EAAE,UAAU,CAAC,IAAI,GACtB,CAAC;;;4BAEK,UAAU,CAAC,IAAI;;4BAExB,WAAO,IAAA,eAAQ,EAAI,cAAc,CAAC,EAAC;;;;KACpC;IAEH,cAAC;AAAD,CAAC,AA9GD,CAA6B,WAAI,GA8GhC;AA9GY,0BAAO"}
|
package/dist/esm/DataHub.js
CHANGED
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { Base, timeout } from '@or-sdk/base';
|
|
10
|
+
import { Base, timeout, makeList } from '@or-sdk/base';
|
|
11
11
|
import { SERVICE_KEY, QUERY_CHECK_EXECUTION_RESULT } from './constants';
|
|
12
12
|
import { v4 as uuidv4 } from 'uuid';
|
|
13
13
|
export class DataHub extends Base {
|
|
@@ -34,12 +34,12 @@ export class DataHub extends Base {
|
|
|
34
34
|
yield timeout(1000);
|
|
35
35
|
const variables = {
|
|
36
36
|
requestId,
|
|
37
|
-
hash: uuidv4()
|
|
37
|
+
hash: uuidv4(),
|
|
38
38
|
};
|
|
39
39
|
const data = {
|
|
40
40
|
operationName: 'checkExecutionResult',
|
|
41
41
|
query: QUERY_CHECK_EXECUTION_RESULT,
|
|
42
|
-
variables
|
|
42
|
+
variables,
|
|
43
43
|
};
|
|
44
44
|
const { data: { checkExecutionResult: result } } = yield this.makeRequest({
|
|
45
45
|
method: 'POST',
|
|
@@ -56,5 +56,22 @@ export class DataHub extends Base {
|
|
|
56
56
|
throw new Error('subscription error: polling is too long');
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
+
getFullList(method, route, data) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
let resultList;
|
|
62
|
+
let resultFullList = [];
|
|
63
|
+
do {
|
|
64
|
+
const result = yield this.makeRequest({
|
|
65
|
+
method,
|
|
66
|
+
route,
|
|
67
|
+
data,
|
|
68
|
+
});
|
|
69
|
+
resultList = result.data.list;
|
|
70
|
+
resultFullList = [...resultFullList, ...resultList.records];
|
|
71
|
+
data.variables.params = Object.assign(Object.assign({}, data.variables.params), { last: resultList.last });
|
|
72
|
+
} while (resultList.last);
|
|
73
|
+
return makeList(resultFullList);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
59
76
|
}
|
|
60
77
|
//# sourceMappingURL=DataHub.js.map
|
package/dist/esm/DataHub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAgB,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAgB,OAAO,EAAQ,QAAQ,EAAE,MAAM,cAAc,CAAC;AAO3E,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AASpC,MAAM,OAAO,OAAQ,SAAQ,IAAI;IAO/B,YAAY,MAAqB;QAC/B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAEvC,KAAK,CAAC;YACJ,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,WAAW;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAaM,WAAW,CAAI,MAAoB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;IACjC,CAAC;IAQY,SAAS,CAAC,SAAiB;;YACtC,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC9D;YAED,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,GAAG;gBACD,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEpB,MAAM,SAAS,GAAG;oBAChB,SAAS;oBACT,IAAI,EAAE,MAAM,EAAE;iBACf,CAAC;gBAEF,MAAM,IAAI,GAAG;oBACX,aAAa,EAAE,sBAAsB;oBACrC,KAAK,EAAE,4BAA4B;oBACnC,SAAS;iBACV,CAAC;gBAEF,MAAM,EAAE,IAAI,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAqD;oBAC5H,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,UAAU;oBACjB,IAAI;iBACL,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;oBAC/B,IAAI,MAAM,CAAC,KAAK,EAAE;wBAChB,MAAM,MAAM,CAAC,KAAK,CAAC;qBACpB;oBAED,OAAO,MAAM,CAAC;iBACf;aAEF,QAAQ,OAAO,GAAG,GAAG,EAAE;YAExB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;KAAA;IAQY,WAAW,CAAI,MAA8B,EAAE,KAAa,EAAE,IAAwB;;YACjG,IAAI,UAAkC,CAAC;YACvC,IAAI,cAAc,GAAQ,EAAE,CAAC;YAE7B,GAAG;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAA6B;oBAChE,MAAM;oBACN,KAAK;oBACL,IAAI;iBACL,CAAC,CAAC;gBAEH,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,cAAc,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBAE5D,IAAI,CAAC,SAAS,CAAC,MAAM,mCAChB,IAAI,CAAC,SAAS,CAAC,MAAM,KACxB,IAAI,EAAE,UAAU,CAAC,IAAI,GACtB,CAAC;aAEH,QAAQ,UAAU,CAAC,IAAI,EAAE;YAE1B,OAAO,QAAQ,CAAI,cAAc,CAAC,CAAC;QACrC,CAAC;KAAA;CAEF"}
|
package/dist/types/DataHub.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Base, CalApiParams } from '@or-sdk/base';
|
|
2
|
-
import { DataHubConfig,
|
|
1
|
+
import { Base, CalApiParams, List } from '@or-sdk/base';
|
|
2
|
+
import { DataHubConfig, GraphqlRequestData, GraphqlResponseCheckExecution } from './types';
|
|
3
3
|
export declare class DataHub extends Base {
|
|
4
4
|
constructor(params: DataHubConfig);
|
|
5
5
|
makeRequest<T>(params: CalApiParams): Promise<T>;
|
|
6
|
-
subscribe(requestId: string): Promise<
|
|
6
|
+
subscribe(requestId: string): Promise<GraphqlResponseCheckExecution>;
|
|
7
|
+
getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<List<T>>;
|
|
7
8
|
}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -3,7 +3,24 @@ export declare type DataHubConfig = {
|
|
|
3
3
|
token: Token;
|
|
4
4
|
discoveryUrl: string;
|
|
5
5
|
};
|
|
6
|
-
export declare type
|
|
6
|
+
export declare type GraphqlRequestData = {
|
|
7
|
+
operationName: string;
|
|
8
|
+
query: string;
|
|
9
|
+
variables: {
|
|
10
|
+
params: {
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
};
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export declare type GraphqlResponseList<T> = {
|
|
17
|
+
last?: string;
|
|
18
|
+
records: T[];
|
|
19
|
+
};
|
|
20
|
+
export declare type GraphqlResponseDelete = {
|
|
21
|
+
requestId: string;
|
|
22
|
+
};
|
|
23
|
+
export declare type GraphqlResponseCheckExecution = {
|
|
7
24
|
status?: string;
|
|
8
25
|
__deleted__?: {
|
|
9
26
|
deletedDate: number;
|
|
@@ -17,8 +34,27 @@ export declare type SubscribeResultData = {
|
|
|
17
34
|
error?: string;
|
|
18
35
|
stack?: string;
|
|
19
36
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
interface GraphqlResponseVariations<T> {
|
|
38
|
+
list: {
|
|
39
|
+
list: GraphqlResponseList<T>;
|
|
40
|
+
};
|
|
41
|
+
get: {
|
|
42
|
+
get: T;
|
|
43
|
+
};
|
|
44
|
+
create: {
|
|
45
|
+
create: T;
|
|
46
|
+
};
|
|
47
|
+
update: {
|
|
48
|
+
update: T;
|
|
49
|
+
};
|
|
50
|
+
deleteTemporarily: {
|
|
51
|
+
deleteTemporarily: GraphqlResponseDelete;
|
|
52
|
+
};
|
|
53
|
+
checkExecutionResult: {
|
|
54
|
+
checkExecutionResult: GraphqlResponseCheckExecution;
|
|
23
55
|
};
|
|
56
|
+
}
|
|
57
|
+
export declare type GraphqlResponse<key extends keyof GraphqlResponseVariations<void>, T> = {
|
|
58
|
+
data: GraphqlResponseVariations<T>[key];
|
|
24
59
|
};
|
|
60
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.7.0",
|
|
3
3
|
"name": "@or-sdk/data-hub",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@or-sdk/base": "^0.
|
|
27
|
+
"@or-sdk/base": "^0.7.0",
|
|
28
28
|
"uuid": "^8.3.2"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "836cfcb137cdc452b1ee3088fec811d1f4901255"
|
|
31
31
|
}
|
package/src/DataHub.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { Base, CalApiParams, timeout } from '@or-sdk/base';
|
|
1
|
+
import { Base, CalApiParams, timeout, List, makeList } from '@or-sdk/base';
|
|
2
2
|
import {
|
|
3
3
|
DataHubConfig,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
GraphqlRequestData,
|
|
5
|
+
GraphqlResponseList,
|
|
6
|
+
GraphqlResponse, GraphqlResponseCheckExecution,
|
|
6
7
|
} from './types';
|
|
7
8
|
import { SERVICE_KEY, QUERY_CHECK_EXECUTION_RESULT } from './constants';
|
|
8
9
|
import { v4 as uuidv4 } from 'uuid';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* OneReach DataHub service client
|
|
12
|
-
*
|
|
13
|
+
* ## Installation:
|
|
13
14
|
* ```
|
|
14
15
|
* $ npm i @or-sdk/data-hub
|
|
15
16
|
* ```
|
|
@@ -17,10 +18,8 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
17
18
|
export class DataHub extends Base {
|
|
18
19
|
/**
|
|
19
20
|
* ```typescript
|
|
20
|
-
*
|
|
21
21
|
* import { DataHub } from '@or-sdk/data-hub'
|
|
22
22
|
* const dataHub = new DataHub({token: 'my-account-token-string', discoveryUrl: 'http://example.tables/endpoint'});
|
|
23
|
-
*
|
|
24
23
|
* ```
|
|
25
24
|
*/
|
|
26
25
|
constructor(params: DataHubConfig) {
|
|
@@ -34,11 +33,28 @@ export class DataHub extends Base {
|
|
|
34
33
|
});
|
|
35
34
|
}
|
|
36
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Make request
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const result = await dataHub.makeRequest({
|
|
40
|
+
* route: '/route',
|
|
41
|
+
* method: 'GET',
|
|
42
|
+
* data: requestData,
|
|
43
|
+
* params: queryParams,
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
37
47
|
public makeRequest<T>(params: CalApiParams): Promise<T> {
|
|
38
|
-
return this.callApi(params);
|
|
48
|
+
return this.callApi<T>(params);
|
|
39
49
|
}
|
|
40
50
|
|
|
41
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Subscribe for result
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const result = await dataHub.subscribe('request-id');
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
public async subscribe(requestId: string): Promise<GraphqlResponseCheckExecution> {
|
|
42
58
|
if (!requestId) {
|
|
43
59
|
throw new Error('subscription error: requestId is required');
|
|
44
60
|
}
|
|
@@ -51,16 +67,16 @@ export class DataHub extends Base {
|
|
|
51
67
|
|
|
52
68
|
const variables = {
|
|
53
69
|
requestId,
|
|
54
|
-
hash: uuidv4()
|
|
70
|
+
hash: uuidv4(),
|
|
55
71
|
};
|
|
56
72
|
|
|
57
73
|
const data = {
|
|
58
74
|
operationName: 'checkExecutionResult',
|
|
59
75
|
query: QUERY_CHECK_EXECUTION_RESULT,
|
|
60
|
-
variables
|
|
76
|
+
variables,
|
|
61
77
|
};
|
|
62
78
|
|
|
63
|
-
const { data: { checkExecutionResult: result } }
|
|
79
|
+
const { data: { checkExecutionResult: result } } = await this.makeRequest<GraphqlResponse<'checkExecutionResult', undefined>>({
|
|
64
80
|
method: 'POST',
|
|
65
81
|
route: '/graphql',
|
|
66
82
|
data,
|
|
@@ -71,7 +87,7 @@ export class DataHub extends Base {
|
|
|
71
87
|
throw result.error;
|
|
72
88
|
}
|
|
73
89
|
|
|
74
|
-
return result
|
|
90
|
+
return result;
|
|
75
91
|
}
|
|
76
92
|
|
|
77
93
|
} while (counter < 100);
|
|
@@ -79,4 +95,34 @@ export class DataHub extends Base {
|
|
|
79
95
|
throw new Error('subscription error: polling is too long');
|
|
80
96
|
}
|
|
81
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Get full list from paginated request
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const result = await dataHub.getFullList('POST', '/route', requestData);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
public async getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<List<T>> {
|
|
105
|
+
let resultList: GraphqlResponseList<T>;
|
|
106
|
+
let resultFullList: T[] = [];
|
|
107
|
+
|
|
108
|
+
do {
|
|
109
|
+
const result = await this.makeRequest<GraphqlResponse<'list', T>>({
|
|
110
|
+
method,
|
|
111
|
+
route,
|
|
112
|
+
data,
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
resultList = result.data.list;
|
|
116
|
+
resultFullList = [...resultFullList, ...resultList.records];
|
|
117
|
+
|
|
118
|
+
data.variables.params = {
|
|
119
|
+
...data.variables.params,
|
|
120
|
+
last: resultList.last,
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
} while (resultList.last);
|
|
124
|
+
|
|
125
|
+
return makeList<T>(resultFullList);
|
|
126
|
+
}
|
|
127
|
+
|
|
82
128
|
}
|
package/src/types.ts
CHANGED
|
@@ -12,7 +12,27 @@ export type DataHubConfig = {
|
|
|
12
12
|
discoveryUrl: string;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
export type
|
|
15
|
+
export type GraphqlRequestData = {
|
|
16
|
+
operationName: string;
|
|
17
|
+
query: string;
|
|
18
|
+
variables: {
|
|
19
|
+
params: {
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
};
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export type GraphqlResponseList<T> = {
|
|
27
|
+
last?: string;
|
|
28
|
+
records: T[];
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type GraphqlResponseDelete = {
|
|
32
|
+
requestId: string;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type GraphqlResponseCheckExecution = {
|
|
16
36
|
status?: string;
|
|
17
37
|
__deleted__?: {
|
|
18
38
|
deletedDate: number;
|
|
@@ -21,14 +41,21 @@ export type SubscribeResultData = {
|
|
|
21
41
|
};
|
|
22
42
|
isOrphan: {
|
|
23
43
|
BOOL: boolean;
|
|
24
|
-
}
|
|
44
|
+
};
|
|
25
45
|
};
|
|
26
46
|
error?: string;
|
|
27
47
|
stack?: string;
|
|
28
48
|
};
|
|
29
49
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
50
|
+
interface GraphqlResponseVariations<T> {
|
|
51
|
+
list: { list: GraphqlResponseList<T>; };
|
|
52
|
+
get: { get: T; };
|
|
53
|
+
create: { create: T; };
|
|
54
|
+
update: { update: T; };
|
|
55
|
+
deleteTemporarily: { deleteTemporarily: GraphqlResponseDelete; };
|
|
56
|
+
checkExecutionResult: { checkExecutionResult: GraphqlResponseCheckExecution; };
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export type GraphqlResponse<key extends keyof GraphqlResponseVariations<void>, T> = {
|
|
60
|
+
data: GraphqlResponseVariations<T>[key];
|
|
34
61
|
};
|