@nextgis/ngw-connector 3.0.0-alpha.5 → 3.0.0-alpha.7

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/lib/index.d.ts CHANGED
@@ -1,1734 +1,1334 @@
1
- /// <reference types="./global.d.ts" />
2
-
3
- import type Cache from '@nextgis/cache';
4
- import type { DeepPartial, FeatureProperties } from '@nextgis/utils';
5
- import type { Routes } from '@nextgisweb/pyramid/type/route';
6
- import type { EventEmitter } from 'events';
7
- import type { GeoJsonObject, Geometry } from 'geojson';
1
+ import { Routes } from '@nextgisweb/pyramid/type/route';
2
+ import { EventEmitter } from 'events';
3
+ import Cache from '@nextgis/cache';
4
+ import { FeatureProperties, DeepPartial } from '@nextgis/utils';
5
+ import { GeoJsonObject, Geometry } from 'geojson';
8
6
 
9
7
  declare class LunkwillParam {
10
- static VALUES: (string | null)[];
11
- private value;
12
- constructor();
13
- update(value: string | null, cond?: boolean): void;
14
- suggest(cond?: boolean): void;
15
- require(cond?: boolean): void;
16
- toHeaders(headers: Record<string, string>): void;
8
+ static VALUES: (string | null)[];
9
+ private value;
10
+ constructor();
11
+ update(value: string | null, cond?: boolean): void;
12
+ suggest(cond?: boolean): void;
13
+ require(cond?: boolean): void;
14
+ toHeaders(headers: Record<string, string>): void;
17
15
  }
18
16
 
19
17
  type RouteParameters = {
20
- [K in keyof Routes]: Routes[K]['pathArr'] | [Routes[K]['pathObj']];
18
+ [K in keyof Routes]: Routes[K]['pathArr'] | [Routes[K]['pathObj']];
21
19
  };
22
20
  type RouteName = keyof Routes;
23
21
  type RequestMethod = keyof RouteMethods<RouteName>;
24
22
  type Method = RequestMethod | Uppercase<RequestMethod>;
25
23
  type ResponseType = 'blob' | 'json';
26
- interface RequestOptions$1<
27
- RT extends ResponseType = 'json',
28
- ReturnUrl extends boolean = false,
29
- Q = any,
30
- B = string | null | boolean | Record<string, any> | any[],
31
- > extends Omit<RequestInit, 'cache'> {
32
- headers?: Record<string, string>;
33
- cache?: boolean;
34
- query?: Q;
35
- json?: B;
36
- /** Has lower priority than the json */
37
- body?: string;
38
- /**
39
- * The type of data that the server will respond with.
40
- * Can be either 'json' or 'blob'.
41
- */
42
- responseType?: RT;
43
- /**
44
- * @deprecated use {@link RequestInit.credential}
45
- * Indicates whether to include credentials such as cookies, authentication headers,
46
- * or TLS client certificates in cross-site Access-Control requests.
47
- */
48
- withCredentials?: boolean;
49
- /**
50
- * Name to use for caching the request.
51
- */
52
- cacheName?: string;
53
- /**
54
- * Properties to override default cache behavior.
55
- */
56
- cacheProps?: Record<string, unknown>;
57
- lunkwill?: LunkwillParam;
58
- lunkwillReturnUrl?: ReturnUrl;
59
- }
60
- interface GetRequestOptions<
61
- Q = any,
62
- RT extends ResponseType = 'json',
63
- ReturnUrl extends boolean = false,
64
- > extends Omit<RequestOptions$1<RT, ReturnUrl, Q>, 'json' | 'body'> {
65
- method?: 'GET';
66
- }
67
- interface RequestOptionsJSON<
68
- Q = any,
69
- B = string | null | boolean | Record<string, any> | any[],
70
- RT extends ResponseType = 'json',
71
- M extends Method = Method,
72
- > extends Omit<RequestOptions$1<RT, false, Q, B>, 'json' | 'body'> {
73
- json: B;
74
- method?: M;
75
- }
76
- interface RequestOptionsBody<
77
- Q = any,
78
- RT extends ResponseType = 'json',
79
- M extends Method = Method,
80
- > extends Omit<RequestOptions$1<RT, false, Q>, 'json' | 'body'> {
81
- body: string;
82
- method?: M;
83
- }
84
- type PutRequestOptions<Q = any, B = any, RT extends ResponseType = 'json'> =
85
- | RequestOptionsJSON<Q, B, RT, 'PUT'>
86
- | RequestOptionsBody<Q, RT, 'PUT'>;
87
- type PostRequestOptions<Q = any, B = any, RT extends ResponseType = 'json'> =
88
- | RequestOptionsJSON<Q, B, RT, 'POST'>
89
- | RequestOptionsBody<Q, RT, 'POST'>;
90
- type PatchRequestOptions<Q = any, B = any, RT extends ResponseType = 'json'> =
91
- | RequestOptionsJSON<Q, B, RT, 'PATCH'>
92
- | RequestOptionsBody<Q, RT, 'PATCH'>;
93
- type DeleteRequestOptions<
94
- Q = any,
95
- RT extends ResponseType = 'json',
96
- > = RequestOptions$1<RT, false, Q>;
97
- interface RouteRequestOptions<
98
- Q = any,
99
- B = any,
100
- RT extends ResponseType = 'json',
101
- ReturnUrl extends boolean = false,
102
- > {
103
- get: GetRequestOptions<Q, RT, ReturnUrl>;
104
- post: PostRequestOptions<Q, B, RT>;
105
- put: PutRequestOptions<Q, B, RT>;
106
- patch: PatchRequestOptions<Q, RT>;
107
- delete: DeleteRequestOptions<Q, RT>;
108
- }
109
- type RequestOptionsByMethod<
110
- M extends RequestMethod,
111
- Q = any,
112
- B = any,
113
- RT extends ResponseType = 'json',
114
- ReturnUrl extends boolean = false,
115
- > = M extends keyof RouteRequestOptions
116
- ? RouteRequestOptions<Q, B, RT, ReturnUrl>[M]
117
- : never;
118
- type RouteResp<
119
- N extends RouteName,
120
- M extends RequestMethod,
121
- > = N extends keyof Routes
122
- ? M extends keyof Routes[N]
123
- ? 'response' extends keyof Routes[N][M]
124
- ? Routes[N][M]['response']
125
- : never
126
- : never
127
- : never;
128
- type RouteQuery<
129
- N extends RouteName,
130
- M extends RequestMethod,
131
- > = N extends keyof Routes
132
- ? M extends keyof Routes[N]
133
- ? 'query' extends keyof Routes[N][M]
134
- ? Routes[N][M]['query']
135
- : any
136
- : never
137
- : never;
138
- type RouteBody<
139
- N extends RouteName,
140
- M extends RequestMethod,
141
- > = N extends keyof Routes
142
- ? M extends keyof Routes[N]
143
- ? 'body' extends keyof Routes[N][M]
144
- ? Routes[N][M]['body']
145
- : any
146
- : never
147
- : never;
148
- type ToReturn<
149
- T = unknown,
150
- RT extends ResponseType = 'json',
151
- ReturnUrl extends boolean = false,
152
- > = ReturnUrl extends true ? string : RT extends 'blob' ? Blob : T;
24
+ interface RequestOptions$1<RT extends ResponseType = 'json', ReturnUrl extends boolean = false, Q = any, B = string | null | boolean | Record<string, any> | any[]> extends Omit<RequestInit, 'cache'> {
25
+ headers?: Record<string, string>;
26
+ cache?: boolean;
27
+ query?: Q;
28
+ json?: B;
29
+ /** Has lower priority than the json */
30
+ body?: string;
31
+ /**
32
+ * The type of data that the server will respond with.
33
+ * Can be either 'json' or 'blob'.
34
+ */
35
+ responseType?: RT;
36
+ /**
37
+ * @deprecated use {@link RequestInit.credential}
38
+ * Indicates whether to include credentials such as cookies, authentication headers,
39
+ * or TLS client certificates in cross-site Access-Control requests.
40
+ */
41
+ withCredentials?: boolean;
42
+ /**
43
+ * Name to use for caching the request.
44
+ */
45
+ cacheName?: string;
46
+ /**
47
+ * Properties to override default cache behavior.
48
+ */
49
+ cacheProps?: Record<string, unknown>;
50
+ lunkwill?: LunkwillParam;
51
+ lunkwillReturnUrl?: ReturnUrl;
52
+ }
53
+ interface GetRequestOptions<Q = any, RT extends ResponseType = 'json', ReturnUrl extends boolean = false> extends Omit<RequestOptions$1<RT, ReturnUrl, Q>, 'json' | 'body'> {
54
+ method?: 'GET';
55
+ }
56
+ interface RequestOptionsJSON<Q = any, B = string | null | boolean | Record<string, any> | any[], RT extends ResponseType = 'json', M extends Method = Method> extends Omit<RequestOptions$1<RT, false, Q, B>, 'json' | 'body'> {
57
+ json: B;
58
+ method?: M;
59
+ }
60
+ interface RequestOptionsBody<Q = any, RT extends ResponseType = 'json', M extends Method = Method> extends Omit<RequestOptions$1<RT, false, Q>, 'json' | 'body'> {
61
+ body: string;
62
+ method?: M;
63
+ }
64
+ type PutRequestOptions<Q = any, B = any, RT extends ResponseType = 'json'> = RequestOptionsJSON<Q, B, RT, 'PUT'> | RequestOptionsBody<Q, RT, 'PUT'>;
65
+ type PostRequestOptions<Q = any, B = any, RT extends ResponseType = 'json'> = RequestOptionsJSON<Q, B, RT, 'POST'> | RequestOptionsBody<Q, RT, 'POST'>;
66
+ type PatchRequestOptions<Q = any, B = any, RT extends ResponseType = 'json'> = RequestOptionsJSON<Q, B, RT, 'PATCH'> | RequestOptionsBody<Q, RT, 'PATCH'>;
67
+ type DeleteRequestOptions<Q = any, RT extends ResponseType = 'json'> = RequestOptions$1<RT, false, Q>;
68
+ interface RouteRequestOptions<Q = any, B = any, RT extends ResponseType = 'json', ReturnUrl extends boolean = false> {
69
+ get: GetRequestOptions<Q, RT, ReturnUrl>;
70
+ post: PostRequestOptions<Q, B, RT>;
71
+ put: PutRequestOptions<Q, B, RT>;
72
+ patch: PatchRequestOptions<Q, RT>;
73
+ delete: DeleteRequestOptions<Q, RT>;
74
+ }
75
+ type RequestOptionsByMethod<M extends RequestMethod, Q = any, B = any, RT extends ResponseType = 'json', ReturnUrl extends boolean = false> = M extends keyof RouteRequestOptions ? RouteRequestOptions<Q, B, RT, ReturnUrl>[M] : never;
76
+ type RouteResp<N extends RouteName, M extends RequestMethod> = N extends keyof Routes ? M extends keyof Routes[N] ? 'response' extends keyof Routes[N][M] ? Routes[N][M]['response'] : never : never : never;
77
+ type RouteQuery<N extends RouteName, M extends RequestMethod> = N extends keyof Routes ? M extends keyof Routes[N] ? 'query' extends keyof Routes[N][M] ? Routes[N][M]['query'] : any : never : never;
78
+ type RouteBody<N extends RouteName, M extends RequestMethod> = N extends keyof Routes ? M extends keyof Routes[N] ? 'body' extends keyof Routes[N][M] ? Routes[N][M]['body'] : any : never : never;
79
+ type ToReturn<T = unknown, RT extends ResponseType = 'json', ReturnUrl extends boolean = false> = ReturnUrl extends true ? string : RT extends 'blob' ? Blob : T;
153
80
  type HasRequiredKeys<T> = {
154
- [P in keyof T]-?: object extends Pick<T, P> ? never : P;
155
- }[keyof T] extends never
156
- ? false
157
- : true;
81
+ [P in keyof T]-?: object extends Pick<T, P> ? never : P;
82
+ }[keyof T] extends never ? false : true;
158
83
  interface RouteMethods<N extends RouteName> {
159
- url: HasRequiredKeys<RouteQuery<N, 'get'>> extends true
160
- ? (
161
- options: Pick<
162
- RequestOptionsByMethod<'get', RouteQuery<N, 'get'>>,
163
- 'query'
164
- >,
165
- ) => Promise<string>
166
- : (
167
- options?: Pick<
168
- RequestOptionsByMethod<'get', RouteQuery<N, 'get'>>,
169
- 'query'
170
- >,
171
- ) => Promise<string>;
172
- get: HasRequiredKeys<RouteQuery<N, 'get'>> extends true
173
- ? <
174
- T = RouteResp<N, 'get'>,
175
- RT extends ResponseType = 'json',
176
- B extends boolean = false,
177
- >(
178
- options: RequestOptionsByMethod<
179
- 'get',
180
- RouteQuery<N, 'get'>,
181
- any,
182
- RT,
183
- B
184
- >,
185
- ) => Promise<ToReturn<T, RT, B>>
186
- : <
187
- T = RouteResp<N, 'get'>,
188
- B extends boolean = false,
189
- RT extends ResponseType = 'json',
190
- >(
191
- options?: RequestOptionsByMethod<
192
- 'get',
193
- RouteQuery<N, 'get'>,
194
- any,
195
- RT,
196
- B
197
- >,
198
- ) => Promise<ToReturn<T, RT, B>>;
199
- post: <T = RouteResp<N, 'post'>, RT extends ResponseType = 'json'>(
200
- options: RequestOptionsByMethod<
201
- 'post',
202
- RouteQuery<N, 'post'>,
203
- RouteBody<N, 'post'>,
204
- RT
205
- >,
206
- ) => Promise<ToReturn<T, RT>>;
207
- put: <T = RouteResp<N, 'put'>, RT extends ResponseType = 'json'>(
208
- options: RequestOptionsByMethod<
209
- 'put',
210
- RouteQuery<N, 'put'>,
211
- RouteBody<N, 'put'>,
212
- RT
213
- >,
214
- ) => Promise<ToReturn<T, RT>>;
215
- patch: <T = RouteResp<N, 'patch'>, RT extends ResponseType = 'json'>(
216
- options: RequestOptionsByMethod<
217
- 'patch',
218
- RouteQuery<N, 'patch'>,
219
- RouteBody<N, 'patch'>,
220
- RT
221
- >,
222
- ) => Promise<ToReturn<T, RT>>;
223
- delete: HasRequiredKeys<RouteQuery<N, 'delete'>> extends true
224
- ? <T = RouteResp<N, 'delete'>>(
225
- options: RequestOptionsByMethod<'delete', RouteQuery<N, 'delete'>>,
226
- ) => Promise<ToReturn<T>>
227
- : <T = RouteResp<N, 'delete'>>(
228
- options?: RequestOptionsByMethod<'delete', RouteQuery<N, 'delete'>>,
229
- ) => Promise<ToReturn<T>>;
230
- }
231
- type MethodAvailable<
232
- N extends RouteName,
233
- M extends RequestMethod,
234
- > = M extends 'url'
235
- ? RouteMethods<N>['url']
236
- : M extends keyof Routes[N]
237
- ? RouteMethods<N>[M]
238
- : never;
84
+ url: HasRequiredKeys<RouteQuery<N, 'get'>> extends true ? (options: Pick<RequestOptionsByMethod<'get', RouteQuery<N, 'get'>>, 'query'>) => Promise<string> : (options?: Pick<RequestOptionsByMethod<'get', RouteQuery<N, 'get'>>, 'query'>) => Promise<string>;
85
+ get: HasRequiredKeys<RouteQuery<N, 'get'>> extends true ? <T = RouteResp<N, 'get'>, RT extends ResponseType = 'json', B extends boolean = false>(options: RequestOptionsByMethod<'get', RouteQuery<N, 'get'>, any, RT, B>) => Promise<ToReturn<T, RT, B>> : <T = RouteResp<N, 'get'>, B extends boolean = false, RT extends ResponseType = 'json'>(options?: RequestOptionsByMethod<'get', RouteQuery<N, 'get'>, any, RT, B>) => Promise<ToReturn<T, RT, B>>;
86
+ post: <T = RouteResp<N, 'post'>, RT extends ResponseType = 'json'>(options: RequestOptionsByMethod<'post', RouteQuery<N, 'post'>, RouteBody<N, 'post'>, RT>) => Promise<ToReturn<T, RT>>;
87
+ put: <T = RouteResp<N, 'put'>, RT extends ResponseType = 'json'>(options: RequestOptionsByMethod<'put', RouteQuery<N, 'put'>, RouteBody<N, 'put'>, RT>) => Promise<ToReturn<T, RT>>;
88
+ patch: <T = RouteResp<N, 'patch'>, RT extends ResponseType = 'json'>(options: RequestOptionsByMethod<'patch', RouteQuery<N, 'patch'>, RouteBody<N, 'patch'>, RT>) => Promise<ToReturn<T, RT>>;
89
+ delete: HasRequiredKeys<RouteQuery<N, 'delete'>> extends true ? <T = RouteResp<N, 'delete'>>(options: RequestOptionsByMethod<'delete', RouteQuery<N, 'delete'>>) => Promise<ToReturn<T>> : <T = RouteResp<N, 'delete'>>(options?: RequestOptionsByMethod<'delete', RouteQuery<N, 'delete'>>) => Promise<ToReturn<T>>;
90
+ }
91
+ type MethodAvailable<N extends RouteName, M extends RequestMethod> = M extends 'url' ? RouteMethods<N>['url'] : M extends keyof Routes[N] ? RouteMethods<N>[M] : never;
239
92
  type RouteResults<N extends RouteName> = {
240
- [M in keyof RouteMethods<any>]: MethodAvailable<N, M>;
93
+ [M in keyof RouteMethods<any>]: MethodAvailable<N, M>;
241
94
  };
