@nextgis/ngw-connector 1.9.4 → 1.11.8

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/README.md CHANGED
@@ -95,126 +95,131 @@ ngwConnector.get(request_name, request_options, arguments);
95
95
 
96
96
  [request_options](https://code-api.nextgis.com/interfaces/ngw_connector.RequestOptions.html)
97
97
 
98
- | request name | url | arguments |
99
- | - | - | - |
100
- | auth.current_user | /api/component/auth/current_user | |
101
- | auth.group.collection | /api/component/auth/group/ | |
102
- | auth.group.create | /auth/group/create | |
103
- | auth.group.delete | /auth/group/{0}/delete | id |
104
- | auth.group.edit | /auth/group/{0}/edit | id |
105
- | auth.group.item | /api/component/auth/group/{0} | id |
106
- | auth.login_cookies | /api/component/auth/login | |
107
- | auth.logout_cookies | /api/component/auth/logout | |
108
- | auth.profile | /api/component/auth/profile | |
109
- | auth.register | /api/component/auth/register | |
110
- | auth.user.collection | /api/component/auth/user/ | |
111
- | auth.user.create | /auth/user/create | |
112
- | auth.user.delete | /auth/user/{0}/delete | id |
113
- | auth.user.edit | /auth/user/{0}/edit | id |
114
- | auth.user.item | /api/component/auth/user/{0} | id |
115
- | collector.resource.read | /collector/resource/{0}/read | id |
116
- | collector.resource.users | /collector/resource/{0}/users | id |
117
- | collector.settings | /api/component/collector/settings | |
118
- | collector.settings.users | /collector/user | |
119
- | collector.user | /collector/user/{0} | user_id |
120
- | feature_attachment.collection | /api/resource/{0}/feature/{1}/attachment/ | id,fid |
121
- | feature_attachment.download | /api/resource/{0}/feature/{1}/attachment/{2}/download | id,fid,aid |
122
- | feature_attachment.image | /api/resource/{0}/feature/{1}/attachment/{2}/image | id,fid,aid |
123
- | feature_attachment.item | /api/resource/{0}/feature/{1}/attachment/{2} | id,fid,aid |
124
- | feature_layer.feature.browse | /resource/{0}/feature/ | id |
125
- | feature_layer.feature.collection | /api/resource/{0}/feature/ | id |
126
- | feature_layer.feature.count | /api/resource/{0}/feature_count | id |
127
- | feature_layer.feature.item | /api/resource/{0}/feature/{1} | id,fid |
128
- | feature_layer.feature.item_extent | /api/resource/{0}/feature/{1}/extent | id,fid |
129
- | feature_layer.feature.show | /resource/{0}/feature/{1} | id,feature_id |
130
- | feature_layer.feature.update | /resource/{0}/feature/{1}/update | id,feature_id |
131
- | feature_layer.field | /resource/{0}/field/ | id |
132
- | feature_layer.geojson | /api/resource/{0}/geojson | id |
133
- | feature_layer.identify | /api/feature_layer/identify | |
134
- | feature_layer.mvt | /api/component/feature_layer/mvt | |
135
- | feature_layer.store | /api/resource/{0}/store/ | id |
136
- | feature_layer.store.item | /resource/{0}/store/{1} | id,feature_id |
137
- | file_upload.collection | /api/component/file_upload/ | |
138
- | file_upload.item | /api/component/file_upload/{0} | id |
139
- | file_upload.upload | /api/component/file_upload/upload | |
140
- | formbuilder.formbuilder_form_ngfp | /api/resource/{0}/ngfp | id |
141
- | layer.extent | /api/resource/{0}/extent | id |
142
- | postgis.connection.inspect | /api/resource/{0}/inspect/ | id |
143
- | postgis.connection.inspect.table | /api/resource/{0}/inspect/{1}/ | id,table_name |
144
- | pyramid.company_logo | /api/component/pyramid/company_logo | |
145
- | pyramid.control_panel | /control-panel | |
146
- | pyramid.control_panel.sysinfo | /control-panel/sysinfo | |
147
- | pyramid.cors | /api/component/pyramid/cors | |
148
- | pyramid.custom_css | /api/component/pyramid/custom_css | |
149
- | pyramid.estimate_storage | /api/component/pyramid/estimate_storage | |
150
- | pyramid.healthcheck | /api/component/pyramid/healthcheck | |
151
- | pyramid.home_path | /api/component/pyramid/home_path | |
152
- | pyramid.kind_of_data | /api/component/pyramid/kind_of_data | |
153
- | pyramid.locdata | /api/component/pyramid/locdata/{0}/{1} | component,locale |
154
- | pyramid.logo | /api/component/pyramid/logo | |
155
- | pyramid.pkg_version | /api/component/pyramid/pkg_version | |
156
- | pyramid.route | /api/component/pyramid/route | |
157
- | pyramid.settings | /api/component/pyramid/settings | |
158
- | pyramid.statistics | /api/component/pyramid/statistics | |
159
- | pyramid.storage | /api/component/pyramid/storage | |
160
- | pyramid.system_name | /api/component/pyramid/system_name | |
161
- | qgis.style_qml | /api/resource/{0}/qml | id |
162
- | render.image | /api/component/render/image | |
163
- | render.legend | /api/resource/{0}/legend | id |
164
- | render.tile | /api/component/render/tile | |
165
- | render.tile_cache.seed_status | /api/resource/{0}/tile_cache/seed_status | id |
166
- | resource.collection | /api/resource/ | |
167
- | resource.create | /resource/{0}/create | id |
168
- | resource.delete | /resource/{0}/delete | id |
169
- | resource.export | /api/resource/{0}/export | id |
170
- | resource.file_download | /api/resource/{0}/file/{1} | id,name |
171
- | resource.item | /api/resource/{0} | id |
172
- | resource.json | /resource/{0}/json | id |
173
- | resource.permission | /api/resource/{0}/permission | id |
174
- | resource.permission.explain | /api/resource/{0}/permission/explain | id |
175
- | resource.preview | /api/resource/{0}/preview.png | id |
176
- | resource.quota | /api/resource/quota | |
177
- | resource.resource_export | /api/component/resource/resource_export | |
178
- | resource.schema | /resource/schema | |
179
- | resource.search | /api/resource/search/ | |
180
- | resource.show | /resource/{0} | id |
181
- | resource.tree | /resource/{0}/tree | id |
182
- | resource.update | /resource/{0}/update | id |
183
- | resource.volume | /api/resource/{0}/volume | id |
184
- | resource.widget | /resource/widget | |
185
- | spatial_ref_sys.collection | /api/component/spatial_ref_sys/ | |
186
- | spatial_ref_sys.convert | /api/component/spatial_ref_sys/convert | |
187
- | spatial_ref_sys.geom_area | /api/component/spatial_ref_sys/{0}/geom_area | id |
188
- | spatial_ref_sys.geom_length | /api/component/spatial_ref_sys/{0}/geom_length | id |
189
- | spatial_ref_sys.geom_transform | /api/component/spatial_ref_sys/{0}/geom_transform | id |
190
- | spatial_ref_sys.get | /api/component/spatial_ref_sys/{0} | id |
191
- | srs.create | /srs/create | |
192
- | srs.delete | /srs/{0}/delete | id |
193
- | srs.edit | /srs/{0}/edit | id |
194
- | tmsclient.connection.layers | /api/component/tmsclient/{0}/layers/ | id |
195
- | tracker.export_to_gpx | /tracker/gpx | |
196
- | tracker.get.stops | /tracker/stops | |
197
- | tracker.get_amd_static_url | /tracker/amd/static/url/ | |
198
- | tracker.get_device_types | /tracker/device_types | |
199
- | tracker.get_full_tracks | /tracker/tracks/full | |
200
- | tracker.get_last_activity_tracker | /tracker/activity/last | |
201
- | tracker.get_short_tracks | /tracker/tracks/short | |
202
- | tracker.get_tracker_last_points | /tracker/last/points | |
203
- | tracker.get_tracker_lines | /tracker/lines | |
204
- | tracker.get_tracker_points | /tracker/points | |
205
- | tracker.get_trackers | /tracker/trackers/tree | |
206
- | tracker.receive_packet | /tracker/{0}/receive | unique_id |
207
- | tracker.reports | /tracker/reports/ | |
208
- | tracker.reports.build | /tracker/report/build/ | |
209
- | tracker.settings | /api/component/tracker/settings | |
210
- | vector_layer.dataset | /api/component/vector_layer/dataset | |
211
- | webmap.annotation.collection | /api/resource/{0}/annotation/ | id |
212
- | webmap.annotation.item | /api/resource/{0}/annotation/{1} | id,annotation_id |
213
- | webmap.display | /resource/{0}/display | id |
214
- | webmap.display.tiny | /resource/{0}/display/tiny | id |
215
- | webmap.settings | /api/component/webmap/settings | |
216
- | wfsserver.wfs | /api/resource/{0}/wfs | id |
217
- | wmsserver.wms | /api/resource/{0}/wms | id |
98
+ <details>
99
+ <summary>API request names</summary>
100
+
101
+ | request name | url | arguments |
102
+ | --------------------------------- | ----------------------------------------------------- | ---------------- |
103
+ | auth.current_user | /api/component/auth/current_user | |
104
+ | auth.group.collection | /api/component/auth/group/ | |
105
+ | auth.group.create | /auth/group/create | |
106
+ | auth.group.delete | /auth/group/{0}/delete | id |
107
+ | auth.group.edit | /auth/group/{0}/edit | id |
108
+ | auth.group.item | /api/component/auth/group/{0} | id |
109
+ | auth.login_cookies | /api/component/auth/login | |
110
+ | auth.logout_cookies | /api/component/auth/logout | |
111
+ | auth.profile | /api/component/auth/profile | |
112
+ | auth.register | /api/component/auth/register | |
113
+ | auth.user.collection | /api/component/auth/user/ | |
114
+ | auth.user.create | /auth/user/create | |
115
+ | auth.user.delete | /auth/user/{0}/delete | id |
116
+ | auth.user.edit | /auth/user/{0}/edit | id |
117
+ | auth.user.item | /api/component/auth/user/{0} | id |
118
+ | collector.resource.read | /collector/resource/{0}/read | id |
119
+ | collector.resource.users | /collector/resource/{0}/users | id |
120
+ | collector.settings | /api/component/collector/settings | |
121
+ | collector.settings.users | /collector/user | |
122
+ | collector.user | /collector/user/{0} | user_id |
123
+ | feature_attachment.collection | /api/resource/{0}/feature/{1}/attachment/ | id,fid |
124
+ | feature_attachment.download | /api/resource/{0}/feature/{1}/attachment/{2}/download | id,fid,aid |
125
+ | feature_attachment.image | /api/resource/{0}/feature/{1}/attachment/{2}/image | id,fid,aid |
126
+ | feature_attachment.item | /api/resource/{0}/feature/{1}/attachment/{2} | id,fid,aid |
127
+ | feature_layer.feature.browse | /resource/{0}/feature/ | id |
128
+ | feature_layer.feature.collection | /api/resource/{0}/feature/ | id |
129
+ | feature_layer.feature.count | /api/resource/{0}/feature_count | id |
130
+ | feature_layer.feature.item | /api/resource/{0}/feature/{1} | id,fid |
131
+ | feature_layer.feature.item_extent | /api/resource/{0}/feature/{1}/extent | id,fid |
132
+ | feature_layer.feature.show | /resource/{0}/feature/{1} | id,feature_id |
133
+ | feature_layer.feature.update | /resource/{0}/feature/{1}/update | id,feature_id |
134
+ | feature_layer.field | /resource/{0}/field/ | id |
135
+ | feature_layer.geojson | /api/resource/{0}/geojson | id |
136
+ | feature_layer.identify | /api/feature_layer/identify | |
137
+ | feature_layer.mvt | /api/component/feature_layer/mvt | |
138
+ | feature_layer.store | /api/resource/{0}/store/ | id |
139
+ | feature_layer.store.item | /resource/{0}/store/{1} | id,feature_id |
140
+ | file_upload.collection | /api/component/file_upload/ | |
141
+ | file_upload.item | /api/component/file_upload/{0} | id |
142
+ | file_upload.upload | /api/component/file_upload/upload | |
143
+ | formbuilder.formbuilder_form_ngfp | /api/resource/{0}/ngfp | id |
144
+ | layer.extent | /api/resource/{0}/extent | id |
145
+ | postgis.connection.inspect | /api/resource/{0}/inspect/ | id |
146
+ | postgis.connection.inspect.table | /api/resource/{0}/inspect/{1}/ | id,table_name |
147
+ | pyramid.company_logo | /api/component/pyramid/company_logo | |
148
+ | pyramid.control_panel | /control-panel | |
149
+ | pyramid.control_panel.sysinfo | /control-panel/sysinfo | |
150
+ | pyramid.cors | /api/component/pyramid/cors | |
151
+ | pyramid.custom_css | /api/component/pyramid/custom_css | |
152
+ | pyramid.estimate_storage | /api/component/pyramid/estimate_storage | |
153
+ | pyramid.healthcheck | /api/component/pyramid/healthcheck | |
154
+ | pyramid.home_path | /api/component/pyramid/home_path | |
155
+ | pyramid.kind_of_data | /api/component/pyramid/kind_of_data | |
156
+ | pyramid.locdata | /api/component/pyramid/locdata/{0}/{1} | component,locale |
157
+ | pyramid.logo | /api/component/pyramid/logo | |
158
+ | pyramid.pkg_version | /api/component/pyramid/pkg_version | |
159
+ | pyramid.route | /api/component/pyramid/route | |
160
+ | pyramid.settings | /api/component/pyramid/settings | |
161
+ | pyramid.statistics | /api/component/pyramid/statistics | |
162
+ | pyramid.storage | /api/component/pyramid/storage | |
163
+ | pyramid.system_name | /api/component/pyramid/system_name | |
164
+ | qgis.style_qml | /api/resource/{0}/qml | id |
165
+ | render.image | /api/component/render/image | |
166
+ | render.legend | /api/resource/{0}/legend | id |
167
+ | render.tile | /api/component/render/tile | |
168
+ | render.tile_cache.seed_status | /api/resource/{0}/tile_cache/seed_status | id |
169
+ | resource.collection | /api/resource/ | |
170
+ | resource.create | /resource/{0}/create | id |
171
+ | resource.delete | /resource/{0}/delete | id |
172
+ | resource.export | /api/resource/{0}/export | id |
173
+ | resource.file_download | /api/resource/{0}/file/{1} | id,name |
174
+ | resource.item | /api/resource/{0} | id |
175
+ | resource.json | /resource/{0}/json | id |
176
+ | resource.permission | /api/resource/{0}/permission | id |
177
+ | resource.permission.explain | /api/resource/{0}/permission/explain | id |
178
+ | resource.preview | /api/resource/{0}/preview.png | id |
179
+ | resource.quota | /api/resource/quota | |
180
+ | resource.resource_export | /api/component/resource/resource_export | |
181
+ | resource.schema | /resource/schema | |
182
+ | resource.search | /api/resource/search/ | |
183
+ | resource.show | /resource/{0} | id |
184
+ | resource.tree | /resource/{0}/tree | id |
185
+ | resource.update | /resource/{0}/update | id |
186
+ | resource.volume | /api/resource/{0}/volume | id |
187
+ | resource.widget | /resource/widget | |
188
+ | spatial_ref_sys.collection | /api/component/spatial_ref_sys/ | |
189
+ | spatial_ref_sys.convert | /api/component/spatial_ref_sys/convert | |
190
+ | spatial_ref_sys.geom_area | /api/component/spatial_ref_sys/{0}/geom_area | id |
191
+ | spatial_ref_sys.geom_length | /api/component/spatial_ref_sys/{0}/geom_length | id |
192
+ | spatial_ref_sys.geom_transform | /api/component/spatial_ref_sys/{0}/geom_transform | id |
193
+ | spatial_ref_sys.get | /api/component/spatial_ref_sys/{0} | id |
194
+ | srs.create | /srs/create | |
195
+ | srs.delete | /srs/{0}/delete | id |
196
+ | srs.edit | /srs/{0}/edit | id |
197
+ | tmsclient.connection.layers | /api/component/tmsclient/{0}/layers/ | id |
198
+ | tracker.export_to_gpx | /tracker/gpx | |
199
+ | tracker.get.stops | /tracker/stops | |
200
+ | tracker.get_amd_static_url | /tracker/amd/static/url/ | |
201
+ | tracker.get_device_types | /tracker/device_types | |
202
+ | tracker.get_full_tracks | /tracker/tracks/full | |
203
+ | tracker.get_last_activity_tracker | /tracker/activity/last | |
204
+ | tracker.get_short_tracks | /tracker/tracks/short | |
205
+ | tracker.get_tracker_last_points | /tracker/last/points | |
206
+ | tracker.get_tracker_lines | /tracker/lines | |
207
+ | tracker.get_tracker_points | /tracker/points | |
208
+ | tracker.get_trackers | /tracker/trackers/tree | |
209
+ | tracker.receive_packet | /tracker/{0}/receive | unique_id |
210
+ | tracker.reports | /tracker/reports/ | |
211
+ | tracker.reports.build | /tracker/report/build/ | |
212
+ | tracker.settings | /api/component/tracker/settings | |
213
+ | vector_layer.dataset | /api/component/vector_layer/dataset | |
214
+ | webmap.annotation.collection | /api/resource/{0}/annotation/ | id |
215
+ | webmap.annotation.item | /api/resource/{0}/annotation/{1} | id,annotation_id |
216
+ | webmap.display | /resource/{0}/display | id |
217
+ | webmap.display.tiny | /resource/{0}/display/tiny | id |
218
+ | webmap.settings | /api/component/webmap/settings | |
219
+ | wfsserver.wfs | /api/resource/{0}/wfs | id |
220
+ | wmsserver.wms | /api/resource/{0}/wms | id |
221
+
222
+ </details>
218
223
 
219
224
  ## Commercial support
220
225
 
package/lib/index.d.ts CHANGED
@@ -86,7 +86,7 @@ export declare interface FeatureLayerCount {
86
86
  }
87
87
 
88
88
  export declare interface FeatureLayerField {
89
- datatype: ResourceItemDatatype;
89
+ datatype: VectorFieldDatatype;
90
90
  display_name: string;
91
91
  grid_visibility: boolean;
92
92
  id: number;
@@ -299,7 +299,7 @@ declare class NgwConnector {
299
299
  * @param params - Query params
300
300
  * @param options - Request options
301
301
  */
302
- makeQuery(url: string, params?: Params, options?: RequestOptions): CancelablePromise<any>;
302
+ makeQuery<R = unknown>(url: string, params?: Params | null, options?: RequestOptions): CancelablePromise<R>;
303
303
  /**
304
304
  * {@inheritDoc ResourcesControl.getOne}
305
305
  */
@@ -440,7 +440,7 @@ export declare interface PutRequestItemsResponseMap extends RequestItemKeys {
440
440
  }
441
441
 
442
442
  export declare interface PyramidRoute {
443
- [requestItemName: string]: string[];
443
+ [requestItemName: string]: [url: string, ...params: string[]];
444
444
  }
445
445
 
446
446
  export declare type PyramidSettings = PyramidSettingsPyramid | Record<string, any>;
@@ -684,6 +684,10 @@ export declare interface RequestOptions<M = RequestMethods> {
684
684
  onProgress?: (percentComplete: number, event: ProgressEvent) => void;
685
685
  }
686
686
 
687
+ export declare interface Resmeta {
688
+ items: Record<string, any>;
689
+ }
690
+
687
691
  export declare interface Resource {
688
692
  cls: ResourceCls;
689
693
  id: number;
@@ -724,15 +728,17 @@ export declare interface ResourceItem extends ResourceItemMain {
724
728
  basemap_webmap?: BasemapWebmap;
725
729
  lookup_table?: LookupTableResource;
726
730
  file_bucket?: FileBucket;
731
+ wmsserver_service?: WmsServerService;
732
+ wmsclient_layer?: WmsClientLayer;
733
+ wmsclient_connection?: WmsClientConnection;
727
734
  }
728
735
 
729
- export declare type ResourceItemDatatype = 'STRING' | 'REAL' | 'DATE' | 'TIME' | 'DATETIME' | 'BIGINT' | 'INTEGER' | 'BOOLEAN';
736
+ /** @deprecated - use {@link VectorFieldDatatype} instead */
737
+ export declare type ResourceItemDatatype = VectorFieldDatatype;
730
738
 
731
739
  export declare interface ResourceItemMain {
732
740
  resource: Resource;
733
- resmeta: {
734
- items: Record<string, any>;
735
- };
741
+ resmeta: Resmeta;
736
742
  }
737
743
 
738
744
  /**
@@ -851,6 +857,8 @@ export declare interface UserInfo {
851
857
  clientId?: string;
852
858
  }
853
859
 
860
+ export declare type VectorFieldDatatype = 'STRING' | 'REAL' | 'DATE' | 'TIME' | 'DATETIME' | 'BIGINT' | 'INTEGER' | 'BOOLEAN';
861
+
854
862
  export declare interface VectorLayer {
855
863
  srs: {
856
864
  id: number;
@@ -868,9 +876,73 @@ export declare interface WebmapResource {
868
876
  extent_right: number;
869
877
  extent_bottom: number;
870
878
  extent_top: number;
879
+ extent_constrained: boolean;
871
880
  draw_order_enabled: boolean;
872
881
  bookmark_resource: ResourceHierarchy;
873
882
  root_item: TreeGroup;
874
883
  }
875
884
 
885
+ export declare interface WmsClientConnection {
886
+ /** WMS service url */
887
+ url: string;
888
+ /** User name to connect to service */
889
+ username?: string;
890
+ /** Password to connect to service */
891
+ password?: string;
892
+ /** WMS version */
893
+ version?: string;
894
+ /** If equal query - query capabilities from service */
895
+ capcache?: string;
896
+ }
897
+
898
+ export declare interface WmsClientLayer {
899
+ /** WMS connection. */
900
+ connection: {
901
+ id: number;
902
+ };
903
+ srs: {
904
+ id: number;
905
+ };
906
+ /**
907
+ * Image format. Available values can fetched from WMS connection ('image/png').
908
+ */
909
+ imgformat: string;
910
+ /**
911
+ * String with layer identifiers separated with comma. Available layers can fetched from WMS connection.
912
+ */
913
+ wmslayers: string;
914
+ /** Additional parameters added to each request. This is key and value list. */
915
+ vendor_params: Record<string, string>;
916
+ }
917
+
918
+ export declare interface WmsServerService {
919
+ /**
920
+ * Array or WMS service layers. keyname, display_name and resource_id are mandatory.
921
+ */
922
+ layers: WmsServerServiceLayer[];
923
+ }
924
+
925
+ export declare interface WmsServerServiceLayer {
926
+ /**
927
+ * Key name for WMS service item. Name may be only ASCII symbols without spaces.
928
+ * */
929
+ keyname: string;
930
+ /**
931
+ * Service item name.
932
+ * */
933
+ display_name: string;
934
+ /**
935
+ * Resource identifier which will be WMS layer datasource. Supported types are: vector layer style, raster style, WMS layer.
936
+ * */
937
+ resource_id: number;
938
+ /**
939
+ * Minimum scale to show WMS layer. String in form of `1 : 100000`.
940
+ */
941
+ min_scale_denom?: string | null;
942
+ /**
943
+ * Maximum scale to show WMS layer. String in form of `1 : 100000`.
944
+ */
945
+ max_scale_denom?: string | null;
946
+ }
947
+
876
948
  export { }
@@ -1,4 +1,4 @@
1
- /** Bundle of @nextgis/ngw-connector; version: 1.9.4; author: NextGIS */
1
+ /** Bundle of @nextgis/ngw-connector; version: 1.11.8; author: NextGIS */
2
2
  'use strict';
3
3
 
4
4
  var events = require('events');
@@ -23,12 +23,17 @@ class NgwError extends Error {
23
23
  }
24
24
  }
25
25
 
26
+ function isObject(val) {
27
+ return Object.prototype.toString.call(val) === '[object Object]';
28
+ }
29
+
26
30
  let loadData;
27
31
  // @ts-ignore
28
32
  {
29
33
  const url = require('url');
30
34
  const http = require('http');
31
35
  const https = require('https');
36
+ const FormData = require('form-data');
32
37
  const adapterFor = (inputUrl) => {
33
38
  const adapters = {
34
39
  'http:': http,
@@ -38,21 +43,46 @@ let loadData;
38
43
  return adapters[protocol];
39
44
  };
40
45
  loadData = (url, callback, options = {}, error, onCancel) => {
46
+ const { file, headers, method, data, responseType } = options;
41
47
  const request = new Promise((resolve, reject) => {
42
48
  const adapter = adapterFor(url);
43
49
  if (adapter) {
44
50
  const requestOpt = {
45
- headers: options.headers || {},
46
- method: options.method,
51
+ headers: headers || {},
52
+ method,
47
53
  };
48
- const body = typeof options.data === 'string'
49
- ? options.data
50
- : JSON.stringify(options.data);
54
+ const body = typeof data === 'string' ? data : JSON.stringify(data);
51
55
  // https://stackoverflow.com/questions/35589109/node-http-delete-request-no-longer-works-after-upgrading-from-0-10-40
52
- if (body !== undefined && options.method !== 'POST') {
56
+ let form;
57
+ let uploadedFile = file;
58
+ if (file) {
59
+ const fileMeta = {};
60
+ if (isObject(file) &&
61
+ 'file' in file &&
62
+ ('filename' in file || 'name' in file)) {
63
+ const { file: file_, name, ...fileMeta_ } = file;
64
+ if (name && !fileMeta_.filename) {
65
+ fileMeta_.filename = name;
66
+ }
67
+ Object.assign(fileMeta, fileMeta_);
68
+ uploadedFile = file_;
69
+ }
70
+ form = new FormData();
71
+ form.append('file', uploadedFile, fileMeta);
72
+ if (data) {
73
+ for (const d in data) {
74
+ form.append(d, data[d]);
75
+ }
76
+ }
77
+ Object.assign(requestOpt.headers, {
78
+ // 'content-length': form.getLengthSync(),
79
+ ...form.getHeaders(),
80
+ });
81
+ }
82
+ if (body !== undefined && method !== 'POST') {
53
83
  Object.assign(requestOpt.headers, {
54
- 'Content-Type': 'application/json',
55
- 'Content-Length': Buffer.byteLength(body),
84
+ 'content-type': 'application/json',
85
+ 'content-length': Buffer.byteLength(body),
56
86
  });
57
87
  }
58
88
  const req = adapter.request(url, requestOpt, (resp) => {
@@ -62,24 +92,32 @@ let loadData;
62
92
  });
63
93
  resp.on('end', () => {
64
94
  if (data) {
65
- let json;
66
- try {
67
- json = JSON.parse(data);
68
- if (json && json.status_code && json.status_code) {
69
- reject(json.message);
70
- }
71
- }
72
- catch (er) {
73
- reject(er);
74
- // throw new Error(er);
95
+ if (responseType === 'blob') {
96
+ resolve(data);
75
97
  }
76
- if (json !== undefined) {
77
- resolve(json);
98
+ else {
99
+ let json;
100
+ try {
101
+ json = JSON.parse(data);
102
+ if (json && json.status_code && json.status_code) {
103
+ reject(json.message);
104
+ }
105
+ }
106
+ catch (er) {
107
+ reject(er);
108
+ // throw new Error(er);
109
+ }
110
+ if (json !== undefined) {
111
+ resolve(json);
112
+ }
78
113
  }
79
114
  }
80
115
  reject('no data');
81
116
  });
82
117
  });
118
+ if (form) {
119
+ form.pipe(req);
120
+ }
83
121
  req.on('error', (err) => {
84
122
  reject(err);
85
123
  });
@@ -178,10 +216,6 @@ function removeConnector(connector) {
178
216
  }
179
217
  }
180
218
 
181
- function isObject(val) {
182
- return Object.prototype.toString.call(val) === '[object Object]';
183
- }
184
-
185
219
  const exclude = ['description'];
186
220
  /**
187
221
  * @remarks
@@ -406,7 +440,7 @@ class ResourcesControl {
406
440
  }
407
441
  }
408
442
  _fetchResourceById(id, requestOptions) {
409
- const promise = () => this.connector.get('resource.item', requestOptions, { id }).catch();
443
+ const promise = () => this.connector.get('resource.item', requestOptions, { id });
410
444
  return this.cache
411
445
  .add('resource.item', promise, {
412
446
  id,
@@ -608,7 +642,7 @@ class NgwConnector$1 {
608
642
  headers: this.getAuthorizationHeaders(credentials),
609
643
  // withCredentials: true
610
644
  };
611
- // Do not use request('auth.current_user') to avoid circular-references
645
+ // Do not use apiRequest('auth.current_user') to avoid circular-references
612
646
  return this.makeQuery('/api/component/auth/current_user', {}, options)
613
647
  .then((data) => {
614
648
  this.user = data;