@mapcreator/api 0.0.0-saga.4 → 0.0.0-wms.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"choropleth.d.ts","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAmBF,KAAK,uBAAuB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG,uBAAuB,GAAG;IAClD,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,uBAAuB,GAAG;IACjD,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE3D,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,CAAC;IACxB,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC,EACF,IAAI,GAAE,SAAS,GAAG,OAAO,GAAG,MAAe,GAC1C,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwBhC;AAeD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAYxG"}
1
+ {"version":3,"file":"choropleth.d.ts","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,61 @@
1
- import { getSearchParams, request } from '../utils.js';
2
- export async function searchSingleOrGroupedAreas(language, search, mode = 'both') {
3
- /**
4
- * TODO When SAGA search on click is implemented, remove mode and make searchBounds required
5
- */
6
- return request(`/v1/choropleth/polygons/search?${getSearchParams(Object.assign(Object.assign(Object.assign(Object.assign({ language }, search.searchBounds), (search.query && { query: search.query })), (search.searchPoint && { point: search.searchPoint })), { mode }))}`).then(result => {
7
- result.forEach(elem => {
8
- elem.boundingBox = JSON.parse(elem.boundingBox);
9
- if (!elem.isGroup) {
10
- elem.properties = JSON.parse(elem.properties);
11
- }
12
- });
13
- return result;
1
+ import { APIMeta, defaultListHeader, ensureArray, getSearchParams, request, toAppType, } from '../utils.js';
2
+ const processGroupData = (group) => (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, group), group.nativeParentTranslation && { nativeParentTranslation: toAppType(group.nativeParentTranslation) }), group.nativeRelationTranslation && { nativeRelationTranslation: toAppType(group.nativeRelationTranslation) }), group.englishParentTranslation && { englishParentTranslation: toAppType(group.englishParentTranslation) }), group.englishRelationTranslation && { englishRelationTranslation: toAppType(group.englishRelationTranslation) }), group.parentTranslations && { parentTranslations: ensureArray(group.parentTranslations).map(toAppType) }), group.relationTranslations && { relationTranslations: ensureArray(group.relationTranslations).map(toAppType) }));
3
+ const processPolygonData = (polygon) => (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, polygon), polygon.parentGroups && { parentGroups: ensureArray(polygon.parentGroups).map(toAppType).map(processGroupData) }), polygon.nativeTranslation && { nativeTranslation: toAppType(polygon.nativeTranslation) }), polygon.englishTranslation && { englishTranslation: toAppType(polygon.englishTranslation) }), polygon.translations && { translations: ensureArray(polygon.translations).map(toAppType) }));
4
+ export async function listVectorChoropleths(name) {
5
+ const pathname = `/v1/choropleths/vector`;
6
+ const query = getSearchParams({ search: { name } });
7
+ const path = `${pathname}?${query}`;
8
+ // Only request first 50 results
9
+ const headers = Object.assign({}, defaultListHeader);
10
+ const options = { withMeta: true };
11
+ return request(path, null, headers, options)
12
+ .catch((error) => {
13
+ if (error instanceof APIMeta) {
14
+ return error.data;
15
+ }
16
+ throw error;
14
17
  });
15
18
  }