242
95
 
243
96
  interface NgwLayerIdentifyError {
244
- error: 'Not implemented';
97
+ error: 'Not implemented';
245
98
  }
246
99
  interface LayerFeature {
247
- id: number;
248
- label: string;
249
- layerId: number;
250
- parent: string;
251
- fields: FeatureProperties;
252
- geom?: GeoJsonObject;
100
+ id: number;
101
+ label: string;
102
+ layerId: number;
103
+ parent: string;
104
+ fields: FeatureProperties;
105
+ geom?: GeoJsonObject;
253
106
  }
254
107
  interface FeatureLayersIdentifyItems {
255
- featureCount: number;
256
- features: LayerFeature[];
108
+ featureCount: number;
109
+ features: LayerFeature[];
257
110
  }
258
111
  interface FeatureLayersIdentify {
259
- [layerId: number]: FeatureLayersIdentifyItems | NgwLayerIdentifyError;
260
- featureCount: number;
112
+ [layerId: number]: FeatureLayersIdentifyItems | NgwLayerIdentifyError;
113
+ featureCount: number;
261
114
  }
262
115
  interface FeatureItemAttachment {
263
- id: number;
264
- name: string;
265
- size: number;
266
- mime_type: string;
267
- description: null;
268
- is_image: boolean;
116
+ id: number;
117
+ name: string;
118
+ size: number;
119
+ mime_type: string;
120
+ description: null;
121
+ is_image: boolean;
269
122
  }
270
123
  interface FeatureItemExtensions {
271
- description?: string;
272
- attachment?: FeatureItemAttachment[];
273
- }
274
- interface FeatureItem<
275
- F = FeatureProperties,
276
- G extends Geometry | string = Geometry,
277
- > {
278
- id: number;
279
- geom: G;
280
- fields: F;
281
- extensions: FeatureItemExtensions;
282
- }
283
- type FeatureItemToNgw<
284
- F = FeatureProperties,
285
- G extends Geometry | string = Geometry,
286
- > = FeatureItem<F, G>;
124
+ description?: string;
125
+ attachment?: FeatureItemAttachment[];
126
+ }
127
+ interface FeatureItem<F = FeatureProperties, G extends Geometry | string = Geometry> {
128
+ id: number;
129
+ geom: G;
130
+ fields: F;
131
+ extensions: FeatureItemExtensions;
132
+ }
133
+ type FeatureItemToNgw<F = FeatureProperties, G extends Geometry | string = Geometry> = FeatureItem<F, G>;
287
134
 
288
135
  /**
289
136
  * Represents an item in a legend, with additional rendering and indexing information.
290
137
  */
291
138
  interface LegendItem {
292
- /**
293
- * The index of the legend item.
294
- */
295
- index: number;
296
- /**
297
- * A flag indicating whether this legend item should be rendered.
298
- */
299
- render: boolean | null;
300
- /**
301
- * The display name of the legend item.
302
- */
303
- display_name: string;
304
- /**
305
- * The symbol associated with this legend item.
306
- */
307
- icon: LegendItemSymbol;
139
+ /**
140
+ * The index of the legend item.
141
+ */
142
+ index: number;
143
+ /**
144
+ * A flag indicating whether this legend item should be rendered.
145
+ */
146
+ render: boolean | null;
147
+ /**
148
+ * The display name of the legend item.
149
+ */
150
+ display_name: string;
151
+ /**
152
+ * The symbol associated with this legend item.
153
+ */
154
+ icon: LegendItemSymbol;
308
155
  }
309
156
  /**
310
157
  * Represents a symbol in a legend item.
311
158
  */
312
159
  interface LegendItemSymbol {
313
- /**
314
- * The format of the symbol, e.g., 'svg', 'png'.
315
- */
316
- format: string;
317
- /**
318
- * The actual data of the symbol in a specified format.
319
- * This could be a base64 encoded string, SVG path, etc.
320
- */
321
- data: string;
160
+ /**
161
+ * The format of the symbol, e.g., 'svg', 'png'.
162
+ */
163
+ format: string;
164
+ /**
165
+ * The actual data of the symbol in a specified format.
166
+ * This could be a base64 encoded string, SVG path, etc.
167
+ */
168
+ data: string;
322
169
  }
323
170
  /**
324
171
  * Represents a legend for a specific layer.
325
172
  */
326
173
  interface LayerLegend {
327
- layerId: string;
328
- legend: LegendItem[];
174
+ layerId: string;
175
+ legend: LegendItem[];
329
176
  }
330
177
 
