@or-sdk/data-hub 0.5.0 → 0.8.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.
@@ -160,7 +160,7 @@ var DataHub = (function (_super) {
160
160
  case 3:
161
161
  if (resultList.last) return [3, 1];
162
162
  _a.label = 4;
163
- case 4: return [2, resultFullList];
163
+ case 4: return [2, (0, base_1.makeList)(resultFullList)];
164
164
  }
165
165
  });
166
166
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA2D;AAS3D,yCAAwE;AACxE,6BAAoC;AASpC;IAA6B,2BAAI;IAS/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;IAEM,6BAAW,GAAlB,UAAsB,MAAoB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEY,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;wBAEkE,WAAM,IAAI,CAAC,WAAW,CAAC;gCACzF,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,UAAU;gCACjB,IAAI,MAAA;6BACL,CAAC,EAAA;;wBAJoC,MAAM,GAAwB,CAAA,SAIlE,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;IAEY,6BAAW,GAAxB,UAA4B,MAA8B,EAAE,KAAa,EAAE,IAAwB;;;;;;wBAE7F,cAAc,GAAQ,EAAE,CAAC;;4BAGZ,WAAM,IAAI,CAAC,WAAW,CAAqB;4BACxD,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,cAAc,EAAC;;;;KACvB;IAEH,cAAC;AAAD,CAAC,AAzFD,CAA6B,WAAI,GAyFhC;AAzFY,0BAAO"}
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"}
@@ -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 {
@@ -70,7 +70,7 @@ export class DataHub extends Base {
70
70
  resultFullList = [...resultFullList, ...resultList.records];
71
71
  data.variables.params = Object.assign(Object.assign({}, data.variables.params), { last: resultList.last });
72
72
  } while (resultList.last);
73
- return resultFullList;
73
+ return makeList(resultFullList);
74
74
  });
75
75
  }
76
76
  }
@@ -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;AAS3D,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;IAS/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;IAEM,WAAW,CAAI,MAAoB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEY,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,GAAoB,MAAM,IAAI,CAAC,WAAW,CAAC;oBACzF,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;IAEY,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,CAAqB;oBACxD,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,cAAc,CAAC;QACxB,CAAC;KAAA;CAEF"}
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"}
@@ -1,8 +1,8 @@
1
- import { Base, CalApiParams } from '@or-sdk/base';
2
- import { DataHubConfig, SubscribeResultData, GraphqlRequestData } from './types';
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<SubscribeResultData>;
7
- getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<T[]>;
6
+ subscribe(requestId: string): Promise<GraphqlResponseCheckExecution>;
7
+ getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<List<T>>;
8
8
  }
@@ -3,25 +3,6 @@ export declare type DataHubConfig = {
3
3
  token: Token;
4
4
  discoveryUrl: string;
5
5
  };
6
- export declare type SubscribeResultData = {
7
- status?: string;
8
- __deleted__?: {
9
- deletedDate: number;
10
- isCascade: {
11
- BOOL: boolean;
12
- };
13
- isOrphan: {
14
- BOOL: boolean;
15
- };
16
- };
17
- error?: string;
18
- stack?: string;
19
- };
20
- export declare type SubscribeResult = {
21
- data: {
22
- checkExecutionResult: SubscribeResultData;
23
- };
24
- };
25
6
  export declare type GraphqlRequestData = {
26
7
  operationName: string;
27
8
  query: string;
@@ -36,8 +17,44 @@ export declare type GraphqlResponseList<T> = {
36
17
  last?: string;
37
18
  records: T[];
38
19
  };
39
- export declare type GraphqlResponse<T> = {
40
- data: {
20
+ export declare type GraphqlResponseDelete = {
21
+ requestId: string;
22
+ };
23
+ export declare type GraphqlResponseCheckExecution = {
24
+ status?: string;
25
+ __deleted__?: {
26
+ deletedDate: number;
27
+ isCascade: {
28
+ BOOL: boolean;
29
+ };
30
+ isOrphan: {
31
+ BOOL: boolean;
32
+ };
33
+ };
34
+ error?: string;
35
+ stack?: string;
36
+ };
37
+ interface GraphqlResponseVariations<T> {
38
+ list: {
41
39
  list: GraphqlResponseList<T>;
42
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;
55
+ };
56
+ }
57
+ export declare type GraphqlResponse<key extends keyof GraphqlResponseVariations<void>, T> = {
58
+ data: GraphqlResponseVariations<T>[key];
43
59
  };
60
+ export {};
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.5.0",
2
+ "version": "0.8.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.5.0",
27
+ "@or-sdk/base": "^0.8.0",
28
28
  "uuid": "^8.3.2"
29
29
  },
30
- "gitHead": "26a6532bede3f10b83865957ae21e4d19240019f"
30
+ "gitHead": "da566635aafed274ea7a9abbc788d6a4961ff9a2"
31
31
  }
package/src/DataHub.ts CHANGED
@@ -1,18 +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
- SubscribeResult,
5
- SubscribeResultData,
6
4
  GraphqlRequestData,
7
5
  GraphqlResponseList,
8
- GraphqlResponse,
6
+ GraphqlResponse, GraphqlResponseCheckExecution,
9
7
  } from './types';