16
- export async function groupedAreaChildren(groupId, language) {
17
- return request(`/v1/choropleth/groups/${groupId}/children-optimized?${getSearchParams({ language })}`).then(result => {
18
- result.forEach(elem => {
19
- elem.properties = JSON.parse(elem.properties);
20
- });
21
- return result;
22
- });
19
+ export async function getVectorChoropleth(choroplethId) {
20
+ const path = `/v1/choropleths/vector/${choroplethId}`;
21
+ return request(path);
22
+ }
23
+ export async function listPolygonChoropleths(name, languages, searchBounds, withParentGroups = false) {
24
+ const pathname = `/v1/choropleth/polygons`;
25
+ const query = getSearchParams(Object.assign({ search: { name, allow_single: true }, with_parent_groups: withParentGroups, languages }, searchBounds));
26
+ const path = `${pathname}?${query}`;
27
+ // Only request first 50 results
28
+ const headers = Object.assign({}, defaultListHeader);
29
+ const options = { withMeta: true };
30
+ return request(path, null, headers, options)
31
+ .catch((error) => {
32
+ if (error instanceof APIMeta) {
33
+ return error.data;
34
+ }
35
+ throw error;
36
+ })
37
+ .then(result => result.map(processPolygonData));
38
+ }
39
+ export async function listGroupChoropleths(name, languages, searchBounds) {
40
+ const pathname = `/v1/choropleth/groups`;
41
+ const query = getSearchParams(Object.assign({ search: { name }, languages }, searchBounds));
42
+ const path = `${pathname}?${query}`;
43
+ // Only request first 50 results
44
+ const headers = Object.assign({}, defaultListHeader);
45
+ const options = { withMeta: true };
46
+ return request(path, null, headers, options)
47
+ .catch((error) => {
48
+ if (error instanceof APIMeta) {
49
+ return error.data;
50
+ }
51
+ throw error;
52
+ })
53
+ .then(result => result.map(processGroupData));
54
+ }
55
+ export async function listChildrenGroupChoropleths(groupId, languages) {
56
+ const pathname = `/v1/choropleth/groups/${groupId}/children`;
57
+ const query = getSearchParams({ languages });
58
+ const path = `${pathname}?${query}`;
59
+ return request(path).then(polygons => polygons.map(processPolygonData));
23
60
  }
24
61
  //# sourceMappingURL=choropleth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAyDvF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,QAAgB,EAChB,MAIE,EACF,OAAqC,MAAM;IAE3C;;OAEG;IACH,OAAO,OAAO,CACZ,kCAAkC,eAAe,2DAC/C,QAAQ,IACL,MAAM,CAAC,YAAY,GACnB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,GACzC,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KACxD,IAAI,IACJ,EAAE,CACL,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,CAAC,OAAO,CACZ,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAgC,CAAY,CAAC;YAChF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAA+B,CAA2B,CAAC;YAC/F,CAAC;QACH,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAwBD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,QAAgB;IACzE,OAAO,OAAO,CACZ,yBAAyB,OAAO,uBAAuB,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CACvF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,CAAC,OAAO,CACZ,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAA+B,CAA2B,CAAC;QAC/F,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { type ApiLayerData, type Layer } from './layer.js';
11
11
  import { type ApiColorData, type Color } from './color.js';
12
12
  import { type ApiUserData, type User } from './user.js';
13
13
  import { type ApiCommonData, type ApiError, type ApiSuccess } from '../utils.js';
14
- export type CustomFeature = 'custom_dpi' | 'disable_company_maps' | 'eps_plus_log' | 'filename_is_job_title' | 'iframe_sandbox_attributes' | 'keep_layer_visibility' | 'no_copyright' | 'only_shared_company_maps' | 'pdf_output' | 'show_frelex_links' | 'svg_output' | 'svg-georef' | 'tiff_output' | 'video_export' | 'v5_video' | 'web_output' | 'web_download' | 'new_single_and_grouped_areas_menu' | 'export_templates' | 'export_video_tracking_data' | 'hosted_svg_output' | 'hosted_png_output' | 'hosted_jpg_output' | 'developer_menu';
14
+ export type CustomFeature = 'custom_dpi' | 'disable_company_maps' | 'eps_plus_log' | 'filename_is_job_title' | 'iframe_sandbox_attributes' | 'keep_layer_visibility' | 'no_copyright' | 'only_shared_company_maps' | 'pdf_output' | 'show_frelex_links' | 'svg_output' | 'svg-georef' | 'tiff_output' | 'video_export' | 'v5_video' | 'web_output' | 'web_download' | 'new_single_and_grouped_areas_menu' | 'export_templates' | 'export_video_tracking_data' | 'hosted_svg_output' | 'hosted_png_output' | 'hosted_jpg_output' | 'developer_menu' | 'external_sources';
15
15
  export interface Resources {
16
16
  organisation: Organisation;
17
17
  user: User;
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapcreator/api",
3
- "version": "0.0.0-saga.4",
3
+ "version": "0.0.0-wms.1",
4
4
  "description": "Mapcreator JavaScript API",
5
5
  "license": "BSD-3-Clause",
6
6
  "main": "./cjs/index.js",
@@ -1,126 +1,359 @@
1
- import { type ApiError, type ApiSuccess, getSearchParams, request } from '../utils.js';
2
- import type { Polygon } from 'geojson';
3
- import { RequireAtLeastOne } from 'type-fest';
1
+ import {
2
+ APIMeta,
3
+ type ApiCommonData,
4
+ type ApiError,
5
+ type ApiSuccess,
6
+ type Flatten,
7
+ defaultListHeader,
8
+ ensureArray,
9
+ getSearchParams,
10
+ request,
11
+ toAppType,
12
+ } from '../utils.js';
13
+ import type { FeatureCollection, Polygon } from 'geojson';
14
+ import type { SnakeCase } from 'type-fest';
4
15
 
5
- export type ApiSearchPoint = {
6
- lat: number;
7
- lng: number;
16
+ type FieldName = 'id' | 'name' | 'description' | 'previewJson' | 'previewPath';
17
+
18
+ const processGroupData = (group: GroupChoropleth): GroupChoropleth => ({
19
+ ...group,
20
+ ...group.nativeParentTranslation && { nativeParentTranslation: toAppType(group.nativeParentTranslation) },
21
+ ...group.nativeRelationTranslation && { nativeRelationTranslation: toAppType(group.nativeRelationTranslation) },
22
+ ...group.englishParentTranslation && { englishParentTranslation: toAppType(group.englishParentTranslation) },
23
+ ...group.englishRelationTranslation && { englishRelationTranslation: toAppType(group.englishRelationTranslation) },
24
+ ...group.parentTranslations && { parentTranslations: ensureArray(group.parentTranslations).map(toAppType) },
25
+ ...group.relationTranslations && { relationTranslations: ensureArray(group.relationTranslations).map(toAppType) },
26
+ });
27
+
28
+ const processPolygonData = (polygon: PolygonChoropleth): PolygonChoropleth => ({
29
+ ...polygon,
30
+ ...polygon.parentGroups && { parentGroups: ensureArray(polygon.parentGroups).map(toAppType).map(processGroupData) },
31
+ ...polygon.nativeTranslation && { nativeTranslation: toAppType(polygon.nativeTranslation) },
32
+ ...polygon.englishTranslation && { englishTranslation: toAppType(polygon.englishTranslation) },
33
+ ...polygon.translations && { translations: ensureArray(polygon.translations).map(toAppType) },
34
+ });
35
+
36
+ export type PartialVectorChoropleth = Pick<VectorChoropleth, FieldName>;
37
+
38
+ export type VectorChoropleth = {
39
+ id: number;
40
+ name: string;
41
+ description: string;
42
+ previewPath: string | null;
43
+ previewJson: FeatureCollection | null;
44
+
45
+ vectorSetUrl: string;
46
+ sourceLayerName: string;
47
+
48
+ lngMin: number;
49
+ lngMax: number;
50
+ latMin: number;
51
+ latMax: number;
52
+
53
+ keys: string[];
54
+ properties: Array<Record<string, unknown>>;
8
55
  };
9
56
 
10
- export type ApiSearchBounds = {
57
+ export type ApiVectorChoropleth = {
58
+ data: {
59
+ id: number;
60
+ name: string;
61
+ description: string;
62
+ preview_path: string | null;
63
+ preview_json: FeatureCollection | null;
64
+
65
+ vector_set_url: string;
66
+ source_layer_name: string;
67
+
68
+ lng_min: number;
69
+ lng_max: number;
70
+ lat_min: number;
71
+ lat_max: number;
72
+
73
+ keys: string[];
74
+ properties: Array<Record<string, unknown>>;
75
+ } & ApiCommonData;
76
+ } & Omit<ApiSuccess, 'data'> | ApiError;
77
+
78
+ export type ApiVectorChoroplethData = Flatten<Exclude<ApiVectorChoropleth, ApiError>['data']>;
79
+
80
+ export async function listVectorChoropleths(name: string): Promise<PartialVectorChoropleth[]> {
81
+ const pathname = `/v1/choropleths/vector`;
82
+ const query = getSearchParams({ search: { name } });
83
+ const path = `${pathname}?${query}`;
84
+
85
+ // Only request first 50 results
86
+ const headers = { ...defaultListHeader };
87
+ const options = { withMeta: true };
88
+
89
+ type ApiVectorChoroplethArray = {
90
+ data: Array<Pick<ApiVectorChoroplethData, SnakeCase<FieldName>>>;
91
+ } & Omit<ApiSuccess, 'data'> | ApiError;
92
+
93
+ return request<ApiVectorChoroplethArray, PartialVectorChoropleth>(path, null, headers, options)
94
+ .catch((error: Error) => {
95
+ if (error instanceof APIMeta) {
96
+ return (error as APIMeta<ApiVectorChoroplethArray, PartialVectorChoropleth>).data;
97
+ }
98
+
99
+ throw error;
100
+ });
101
+ }
102
+
103
+ export async function getVectorChoropleth(choroplethId: number): Promise<VectorChoropleth> {
104
+ const path = `/v1/choropleths/vector/${choroplethId}`;
105
+
106
+ return request<ApiVectorChoropleth, VectorChoropleth>(path);
107
+ }
108
+
109
+ export type SearchBounds = {
11
110
  min_lat: number;
12
111
  min_lng: number;
13
112
  max_lat: number;
14
113
  max_lng: number;
15
114
  };
16
115
 
17
- type ApiSingleOrGroupedArea = {
116
+ export type PolygonChoropleth = {
117
+ sml: string;
18
118
  id: number;
19
- title: string;
20
- subtitle: string;
21
- svg_preview: string;
22
- bounding_box: string;
23
- is_group: boolean;
24
- vector_source: string | null;
25
- source_layer: string | null;
26
- feature_id: number | null;
27
- properties: Record<string, string> | null;
119
+ vectorSource: string;
120
+ sourceLayer: string;
121
+ featureId: number;
122
+ svgPreview: string;
123
+ previewPath: string;
124
+ allowSingle: boolean;
125
+ properties: Record<string, unknown>;
126
+ boundingBox: Polygon;
127
+ restrictedOwnership: number[] | null;
128
+ linkId: number | null;
129
+ cloning: boolean;
130
+ nativeTranslation: {
131
+ polygonId: number;
132
+ name: string;
133
+ };
134
+ englishTranslation?: {
135
+ polygonId: number;
136
+ name: string;
137
+ };
138
+ translations?: Array<{
139
+ polygonId: number;
140
+ language: string;
141
+ name: string;
142
+ }>;
143
+ parentGroups: GroupChoropleth[];
28
144
  };
29
145
 
30
- type ApiSingleOrGroupedAreaArray = {
31
- data: ApiSingleOrGroupedArea[];
146
+ export type ApiPolygonChoropleth = {
147
+ data: {
148
+ sml: string;
149
+ id: number;
150
+ vector_source: string;
151
+ source_layer: string;
152
+ feature_id: number;
153
+ svg_preview: string;
154
+ preview_path: string;
155
+ allow_single: boolean;
156
+ properties: Record<string, unknown>;
157
+ bounding_box: Polygon;
158
+ restricted_ownership: number[] | null;
159
+ link_id: number | null;
160
+ cloning: boolean;
161
+ native_translation: {
162
+ polygon_id: number;
163
+ name: string;
164
+ };
165
+ english_translation?: {
166
+ polygon_id: number;
167
+ name: string;
168
+ };
169
+ translations?: Array<{
170
+ polygon_id: number;
171
+ language: string;
172
+ name: string;
173
+ }>;
174
+ parent_groups: ApiGroupChoroplethData[];
175
+ } & ApiCommonData;
32
176
  } & Omit<ApiSuccess, 'data'> | ApiError;
33
177
 
34
- type SingleOrGroupedAreaBase = {
35
- id: number;
36
- title: string;
37
- subtitle: string;
38
- svgPreview: string;
39
- boundingBox: Polygon;
40
- };
178
+ export type ApiPolygonChoroplethData = Flatten<Exclude<ApiPolygonChoropleth, ApiError>['data']>;
41
179
 
42
- // TODO don't export this once search on click is out
43
- export type GroupedArea = SingleOrGroupedAreaBase & {
44
- isGroup: true;
45
- };
180
+ export async function listPolygonChoropleths(
181
+ name: string,
182
+ languages: string[],
183
+ searchBounds?: SearchBounds,
184
+ withParentGroups = false,
185
+ ): Promise<PolygonChoropleth[]> {
186
+ const pathname = `/v1/choropleth/polygons`;
187
+ const query = getSearchParams(
188
+ {
189
+ search: { name, allow_single: true },
190
+ with_parent_groups: withParentGroups,
191
+ languages,
192
+ ...searchBounds,
193
+ },
194
+ );
195
+ const path = `${pathname}?${query}`;
46
196
 
47
- // TODO don't export this once search on click is out
48
- export type SingleArea = SingleOrGroupedAreaBase & {
49
- isGroup: false;
50
- vectorSource: string;
51
- sourceLayer: string;
52
- featureId: number;
53
- properties: Record<string, string>;
54
- };
197
+ // Only request first 50 results
198
+ const headers = { ...defaultListHeader };
199
+ const options = { withMeta: true };
200
+
201
+ type ApiPolygonChoroplethArray = {
202
+ data: ApiPolygonChoroplethData[];
203
+ } & Omit<ApiSuccess, 'data'> | ApiError;
55
204
 
56
- export type SingleOrGroupedArea = SingleArea | GroupedArea;
57
-
58
- export async function searchSingleOrGroupedAreas(
59
- language: string,
60
- search: RequireAtLeastOne<{
61
- searchBounds?: ApiSearchBounds;
62
- query?: string;
63
- searchPoint?: ApiSearchPoint;
64
- }>,
65
- mode: 'polygon' | 'group' | 'both' = 'both',
66
- ): Promise<SingleOrGroupedArea[]> {
67
- /**
68
- * TODO When SAGA search on click is implemented, remove mode and make searchBounds required
69
- */
70
- return request<ApiSingleOrGroupedAreaArray, SingleOrGroupedArea>(
71
- `/v1/choropleth/polygons/search?${getSearchParams({
72
- language,
73
- ...search.searchBounds,
74
- ...(search.query && { query: search.query }),
75
- ...(search.searchPoint && { point: search.searchPoint }),
76
- mode,
77
- })}`,
78
- ).then(result => {
79
- result.forEach(
80
- elem => {
81
- elem.boundingBox = JSON.parse(elem.boundingBox as unknown as string) as Polygon;
82
- if (!elem.isGroup) {
83
- elem.properties = JSON.parse(elem.properties as unknown as string) as Record<string, string>;
84
- }
85
- },
86
- );
87
-
88
- return result;
89
- });
205
+ return request<ApiPolygonChoroplethArray, PolygonChoropleth>(path, null, headers, options)
206
+ .catch((error: Error) => {
207
+ if (error instanceof APIMeta) {
208
+ return (error as APIMeta<ApiPolygonChoroplethArray, PolygonChoropleth>).data;
209
+ }
210
+
211
+ throw error;
212
+ })
213
+ .then(result => result.map(processPolygonData));
90
214
  }
91
215
 
92
- type ApiGroupedAreaChild = {
216
+ export type GroupChoropleth = {
93
217
  id: number;
94
- title: string;
95
- vector_source: string;
96
- source_layer: string;
97
- feature_id: number;
98
- properties: Record<string, string>;
218
+ polygonId: number;
219
+ relationId: number;
220
+ childrenCount: number;
221
+ sml?: string;
222
+ svgPreview: string;
223
+ previewPath: string;
224
+ uniqueProperties: string[];
225
+ boundingBox: Polygon;
226
+ partialProperties: string[];
227
+ restrictedOwnership: number[] | null;
228
+ linkId: number | null;
229
+ cloning: boolean;
230
+ laravelThroughKey?: number;
231
+ nativeParentTranslation: {
232
+ polygonId: number;
233
+ name: string;
234
+ laravelThroughKey: number;
235
+ };
236
+ nativeRelationTranslation: {
237
+ relationId: number;
238
+ name: string;
239
+ laravelThroughKey: number;
240
+ };
241
+ englishParentTranslation?: {
242
+ polygonId: number;
243
+ name: string;
244
+ laravelThroughKey: number;
245
+ };
246
+ englishRelationTranslation?: {
247
+ relationId: number;
248
+ name: string;
249
+ laravelThroughKey: number;
250
+ };
251
+ parentTranslations?: Array<{
252
+ polygonId: number;
253
+ name: string;
254
+ language: string;
255
+ laravelThroughKey: number;
256
+ }>;
257
+ relationTranslations?: Array<{
258
+ relationId: number;
259
+ name: string;
260
+ language: string;
261
+ laravelThroughKey: number;
262
+ }>;
99
263
  };
100
264
 
101
- type ApiGroupedAreaChildArray = {
102
- data: ApiGroupedAreaChild[];
265
+ export type ApiGroupChoropleth = {
266
+ data: {
267
+ id: number;
268
+ polygon_id: number;
269
+ relation_id: number;
270
+ children_count: number;
271
+ sml?: number;
272
+ svg_preview: string;
273
+ preview_path: string;
274
+ unique_properties: string[];
275
+ bounding_box: Polygon;
276
+ partial_properties: string[];
277
+ restricted_ownership: number[] | null;
278
+ link_id: number | null;
279
+ cloning: boolean;
280
+ laravel_through_key?: number;
281
+ native_parent_translation: {
282
+ polygon_id: number;
283
+ name: string;
284
+ laravel_through_key: number;
285
+ };
286
+ native_relation_translation: {
287
+ relation_id: number;
288
+ name: string;
289
+ laravel_through_key: number;
290
+ };
291
+ english_parent_translation?: {
292
+ polygon_id: number;
293
+ name: string;
294
+ laravel_through_key: number;
295
+ };
296
+ english_relation_translation?: {
297
+ relation_id: number;
298
+ name: string;
299
+ laravel_through_key: number;
300
+ };
301
+ parent_translations?: Array<{
302
+ polygon_id: number;
303
+ name: string;
304
+ language: string;
305
+ laravel_through_key: number;
306
+ }>;
307
+ relation_translations?: Array<{
308
+ relation_id: number;
309
+ name: string;
310
+ language: string;
311
+ laravel_through_key: number;
312
+ }>;
313
+ } & ApiCommonData;
103
314
  } & Omit<ApiSuccess, 'data'> | ApiError;
104
315
 
105
- export type GroupedAreaChild = {
106
- id: number;
107
- title: string;
108
- vectorSource: string;
109
- sourceLayer: string;
110
- featureId: number;
111
- properties: Record<string, string>;
112
- };
316
+ export type ApiGroupChoroplethData = Flatten<Exclude<ApiGroupChoropleth, ApiError>['data']>;
317
+
318
+ export async function listGroupChoropleths(
319
+ name: string,
320
+ languages: string[],
321
+ searchBounds?: SearchBounds,
322
+ ): Promise<GroupChoropleth[]> {
323
+ const pathname = `/v1/choropleth/groups`;
324
+ const query = getSearchParams({ search: { name }, languages, ...searchBounds });
325
+ const path = `${pathname}?${query}`;
113
326
 
114
- export async function groupedAreaChildren(groupId: number, language: string): Promise<GroupedAreaChild[]> {
115
- return request<ApiGroupedAreaChildArray, GroupedAreaChild>(
116
- `/v1/choropleth/groups/${groupId}/children-optimized?${getSearchParams({ language })}`,
117
- ).then(result => {
118
- result.forEach(
119
- elem => {
120
- elem.properties = JSON.parse(elem.properties as unknown as string) as Record<string, string>;
327
+ // Only request first 50 results
328
+ const headers = { ...defaultListHeader };
329
+ const options = { withMeta: true };
330
+
331
+ type ApiGroupChoroplethArray = {
332
+ data: ApiGroupChoroplethData[];
333
+ } & Omit<ApiSuccess, 'data'> | ApiError;
334
+
335
+ return request<ApiGroupChoroplethArray, GroupChoropleth>(path, null, headers, options)
336
+ .catch((error: Error) => {
337
+ if (error instanceof APIMeta) {
338
+ return (error as APIMeta<ApiGroupChoroplethArray, GroupChoropleth>).data;
121
339
  }
122
- );
123
340
 
124
- return result;
125
- });
341
+ throw error;
342
+ })
343
+ .then(result => result.map(processGroupData));
344
+ }
345
+
346
+ export async function listChildrenGroupChoropleths(
347
+ groupId: number,
348
+ languages: string[],
349
+ ): Promise<PolygonChoropleth[]> {
350
+ const pathname = `/v1/choropleth/groups/${groupId}/children`;
351
+ const query = getSearchParams({ languages });
352
+ const path = `${pathname}?${query}`;
353
+
354
+ type ApiPolygonChoroplethArray = {
355
+ data: ApiPolygonChoroplethData[];
356
+ } & Omit<ApiSuccess, 'data'> | ApiError;
357
+
358
+ return request<ApiPolygonChoroplethArray, PolygonChoropleth>(path).then(polygons => polygons.map(processPolygonData));
126
359
  }
@@ -47,7 +47,8 @@ export type CustomFeature =
47
47
  | 'hosted_svg_output'
48
48
  | 'hosted_png_output'
49
49
  | 'hosted_jpg_output'
50
- | 'developer_menu';
50
+ | 'developer_menu'
51
+ | 'external_sources';
51
52
 
52
53
  export interface Resources {
53
54
  organisation: Organisation;