331
178
  interface RequestItemsParamsMap {
332
- 'pyramid.static': {
333
- skey: number;
334
- };
335
- 'pyramid.openapi_json': null;
336
- 'pyramid.openapi_json_test': null;
337
- 'pyramid.swagger': null;
338
- 'pyramid.control_panel': null;
339
- 'pyramid.control_panel.sysinfo': null;
340
- 'pyramid.control_panel.storage': null;
341
- 'pyramid.control_panel.backup.browse': null;
342
- 'pyramid.control_panel.backup.download': {
343
- filename: number;
344
- };
345
- 'pyramid.control_panel.cors': null;
346
- 'pyramid.control_panel.custom_css': null;
347
- 'pyramid.control_panel.logo': null;
348
- 'pyramid.control_panel.system_name': null;
349
- 'pyramid.control_panel.home_path': null;
350
- 'pyramid.locale': {
351
- locale: number;
352
- };
353
- 'pyramid.test_request': null;
354
- 'pyramid.test_exception_handled': null;
355
- 'pyramid.test_exception_unhandled': null;
356
- 'pyramid.test_exception_transaction': null;
357
- 'pyramid.test_timeout': null;
358
- 'pyramid.cors': null;
359
- 'pyramid.system_name': null;
360
- 'pyramid.settings': null;
361
- 'pyramid.route': null;
362
- 'pyramid.pkg_version': null;
363
- 'pyramid.healthcheck': null;
364
- 'pyramid.statistics': null;
365
- 'pyramid.estimate_storage': null;
366
- 'pyramid.storage_status': null;
367
- 'pyramid.storage': null;
368
- 'pyramid.kind_of_data': null;
369
- 'pyramid.custom_css': null;
370
- 'pyramid.logo': null;
371
- 'pyramid.company_logo': null;
372
- 'pyramid.home_path': null;
373
- 'pyramid.uacompat': null;
374
- 'lunkwill.summary': null;
375
- 'lunkwill.response': null;
376
- 'jsrealm.testentry': null;
377
- 'auth.login': null;
378
- 'auth.session_invite': null;
379
- 'auth.alink': {
380
- token: number;
381
- };
382
- 'auth.logout': null;
383
- 'auth.oauth': null;
384
- 'auth.settings': null;
385
- 'auth.user.browse': null;
386
- 'auth.user.create': null;
387
- 'auth.user.edit': {
388
- id: number;
389
- };
390
- 'auth.group.browse': null;
391
- 'auth.group.create': null;
392
- 'auth.group.edit': {
393
- id: number;
394
- };
395
- 'auth.user.collection': null;
396
- 'auth.user.item': {
397
- id: number;
398
- };
399
- 'auth.profile': null;
400
- 'auth.group.collection': null;
401
- 'auth.group.item': {
402
- id: number;
403
- };
404
- 'auth.current_user': null;
405
- 'auth.register': null;
406
- 'auth.login_cookies': null;
407
- 'auth.logout_cookies': null;
408
- 'resource.schema': null;
409
- 'resource.root': null;
410
- 'resource.show': {
411
- id: number;
412
- };
413
- 'resource.json': {
414
- id: number;
415
- };
416
- 'resource.effective_permissions': {
417
- id: number;
418
- };
419
- 'resource.export.page': {
420
- id: number;
421
- };
422
- 'resource.widget': null;
423
- 'resource.create': {
424
- id: number;
425
- };
426
- 'resource.update': {
427
- id: number;
428
- };
429
- 'resource.delete': {
430
- id: number;
431
- };
432
- 'resource.control_panel.resource_export': null;
433
- 'resource.blueprint': null;
434
- 'resource.item': {
435
- id: number;
436
- };
437
- 'resource.collection': null;
438
- 'resource.permission': {
439
- id: number;
440
- };
441
- 'resource.permission.explain': {
442
- id: number;
443
- };
444
- 'resource.volume': {
445
- id: number;
446
- };
447
- 'resource.quota': null;
448
- 'resource.search': null;
449
- 'resource.quota_check': null;
450
- 'resource.resource_export': null;
451
- 'resource.export': {
452
- id: number;
453
- };
454
- 'resource.file_download': {
455
- id: number;
456
- name: number;
457
- };
458
- 'resource.preview': {
459
- id: number;
460
- };
461
- 'srs.browse': null;
462
- 'srs.create': null;
463
- 'srs.edit': {
464
- id: number;
465
- };
466
- 'srs.catalog': null;
467
- 'srs.catalog.import': {
468
- id: number;
469
- };
470
- 'spatial_ref_sys.collection': null;
471
- 'spatial_ref_sys.convert': null;
472
- 'spatial_ref_sys.geom_transform.batch': null;
473
- 'spatial_ref_sys.geom_transform': {
474
- id: number;
475
- };
476
- 'spatial_ref_sys.geom_length': {
477
- id: number;
478
- };
479
- 'spatial_ref_sys.geom_area': {
480
- id: number;
481
- };
482
- 'spatial_ref_sys.item': {
483
- id: number;
484
- };
485
- 'spatial_ref_sys.catalog.collection': null;
486
- 'spatial_ref_sys.catalog.item': {
487
- id: number;
488
- };
489
- 'spatial_ref_sys.catalog.import': null;
490
- 'layer.extent': {
491
- id: number;
492
- };
493
- 'layer_preview.map': {
494
- id: number;
495
- };
496
- 'feature_layer.export_multiple': null;
497
- 'feature_layer.feature.browse': {
498
- id: number;
499
- };
500
- 'feature_layer.feature.show': {
501
- id: number;
502
- feature_id: number;
503
- };
504
- 'feature_layer.feature.update': {
505
- id: number;
506
- feature_id: number;
507
- };
508
- 'feature_layer.field': {
509
- id: number;
510
- };
511
- 'feature_layer.test_mvt': null;
512
- 'feature_layer.geojson': {
513
- id: number;
514
- };
515
- 'feature_layer.export': null;
516
- 'feature_layer.mvt': null;
517
- 'feature_layer.feature.item': {
518
- id: number;
519
- fid: number;
520
- };
521
- 'feature_layer.feature.item_extent': {
522
- id: number;
523
- fid: number;
524
- };
525
- 'feature_layer.feature.geometry_info': {
526
- id: number;
527
- fid: number;
528
- };
529
- 'feature_layer.feature.collection': {
530
- id: number;
531
- };
532
- 'feature_layer.feature.count': {
533
- id: number;
534
- };
535
- 'feature_layer.feature.extent': {
536
- id: number;
537
- };
538
- 'feature_layer.store': {
539
- id: number;
540
- };
541
- 'feature_layer.identify': null;
542
- 'feature_description.export': {
543
- id: number;
544
- };
545
- 'feature_attachment.download': {
546
- id: number;
547
- fid: number;
548
- aid: number;
549
- };
550
- 'feature_attachment.image': {
551
- id: number;
552
- fid: number;
553
- aid: number;
554
- };
555
- 'feature_attachment.item': {
556
- id: number;
557
- fid: number;
558
- aid: number;
559
- };
560
- 'feature_attachment.collection': {
561
- id: number;
562
- fid: number;
563
- };
564
- 'feature_attachment.export': {
565
- id: number;
566
- };
567
- 'feature_attachment.import': {
568
- id: number;
569
- };
570
- 'feature_attachment.page': {
571
- id: number;
572
- };
573
- 'render.tile': null;
574
- 'render.image': null;
575
- 'render.tile_cache.seed_status': {
576
- id: number;
577
- };
578
- 'render.legend': {
579
- id: number;
580
- };
581
- 'render.legend_symbols': {
582
- id: number;
583
- };
584
- 'webmap.annotation.collection': {
585
- id: number;
586
- };
587
- 'webmap.annotation.item': {
588
- id: number;
589
- annotation_id: number;
590
- };
591
- 'webmap.print': null;
592
- 'webmap.settings': null;
593
- 'webmap.extent': {
594
- id: number;
595
- };
596
- 'webmap.display': {
597
- id: number;
598
- };
599
- 'webmap.display.tiny': {
600
- id: number;
601
- };
602
- 'webmap.preview_embedded': null;
603
- 'webmap.clone': {
604
- id: number;
605
- };
606
- 'webmap.control_panel.settings': null;
607
- 'vector_layer.dataset': null;
608
- 'postgis.connection.inspect': {
609
- id: number;
610
- };
611
- 'postgis.connection.inspect.table': {
612
- id: number;
613
- table_name: number;
614
- };
615
- 'postgis.diagnostics': null;
616
- 'postgis.diagnostics_page': {
617
- id: number;
618
- };
619
- 'raster_layer.cog': {
620
- id: number;
621
- };
622
- 'raster_layer.download': {
623
- id: number;
624
- };
625
- 'wfsserver.wfs': {
626
- id: number;
627
- };
628
- 'wmsserver.wms': {
629
- id: number;
630
- };
631
- 'ogcfserver.landing_page': {
632
- id: number;
633
- };
634
- 'ogcfserver.openapi': {
635
- id: number;
636
- };
637
- 'ogcfserver.conformance': {
638
- id: number;
639
- };
640
- 'ogcfserver.collections': {
641
- id: number;
642
- };
643
- 'ogcfserver.collection': {
644
- id: number;
645
- collection_id: number;
646
- };
647
- 'ogcfserver.items': {
648
- id: number;
649
- collection_id: number;
650
- };
651
- 'ogcfserver.item': {
652
- id: number;
653
- collection_id: number;
654
- item_id: number;
655
- };
656
- 'tmsclient.connection.layers': {
657
- id: number;
658
- };
659
- 'file_upload.upload': null;
660
- 'file_upload.collection': null;
661
- 'file_upload.item': {
662
- id: number;
663
- };
664
- 'cadaster.settings': null;
665
- 'cadaster.enabled': null;
666
- 'cadaster.pkk_by_position': null;
667
- 'cadaster.pkk_by_id': null;
668
- 'pyramid.control_panel.cadaster': null;
669
- 'collector.user.browse': null;
670
- 'collector.user.create': null;
671
- 'collector.user.edit': {
672
- id: number;
673
- };
674
- 'collector.resource.users': {
675
- id: number;
676
- };
677
- 'collector.resource.read': {
678
- id: number;
679
- };
680
- 'collector.settings': null;
681
- 'collector.user.collection': null;
682
- 'collector.user.item': {
683
- user_id: number;
684
- };
685
- 'collector.user.limit': null;
686
- 'old.collector.user': {
687
- user_id: number;
688
- };
689
- 'collector.settings.users': null;
690
- 'demo.project': null;
691
- 'demo.project.preview': {
692
- identity: number;
693
- lang: number;
694
- };
695
- 'demo.select': null;
696
- 'demo.redirect': {
697
- project: number;
698
- };
699
- 'formbuilder.formbuilder_form_ngfp': {
700
- id: number;
701
- };
702
- 'nimbo.config': null;
703
- 'ngwcluster.schema': null;
704
- 'ngwcluster.config': null;
705
- 'ngwcluster.usage': null;
706
- 'ngwcluster.qgis_banner': null;
707
- 'ngwcluster.plan_and_features': null;
708
- 'qgis.style_qml': {
709
- id: number;
710
- };
711
- 'pyramid.control_panel.tracker': null;
712
- 'tracker.reports': null;
713
- 'tracker.reports.build': null;
714
- 'tracker.settings': null;
715
- 'tracker.receive_packet': {
716
- unique_id: number;
717
- };
718
- 'tracker.get_trackers': null;
719
- 'tracker.get_tracker_points': null;
720
- 'tracker.get_short_tracks': null;
721
- 'tracker.get_full_tracks': null;
722
- 'tracker.get_tracker_last_points': null;
723
- 'tracker.get_tracker_lines': null;
724
- 'tracker.get_last_activity_tracker': null;
725
- 'tracker.get_stops': null;
726
- 'tracker.get_device_types': null;
727
- 'tracker.export_to_gpx': null;
179
+ 'pyramid.static': {
180
+ skey: number;
181
+ };
182
+ 'pyramid.openapi_json': null;
183
+ 'pyramid.openapi_json_test': null;
184
+ 'pyramid.swagger': null;
185
+ 'pyramid.control_panel': null;
186
+ 'pyramid.control_panel.sysinfo': null;
187
+ 'pyramid.control_panel.storage': null;
188
+ 'pyramid.control_panel.backup.browse': null;
189
+ 'pyramid.control_panel.backup.download': {
190
+ filename: number;
191
+ };
192
+ 'pyramid.control_panel.cors': null;
193
+ 'pyramid.control_panel.custom_css': null;
194
+ 'pyramid.control_panel.logo': null;
195
+ 'pyramid.control_panel.system_name': null;
196
+ 'pyramid.control_panel.home_path': null;
197
+ 'pyramid.locale': {
198
+ locale: number;
199
+ };
200
+ 'pyramid.test_request': null;
201
+ 'pyramid.test_exception_handled': null;
202
+ 'pyramid.test_exception_unhandled': null;
203
+ 'pyramid.test_exception_transaction': null;
204
+ 'pyramid.test_timeout': null;
205
+ 'pyramid.cors': null;
206
+ 'pyramid.system_name': null;
207
+ 'pyramid.settings': null;
208
+ 'pyramid.route': null;
209
+ 'pyramid.pkg_version': null;
210
+ 'pyramid.healthcheck': null;
211
+ 'pyramid.statistics': null;
212
+ 'pyramid.estimate_storage': null;
213
+ 'pyramid.storage_status': null;
214
+ 'pyramid.storage': null;
215
+ 'pyramid.kind_of_data': null;
216
+ 'pyramid.custom_css': null;
217
+ 'pyramid.logo': null;
218
+ 'pyramid.company_logo': null;
219
+ 'pyramid.home_path': null;
220
+ 'pyramid.uacompat': null;
221
+ 'lunkwill.summary': null;
222
+ 'lunkwill.response': null;
223
+ 'jsrealm.testentry': null;
224
+ 'auth.login': null;
225
+ 'auth.session_invite': null;
226
+ 'auth.alink': {
227
+ token: number;
228
+ };
229
+ 'auth.logout': null;
230
+ 'auth.oauth': null;
231
+ 'auth.settings': null;
232
+ 'auth.user.browse': null;
233
+ 'auth.user.create': null;
234
+ 'auth.user.edit': {
235
+ id: number;
236
+ };
237
+ 'auth.group.browse': null;
238
+ 'auth.group.create': null;
239
+ 'auth.group.edit': {
240
+ id: number;
241
+ };
242
+ 'auth.user.collection': null;
243
+ 'auth.user.item': {
244
+ id: number;
245
+ };
246
+ 'auth.profile': null;
247
+ 'auth.group.collection': null;
248
+ 'auth.group.item': {
249
+ id: number;
250
+ };
251
+ 'auth.current_user': null;
252
+ 'auth.register': null;
253
+ 'auth.login_cookies': null;
254
+ 'auth.logout_cookies': null;
255
+ 'resource.schema': null;
256
+ 'resource.root': null;
257
+ 'resource.show': {
258
+ id: number;
259
+ };
260
+ 'resource.json': {
261
+ id: number;
262
+ };
263
+ 'resource.effective_permissions': {
264
+ id: number;
265
+ };
266
+ 'resource.export.page': {
267
+ id: number;
268
+ };
269
+ 'resource.widget': null;
270
+ 'resource.create': {
271
+ id: number;
272
+ };
273
+ 'resource.update': {
274
+ id: number;
275
+ };
276
+ 'resource.delete': {
277
+ id: number;
278
+ };
279
+ 'resource.control_panel.resource_export': null;
280
+ 'resource.blueprint': null;
281
+ 'resource.item': {
282
+ id: number;
283
+ };
284
+ 'resource.collection': null;
285
+ 'resource.permission': {
286
+ id: number;
287
+ };
288
+ 'resource.permission.explain': {
289
+ id: number;
290
+ };
291
+ 'resource.volume': {
292
+ id: number;
293
+ };
294
+ 'resource.quota': null;
295
+ 'resource.search': null;
296
+ 'resource.quota_check': null;
297
+ 'resource.resource_export': null;
298
+ 'resource.export': {
299
+ id: number;
300
+ };
301
+ 'resource.file_download': {
302
+ id: number;
303
+ name: number;
304
+ };
305
+ 'resource.preview': {
306
+ id: number;
307
+ };
308
+ 'srs.browse': null;
309
+ 'srs.create': null;
310
+ 'srs.edit': {
311
+ id: number;
312
+ };
313
+ 'srs.catalog': null;
314
+ 'srs.catalog.import': {
315
+ id: number;
316
+ };
317
+ 'spatial_ref_sys.collection': null;
318
+ 'spatial_ref_sys.convert': null;
319
+ 'spatial_ref_sys.geom_transform.batch': null;
320
+ 'spatial_ref_sys.geom_transform': {
321
+ id: number;
322
+ };
323
+ 'spatial_ref_sys.geom_length': {
324
+ id: number;
325
+ };
326
+ 'spatial_ref_sys.geom_area': {
327
+ id: number;
328
+ };
329
+ 'spatial_ref_sys.item': {
330
+ id: number;
331
+ };
332
+ 'spatial_ref_sys.catalog.collection': null;
333
+ 'spatial_ref_sys.catalog.item': {
334
+ id: number;
335
+ };
336
+ 'spatial_ref_sys.catalog.import': null;
337
+ 'layer.extent': {
338
+ id: number;
339
+ };
340
+ 'layer_preview.map': {
341
+ id: number;
342
+ };
343
+ 'feature_layer.export_multiple': null;
344
+ 'feature_layer.feature.browse': {
345
+ id: number;
346
+ };
347
+ 'feature_layer.feature.show': {
348
+ id: number;
349
+ feature_id: number;
350
+ };
351
+ 'feature_layer.feature.update': {
352
+ id: number;
353
+ feature_id: number;
354
+ };
355
+ 'feature_layer.field': {
356
+ id: number;
357
+ };
358
+ 'feature_layer.test_mvt': null;
359
+ 'feature_layer.geojson': {
360
+ id: number;
361
+ };
362
+ 'feature_layer.export': null;
363
+ 'feature_layer.mvt': null;
364
+ 'feature_layer.feature.item': {
365
+ id: number;
366
+ fid: number;
367
+ };
368
+ 'feature_layer.feature.item_extent': {
369
+ id: number;
370
+ fid: number;
371
+ };
372
+ 'feature_layer.feature.geometry_info': {
373
+ id: number;
374
+ fid: number;
375
+ };
376
+ 'feature_layer.feature.collection': {
377
+ id: number;
378
+ };
379
+ 'feature_layer.feature.count': {
380
+ id: number;
381
+ };
382
+ 'feature_layer.feature.extent': {
383
+ id: number;
384
+ };
385
+ 'feature_layer.store': {
386
+ id: number;
387
+ };
388
+ 'feature_layer.identify': null;
389
+ 'feature_description.export': {
390
+ id: number;
391
+ };
392
+ 'feature_attachment.download': {
393
+ id: number;
394
+ fid: number;
395
+ aid: number;
396
+ };
397
+ 'feature_attachment.image': {
398
+ id: number;
399
+ fid: number;
400
+ aid: number;
401
+ };
402
+ 'feature_attachment.item': {
403
+ id: number;
404
+ fid: number;
405
+ aid: number;
406
+ };
407
+ 'feature_attachment.collection': {
408
+ id: number;
409
+ fid: number;
410
+ };
411
+ 'feature_attachment.export': {
412
+ id: number;
413
+ };
414
+ 'feature_attachment.import': {
415
+ id: number;
416
+ };
417
+ 'feature_attachment.page': {
418
+ id: number;
419
+ };
420
+ 'render.tile': null;
421
+ 'render.image': null;
422
+ 'render.tile_cache.seed_status': {
423
+ id: number;
424
+ };
425
+ 'render.legend': {
426
+ id: number;
427
+ };
428
+ 'render.legend_symbols': {
429
+ id: number;
430
+ };
431
+ 'webmap.annotation.collection': {
432
+ id: number;
433
+ };
434
+ 'webmap.annotation.item': {
435
+ id: number;
436
+ annotation_id: number;
437
+ };
438
+ 'webmap.print': null;
439
+ 'webmap.settings': null;
440
+ 'webmap.extent': {
441
+ id: number;
442
+ };
443
+ 'webmap.display': {
444
+ id: number;
445
+ };
446
+ 'webmap.display.tiny': {
447
+ id: number;
448
+ };
449
+ 'webmap.preview_embedded': null;
450
+ 'webmap.clone': {
451
+ id: number;
452
+ };
453
+ 'webmap.control_panel.settings': null;
454
+ 'vector_layer.dataset': null;
455
+ 'postgis.connection.inspect': {
456
+ id: number;
457
+ };
458
+ 'postgis.connection.inspect.table': {
459
+ id: number;
460
+ table_name: number;
461
+ };
462
+ 'postgis.diagnostics': null;
463
+ 'postgis.diagnostics_page': {
464
+ id: number;
465
+ };
466
+ 'raster_layer.cog': {
467
+ id: number;
468
+ };
469
+ 'raster_layer.download': {
470
+ id: number;
471
+ };
472
+ 'wfsserver.wfs': {
473
+ id: number;
474
+ };
475
+ 'wmsserver.wms': {
476
+ id: number;
477
+ };
478
+ 'ogcfserver.landing_page': {
479
+ id: number;
480
+ };
481
+ 'ogcfserver.openapi': {
482
+ id: number;
483
+ };
484
+ 'ogcfserver.conformance': {
485
+ id: number;
486
+ };
487
+ 'ogcfserver.collections': {
488
+ id: number;
489
+ };
490
+ 'ogcfserver.collection': {
491
+ id: number;
492
+ collection_id: number;
493
+ };
494
+ 'ogcfserver.items': {
495
+ id: number;
496
+ collection_id: number;
497
+ };
498
+ 'ogcfserver.item': {
499
+ id: number;
500
+ collection_id: number;
501
+ item_id: number;
502
+ };
503
+ 'tmsclient.connection.layers': {
504
+ id: number;
505
+ };
506
+ 'file_upload.upload': null;
507
+ 'file_upload.collection': null;
508
+ 'file_upload.item': {
509
+ id: number;
510
+ };
511
+ 'cadaster.settings': null;
512
+ 'cadaster.enabled': null;
513
+ 'cadaster.pkk_by_position': null;
514
+ 'cadaster.pkk_by_id': null;
515
+ 'pyramid.control_panel.cadaster': null;
516
+ 'collector.user.browse': null;
517
+ 'collector.user.create': null;
518
+ 'collector.user.edit': {
519
+ id: number;
520
+ };
521
+ 'collector.resource.users': {
522
+ id: number;
523
+ };
524
+ 'collector.resource.read': {
525
+ id: number;
526
+ };
527
+ 'collector.settings': null;
528
+ 'collector.user.collection': null;
529
+ 'collector.user.item': {
530
+ user_id: number;
531
+ };
532
+ 'collector.user.limit': null;
533
+ 'old.collector.user': {
534
+ user_id: number;
535
+ };
536
+ 'collector.settings.users': null;
537
+ 'demo.project': null;
538
+ 'demo.project.preview': {
539
+ identity: number;
540
+ lang: number;
541
+ };
542
+ 'demo.select': null;
543
+ 'demo.redirect': {
544
+ project: number;
545
+ };
546
+ 'formbuilder.formbuilder_form_ngfp': {
547
+ id: number;
548
+ };
549
+ 'nimbo.config': null;
550
+ 'ngwcluster.schema': null;
551
+ 'ngwcluster.config': null;
552
+ 'ngwcluster.usage': null;
553
+ 'ngwcluster.qgis_banner': null;
554
+ 'ngwcluster.plan_and_features': null;
555
+ 'qgis.style_qml': {
556
+ id: number;
557
+ };
558
+ 'pyramid.control_panel.tracker': null;
559
+ 'tracker.reports': null;
560
+ 'tracker.reports.build': null;
561
+ 'tracker.settings': null;
562
+ 'tracker.receive_packet': {
563
+ unique_id: number;
564
+ };
565
+ 'tracker.get_trackers': null;
566
+ 'tracker.get_tracker_points': null;
567
+ 'tracker.get_short_tracks': null;
568
+ 'tracker.get_full_tracks': null;
569
+ 'tracker.get_tracker_last_points': null;
570
+ 'tracker.get_tracker_lines': null;
571
+ 'tracker.get_last_activity_tracker': null;
572
+ 'tracker.get_stops': null;
573
+ 'tracker.get_device_types': null;
574
+ 'tracker.export_to_gpx': null;
728
575
  }