10
8
  import { SERVICE_KEY, QUERY_CHECK_EXECUTION_RESULT } from './constants';
11
9
  import { v4 as uuidv4 } from 'uuid';
12
10
 
13
11
  /**
14
12
  * OneReach DataHub service client
15
- * ## Installation:
13
+ * ## Installation:
16
14
  * ```
17
15
  * $ npm i @or-sdk/data-hub
18
16
  * ```
@@ -20,10 +18,8 @@ import { v4 as uuidv4 } from 'uuid';
20
18
  export class DataHub extends Base {
21
19
  /**
22
20
  * ```typescript
23
- *
24
21
  * import { DataHub } from '@or-sdk/data-hub'
25
22
  * const dataHub = new DataHub({token: 'my-account-token-string', discoveryUrl: 'http://example.tables/endpoint'});
26
- *
27
23
  * ```
28
24
  */
29
25
  constructor(params: DataHubConfig) {
@@ -37,11 +33,28 @@ export class DataHub extends Base {
37
33
  });
38
34
  }
39
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
+ */
40
47
  public makeRequest<T>(params: CalApiParams): Promise<T> {
41
- return this.callApi(params);
48
+ return this.callApi<T>(params);
42
49
  }
43
50
 
44
- public async subscribe(requestId: string): Promise<SubscribeResultData> {
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> {
45
58
  if (!requestId) {
46
59
  throw new Error('subscription error: requestId is required');
47
60
  }
@@ -63,7 +76,7 @@ export class DataHub extends Base {
63
76
  variables,
64
77
  };
65
78
 
66
- const { data: { checkExecutionResult: result } }: SubscribeResult = await this.makeRequest({
79
+ const { data: { checkExecutionResult: result } } = await this.makeRequest<GraphqlResponse<'checkExecutionResult', undefined>>({
67
80
  method: 'POST',
68
81
  route: '/graphql',
69
82
  data,
@@ -82,12 +95,18 @@ export class DataHub extends Base {
82
95
  throw new Error('subscription error: polling is too long');
83
96
  }
84
97
 
85
- public async getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<T[]> {
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>> {
86
105
  let resultList: GraphqlResponseList<T>;
87
106
  let resultFullList: T[] = [];
88
107
 
89
108
  do {
90
- const result = await this.makeRequest<GraphqlResponse<T>>({
109
+ const result = await this.makeRequest<GraphqlResponse<'list', T>>({
91
110
  method,
92
111
  route,
93
112
  data,
@@ -103,7 +122,7 @@ export class DataHub extends Base {
103
122
 
104
123
  } while (resultList.last);
105
124
 
106
- return resultFullList;
125
+ return makeList<T>(resultFullList);
107
126
  }
108
127
 
109
128
  }
package/src/types.ts CHANGED
@@ -12,27 +12,6 @@ export type DataHubConfig = {
12
12
  discoveryUrl: string;
13
13
  };
14
14
 
15
- export type SubscribeResultData = {
16
- status?: string;
17
- __deleted__?: {
18
- deletedDate: number;
19
- isCascade: {
20
- BOOL: boolean;
21
- };
22
- isOrphan: {
23
- BOOL: boolean;
24
- };
25
- };
26
- error?: string;
27
- stack?: string;
28
- };
29
-
30
- export type SubscribeResult = {
31
- data: {
32
- checkExecutionResult: SubscribeResultData;
33
- };
34
- };
35
-
36
15
  export type GraphqlRequestData = {
37
16
  operationName: string;
38
17
  query: string;
@@ -49,8 +28,34 @@ export type GraphqlResponseList<T> = {
49
28
  records: T[];
50
29
  };
51
30
 
52
- export type GraphqlResponse<T> = {
53
- data: {
54
- list: GraphqlResponseList<T>;
31
+ export type GraphqlResponseDelete = {
32
+ requestId: string;
33
+ };
34
+
35
+ export type GraphqlResponseCheckExecution = {
36
+ status?: string;
37
+ __deleted__?: {
38
+ deletedDate: number;
39
+ isCascade: {
40
+ BOOL: boolean;
41
+ };
42
+ isOrphan: {
43
+ BOOL: boolean;
44
+ };
55
45
  };
46
+ error?: string;
47
+ stack?: string;
48
+ };
49
+
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];
56
61
  };