@dhis2/app-service-data 3.4.0 → 3.4.1

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.
@@ -63,13 +63,26 @@ const isAction = resource => resource.startsWith(actionPrefix);
63
63
 
64
64
  const makeActionPath = resource => (0, _path.joinPath)('dhis-web-commons', "".concat(resource.substr(actionPrefix.length), ".action"));
65
65
 
66
- const queryToResourcePath = (apiPath, query, type) => {
66
+ const skipApiVersion = (resource, config) => {
67
+ if (resource === 'tracker') {
68
+ var _config$serverVersion, _config$serverVersion2;
69
+
70
+ if (!((_config$serverVersion = config.serverVersion) !== null && _config$serverVersion !== void 0 && _config$serverVersion.minor) || ((_config$serverVersion2 = config.serverVersion) === null || _config$serverVersion2 === void 0 ? void 0 : _config$serverVersion2.minor) < 38) {
71
+ return true;
72
+ }
73
+ }
74
+
75
+ return false;
76
+ };
77
+
78
+ const queryToResourcePath = (link, query, type) => {
67
79
  const {
68
80
  resource,
69
81
  id,
70
82
  params = {}
71
83
  } = query;
72
- const base = isAction(resource) ? makeActionPath(resource) : (0, _path.joinPath)(apiPath, resource, id);
84
+ const apiBase = skipApiVersion(resource, link.config) ? link.unversionedApiPath : link.versionedApiPath;
85
+ const base = isAction(resource) ? makeActionPath(resource) : (0, _path.joinPath)(apiBase, resource, id);
73
86
  (0, _validateQuery.validateResourceQuery)(query, type);
74
87
 
75
88
  if (Object.keys(params).length) {
@@ -1,8 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _RestAPILink = require("../RestAPILink");
4
+
3
5
  var _queryToResourcePath = require("./queryToResourcePath");
4
6
 
5
- const apiPath = '<api>';
7
+ const createLink = config => new _RestAPILink.RestAPILink(config);
8
+
9
+ const defaultConfig = {
10
+ basePath: '<base>',
11
+ apiVersion: '37',
12
+ serverVersion: {
13
+ major: 2,
14
+ minor: 37,
15
+ patch: 11
16
+ }
17
+ };
18
+ const link = createLink(defaultConfig);
19
+ const apiPath = link.versionedApiPath;
6
20
  const actionPrefix = "dhis-web-commons/";
7
21
  const actionPostfix = '.action';
8
22
  describe('queryToResourcePath', () => {
@@ -11,7 +25,7 @@ describe('queryToResourcePath', () => {
11
25
  const query = {
12
26
  resource: 'action::test'
13
27
  };
14
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(actionPrefix, "test").concat(actionPostfix));
28
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(actionPrefix, "test").concat(actionPostfix));
15
29
  });
16
30
  it('should return action URL with a simple querystring if query parameters are passed', () => {
17
31
  const query = {
@@ -20,7 +34,7 @@ describe('queryToResourcePath', () => {
20
34
  key: 'value'
21
35
  }
22
36
  };
23
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(actionPrefix, "test").concat(actionPostfix, "?key=value"));
37
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(actionPrefix, "test").concat(actionPostfix, "?key=value"));
24
38
  });
25
39
  });
26
40
  describe('resource with dot', () => {
@@ -28,14 +42,14 @@ describe('queryToResourcePath', () => {
28
42
  const query = {
29
43
  resource: 'svg.pdf'
30
44
  };
31
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/svg.pdf"));
45
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/svg.pdf"));
32
46
  });
33
47
  });
34
48
  it('should return resource url with no querystring if not query parameters are passed', () => {
35
49
  const query = {
36
50
  resource: 'test'
37
51
  };
38
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test"));
52
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test"));
39
53
  });