729
576
 
730
577
  interface TreeItem {
731
- item_type: 'root' | 'group' | 'layer';
732
- display_name?: string;
733
- id?: number;
734
- _layer?: any;
735
- _parent?: TreeGroup;
578
+ item_type: 'root' | 'group' | 'layer';
579
+ display_name?: string;
580
+ id?: number;
581
+ _layer?: any;
582
+ _parent?: TreeGroup;
736
583
  }
737
584
  interface TreeGroup extends TreeItem {
738
- item_type: 'root' | 'group';
739
- group_expanded?: boolean;
740
- children: Array<TreeLayer | TreeGroup>;
585
+ item_type: 'root' | 'group';
586
+ group_expanded?: boolean;
587
+ children: Array<TreeLayer | TreeGroup>;
741
588
  }
742
589
  interface TreeLayer extends TreeItem {
743
- item_type: 'layer';
744
- layer_adapter: string;
745
- layer_enabled: boolean;
746
- draw_order_position: number;
747
- layer_max_scale_denom?: number;
748
- layer_min_scale_denom?: number;
749
- layer_style_id: number;
750
- style_parent_id: number;
751
- layer_transparency: number;
752
- layer_identifiable: boolean;
590
+ item_type: 'layer';
591
+ layer_adapter: string;
592
+ layer_enabled: boolean;
593
+ draw_order_position: number;
594
+ layer_max_scale_denom?: number;
595
+ layer_min_scale_denom?: number;
596
+ layer_style_id: number;
597
+ style_parent_id: number;
598
+ layer_transparency: number;
599
+ layer_identifiable: boolean;
753
600
  }
754
601
  interface Permission {
755
- action: string;
756
- principal: {
757
- id: number;
758
- };
759
- identity: string;
760
- scope: string;
761
- permission: string;
762
- propagate: boolean;
763
- }
764
- type ResourceCls =
765
- | 'resource_group'
766
- | 'postgis_layer'
767
- | 'wmsserver_service'
768
- | 'basemap_layer'
769
- | 'postgis_connection'
770
- | 'webmap'
771
- | 'wfsserver_service'
772
- | 'vector_layer'
773
- | 'raster_layer'
774
- | 'mapserver_style'
775
- | 'qgis_vector_style'
776
- | 'qgis_raster_style'
777
- | 'raster_style'
778
- | 'file_bucket'
779
- | 'lookup_table'
780
- | 'wmsclient_layer'
781
- | 'wmsclient_connection'
782
- | 'formbuilder_form'
783
- | 'file_bucket'
784
- | 'svg_marker_library'
785
- | 'ogcfserver_service'
786
- | 'tmsclient_connection'
787
- | 'tileset'
788
- | 'collector_project'
789
- | 'demo_project'
790
- | 'trackers_group'
791
- | 'tracker'
792
- | 'terrain_provider'
793
- | 'model_3d'
794
- | 'tmsclient_layer';
602
+ action: string;
603
+ principal: {
604
+ id: number;
605
+ };
606
+ identity: string;
607
+ scope: string;
608
+ permission: string;
609
+ propagate: boolean;
610
+ }
611
+ type ResourceCls = 'resource_group' | 'postgis_layer' | 'wmsserver_service' | 'basemap_layer' | 'postgis_connection' | 'webmap' | 'wfsserver_service' | 'vector_layer' | 'raster_layer' | 'mapserver_style' | 'qgis_vector_style' | 'qgis_raster_style' | 'raster_style' | 'file_bucket' | 'lookup_table' | 'wmsclient_layer' | 'wmsclient_connection' | 'formbuilder_form' | 'file_bucket' | 'svg_marker_library' | 'ogcfserver_service' | 'tmsclient_connection' | 'tileset' | 'collector_project' | 'demo_project' | 'trackers_group' | 'tracker' | 'terrain_provider' | 'model_3d' | 'tmsclient_layer';
795
612
  interface ResourceHierarchy {
796
- id: number;
797
- parent: {
798
- id: any;
799
- };
613
+ id: number;
614
+ parent: {
615
+ id: any;
616
+ };
800
617
  }
801
618
  interface Resource {
802
- cls: ResourceCls;
803
- id: number;
804
- parent: {
805
- id: number;
806
- };
807
- owner_user: {
808
- id: number;
809
- };
810
- permissions: Permission[];
811
- keyname?: string | null;
812
- display_name: string;
813
- description?: string | null;
814
- children: boolean;
815
- interfaces: any[];
816
- scopes: string[];
619
+ cls: ResourceCls;
620
+ id: number;
621
+ parent: {
622
+ id: number;
623
+ };
624
+ owner_user: {
625
+ id: number;
626
+ };
627
+ permissions: Permission[];
628
+ keyname?: string | null;
629
+ display_name: string;
630
+ description?: string | null;
631
+ children: boolean;
632
+ interfaces: any[];
633
+ scopes: string[];
817
634
  }
818
635
  interface BookmarkProperties {
819
- name: string;
820
- place: string;
636
+ name: string;
637
+ place: string;
821
638
  }
822
639
  interface NgwDateFormat {
823
- year: number;
824
- month: number;
825
- day: number;
640
+ year: number;
641
+ month: number;
642
+ day: number;
826
643
  }
827
644
  interface NgwTimeFormat {
828
- hour: number;
829
- minute: number;
830
- second: number;
645
+ hour: number;
646
+ minute: number;
647
+ second: number;
831
648
  }
832
649
  type NgwDateTimeFormat = NgwDateFormat & NgwTimeFormat;
833
650
  interface WebmapResource {
834
- extent_left: number;
835
- extent_right: number;
836
- extent_bottom: number;
837
- extent_top: number;
838
- extent_constrained: boolean;
839
- draw_order_enabled: boolean;
840
- bookmark_resource: ResourceHierarchy;
841
- root_item: TreeGroup;
651
+ extent_left: number;
652
+ extent_right: number;
653
+ extent_bottom: number;
654
+ extent_top: number;
655
+ extent_constrained: boolean;
656
+ draw_order_enabled: boolean;
657
+ bookmark_resource: ResourceHierarchy;
658
+ root_item: TreeGroup;
842
659
  }
843
660
  interface BasemapResource {
844
- url: string;
845
- /**
846
- * Parse to qms-kit.BasemapQms
847
- */
848
- qms: string;
661
+ url: string;
662
+ /**
663
+ * Parse to qms-kit.BasemapQms
664
+ */
665
+ qms: string;
849
666
  }
850
667
  interface BasemapWebmapItem {
851
- resource_id: number;
852
- display_name: string;
853
- position?: number;
854
- enabled?: boolean;
855
- opacity?: number;
668
+ resource_id: number;
669
+ display_name: string;
670
+ position?: number;
671
+ enabled?: boolean;
672
+ opacity?: number;
856
673
  }
857
674
  interface BasemapWebmap {
858
- basemaps: BasemapWebmapItem[];
675
+ basemaps: BasemapWebmapItem[];
859
676
  }
860
677
  interface LookupTableResource {
861
- items: Record<string, string>;
862
- }
863
- type VectorFieldDatatype =
864
- | 'STRING'
865
- | 'REAL'
866
- | 'DATE'
867
- | 'TIME'
868
- | 'DATETIME'
869
- | 'BIGINT'
870
- | 'INTEGER'
871
- | 'BOOLEAN';
678
+ items: Record<string, string>;
679
+ }
680
+ type VectorFieldDatatype = 'STRING' | 'REAL' | 'DATE' | 'TIME' | 'DATETIME' | 'BIGINT' | 'INTEGER' | 'BOOLEAN';
872
681
  /** @deprecated - use {@link VectorFieldDatatype} instead */
873
682
  type ResourceItemDatatype = VectorFieldDatatype;
874
683
  interface FeatureLayerField {
875
- datatype: VectorFieldDatatype;
876
- display_name: string;
877
- grid_visibility: boolean;
878
- id: number;
879
- keyname: string;
880
- label_field: boolean;
881
- typemod?: unknown;
684
+ datatype: VectorFieldDatatype;
685
+ display_name: string;
686
+ grid_visibility: boolean;
687
+ id: number;
688
+ keyname: string;
689
+ label_field: boolean;
690
+ typemod?: unknown;
882
691
  }
883
692
  interface FeatureResource {
884
- fields: FeatureLayerField[];
885
- }
886
- type GeometryType =
887
- | 'POINT'
888
- | 'LINESTRING'
889
- | 'POLYGON'
890
- | 'MULTIPOINT'
891
- | 'MULTILINESTRING'
892
- | 'MULTIPOLYGON'
893
- | 'POINTZ'
894
- | 'LINESTRINGZ'
895
- | 'POLYGONZ'
896
- | 'MULTIPOINTZ'
897
- | 'MULTILINESTRINGZ'
898
- | 'MULTIPOLYGONZ';
693
+ fields: FeatureLayerField[];
694
+ }
695
+ type GeometryType = 'POINT' | 'LINESTRING' | 'POLYGON' | 'MULTIPOINT' | 'MULTILINESTRING' | 'MULTIPOLYGON' | 'POINTZ' | 'LINESTRINGZ' | 'POLYGONZ' | 'MULTIPOINTZ' | 'MULTILINESTRINGZ' | 'MULTIPOLYGONZ';
899
696
  interface VectorLayer {
900
- srs: {
901
- id: number;
902
- };
903
- geometry_type: GeometryType;
697
+ srs: {
698
+ id: number;
699
+ };
700
+ geometry_type: GeometryType;
904
701
  }
905
702
  interface FileBucket {
906
- files: NgwFile[];
907
- tstamp?: any;
908
- main_tileset?: string;
703
+ files: NgwFile[];
704
+ tstamp?: any;
705
+ main_tileset?: string;
909
706
  }
910
707
  interface WmsServerService {
911
- /**
912
- * Array or WMS service layers. keyname, display_name and resource_id are mandatory.
913
- */
914
- layers: WmsServerServiceLayer[];
708
+ /**
709
+ * Array or WMS service layers. keyname, display_name and resource_id are mandatory.
710
+ */
711
+ layers: WmsServerServiceLayer[];
915
712
  }
916
713
  interface WmsClientLayer {
917
- /** WMS connection. */
918
- connection: {
919
- id: number;
920
- };
921
- srs: {
922
- id: number;
923
- };
924
- /**
925
- * Image format. Available values can fetched from WMS connection ('image/png').
926
- */
927
- imgformat: string;
928
- /**
929
- * String with layer identifiers separated with comma. Available layers can fetched from WMS connection.
930
- */
931
- wmslayers: string;
932
- /** Additional parameters added to each request. This is key and value list. */
933
- vendor_params: Record<string, string>;
714
+ /** WMS connection. */
715
+ connection: {
716
+ id: number;
717
+ };
718
+ srs: {
719
+ id: number;
720
+ };
721
+ /**
722
+ * Image format. Available values can fetched from WMS connection ('image/png').
723
+ */
724
+ imgformat: string;
725
+ /**
726
+ * String with layer identifiers separated with comma. Available layers can fetched from WMS connection.
727
+ */
728
+ wmslayers: string;
729
+ /** Additional parameters added to each request. This is key and value list. */
730
+ vendor_params: Record<string, string>;
934
731
  }
935
732
  interface WmsClientConnection {
936
- /** WMS service url */
937
- url: string;
938
- /** User name to connect to service */
939
- username?: string;
940
- /** Password to connect to service */
941
- password?: string;
942
- /** WMS version */
943
- version?: string;
944
- /** If equal query - query capabilities from service */
945
- capcache?: string;
733
+ /** WMS service url */
734
+ url: string;
735
+ /** User name to connect to service */
736
+ username?: string;
737
+ /** Password to connect to service */
738
+ password?: string;
739
+ /** WMS version */
740
+ version?: string;
741
+ /** If equal query - query capabilities from service */
742
+ capcache?: string;
946
743
  }
947
744
  interface WmsServerServiceLayer {
948
- /**
949
- * Key name for WMS service item. Name may be only ASCII symbols without spaces.
950
- * */
951
- keyname: string;
952
- /**
953
- * Service item name.
954
- * */
955
- display_name: string;
956
- /**
957
- * Resource identifier which will be WMS layer datasource. Supported types are: vector layer style, raster style, WMS layer.
958
- * */
959
- resource_id: number;
960
- /**
961
- * Minimum scale to show WMS layer. String in form of `1 : 100000`.
962
- */
963
- min_scale_denom?: string | null;
964
- /**
965
- * Maximum scale to show WMS layer. String in form of `1 : 100000`.
966
- */
967
- max_scale_denom?: string | null;
745
+ /**
746
+ * Key name for WMS service item. Name may be only ASCII symbols without spaces.
747
+ * */
748
+ keyname: string;
749
+ /**
750
+ * Service item name.
751
+ * */
752
+ display_name: string;
753
+ /**
754
+ * Resource identifier which will be WMS layer datasource. Supported types are: vector layer style, raster style, WMS layer.
755
+ * */
756
+ resource_id: number;
757
+ /**
758
+ * Minimum scale to show WMS layer. String in form of `1 : 100000`.
759
+ */
760
+ min_scale_denom?: string | null;
761
+ /**
762
+ * Maximum scale to show WMS layer. String in form of `1 : 100000`.
763
+ */
764
+ max_scale_denom?: string | null;
968
765
  }
969
766
  interface NgwFile {
970
- name: string;
971
- mime_type: string;
972
- size: number;
767
+ name: string;
768
+ mime_type: string;
769
+ size: number;
973
770
  }
974
771
  interface Resmeta {
975
- items: Record<string, any>;
772
+ items: Record<string, any>;
976
773
  }
977
774
  interface ResourceItemMain {
978
- resource: Resource;
979
- resmeta: Resmeta;
775
+ resource: Resource;
776
+ resmeta: Resmeta;
980
777
  }
981
778
  interface ResourceItem extends ResourceItemMain {
982
- [cls: string]: any;
983
- webmap?: WebmapResource;
984
- feature_layer?: FeatureResource;
985
- vector_layer?: VectorLayer;
986
- basemap_layer?: BasemapResource;
987
- basemap_webmap?: BasemapWebmap;
988
- lookup_table?: LookupTableResource;
989
- file_bucket?: FileBucket;
990
- wmsserver_service?: WmsServerService;
991
- wmsclient_layer?: WmsClientLayer;
992
- wmsclient_connection?: WmsClientConnection;
779
+ [cls: string]: any;
780
+ webmap?: WebmapResource;
781
+ feature_layer?: FeatureResource;
782
+ vector_layer?: VectorLayer;
783
+ basemap_layer?: BasemapResource;
784
+ basemap_webmap?: BasemapWebmap;
785
+ lookup_table?: LookupTableResource;
786
+ file_bucket?: FileBucket;
787
+ wmsserver_service?: WmsServerService;
788
+ wmsclient_layer?: WmsClientLayer;
789
+ wmsclient_connection?: WmsClientConnection;
993
790
  }
994
791
  interface VectorLayerResourceItem extends ResourceItemMain {
995
- vector_layer: VectorLayer;
996
- feature_layer: FeatureResource;
792
+ vector_layer: VectorLayer;
793
+ feature_layer: FeatureResource;
997
794
  }
998
795
 
999
796
  type ResourceStoreItemProperties = {
1000
- [name: string]: any;
797
+ [name: string]: any;
1001
798
  } | null;
1002
- type ResourceStoreItem<
1003
- P extends ResourceStoreItemProperties = ResourceStoreItemProperties,
1004
- > = ResourceStoreItemDefault & {
1005
- data?: string;
799
+ type ResourceStoreItem<P extends ResourceStoreItemProperties = ResourceStoreItemProperties> = ResourceStoreItemDefault & {
800
+ data?: string;
1006
801
  } & P;
1007
802
  interface ResourceStoreItemDefault {
1008
- [field: string]: string | number | boolean | null | Date;
1009
- id: number;
1010
- label: string;
803
+ [field: string]: string | number | boolean | null | Date;
804
+ id: number;
805
+ label: string;
1011
806
  }
1012
807
 
1013
808
  interface FileMeta {
1014
- id: string;
1015
- mime_type: string;
1016
- name: string;
1017
- size: number;
809
+ id: string;
810
+ mime_type: string;
811
+ name: string;
812
+ size: number;
1018
813
  }
1019
814
  interface NgwExtent {
1020
- extent: {
1021
- minLon: number;
1022
- minLat: number;
1023
- maxLon: number;
1024
- maxLat: number;
1025
- };
815
+ extent: {
816
+ minLon: number;
817
+ minLat: number;
818
+ maxLon: number;
819
+ maxLat: number;
820
+ };
1026
821
  }
1027
822
  interface SrsItem {
1028
- auth_name: string;
1029
- auth_srid: number;
1030
- display_name: string;
1031
- id: number;
1032
- wkt: string;
823
+ auth_name: string;
824
+ auth_srid: number;
825
+ display_name: string;
826
+ id: number;
827
+ wkt: string;
1033
828
  }
1034
829
  interface FeatureLayerCount {
1035
- total_count: number;
830
+ total_count: number;
1036
831
  }
1037
832
  type ResourceIdKeynameDef = string | number;
1038
833
  type ResourceDefinition = ResourceIdKeynameDef | DeepPartial<Resource>;
1039
834
  interface FileUploadResp {
1040
- upload_meta: FileMeta[];
835
+ upload_meta: FileMeta[];
1041
836
  }
1042
837
  interface PyramidSettingsPyramidCompanyLogo {
1043
- link?: 'string';
1044
- enabled: boolean;
838
+ link?: 'string';
839
+ enabled: boolean;
1045
840
  }
1046
841
  interface PyramidSettingsPyramid {
1047
- support_url?: string;
1048
- units: 'metric';
1049
- degree_format: 'dd';
1050
- measurement_srid: 4326;
1051
- company_logo?: PyramidSettingsPyramidCompanyLogo;
842
+ support_url?: string;
843
+ units: 'metric';
844
+ degree_format: 'dd';
845
+ measurement_srid: 4326;
846
+ company_logo?: PyramidSettingsPyramidCompanyLogo;
1052
847
  }
1053
848
  type PyramidSettings = PyramidSettingsPyramid | Record<string, any>;
1054
849
  interface PyramidRoute {
1055
- [requestItemName: string]: [url: string, ...params: string[]];
850
+ [requestItemName: string]: [url: string, ...params: string[]];
1056
851
  }
1057
852
  type Router = PyramidRoute;
1058
853
  type simple = string | number | boolean;
1059
854
  type cbParams = (params: Params) => simple;
1060
855
  interface Params {
1061
- [name: string]: simple | cbParams;
856
+ [name: string]: simple | cbParams;
1062
857
  }
1063
858
  type RequestItemKeys = {
1064
- readonly [T in keyof RequestItemsParamsMap]?: any;
859
+ readonly [T in keyof RequestItemsParamsMap]?: any;
1065
860
  };
1066
861
  interface RequestItemsResponseMap {
1067
- GET: GetRequestItemsResponseMap;
1068
- POST: PostRequestItemsResponseMap;
862
+ GET: GetRequestItemsResponseMap;
863
+ POST: PostRequestItemsResponseMap;
1069
864
  }
1070
865
  interface GetRequestItemsResponseMap extends RequestItemKeys {
1071
- 'pyramid.route': PyramidRoute;
1072
- 'pyramid.settings': PyramidSettings;
1073
- 'resource.item': ResourceItem;
1074
- 'resource.search': ResourceItem[];
1075
- 'resource.child': any;
1076
- 'resource.collection': ResourceItem[];
1077
- 'file_upload.upload': FileUploadResp;
1078
- 'layer.extent': NgwExtent;
1079
- 'feature_layer.feature.item': FeatureItem;
1080
- 'feature_layer.feature.collection': FeatureItem[];
1081
- 'feature_layer.store': ResourceStoreItem[];
1082
- 'feature_layer.field': FeatureLayerField[];
1083
- 'feature_layer.feature.item_extent': NgwExtent;
1084
- 'feature_layer.feature.count': FeatureLayerCount;
1085
- 'pyramid.company_logo': string;
1086
- 'spatial_ref_sys.collection': SrsItem[];
1087
- 'render.legend_symbols': LegendItem[];
866
+ 'pyramid.route': PyramidRoute;
867
+ 'pyramid.settings': PyramidSettings;
868
+ 'resource.item': ResourceItem;
869
+ 'resource.search': ResourceItem[];
870
+ 'resource.child': any;
871
+ 'resource.collection': ResourceItem[];
872
+ 'file_upload.upload': FileUploadResp;
873
+ 'layer.extent': NgwExtent;
874
+ 'feature_layer.feature.item': FeatureItem;
875
+ 'feature_layer.feature.collection': FeatureItem[];
876
+ 'feature_layer.store': ResourceStoreItem[];
877
+ 'feature_layer.field': FeatureLayerField[];
878
+ 'feature_layer.feature.item_extent': NgwExtent;
879
+ 'feature_layer.feature.count': FeatureLayerCount;
880
+ 'pyramid.company_logo': string;
881
+ 'spatial_ref_sys.collection': SrsItem[];
882
+ 'render.legend_symbols': LegendItem[];
1088
883
  }
1089
884
  interface IdOnly {
1090
- id: number;
885
+ id: number;
1091
886
  }
1092
887
  interface CreatedResource extends IdOnly {
1093
- parent: IdOnly;
888
+ parent: IdOnly;
1094
889
  }
1095
890
  interface PostRequestItemsResponseMap extends RequestItemKeys {
1096
- 'resource.collection': CreatedResource;
1097
- 'feature_layer.identify': FeatureLayersIdentify;
1098
- 'file_upload.upload': FileUploadResp;
1099
- 'feature_attachment.collection': IdOnly;
891
+ 'resource.collection': CreatedResource;
892
+ 'feature_layer.identify': FeatureLayersIdentify;
893
+ 'file_upload.upload': FileUploadResp;
894
+ 'feature_attachment.collection': IdOnly;
1100
895
  }
1101
896
  interface PatchRequestItemsResponseMap extends RequestItemKeys {
1102
- 'feature_layer.feature.collection': IdOnly[];
897
+ 'feature_layer.feature.collection': IdOnly[];
1103
898
  }
1104
899
  interface PutRequestItemsResponseMap extends RequestItemKeys {
1105
- 'feature_layer.feature.item': IdOnly;
900
+ 'feature_layer.feature.item': IdOnly;
1106
901
  }
1107
902
  interface DeleteRequestItemsResponseMap extends RequestItemKeys {
1108
- 'feature_layer.feature.item': any;
903
+ 'feature_layer.feature.item': any;
1109
904
  }
1110
905
  /**
1111
906
  * User credentials for authorization.
1112
907
  */
1113
908
  interface Credentials {
1114
- /**
1115
- * The login username for the user.
1116
- */
1117
- login: string;
1118
- /**
1119
- * The password for the user.
1120
- */
1121
- password: string;
1122
- }
1123
- type RequestTransformFunction = (
1124
- url: string,
1125
- options: RequestOptions,
1126
- ) => [url: string, options: RequestOptions];
909
+ /**
910
+ * The login username for the user.
911
+ */
912
+ login: string;
913
+ /**
914
+ * The password for the user.
915
+ */
916
+ password: string;
917
+ }
918
+ type RequestTransformFunction = (url: string, options: RequestOptions) => [url: string, options: RequestOptions];
1127
919
  interface NgwConnectorOptions {
1128
- /**
1129
- * The base URL of the NextGIS Web (NGW) server.
1130
- * Example: "https://demo.nextgis.com"
1131
- */
1132
- baseUrl?: string;
1133
- /**
1134
- * The API route path to use for requests.
1135
- * If not specified, the default route "/api/component/pyramid/route" will be used.
1136
- */
1137
- route?: string;
1138
- /**
1139
- * User credentials for authorization in NGW.
1140
- * These credentials will be used for authentication in NGW requests.
1141
- */
1142
- auth?: Credentials;
1143
- /**
1144
- * Indicates whether to include credentials such as cookies, authentication headers,
1145
- * or TLS client certificates in cross-site Access-Control requests.
1146
- * Setting this property ensures that cookies from another domain are used in the requests.
1147
- * Note that setting this property has no effect on same-origin requests.
1148
- */
1149
- withCredentials?: boolean;
1150
- /**
1151
- * A function to transform the request before sending it.
1152
- * This function can be used to modify the URL, headers, or other options.
1153
- */
1154
- requestTransform?: RequestTransformFunction;
1155
- /**
1156
- * Identifier for caching requests.
1157
- * This can be used to segregate cached data for different connectors.
1158
- */
1159
- cacheId?: string;
920
+ /**
921
+ * The base URL of the NextGIS Web (NGW) server.
922
+ * Example: "https://demo.nextgis.com"
923
+ */
924
+ baseUrl?: string;
925
+ /**
926
+ * The API route path to use for requests.
927
+ * If not specified, the default route "/api/component/pyramid/route" will be used.
928
+ */
929
+ route?: string;
930
+ /**
931
+ * User credentials for authorization in NGW.
932
+ * These credentials will be used for authentication in NGW requests.
933
+ */
934
+ auth?: Credentials;
935
+ /**
936
+ * Indicates whether to include credentials such as cookies, authentication headers,
937
+ * or TLS client certificates in cross-site Access-Control requests.
938
+ * Setting this property ensures that cookies from another domain are used in the requests.
939
+ * Note that setting this property has no effect on same-origin requests.
940
+ */
941
+ withCredentials?: boolean;
942
+ /**
943
+ * A function to transform the request before sending it.
944
+ * This function can be used to modify the URL, headers, or other options.
945
+ */
946
+ requestTransform?: RequestTransformFunction;
947
+ /**
948
+ * Identifier for caching requests.
949
+ * This can be used to segregate cached data for different connectors.
950
+ */
951
+ cacheId?: string;
1160
952
  }