40
54
  it('should return resource url and singular parameter separated by ?', () => {
41
55
  const query = {
@@ -44,7 +58,7 @@ describe('queryToResourcePath', () => {
44
58
  key: 'value'
45
59
  }
46
60
  };
47
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?key=value"));
61
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?key=value"));
48
62
  });
49
63
  it('should return resource url and multiple parameters separated by ? and &', () => {
50
64
  const query = {
@@ -54,7 +68,7 @@ describe('queryToResourcePath', () => {
54
68
  param: 'value2'
55
69
  }
56
70
  };
57
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?key=value&param=value2"));
71
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?key=value&param=value2"));
58
72
  });
59
73
  it('should url encode special characters in query keys', () => {
60
74
  const query = {
@@ -63,7 +77,7 @@ describe('queryToResourcePath', () => {
63
77
  'key=42&val': 'value'
64
78
  }
65
79
  };
66
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?key%3D42%26val=value"));
80
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?key%3D42%26val=value"));
67
81
  });
68
82
  it('should url encode special characters in string parameters', () => {
69
83
  const query = {
@@ -73,7 +87,7 @@ describe('queryToResourcePath', () => {
73
87
  param: 'value2&& 53'
74
88
  }
75
89
  };
76
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?key=value%3F%3D42&param=value2%26%26%2053"));
90
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?key=value%3F%3D42&param=value2%26%26%2053"));
77
91
  });
78
92
  it('should support numeric (integer and float) parameters', () => {
79
93
  const query = {
@@ -83,7 +97,7 @@ describe('queryToResourcePath', () => {
83
97
  param: 193.75
84
98
  }
85
99
  };
86
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?key=42&param=193.75"));
100
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?key=42&param=193.75"));
87
101
  });
88
102
  it('should support boolean parameters', () => {
89
103
  const query = {
@@ -93,7 +107,7 @@ describe('queryToResourcePath', () => {
93
107
  someflag: true
94
108
  }
95
109
  };
96
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?key=42&someflag=true"));
110
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?key=42&someflag=true"));
97
111
  });
98
112
  it('should join array parameters with commas', () => {
99
113
  const query = {
@@ -102,7 +116,7 @@ describe('queryToResourcePath', () => {
102
116
  key: ['asdf', 123]
103
117
  }
104
118
  };
105
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?key=asdf,123"));
119
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?key=asdf,123"));
106
120
  });
107
121
  it('should include multiple filter parameters when array of filters provided', () => {
108
122
  const query = {
@@ -111,7 +125,7 @@ describe('queryToResourcePath', () => {
111
125
  filter: ['asdf', 123]
112
126
  }
113
127
  };
114
- expect((0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toBe("".concat(apiPath, "/test?filter=asdf&filter=123"));
128
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(apiPath, "/test?filter=asdf&filter=123"));
115
129
  });
116
130
  it('should NOT YET support name-aliased parameters', () => {
117
131
  const query = {
@@ -122,7 +136,7 @@ describe('queryToResourcePath', () => {
122
136
  }
123
137
  }
124
138
  };
125
- expect(() => (0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toThrow();
139
+ expect(() => (0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toThrow();
126
140
  });
127
141
  it('should throw if passed something crazy like a function', () => {
128
142
  const query = {
@@ -131,6 +145,25 @@ describe('queryToResourcePath', () => {
131
145
  key: a => a
132
146
  }
133
147
  };
134
- expect(() => (0, _queryToResourcePath.queryToResourcePath)(apiPath, query)).toThrow();
148
+ expect(() => (0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toThrow();
149
+ });
150
+ it('should return an unversioned endpoint for the new tracker importer (in version 2.37)', () => {
151
+ const query = {
152
+ resource: 'tracker'
153
+ };
154
+ expect((0, _queryToResourcePath.queryToResourcePath)(link, query, 'read')).toBe("".concat(link.unversionedApiPath, "/tracker"));
155
+ });
156
+ it('should return a VERSIONED endpoint for the new tracker importer (in version 2.38)', () => {
157
+ const query = {
158
+ resource: 'tracker'
159
+ };
160
+ const v38config = { ...defaultConfig,
161
+ serverVersion: {
162
+ major: 2,
163
+ minor: 38,
164
+ patch: 0
165
+ }
166
+ };
167
+ expect((0, _queryToResourcePath.queryToResourcePath)(createLink(v38config), query, 'read')).toBe("".concat(link.versionedApiPath, "/tracker"));
135
168
  });
136
169
  });
@@ -16,29 +16,26 @@ var _queryToResourcePath = require("./RestAPILink/queryToResourcePath");
16
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
17
 
18
18
  class RestAPILink {
19
- constructor({
20
- baseUrl,
21
- apiVersion
22
- }) {
23
- _defineProperty(this, "apiPath", void 0);
19
+ constructor(config) {
20
+ _defineProperty(this, "config", void 0);
24
21
 
25
- _defineProperty(this, "baseUrl", void 0);
22
+ _defineProperty(this, "versionedApiPath", void 0);
26
23
 
27
- _defineProperty(this, "apiVersion", void 0);
24
+ _defineProperty(this, "unversionedApiPath", void 0);
28
25
 
29
- this.baseUrl = baseUrl;
30
- this.apiVersion = apiVersion;
31
- this.apiPath = (0, _path.joinPath)('api', String(apiVersion));
26
+ this.config = config;
27
+ this.versionedApiPath = (0, _path.joinPath)('api', String(config.apiVersion));
28
+ this.unversionedApiPath = (0, _path.joinPath)('api');
32
29
  }
33
30
 
34
31
  fetch(path, options) {
35
- return (0, _fetchData.fetchData)((0, _path.joinPath)(this.baseUrl, path), options);
32
+ return (0, _fetchData.fetchData)((0, _path.joinPath)(this.config.baseUrl, path), options);
36
33
  }
37
34
 
38
35
  executeResourceQuery(type, query, {
39
36
  signal
40
37
  }) {
41
- return this.fetch((0, _queryToResourcePath.queryToResourcePath)(this.apiPath, query, type), (0, _queryToRequestOptions.queryToRequestOptions)(type, query, signal));
38
+ return this.fetch((0, _queryToResourcePath.queryToResourcePath)(this, query, type), (0, _queryToRequestOptions.queryToRequestOptions)(type, query, signal));
42
39
  }
43
40
 
44
41
  }
@@ -55,13 +55,26 @@ const isAction = resource => resource.startsWith(actionPrefix);
55
55
 
56
56
  const makeActionPath = resource => joinPath('dhis-web-commons', "".concat(resource.substr(actionPrefix.length), ".action"));
57
57
 
58
- export const queryToResourcePath = (apiPath, query, type) => {
58
+ const skipApiVersion = (resource, config) => {
59
+ if (resource === 'tracker') {
60
+ var _config$serverVersion, _config$serverVersion2;
61
+
62
+ if (!((_config$serverVersion = config.serverVersion) !== null && _config$serverVersion !== void 0 && _config$serverVersion.minor) || ((_config$serverVersion2 = config.serverVersion) === null || _config$serverVersion2 === void 0 ? void 0 : _config$serverVersion2.minor) < 38) {
63
+ return true;
64
+ }
65
+ }
66
+
67
+ return false;
68
+ };
69
+
70
+ export const queryToResourcePath = (link, query, type) => {
59
71
  const {
60
72
  resource,
61
73
  id,
62
74
  params = {}
63
75
  } = query;
64
- const base = isAction(resource) ? makeActionPath(resource) : joinPath(apiPath, resource, id);
76
+ const apiBase = skipApiVersion(resource, link.config) ? link.unversionedApiPath : link.versionedApiPath;
77
+ const base = isAction(resource) ? makeActionPath(resource) : joinPath(apiBase, resource, id);
65
78
  validateResourceQuery(query, type);
66
79
 
67
80
  if (Object.keys(params).length) {
@@ -1,5 +1,19 @@
1
+ import { RestAPILink } from '../RestAPILink';
1
2
  import { queryToResourcePath } from './queryToResourcePath';
2
- const apiPath = '<api>';
3
+
4
+ const createLink = config => new RestAPILink(config);
5
+
6
+ const defaultConfig = {
7
+ basePath: '<base>',
8
+ apiVersion: '37',
9
+ serverVersion: {
10
+ major: 2,
11
+ minor: 37,
12
+ patch: 11
13
+ }
14
+ };
15
+ const link = createLink(defaultConfig);
16
+ const apiPath = link.versionedApiPath;
3
17
  const actionPrefix = "dhis-web-commons/";
4
18
  const actionPostfix = '.action';
5
19
  describe('queryToResourcePath', () => {
@@ -8,7 +22,7 @@ describe('queryToResourcePath', () => {
8
22
  const query = {
9
23
  resource: 'action::test'
10
24
  };
11
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(actionPrefix, "test").concat(actionPostfix));
25
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(actionPrefix, "test").concat(actionPostfix));
12
26
  });
13
27
  it('should return action URL with a simple querystring if query parameters are passed', () => {
14
28
  const query = {
@@ -17,7 +31,7 @@ describe('queryToResourcePath', () => {
17
31
  key: 'value'
18
32
  }
19
33
  };
20
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(actionPrefix, "test").concat(actionPostfix, "?key=value"));
34
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(actionPrefix, "test").concat(actionPostfix, "?key=value"));
21
35
  });
22
36
  });
23
37
  describe('resource with dot', () => {
@@ -25,14 +39,14 @@ describe('queryToResourcePath', () => {
25
39
  const query = {
26
40
  resource: 'svg.pdf'
27
41
  };
28
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/svg.pdf"));
42
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/svg.pdf"));
29
43
  });
30
44
  });
31
45
  it('should return resource url with no querystring if not query parameters are passed', () => {
32
46
  const query = {
33
47
  resource: 'test'
34
48
  };
35
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test"));
49
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test"));
36
50
  });
37
51
  it('should return resource url and singular parameter separated by ?', () => {
38
52
  const query = {
@@ -41,7 +55,7 @@ describe('queryToResourcePath', () => {
41
55
  key: 'value'
42
56
  }
43
57
  };
44
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?key=value"));
58
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?key=value"));
45
59
  });
46
60
  it('should return resource url and multiple parameters separated by ? and &', () => {
47
61
  const query = {
@@ -51,7 +65,7 @@ describe('queryToResourcePath', () => {
51
65
  param: 'value2'
52
66
  }
53
67
  };
54
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?key=value&param=value2"));
68
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?key=value&param=value2"));
55
69
  });
56
70
  it('should url encode special characters in query keys', () => {
57
71
  const query = {
@@ -60,7 +74,7 @@ describe('queryToResourcePath', () => {
60
74
  'key=42&val': 'value'
61
75
  }
62
76
  };
63
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?key%3D42%26val=value"));
77
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?key%3D42%26val=value"));
64
78
  });
65
79
  it('should url encode special characters in string parameters', () => {
66
80
  const query = {
@@ -70,7 +84,7 @@ describe('queryToResourcePath', () => {
70
84
  param: 'value2&& 53'
71
85
  }
72
86
  };
73
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?key=value%3F%3D42&param=value2%26%26%2053"));
87
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?key=value%3F%3D42&param=value2%26%26%2053"));
74
88
  });
75
89
  it('should support numeric (integer and float) parameters', () => {
76
90
  const query = {
@@ -80,7 +94,7 @@ describe('queryToResourcePath', () => {
80
94
  param: 193.75
81
95
  }
82
96
  };
83
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?key=42&param=193.75"));
97
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?key=42&param=193.75"));
84
98
  });
85
99
  it('should support boolean parameters', () => {
86
100
  const query = {
@@ -90,7 +104,7 @@ describe('queryToResourcePath', () => {
90
104
  someflag: true
91
105
  }
92
106
  };
93
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?key=42&someflag=true"));
107
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?key=42&someflag=true"));
94
108
  });
95
109
  it('should join array parameters with commas', () => {
96
110
  const query = {
@@ -99,7 +113,7 @@ describe('queryToResourcePath', () => {
99
113
  key: ['asdf', 123]
100
114
  }
101
115
  };
102
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?key=asdf,123"));
116
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?key=asdf,123"));
103
117
  });
104
118
  it('should include multiple filter parameters when array of filters provided', () => {
105
119
  const query = {
@@ -108,7 +122,7 @@ describe('queryToResourcePath', () => {
108
122
  filter: ['asdf', 123]
109
123
  }
110
124
  };
111
- expect(queryToResourcePath(apiPath, query)).toBe("".concat(apiPath, "/test?filter=asdf&filter=123"));
125
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(apiPath, "/test?filter=asdf&filter=123"));
112
126
  });
113
127
  it('should NOT YET support name-aliased parameters', () => {
114
128
  const query = {
@@ -119,7 +133,7 @@ describe('queryToResourcePath', () => {
119
133
  }
120
134
  }
121
135
  };
122
- expect(() => queryToResourcePath(apiPath, query)).toThrow();
136
+ expect(() => queryToResourcePath(link, query, 'read')).toThrow();
123
137
  });
124
138
  it('should throw if passed something crazy like a function', () => {
125
139
  const query = {
@@ -128,6 +142,25 @@ describe('queryToResourcePath', () => {
128
142
  key: a => a
129
143
  }
130
144
  };
131
- expect(() => queryToResourcePath(apiPath, query)).toThrow();
145
+ expect(() => queryToResourcePath(link, query, 'read')).toThrow();
146
+ });
147
+ it('should return an unversioned endpoint for the new tracker importer (in version 2.37)', () => {
148
+ const query = {
149
+ resource: 'tracker'
150
+ };
151
+ expect(queryToResourcePath(link, query, 'read')).toBe("".concat(link.unversionedApiPath, "/tracker"));
152
+ });
153
+ it('should return a VERSIONED endpoint for the new tracker importer (in version 2.38)', () => {
154
+ const query = {
155
+ resource: 'tracker'
156
+ };
157
+ const v38config = { ...defaultConfig,
158
+ serverVersion: {
159
+ major: 2,
160
+ minor: 38,
161
+ patch: 0
162
+ }
163
+ };
164
+ expect(queryToResourcePath(createLink(v38config), query, 'read')).toBe("".concat(link.versionedApiPath, "/tracker"));
132
165
  });
133
166
  });
@@ -5,29 +5,26 @@ import { joinPath } from './RestAPILink/path';
5
5
  import { queryToRequestOptions } from './RestAPILink/queryToRequestOptions';
6
6
  import { queryToResourcePath } from './RestAPILink/queryToResourcePath';
7
7
  export class RestAPILink {
8
- constructor({
9
- baseUrl,
10
- apiVersion
11
- }) {
12
- _defineProperty(this, "apiPath", void 0);
8
+ constructor(config) {
9
+ _defineProperty(this, "config", void 0);
13
10
 
14
- _defineProperty(this, "baseUrl", void 0);
11
+ _defineProperty(this, "versionedApiPath", void 0);
15
12
 
16
- _defineProperty(this, "apiVersion", void 0);
13
+ _defineProperty(this, "unversionedApiPath", void 0);
17
14
 
18
- this.baseUrl = baseUrl;
19
- this.apiVersion = apiVersion;
20
- this.apiPath = joinPath('api', String(apiVersion));
15
+ this.config = config;
16
+ this.versionedApiPath = joinPath('api', String(config.apiVersion));
17
+ this.unversionedApiPath = joinPath('api');
21
18
  }
22
19
 
23
20
  fetch(path, options) {
24
- return fetchData(joinPath(this.baseUrl, path), options);
21
+ return fetchData(joinPath(this.config.baseUrl, path), options);
25
22
  }
26
23
 
27
24
  executeResourceQuery(type, query, {
28
25
  signal
29
26
  }) {
30
- return this.fetch(queryToResourcePath(this.apiPath, query, type), queryToRequestOptions(type, query, signal));
27
+ return this.fetch(queryToResourcePath(this, query, type), queryToRequestOptions(type, query, signal));
31
28
  }
32
29
 
33
30
  }
@@ -1,2 +1,3 @@
1
1
  import { ResolvedResourceQuery, FetchType } from '../../engine';
2
- export declare const queryToResourcePath: (apiPath: string, query: ResolvedResourceQuery, type: FetchType) => string;
2
+ import { RestAPILink } from '../RestAPILink';
3
+ export declare const queryToResourcePath: (link: RestAPILink, query: ResolvedResourceQuery, type: FetchType) => string;
@@ -1,13 +1,10 @@
1
+ import type { Config } from '@dhis2/app-service-config';
1
2
  import { DataEngineLink, DataEngineLinkExecuteOptions, FetchType, JsonValue, ResolvedResourceQuery } from '../engine/';
2
- export interface RestAPILinkInput {
3
- baseUrl: string;
4
- apiVersion: number;
5
- }
6
3
  export declare class RestAPILink implements DataEngineLink {
7
- private apiPath;
8
- private baseUrl;
9
- private apiVersion;
10
- constructor({ baseUrl, apiVersion }: RestAPILinkInput);
4
+ readonly config: Config;
5
+ readonly versionedApiPath: string;
6
+ readonly unversionedApiPath: string;
7
+ constructor(config: Config);
11
8
  private fetch;
12
9
  executeResourceQuery(type: FetchType, query: ResolvedResourceQuery, { signal }: DataEngineLinkExecuteOptions): Promise<JsonValue>;
13
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2/app-service-data",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "main": "./build/cjs/index.js",
5
5
  "module": "./build/es/index.js",
6
6
  "types": "build/types/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "build/**"
23
23
  ],
24
24
  "peerDependencies": {
25
- "@dhis2/app-service-config": "3.4.0",
25
+ "@dhis2/app-service-config": "3.4.1",
26
26
  "@dhis2/cli-app-scripts": "^7.1.1",
27
27
  "prop-types": "^15.7.2",
28
28
  "react": "^16.8",