1161
953
  interface RequestHeaders {
1162
- [header: string]: string | undefined;
1163
- Authorization?: string;
1164
- Accept?: string;
1165
- 'Access-Control-Allow-Origin'?: string;
1166
- 'Access-Control-Allow-Headers'?: string;
954
+ [header: string]: string | undefined;
955
+ Authorization?: string;
956
+ Accept?: string;
957
+ 'Access-Control-Allow-Origin'?: string;
958
+ 'Access-Control-Allow-Headers'?: string;
1167
959
  }
1168
960
  type RequestMethods = 'POST' | 'GET' | 'PATCH' | 'DELETE' | 'PUT';
1169
- type NgwExceptions =
1170
- | 'nextgisweb.resource.exception.ResourceNotFound'
1171
- | 'nextgisweb.core.exception.InsufficientPermissions';
961
+ type NgwExceptions = 'nextgisweb.resource.exception.ResourceNotFound' | 'nextgisweb.core.exception.InsufficientPermissions';
1172
962
  interface BaseRequestOptions {
1173
- cache?: boolean;
1174
- signal?: AbortSignal;
963
+ cache?: boolean;
964
+ signal?: AbortSignal;
1175
965
  }
1176
966
  /**
1177
967
  * Options for configuring requests to NGW.
1178
968
  */
1179
- interface RequestOptions<
1180
- M extends RequestMethods = RequestMethods,
1181
- K extends keyof RequestItemsParamsMap = keyof RequestItemsParamsMap,
1182
- > extends BaseRequestOptions {
1183
- /**
1184
- * Data to be sent as the request body.
1185
- * Typically used with POST, PUT, or PATCH requests.
1186
- */
1187
- data?: any;
1188
- /**
1189
- * File to be sent in the request.
1190
- */
1191
- file?: File;
1192
- /**
1193
- * HTTP method to be used for the request.
1194
- * Example: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'
1195
- */
1196
- method?: M;
1197
- /**
1198
- * HTTP headers to be included in the request.
1199
- */
1200
- headers?: RequestHeaders;
1201
- /**
1202
- * Indicates whether to include credentials such as cookies, authentication headers,
1203
- * or TLS client certificates in cross-site Access-Control requests.
1204
- */
1205
- withCredentials?: boolean;
1206
- /**
1207
- * The type of data that the server will respond with.
1208
- * Can be either 'json' or 'blob'.
1209
- */
1210
- responseType?: 'json' | 'blob';
1211
- /**
1212
- * Whether to cache the request.
1213
- * When set to true, the response will be stored in the cache.
1214
- */
1215
- cache?: boolean;
1216
- /**
1217
- * Signal object that allows you to communicate with a DOM request (such as fetch) and abort it if desired via an AbortController.
1218
- */
1219
- signal?: AbortSignal;
1220
- /**
1221
- * Parameters to be included in the request URL.
1222
- */
1223
- params?: RequestItemsParams<K>;
1224
- /**
1225
- * A function to be called to monitor the progress of the request.
1226
- * @param percentComplete - The percentage of the request that has been completed.
1227
- * @param event - The progress event.
1228
- */
1229
- onProgress?: (percentComplete: number, event: ProgressEvent) => void;
1230
- /**
1231
- * Name to use for caching the request.
1232
- */
1233
- cacheName?: string;
1234
- /**
1235
- * Properties to override default cache behavior.
1236
- */
1237
- cacheProps?: Record<string, unknown>;
969
+ interface RequestOptions<M extends RequestMethods = RequestMethods, K extends keyof RequestItemsParamsMap = keyof RequestItemsParamsMap> extends BaseRequestOptions {
970
+ /**
971
+ * Data to be sent as the request body.
972
+ * Typically used with POST, PUT, or PATCH requests.
973
+ */
974
+ data?: any;
975
+ /**
976
+ * File to be sent in the request.
977
+ */
978
+ file?: File;
979
+ /**
980
+ * HTTP method to be used for the request.
981
+ * Example: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'
982
+ */
983
+ method?: M;
984
+ /**
985
+ * HTTP headers to be included in the request.
986
+ */
987
+ headers?: RequestHeaders;
988
+ /**
989
+ * Indicates whether to include credentials such as cookies, authentication headers,
990
+ * or TLS client certificates in cross-site Access-Control requests.
991
+ */
992
+ withCredentials?: boolean;
993
+ /**
994
+ * The type of data that the server will respond with.
995
+ * Can be either 'json' or 'blob'.
996
+ */
997
+ responseType?: 'json' | 'blob';
998
+ /**
999
+ * Whether to cache the request.
1000
+ * When set to true, the response will be stored in the cache.
1001
+ */
1002
+ cache?: boolean;
1003
+ /**
1004
+ * Signal object that allows you to communicate with a DOM request (such as fetch) and abort it if desired via an AbortController.
1005
+ */
1006
+ signal?: AbortSignal;
1007
+ /**
1008
+ * Parameters to be included in the request URL.
1009
+ */
1010
+ params?: RequestItemsParams<K>;
1011
+ /**
1012
+ * A function to be called to monitor the progress of the request.
1013
+ * @param percentComplete - The percentage of the request that has been completed.
1014
+ * @param event - The progress event.
1015
+ */
1016
+ onProgress?: (percentComplete: number, event: ProgressEvent) => void;
1017
+ /**
1018
+ * Name to use for caching the request.
1019
+ */
1020
+ cacheName?: string;
1021
+ /**
1022
+ * Properties to override default cache behavior.
1023
+ */
1024
+ cacheProps?: Record<string, unknown>;
1238
1025
  }
1239
1026
  type RequestItemAdditionalParams = {
1240
- [name: string]: any;
1027
+ [name: string]: any;
1241
1028
  } & {
1242
- paramList?: [string, any][];
1029
+ paramList?: [string, any][];
1243
1030
  };
1244
- type RequestItemsParams<K extends keyof RequestItemsParamsMap> = (
1245
- | RequestItemsParamsMap[K]
1246
- | Record<string, unknown>
1247
- ) &
1248
- RequestItemAdditionalParams;
1031
+ type RequestItemsParams<K extends keyof RequestItemsParamsMap> = (RequestItemsParamsMap[K] | Record<string, unknown>) & RequestItemAdditionalParams;
1249
1032
  interface LoadingQueue {
1250
- name: string;
1251
- waiting: Array<{
1252
- resolve: (...args: any[]) => Promise<any>;
1253
- reject: (...args: any[]) => Promise<Error>;
1254
- timestamp: Date;
1255
- }>;
1033
+ name: string;
1034
+ waiting: Array<{
1035
+ resolve: (...args: any[]) => Promise<any>;
1036
+ reject: (...args: any[]) => Promise<Error>;
1037
+ timestamp: Date;
1038
+ }>;
1256
1039
  }
1257
1040
  interface UserInfo {
1258
- display_name: string;
1259
- id: number;
1260
- /** @defaultValue 'guest' */
1261
- keyname: 'guest' | string;
1262
- clientId?: string;
1041
+ display_name: string;
1042
+ id: number;
1043
+ /** @defaultValue 'guest' */
1044
+ keyname: 'guest' | string;
1045
+ clientId?: string;
1263
1046
  }
1264
1047
  interface GetChildrenOfOptions extends Pick<RequestOptions, 'cache'> {
1265
- recursive?: boolean;
1048
+ recursive?: boolean;
1266
1049
  }
1267
1050
 
1268
1051
  /**
1269
1052
  * Thrown when...
1270
1053
  */
1271
1054
  declare class NgwError extends Error {
1272
- name: string;
1273
- title: string;
1274
- message: string;
1275
- detail: string;
1276
- exception: NgwExceptions;
1277
- status_code: number | 404 | 500;
1278
- data?: Record<string, any>;
1279
- guru_meditation: string;
1280
- constructor(er?: Partial<NgwError>);
1055
+ name: string;
1056
+ title: string;
1057
+ message: string;
1058
+ detail: string;
1059
+ exception: NgwExceptions;
1060
+ status_code: number | 404 | 500;
1061
+ data?: Record<string, any>;
1062
+ guru_meditation: string;
1063
+ constructor(er?: Partial<NgwError>);
1281
1064
  }
1282
1065
 
1283
1066
  /**
1284
1067
  * Thrown when ...
1285
1068
  */
1286
1069
  declare class ResourceNotFoundError extends NgwError {
1287
- name: string;
1288
- exception: NgwExceptions;
1289
- constructor(obj?: ResourceNotFoundError);
1070
+ name: string;
1071
+ exception: NgwExceptions;
1072
+ constructor(obj?: ResourceNotFoundError);
1290
1073
  }
1291
1074
 
1292
1075
  declare class NgwConnector {
1293
- options: NgwConnectorOptions;
1294
- static errors: {
1295
- NgwError: typeof NgwError;
1296
- ResourceNotFoundError: typeof ResourceNotFoundError;
1297
- };
1298
- id: number;
1299
- emitter: EventEmitter<[never]>;
1300
- user?: UserInfo;
1301
- cache: Cache;
1302
- withCredentials?: boolean;
1303
- private client;
1304
- private routeStr;
1305
- private activeRequests;
1306
- private requestTransform?;
1307
- constructor(options: NgwConnectorOptions);
1308
- static create(options: NgwConnectorOptions): NgwConnector;
1309
- /**
1310
- * Clear the cache.
1311
- */
1312
- clearCache(): void;
1313
- setRequestTransform(
1314
- requestTransform: RequestTransformFunction | undefined | null,
1315
- ): void;
1316
- /**
1317
- * Fast way to specify the connection address to NextGIS Web.
1318
- * The current connection will be severed.
1319
- * @param baseUrl - NGW url
1320
- */
1321
- setNgw(baseUrl: string): void;
1322
- /**
1323
- * Establishing a connection with NextGIS Web to fulfill all other requests.
1324
- * @remarks
1325
- * This method need not be called manually as it is used when forming a request in {@link apiRequest | apiRequest}.
1326
- * Can be used to check connection.
1327
- * @example
1328
- * ```javascript
1329
- * const connector = new NgwConnector({ baseUrl: 'https://demo.nextgis.com' });
1330
- * connector.connect()
1331
- * .then(() => console.log('Ok'))
1332
- * .catch((er) => console.log('Connection problem', er));
1333
- * ```
1334
- */
1335
- connect(): Promise<PyramidRoute>;
1336
- /**
1337
- * Quick way to change NextGIS Web user.
1338
- * @param credentials - New user credentials
1339
- */
1340
- login(credentials: Credentials, options?: RequestOptions): Promise<UserInfo>;
1341
- /**
1342
- * Disconnecting a user. Aborting all current requests
1343
- */
1344
- logout(): void;
1345
- getUserInfo(
1346
- credentials?: Credentials,
1347
- options?: RequestOptions,
1348
- ): Promise<UserInfo>;
1349
- /**
1350
- * Obtaining the required Headers for authentication of requests in the NGW.
1351
- */
1352
- getAuthorizationHeaders(credentials?: Credentials): RequestHeaders;
1353
- makeClientId(credentials?: Credentials): string | undefined;
1354
- /** Stop all api requests */
1355
- abort(): void;
1356
- getActiveApiRequests(): {
1357
- [x: number]: AbortController;
1358
- };
1359
- route<N extends RouteName>(
1360
- name: N,
1361
- ...rest: RouteParameters[N]
1362
- ): RouteResults<N>;
1363
- /**
1364
- * Send request to NGW.
1365
- * @param url - URL address to NGW
1366
- * @param params - Query params
1367
- * @param options - Request options
1368
- */
1369
- makeQuery<R = unknown>(
1370
- url: string,
1371
- params?: Params | null,
1372
- options?: RequestOptions,
1373
- ): Promise<R>;
1374
- protected _loadData<R = unknown>(
1375
- url: string,
1376
- options: RequestOptions,
1377
- ): Promise<R>;
1378
- private _login;
1379
- private _cleanActiveRequest;
1380
- private _handleHttpError;
1076
+ options: NgwConnectorOptions;
1077
+ static errors: {
1078
+ NgwError: typeof NgwError;
1079
+ ResourceNotFoundError: typeof ResourceNotFoundError;
1080
+ };
1081
+ id: number;
1082
+ emitter: EventEmitter<[never]>;
1083
+ user?: UserInfo;
1084
+ cache: Cache;
1085
+ withCredentials?: boolean;
1086
+ private client;
1087
+ private routeStr;
1088
+ private activeRequests;
1089
+ private requestTransform?;
1090
+ constructor(options: NgwConnectorOptions);
1091
+ /**
1092
+ * Clear the cache.
1093
+ */
1094
+ clearCache(): void;
1095
+ setRequestTransform(requestTransform: RequestTransformFunction | undefined | null): void;
1096
+ /**
1097
+ * Fast way to specify the connection address to NextGIS Web.
1098
+ * The current connection will be severed.
1099
+ * @param baseUrl - NGW url
1100
+ */
1101
+ setNgw(baseUrl: string): void;
1102
+ /**
1103
+ * Establishing a connection with NextGIS Web to fulfill all other requests.
1104
+ * @remarks
1105
+ * This method need not be called manually as it is used when forming a request in {@link apiRequest | apiRequest}.
1106
+ * Can be used to check connection.
1107
+ * @example
1108
+ * ```javascript
1109
+ * const connector = new NgwConnector({ baseUrl: 'https://demo.nextgis.com' });
1110
+ * connector.connect()
1111
+ * .then(() => console.log('Ok'))
1112
+ * .catch((er) => console.log('Connection problem', er));
1113
+ * ```
1114
+ */
1115
+ connect(): Promise<PyramidRoute>;
1116
+ /**
1117
+ * Quick way to change NextGIS Web user.
1118
+ * @param credentials - New user credentials
1119
+ */
1120
+ login(credentials: Credentials, options?: RequestOptions): Promise<UserInfo>;
1121
+ /**
1122
+ * Disconnecting a user. Aborting all current requests
1123
+ */
1124
+ logout(): void;
1125
+ getUserInfo(credentials?: Credentials, options?: RequestOptions): Promise<UserInfo>;
1126
+ /**
1127
+ * Obtaining the required Headers for authentication of requests in the NGW.
1128
+ */
1129
+ getAuthorizationHeaders(credentials?: Credentials): RequestHeaders;
1130
+ makeClientId(credentials?: Credentials): string | undefined;
1131
+ /** Stop all api requests */
1132
+ abort(): void;
1133
+ getActiveApiRequests(): {
1134
+ [x: number]: AbortController;
1135
+ };
1136
+ route<N extends RouteName>(name: N, ...rest: RouteParameters[N]): RouteResults<N>;
1137
+ /**
1138
+ * Send request to NGW.
1139
+ * @param url - URL address to NGW
1140
+ * @param params - Query params
1141
+ * @param options - Request options
1142
+ */
1143
+ makeQuery<R = unknown>(url: string, params?: Params | null, options?: RequestOptions): Promise<R>;
1144
+ protected _loadData<R = unknown>(url: string, options: RequestOptions): Promise<R>;
1145
+ private _login;
1146
+ private _cleanActiveRequest;
1147
+ private _handleHttpError;
1381
1148
  }
1382
1149
 
1383
1150
  declare class ResourcesControl {
1384
- cache: Cache<
1385
- Promise<ResourceItem | undefined>,
1386
- {
1387
- id?: number | string;
1388
- }
1389
- >;
1390
- connector: NgwConnectorExtended;
1391
- constructor({
1392
- connector,
1393
- cacheId,
1394
- }: {
1151
+ cache: Cache<Promise<ResourceItem | undefined>, {
1152
+ id?: number | string;
1153
+ }>;
1395
1154
  connector: NgwConnectorExtended;
1396
- cacheId?: string;
1397
- });
1398
- /**
1399
- * Receive resource from NGW by id, keyname or search-object parameter.
1400
- * @param resource - Resource id, keyname or search-object
1401
- *
1402
- * @remarks
1403
- * Fetching resource would be cached to speed up next call
1404
- */
1405
- getOne(
1406
- resource: ResourceDefinition,
1407
- requestOptions?: RequestOptions<'GET'>,
1408
- ): Promise<ResourceItem | undefined>;
1409
- getOneOrFail(
1410
- resource: ResourceDefinition,
1411
- requestOptions?: RequestOptions<'GET'>,
1412
- ): Promise<ResourceItem>;
1413
- /**
1414
- * A fast way to retrieve resource ID for any resource definition.
1415
- * @param resource - Any available resource definition
1416
- *
1417
- * @remarks
1418
- * There are situations when exactly the resource id is needed
1419
- * (for example, to compose the correct request to the api)
1420
- * then this method will come in handy to facilitate the extraction of the identifier
1421
- * if the resource is specified through a keyname or other parameters.
1422
- */
1423
- getId(
1424
- resource: ResourceDefinition,
1425
- requestOptions?: RequestOptions<'GET'>,
1426
- ): Promise<number | undefined>;
1427
- /**
1428
- * A fast way to retrieve resource ID for any resource definition.
1429
- * @param resource - Any available resource definition
1430
- *
1431
- * @remarks
1432
- * Similar with {@link NgwConnector.getResourceId | getResourceId} but rise error if resource is not exist.
1433
- * To not make one more checks if the resource is definitely exists
1434
- */
1435
- getIdOrFail(
1436
- resource: ResourceDefinition,
1437
- requestOptions?: RequestOptions<'GET'>,
1438
- ): Promise<number>;
1439
- getMany(
1440
- resource: DeepPartial<Resource>,
1441
- requestOptions?: RequestOptions<'GET'>,
1442
- ): Promise<ResourceItem[]>;
1443
- getParent(
1444
- resource: ResourceDefinition,
1445
- requestOptions?: RequestOptions<'GET'>,
1446
- ): Promise<ResourceItem | undefined>;
1447
- getChildrenOf(
1448
- resource: ResourceDefinition,
1449
- requestOptions?: GetChildrenOfOptions,
1450
- ): Promise<ResourceItem[]>;
1451
- update(
1452
- resource: ResourceDefinition,
1453
- data: DeepPartial<ResourceItem>,
1454
- ): Promise<ResourceItem | undefined>;
1455
- /**
1456
- * Fast way to delete resource from NGW and clean cache.
1457
- * @param resource - Resource definition
1458
- */
1459
- delete(resource: ResourceDefinition): Promise<void>;
1460
- private _getChildrenOf;
1461
- private _cleanResourceItemCache;
1462
- private _fetchResourceById;
1463
- private _fetchResourceBy;
1464
- private _resourceCacheFilter;
1155
+ constructor({ connector, cacheId, }: {
1156
+ connector: NgwConnectorExtended;
1157
+ cacheId?: string;
1158
+ });
1159
+ /**
1160
+ * Receive resource from NGW by id, keyname or search-object parameter.
1161
+ * @param resource - Resource id, keyname or search-object
1162
+ *
1163
+ * @remarks
1164
+ * Fetching resource would be cached to speed up next call
1165
+ */
1166
+ getOne(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem | undefined>;
1167
+ getOneOrFail(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem>;
1168
+ /**
1169
+ * A fast way to retrieve resource ID for any resource definition.
1170
+ * @param resource - Any available resource definition
1171
+ *
1172
+ * @remarks
1173
+ * There are situations when exactly the resource id is needed
1174
+ * (for example, to compose the correct request to the api)
1175
+ * then this method will come in handy to facilitate the extraction of the identifier
1176
+ * if the resource is specified through a keyname or other parameters.
1177
+ */
1178
+ getId(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<number | undefined>;
1179
+ /**
1180
+ * A fast way to retrieve resource ID for any resource definition.
1181
+ * @param resource - Any available resource definition
1182
+ *
1183
+ * @remarks
1184
+ * Similar with {@link NgwConnector.getResourceId | getResourceId} but rise error if resource is not exist.
1185
+ * To not make one more checks if the resource is definitely exists
1186
+ */
1187
+ getIdOrFail(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<number>;
1188
+ getMany(resource: DeepPartial<Resource>, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem[]>;
1189
+ getParent(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem | undefined>;
1190
+ getChildrenOf(resource: ResourceDefinition, requestOptions?: GetChildrenOfOptions): Promise<ResourceItem[]>;
1191
+ update(resource: ResourceDefinition, data: DeepPartial<ResourceItem>): Promise<ResourceItem | undefined>;
1192
+ /**
1193
+ * Fast way to delete resource from NGW and clean cache.
1194
+ * @param resource - Resource definition
1195
+ */
1196
+ delete(resource: ResourceDefinition): Promise<void>;
1197
+ private _getChildrenOf;
1198
+ private _cleanResourceItemCache;
1199
+ private _fetchResourceById;
1200
+ private _fetchResourceBy;
1201
+ private _resourceCacheFilter;
1465
1202
  }
1466
1203
 
1467
1204
  declare class NgwConnectorExtended extends NgwConnector {
1468
- options: NgwConnectorOptions;
1469
- resources: ResourcesControl;
1470
- constructor(options: NgwConnectorOptions);
1471
- /**
1472
- * Clear the cache.
1473
- */
1474
- clearCache(): void;
1475
- /**
1476
- * Send request to NGW api router.
1477
- * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1478
- * @param params - Request item params or query params
1479
- * @param requestOptions - Request options
1480
- *
1481
- * @example
1482
- * ```javascript
1483
- *
1484
- * // there is such an NGW route item
1485
- * // "feature_layer.feature.item": [
1486
- * // "/api/resource/{0}/feature/{1}",
1487
- * // "id",
1488
- * // "fid"
1489
- * // ],
1490
- *
1491
- * const connector = new NgwConnector({ baseUrl: 'https://example.nextgis.com' });
1492
- * connector.apiRequest('feature_layer.feature.item', {
1493
- * // request params for {0} and {1}
1494
- * 'id': 2011,
1495
- * 'fid': 101,
1496
- * // query params
1497
- * 'srs': 4326,
1498
- * 'geom_format': 'geojson',
1499
- * }, { method: 'GET' });
1500
- * // send get-request to 'https://example.nextgis.com/api/resource/2011/feature/101?srs=4326&geom_format=geojson'
1501
- *
1502
- * ```
1503
- */
1504
- apiRequest<
1505
- K extends keyof RequestItemsParamsMap,
1506
- P extends RequestItemKeys = RequestItemKeys,
1507
- >(
1508
- name: K,
1509
- params_?: RequestItemsParams<K>,
1510
- requestOptions?: RequestOptions,
1511
- ): Promise<P[K]>;
1512
- /**
1513
- * Shortcut method for send POST request to NGW.
1514
- * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1515
- * @param options - Request options
1516
- * @param params - Request item params or query params
1517
- *
1518
- * @example
1519
- * ```javascript
1520
- * connector.post('resource.collection', { data: POST_PAYLOAD })
1521
- * .then((newResource) => console.log(newResource))
1522
- * .catch((error) => console.warn(error));
1523
- * ```
1524
- */
1525
- post<K extends keyof RequestItemsParamsMap>(
1526
- name: K,
1527
- options?: RequestOptions<'POST', K>,
1528
- params?: RequestItemsParams<K>,
1529
- ): Promise<PostRequestItemsResponseMap[K]>;
1530
- /**
1531
- * Shortcut method for send GET request to NGW.
1532
- * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1533
- * @param options - Request options
1534
- * @param params - Request item params or query params
1535
- */
1536
- get<K extends keyof RequestItemsParamsMap>(
1537
- name: K,
1538
- options?: RequestOptions<'GET', K> | undefined | null,
1539
- params?: RequestItemsParams<K>,
1540
- ): Promise<GetRequestItemsResponseMap[K]>;
1541
- /**
1542
- * Shortcut method for send PATCH request to NGW.
1543
- * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1544
- * @param options - Request options
1545
- * @param params - Request item params or query params
1546
- */
1547
- patch<K extends keyof RequestItemsParamsMap>(
1548
- name: K,
1549
- options?: RequestOptions<'PATCH', K>,
1550
- params?: RequestItemsParams<K>,
1551
- ): Promise<PatchRequestItemsResponseMap[K]>;
1552
- /**
1553
- * Shortcut method for send PUT request to NGW.
1554
- * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1555
- * @param options - Request options
1556
- * @param params - Request item params or query params
1557
- */
1558
- put<K extends keyof RequestItemsParamsMap>(
1559
- name: K,
1560
- options?: RequestOptions<'PUT', K>,
1561
- params?: RequestItemsParams<K>,
1562
- ): Promise<PutRequestItemsResponseMap[K]>;
1563
- /**
1564
- * Shortcut method for send DELETE request to NGW.
1565
- * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1566
- * @param options - Request options
1567
- * @param params - Request item params or query params
1568
- */
1569
- delete<K extends keyof RequestItemsParamsMap>(
1570
- name: K,
1571
- options?: RequestOptions<'DELETE', K> | undefined | null,
1572
- params?: RequestItemsParams<K>,
1573
- ): Promise<DeleteRequestItemsResponseMap[K]>;
1574
- /**
1575
- * {@link ResourcesControl.getOne}
1576
- */
1577
- getResource(
1578
- resource: ResourceDefinition,
1579
- requestOptions?: RequestOptions<'GET'>,
1580
- ): Promise<ResourceItem | undefined>;
1581
- /**
1582
- * {@link ResourcesControl.getOneOrFail}
1583
- */
1584
- getResourceOrFail(
1585
- resource: ResourceDefinition,
1586
- requestOptions?: RequestOptions<'GET'>,
1587
- ): Promise<ResourceItem>;
1588
- /**
1589
- * @deprecated - use {@link getResource}
1590
- */
1591
- getResourceBy(
1592
- resource: DeepPartial<Resource>,
1593
- ): Promise<ResourceItem | undefined>;
1594
- /**
1595
- * @deprecated - use {@link getResource}
1596
- */
1597
- getResourceByKeyname(keyname: string): Promise<ResourceItem | undefined>;
1598
- /**
1599
- * @deprecated - use {@link getResource}
1600
- */
1601
- getResourceById(id: number): Promise<ResourceItem | undefined>;
1602
- /**
1603
- * {@link ResourcesControl.getId}
1604
- */
1605
- getResourceId(
1606
- resource: ResourceDefinition,
1607
- requestOptions?: RequestOptions<'GET'>,
1608
- ): Promise<number | undefined>;
1609
- /**
1610
- * {@link ResourcesControl.getIdOrFail}
1611
- */
1612
- getResourceIdOrFail(
1613
- resource: ResourceDefinition,
1614
- requestOptions?: RequestOptions<'GET'>,
1615
- ): Promise<number>;
1616
- /**
1617
- * {@link ResourcesControl.getMany}
1618
- */
1619
- getResourcesBy(
1620
- resource: DeepPartial<Resource>,
1621
- requestOptions?: RequestOptions<'GET'>,
1622
- ): Promise<ResourceItem[]>;
1623
- /**
1624
- * {@link ResourcesControl.getParent}
1625
- */
1626
- getResourceParent(
1627
- resource: ResourceDefinition,
1628
- requestOptions?: RequestOptions<'GET'>,
1629
- ): Promise<ResourceItem | undefined>;
1630
- /**
1631
- * {@link ResourcesControl.getChildrenOf}
1632
- */
1633
- getResourceChildren(
1634
- resource: ResourceDefinition,
1635
- requestOptions?: GetChildrenOfOptions,
1636
- ): Promise<ResourceItem[]>;
1637
- /**
1638
- * {@link ResourcesControl.update}
1639
- */
1640
- updateResource(
1641
- resource: ResourceIdKeynameDef,
1642
- data: DeepPartial<ResourceItem>,
1643
- ): Promise<ResourceItem | undefined>;
1644
- /**
1645
- * {@link ResourcesControl.delete}
1646
- */
1647
- deleteResource(resource: ResourceIdKeynameDef): Promise<void>;
1205
+ resources: ResourcesControl;
1206
+ constructor(options: NgwConnectorOptions);
1207
+ static create(options: NgwConnectorOptions): NgwConnectorExtended;
1208
+ /**
1209
+ * Clear the cache.
1210
+ */
1211
+ clearCache(): void;
1212
+ /**
1213
+ * Send request to NGW api router.
1214
+ * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1215
+ * @param params - Request item params or query params
1216
+ * @param requestOptions - Request options
1217
+ *
1218
+ * @example
1219
+ * ```javascript
1220
+ *
1221
+ * // there is such an NGW route item
1222
+ * // "feature_layer.feature.item": [
1223
+ * // "/api/resource/{0}/feature/{1}",
1224
+ * // "id",
1225
+ * // "fid"
1226
+ * // ],
1227
+ *
1228
+ * const connector = new NgwConnector({ baseUrl: 'https://example.nextgis.com' });
1229
+ * connector.apiRequest('feature_layer.feature.item', {
1230
+ * // request params for {0} and {1}
1231
+ * 'id': 2011,
1232
+ * 'fid': 101,
1233
+ * // query params
1234
+ * 'srs': 4326,
1235
+ * 'geom_format': 'geojson',
1236
+ * }, { method: 'GET' });
1237
+ * // send get-request to 'https://example.nextgis.com/api/resource/2011/feature/101?srs=4326&geom_format=geojson'
1238
+ *
1239
+ * ```
1240
+ */
1241
+ apiRequest<K extends keyof RequestItemsParamsMap, P extends RequestItemKeys = RequestItemKeys>(name: K, params_?: RequestItemsParams<K>, requestOptions?: RequestOptions): Promise<P[K]>;
1242
+ /**
1243
+ * Shortcut method for send POST request to NGW.
1244
+ * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1245
+ * @param options - Request options
1246
+ * @param params - Request item params or query params
1247
+ *
1248
+ * @example
1249
+ * ```javascript
1250
+ * connector.post('resource.collection', { data: POST_PAYLOAD })
1251
+ * .then((newResource) => console.log(newResource))
1252
+ * .catch((error) => console.warn(error));
1253
+ * ```
1254
+ */
1255
+ post<K extends keyof RequestItemsParamsMap>(name: K, options?: RequestOptions<'POST', K>, params?: RequestItemsParams<K>): Promise<PostRequestItemsResponseMap[K]>;
1256
+ /**
1257
+ * Shortcut method for send GET request to NGW.
1258
+ * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1259
+ * @param options - Request options
1260
+ * @param params - Request item params or query params
1261
+ */
1262
+ get<K extends keyof RequestItemsParamsMap>(name: K, options?: RequestOptions<'GET', K> | undefined | null, params?: RequestItemsParams<K>): Promise<GetRequestItemsResponseMap[K]>;
1263
+ /**
1264
+ * Shortcut method for send PATCH request to NGW.
1265
+ * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1266
+ * @param options - Request options
1267
+ * @param params - Request item params or query params
1268
+ */
1269
+ patch<K extends keyof RequestItemsParamsMap>(name: K, options?: RequestOptions<'PATCH', K>, params?: RequestItemsParams<K>): Promise<PatchRequestItemsResponseMap[K]>;
1270
+ /**
1271
+ * Shortcut method for send PUT request to NGW.
1272
+ * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1273
+ * @param options - Request options
1274
+ * @param params - Request item params or query params
1275
+ */
1276
+ put<K extends keyof RequestItemsParamsMap>(name: K, options?: RequestOptions<'PUT', K>, params?: RequestItemsParams<K>): Promise<PutRequestItemsResponseMap[K]>;
1277
+ /**
1278
+ * Shortcut method for send DELETE request to NGW.
1279
+ * @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
1280
+ * @param options - Request options
1281
+ * @param params - Request item params or query params
1282
+ */
1283
+ delete<K extends keyof RequestItemsParamsMap>(name: K, options?: RequestOptions<'DELETE', K> | undefined | null, params?: RequestItemsParams<K>): Promise<DeleteRequestItemsResponseMap[K]>;
1284
+ /**
1285
+ * {@link ResourcesControl.getOne}
1286
+ */
1287
+ getResource(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem | undefined>;
1288
+ /**
1289
+ * {@link ResourcesControl.getOneOrFail}
1290
+ */
1291
+ getResourceOrFail(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem>;
1292
+ /**
1293
+ * @deprecated - use {@link getResource}
1294
+ */
1295
+ getResourceBy(resource: DeepPartial<Resource>): Promise<ResourceItem | undefined>;
1296
+ /**
1297
+ * @deprecated - use {@link getResource}
1298
+ */
1299
+ getResourceByKeyname(keyname: string): Promise<ResourceItem | undefined>;
1300
+ /**
1301
+ * @deprecated - use {@link getResource}
1302
+ */
1303
+ getResourceById(id: number): Promise<ResourceItem | undefined>;
1304
+ /**
1305
+ * {@link ResourcesControl.getId}
1306
+ */
1307
+ getResourceId(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<number | undefined>;
1308
+ /**
1309
+ * {@link ResourcesControl.getIdOrFail}
1310
+ */
1311
+ getResourceIdOrFail(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<number>;
1312
+ /**
1313
+ * {@link ResourcesControl.getMany}
1314
+ */
1315
+ getResourcesBy(resource: DeepPartial<Resource>, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem[]>;
1316
+ /**
1317
+ * {@link ResourcesControl.getParent}
1318
+ */
1319
+ getResourceParent(resource: ResourceDefinition, requestOptions?: RequestOptions<'GET'>): Promise<ResourceItem | undefined>;
1320
+ /**
1321
+ * {@link ResourcesControl.getChildrenOf}
1322
+ */
1323
+ getResourceChildren(resource: ResourceDefinition, requestOptions?: GetChildrenOfOptions): Promise<ResourceItem[]>;
1324
+ /**
1325
+ * {@link ResourcesControl.update}
1326
+ */
1327
+ updateResource(resource: ResourceIdKeynameDef, data: DeepPartial<ResourceItem>): Promise<ResourceItem | undefined>;
1328
+ /**
1329
+ * {@link ResourcesControl.delete}
1330
+ */
1331
+ deleteResource(resource: ResourceIdKeynameDef): Promise<void>;
1648
1332
  }
1649
1333
 
1650
- export {
1651
- type BaseRequestOptions,
1652
- type BasemapResource,
1653
- type BasemapWebmap,
1654
- type BasemapWebmapItem,
1655
- type BookmarkProperties,
1656
- type CreatedResource,
1657
- type Credentials,
1658
- type DeleteRequestItemsResponseMap,
1659
- type FeatureItem,
1660
- type FeatureItemAttachment,
1661
- type FeatureItemExtensions,
1662
- type FeatureItemToNgw,
1663
- type FeatureLayerCount,
1664
- type FeatureLayerField,
1665
- type FeatureLayersIdentify,
1666
- type FeatureLayersIdentifyItems,
1667
- type FeatureResource,
1668
- type FileBucket,
1669
- type FileMeta,
1670
- type FileUploadResp,
1671
- type GeometryType,
1672
- type GetChildrenOfOptions,
1673
- type GetRequestItemsResponseMap,
1674
- type IdOnly,
1675
- type LayerFeature,
1676
- type LayerLegend,
1677
- type LegendItem,
1678
- type LegendItemSymbol,
1679
- type LoadingQueue,
1680
- type LookupTableResource,
1681
- type NgwConnectorOptions,
1682
- type NgwDateFormat,
1683
- type NgwDateTimeFormat,
1684
- type NgwExceptions,
1685
- type NgwExtent,
1686
- type NgwFile,
1687
- type NgwLayerIdentifyError,
1688
- type NgwTimeFormat,
1689
- type Params,
1690
- type PatchRequestItemsResponseMap,
1691
- type Permission,
1692
- type PostRequestItemsResponseMap,
1693
- type PutRequestItemsResponseMap,
1694
- type PyramidRoute,
1695
- type PyramidSettings,
1696
- type PyramidSettingsPyramid,
1697
- type PyramidSettingsPyramidCompanyLogo,
1698
- type RequestHeaders,
1699
- type RequestItemAdditionalParams,
1700
- type RequestItemKeys,
1701
- type RequestItemsParams,
1702
- type RequestItemsParamsMap,
1703
- type RequestItemsResponseMap,
1704
- type RequestMethods,
1705
- type RequestOptions,
1706
- type RequestTransformFunction,
1707
- type Resmeta,
1708
- type Resource,
1709
- type ResourceCls,
1710
- type ResourceDefinition,
1711
- type ResourceHierarchy,
1712
- type ResourceIdKeynameDef,
1713
- type ResourceItem,
1714
- type ResourceItemDatatype,
1715
- type ResourceItemMain,
1716
- type ResourceStoreItem,
1717
- type ResourceStoreItemDefault,
1718
- type ResourceStoreItemProperties,
1719
- type Router,
1720
- type SrsItem,
1721
- type TreeGroup,
1722
- type TreeItem,
1723
- type TreeLayer,
1724
- type UserInfo,
1725
- type VectorFieldDatatype,
1726
- type VectorLayer,
1727
- type VectorLayerResourceItem,
1728
- type WebmapResource,
1729
- type WmsClientConnection,
1730
- type WmsClientLayer,
1731
- type WmsServerService,
1732
- type WmsServerServiceLayer,
1733
- NgwConnectorExtended as default,
1734
- };
1334
+ export { type BaseRequestOptions, type BasemapResource, type BasemapWebmap, type BasemapWebmapItem, type BookmarkProperties, type CreatedResource, type Credentials, type DeleteRequestItemsResponseMap, type FeatureItem, type FeatureItemAttachment, type FeatureItemExtensions, type FeatureItemToNgw, type FeatureLayerCount, type FeatureLayerField, type FeatureLayersIdentify, type FeatureLayersIdentifyItems, type FeatureResource, type FileBucket, type FileMeta, type FileUploadResp, type GeometryType, type GetChildrenOfOptions, type GetRequestItemsResponseMap, type IdOnly, type LayerFeature, type LayerLegend, type LegendItem, type LegendItemSymbol, type LoadingQueue, type LookupTableResource, type NgwConnectorOptions, type NgwDateFormat, type NgwDateTimeFormat, type NgwExceptions, type NgwExtent, type NgwFile, type NgwLayerIdentifyError, type NgwTimeFormat, type Params, type PatchRequestItemsResponseMap, type Permission, type PostRequestItemsResponseMap, type PutRequestItemsResponseMap, type PyramidRoute, type PyramidSettings, type PyramidSettingsPyramid, type PyramidSettingsPyramidCompanyLogo, type RequestHeaders, type RequestItemAdditionalParams, type RequestItemKeys, type RequestItemsParams, type RequestItemsParamsMap, type RequestItemsResponseMap, type RequestMethods, type RequestOptions, type RequestTransformFunction, type Resmeta, type Resource, type ResourceCls, type ResourceDefinition, type ResourceHierarchy, type ResourceIdKeynameDef, type ResourceItem, type ResourceItemDatatype, type ResourceItemMain, type ResourceStoreItem, type ResourceStoreItemDefault, type ResourceStoreItemProperties, type Router, type SrsItem, type TreeGroup, type TreeItem, type TreeLayer, type UserInfo, type VectorFieldDatatype, type VectorLayer, type VectorLayerResourceItem, type WebmapResource, type WmsClientConnection, type WmsClientLayer, type WmsServerService, type WmsServerServiceLayer, NgwConnectorExtended as default };