@opengis/gis 0.2.20 → 0.2.22

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.
Files changed (155) hide show
  1. package/README.md +5 -5
  2. package/dist/index.css +1 -1
  3. package/dist/index.js +1691 -1663
  4. package/dist/index.umd.cjs +20 -20
  5. package/module/cls.json +6 -6
  6. package/module/gis/card/gis.maps.table/index.yml +14 -14
  7. package/module/gis/card/gis.maps.table/main_info.hbs +25 -25
  8. package/module/gis/card/gis.maps.table/maps_layers.hbs +19 -19
  9. package/module/gis/card/gis.metadata.table/index.yml +22 -22
  10. package/module/gis/card/gis.metadata.table/main_info.hbs +20 -20
  11. package/module/gis/card/gis.metadata.table/metadata_info.hbs +27 -27
  12. package/module/gis/card/gis.metadata.table/other.hbs +25 -25
  13. package/module/gis/card/gis.rasters.table/index.yml +11 -11
  14. package/module/gis/card/gis.rasters.table/main_info.hbs +27 -27
  15. package/module/gis/card/gis.registers.table/cls.hbs +36 -36
  16. package/module/gis/card/gis.registers.table/columns.hbs +89 -89
  17. package/module/gis/card/gis.registers.table/filters.hbs +80 -80
  18. package/module/gis/card/gis.registers.table/index.yml +23 -23
  19. package/module/gis/card/gis.registers.table/main_info.hbs +35 -35
  20. package/module/gis/card/gis.registers.table/source.hbs +45 -45
  21. package/module/gis/card/gis.services.table/attributes.hbs +91 -91
  22. package/module/gis/card/gis.services.table/filters.hbs +83 -83
  23. package/module/gis/card/gis.services.table/index.yml +25 -25
  24. package/module/gis/card/gis.services.table/main_info.hbs +27 -27
  25. package/module/gis/card/gis.services.table/source.hbs +25 -25
  26. package/module/gis/cls/bool.yes_no.json +12 -12
  27. package/module/gis/cls/encoding.json +14 -14
  28. package/module/gis/cls/geom_type.json +14 -14
  29. package/module/gis/cls/gis.column_type.json +34 -34
  30. package/module/gis/cls/gis.column_view_type.json +26 -26
  31. package/module/gis/cls/gis.filter_type.json +22 -22
  32. package/module/gis/cls/language.json +10 -10
  33. package/module/gis/cls/meta.service_type.json +42 -42
  34. package/module/gis/cls/ogc.service.json +21 -21
  35. package/module/gis/cls/service_type.json +42 -42
  36. package/module/gis/cls/source_type.json +10 -10
  37. package/module/gis/cls/standarts.json +6 -6
  38. package/module/gis/cls/topic_category.json +106 -106
  39. package/module/gis/cls/update_frequency.json +29 -29
  40. package/module/gis/cls/view.json +21 -21
  41. package/module/gis/form/gis.cartocss.form.json +46 -0
  42. package/module/gis/form/gis.group_list.form.json +17 -17
  43. package/module/gis/form/gis.maps.form.json +64 -64
  44. package/module/gis/form/gis.metadata.form.json +240 -240
  45. package/module/gis/form/gis.ogc_service.form.json +40 -40
  46. package/module/gis/form/gis.rasters.form.json +99 -99
  47. package/module/gis/form/gis.registers.form.json +110 -110
  48. package/module/gis/form/gis.registers_column.form.json +84 -84
  49. package/module/gis/form/gis.registers_filter.form.json +65 -65
  50. package/module/gis/form/gis.services.form.json +120 -120
  51. package/module/gis/form/gis.services_attributes.form.json +75 -75
  52. package/module/gis/form/gis.services_filter.form.json +65 -65
  53. package/module/gis/menu.json +43 -43
  54. package/module/gis/select/pg.columns.parent.sql +6 -6
  55. package/module/gis/select/pg.table_name.sql +17 -17
  56. package/module/gis/select/service_id.sql +1 -1
  57. package/module/gis/table/gis.cartocss.table.json +61 -0
  58. package/module/gis/table/gis.group_list.table.json +35 -35
  59. package/module/gis/table/gis.maps.table.json +69 -69
  60. package/module/gis/table/gis.metadata.table.json +70 -70
  61. package/module/gis/table/gis.ogc_service.table.json +97 -97
  62. package/module/gis/table/gis.rasters.table.json +97 -97
  63. package/module/gis/table/gis.registers.table.json +79 -79
  64. package/module/gis/table/gis.services.table.json +99 -99
  65. package/module/gis/table/site.gis.registers.table.json +88 -88
  66. package/module/gis/table/site.gis.services.table.json +106 -106
  67. package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
  68. package/module/gis/tokens.yml +5 -5
  69. package/module/test/cls/bp_build_type.json +37 -37
  70. package/module/test/cls/doc_status.json +31 -31
  71. package/module/test/cls/ts.temp_status.json +18 -18
  72. package/module/test/cls/ts.temp_structure.ts_class.json +49 -49
  73. package/module/test/cls/ts.temp_type.json +9 -9
  74. package/module/test/layer/bp.json +59 -59
  75. package/module/test/layer/bp1.yml +33 -33
  76. package/module/test/layer/individual.yml +53 -53
  77. package/module/test/layer/ts.linking_passport.yml +55 -55
  78. package/module/test/layer/ts.temp_structure.yml +50 -50
  79. package/module/test/map/addr.yml +21 -21
  80. package/module/test/map/bp_myo.json +43 -43
  81. package/module/test/map/bpf.json +43 -43
  82. package/module/test/map/main.json +36 -36
  83. package/module/test/map/mbd.json +91 -91
  84. package/module/test/map/ts.json +52 -52
  85. package/module/test/select/address_id.json +2 -2
  86. package/module/test/select/address_id.sql +7 -7
  87. package/module/test/select/core.user_uid.sql +1 -1
  88. package/module/test/table/data_address.street.table.json +69 -69
  89. package/module/test/table/data_bp_myo.bp.table.json +122 -122
  90. package/package.json +69 -69
  91. package/plugin.js +44 -44
  92. package/server/migrations/maps.sql +30 -30
  93. package/server/migrations/ogc.sql +106 -106
  94. package/server/migrations/rasters.sql +263 -263
  95. package/server/migrations/services.sql +247 -247
  96. package/server/migrations/widgets.sql +20 -20
  97. package/server/plugins/crons.js +21 -21
  98. package/server/plugins/mapnik/funcs/createXML.js +72 -72
  99. package/server/plugins/mapnik/funcs/gdalWrapper.js +72 -72
  100. package/server/plugins/mapnik/funcs/map.proto +241 -241
  101. package/server/plugins/mapnik/funcs/mapnik.js +106 -106
  102. package/server/plugins/mapnik/funcs/rasterConfig.js +11 -11
  103. package/server/plugins/mapnik/funcs/rasterExists.js +20 -20
  104. package/server/plugins/mapnik/funcs/rasterInfo.js +109 -109
  105. package/server/plugins/mapnik/funcs/rasterVrt.js +55 -55
  106. package/server/plugins/mapnik/funcs/rasterXML.js +65 -65
  107. package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
  108. package/server/plugins/mapnik/utils/map.proto +241 -241
  109. package/server/plugins/vite.js +74 -74
  110. package/server/routes/gis/dashboard.js +29 -0
  111. package/server/routes/gis/index.mjs +61 -59
  112. package/server/routes/gis/metadata/metadataXML.js +13 -13
  113. package/server/routes/gis/ogc/map.info.point.js +124 -124
  114. package/server/routes/gis/registers/add.registry.js +35 -35
  115. package/server/routes/gis/registers/del.registry.js +14 -14
  116. package/server/routes/gis/registers/funcs/classifiers.js +100 -100
  117. package/server/routes/gis/registers/funcs/columns.js +4 -4
  118. package/server/routes/gis/registers/funcs/content.type.js +9 -9
  119. package/server/routes/gis/registers/funcs/get.info.js +89 -89
  120. package/server/routes/gis/registers/funcs/handleRegistryRequest.js +133 -122
  121. package/server/routes/gis/registers/gis.export.js +148 -148
  122. package/server/routes/gis/registers/gis.registry.js +70 -38
  123. package/server/routes/gis/registers/gis.registry.list.js +59 -59
  124. package/server/routes/gis/registers/insert.columns.js +107 -107
  125. package/server/routes/gis/registers/insert.filters.js +110 -110
  126. package/server/routes/gis/registers/map.registry.js +79 -79
  127. package/server/routes/gis/services/add.service.js +64 -64
  128. package/server/routes/gis/services/del.service.js +12 -12
  129. package/server/routes/gis/services/get.layer.geom.js +27 -27
  130. package/server/routes/gis/services/get.services.col.js +33 -33
  131. package/server/routes/gis/services/get.services.js +84 -84
  132. package/server/routes/gis/services/legend.auto.js +77 -77
  133. package/server/routes/map/controllers/geojson.js +187 -0
  134. package/server/routes/map/controllers/jsonData.js +205 -0
  135. package/server/routes/map/controllers/layerList.js +60 -60
  136. package/server/routes/map/controllers/map.js +123 -123
  137. package/server/routes/map/controllers/mapCatalog.js +72 -72
  138. package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
  139. package/server/routes/map/controllers/mapFeatures.js +128 -128
  140. package/server/routes/map/controllers/mapFormat.js +83 -83
  141. package/server/routes/map/controllers/mapTiles.js +152 -152
  142. package/server/routes/map/controllers/maps.js +15 -15
  143. package/server/routes/map/controllers/marker_icon.js +43 -43
  144. package/server/routes/map/controllers/rtile.js +134 -134
  145. package/server/routes/map/controllers/vtile.js +172 -172
  146. package/server/routes/map/index.mjs +142 -129
  147. package/server/routes/map/maps/add.map.js +41 -41
  148. package/server/routes/map/maps/del.map.js +18 -18
  149. package/server/routes/map/maps/get.map.js +86 -86
  150. package/server/routes/map/vtile1.js +170 -170
  151. package/server/routes/map/widgets/add.widget.js +38 -38
  152. package/server/routes/map/widgets/del.widget.js +22 -22
  153. package/server/routes/map/widgets/get.widget.js +40 -40
  154. package/server/routes/root.mjs +3 -3
  155. package/utils.js +11 -11
@@ -1,241 +1,241 @@
1
- syntax = "proto3";
2
-
3
-
4
- message render_in {
5
- string path = 1;
6
- string name = 2;
7
- repeated double bbox = 3 [packed=true];
8
- string tile = 4;
9
- string xml = 5;
10
- int32 width = 6;
11
- int32 height = 7;
12
- }
13
-
14
-
15
- message render_out {
16
- string err = 1;
17
- string base64 = 2;
18
- string tile = 3;
19
- }
20
-
21
- message xml_in {
22
- string path = 1;
23
- string name = 2;
24
- string xml = 3;
25
- bool reload = 4;
26
- }
27
-
28
- message xml_out {
29
- string err = 1;
30
- bool is_ok = 2;
31
- }
32
-
33
- message cmd_in {
34
- string cmd = 1;
35
- string svg = 2;
36
- string filename = 3;
37
- }
38
-
39
- message cmd_out {
40
- string err = 1;
41
- string base64 = 2;
42
- }
43
-
44
- message gdal_in {
45
- string name = 1;
46
- string path = 2;
47
- string out = 3;
48
- string params = 4;
49
- }
50
- message gdal_out {
51
- string result = 1;
52
- string err = 2;
53
- }
54
-
55
- message clear_tiles_in {
56
- string path = 1;
57
- }
58
-
59
- message clear_tiles_out {
60
- oneof clear_message {
61
- bool ok = 1;
62
- string err = 2;
63
- }
64
- }
65
-
66
- message empty {}
67
-
68
- message statusRenderInfo {
69
- string name = 1;
70
- bool isActive = 2;
71
- float workTime = 3;
72
- }
73
-
74
- message statusInfo {
75
- repeated statusRenderInfo info = 1;
76
- }
77
-
78
- message printMapOut {
79
- string map = 1;
80
- string err = 2;
81
- }
82
-
83
- message xyz {
84
- float x = 1;
85
- float y = 2;
86
- float z = 3;
87
- }
88
-
89
- message printMapIn {
90
- string baseurl = 1;
91
- string baseImg = 2;
92
- repeated string xml = 3;
93
- string overlayXml = 4;
94
- string overlay = 5;
95
- int32 width = 6;
96
- int32 height = 7;
97
- repeated double bbox = 8;
98
- xyz pos = 9;
99
- string geojsonSettings = 10;
100
- }
101
-
102
- message log_in {
103
- uint32 rows = 1;
104
- string level = 2;
105
- }
106
-
107
- message log_out {
108
- repeated string logs = 1;
109
- }
110
-
111
- message sqlToShpIn {
112
- string db = 1;
113
- string host = 2;
114
- string port = 3;
115
- string sql = 4;
116
- string savePath = 5;
117
- string shpName = 6;
118
- }
119
-
120
- message shapeOut {
121
- string zipPath = 1;
122
- }
123
-
124
- message fileIn {
125
- bytes fileBytes = 1;
126
- string relativeFilepath = 2;
127
- }
128
-
129
- message deleteFileIn {
130
- string dir = 1;
131
- repeated string objectList = 2;
132
- }
133
-
134
- message fileManagerOut {
135
- bool status = 1;
136
- string operation = 2;
137
- }
138
-
139
- message checkFilesDir {
140
- string dir = 1;
141
- repeated string filesSearch = 2;
142
- }
143
-
144
- enum status {
145
- LOADING = 0;
146
- OK = 1;
147
- }
148
-
149
- message filesStatus {
150
- status fileLoadingStatus = 1;
151
- }
152
-
153
- message fileListIn {
154
- string dir = 1;
155
- }
156
-
157
- message fileInfo {
158
- repeated fileInfoL fileInfoList = 1;
159
- }
160
-
161
- message fileInfoL {
162
- oneof fileInfo {
163
- fileInfoObj file = 1;
164
- dirInfoObj dir = 2;
165
- }
166
- }
167
-
168
- message fileInfoObj {
169
- string type = 1;
170
- string birthtime = 2;
171
- string name = 3;
172
- uint64 size = 4;
173
- string ext = 5;
174
- string server = 6;
175
- }
176
-
177
- message dirInfoObj {
178
- string type = 1;
179
- string birthtime = 2;
180
- string name = 3;
181
- uint64 size = 4;
182
- uint64 count = 5;
183
- string server = 6;
184
- }
185
-
186
- message deleteOut {
187
- repeated deleteObjSuccess success = 1;
188
- repeated deleteObjError error = 2;
189
-
190
- }
191
-
192
- message deleteObjSuccess {
193
- string object = 1;
194
- string type = 2;
195
- string status = 3;
196
- }
197
-
198
- message deleteObjError {
199
- string object = 1;
200
- string fullPath = 2;
201
- string result = 3;
202
- }
203
-
204
- message readDirIn {
205
- string dir = 1;
206
- repeated string filter = 2;
207
- string fullPath = 3;
208
- }
209
-
210
- message readDirOut {
211
- repeated string res = 1;
212
-
213
- }
214
-
215
- message downloadFileIn {
216
- string filePath = 1;
217
- }
218
-
219
- message downloadFileOut {
220
- bytes chunk_data = 1;
221
- }
222
-
223
-
224
- service Map {
225
- rpc Render(render_in) returns (render_out) {}
226
- rpc RenderXML(render_in) returns (render_out) {}
227
- rpc LoadXML(xml_in) returns (xml_out) {}
228
- rpc MarkerIcon(cmd_in) returns (cmd_out) {}
229
- rpc Gdal(gdal_in) returns (gdal_out) {}
230
- rpc ClearTiles(clear_tiles_in) returns (clear_tiles_out) {}
231
- rpc RenderStatus(empty) returns (statusInfo) {}
232
- rpc PrintMap(printMapIn) returns (printMapOut) {}
233
- rpc Log(log_in) returns (log_out) {}
234
- rpc SqlToShp(sqlToShpIn) returns (shapeOut) {}
235
- rpc uploadFile(fileIn) returns (fileManagerOut) {}
236
- rpc deleteFiles(deleteFileIn) returns (deleteOut) {}
237
- rpc checkFiles(checkFilesDir) returns (filesStatus) {}
238
- rpc fileList(fileListIn) returns (fileInfo) {}
239
- rpc readDir(readDirIn) returns (readDirOut) {}
240
- rpc downloadFile(downloadFileIn) returns (stream downloadFileOut) {}
241
- }
1
+ syntax = "proto3";
2
+
3
+
4
+ message render_in {
5
+ string path = 1;
6
+ string name = 2;
7
+ repeated double bbox = 3 [packed=true];
8
+ string tile = 4;
9
+ string xml = 5;
10
+ int32 width = 6;
11
+ int32 height = 7;
12
+ }
13
+
14
+
15
+ message render_out {
16
+ string err = 1;
17
+ string base64 = 2;
18
+ string tile = 3;
19
+ }
20
+
21
+ message xml_in {
22
+ string path = 1;
23
+ string name = 2;
24
+ string xml = 3;
25
+ bool reload = 4;
26
+ }
27
+
28
+ message xml_out {
29
+ string err = 1;
30
+ bool is_ok = 2;
31
+ }
32
+
33
+ message cmd_in {
34
+ string cmd = 1;
35
+ string svg = 2;
36
+ string filename = 3;
37
+ }
38
+
39
+ message cmd_out {
40
+ string err = 1;
41
+ string base64 = 2;
42
+ }
43
+
44
+ message gdal_in {
45
+ string name = 1;
46
+ string path = 2;
47
+ string out = 3;
48
+ string params = 4;
49
+ }
50
+ message gdal_out {
51
+ string result = 1;
52
+ string err = 2;
53
+ }
54
+
55
+ message clear_tiles_in {
56
+ string path = 1;
57
+ }
58
+
59
+ message clear_tiles_out {
60
+ oneof clear_message {
61
+ bool ok = 1;
62
+ string err = 2;
63
+ }
64
+ }
65
+
66
+ message empty {}
67
+
68
+ message statusRenderInfo {
69
+ string name = 1;
70
+ bool isActive = 2;
71
+ float workTime = 3;
72
+ }
73
+
74
+ message statusInfo {
75
+ repeated statusRenderInfo info = 1;
76
+ }
77
+
78
+ message printMapOut {
79
+ string map = 1;
80
+ string err = 2;
81
+ }
82
+
83
+ message xyz {
84
+ float x = 1;
85
+ float y = 2;
86
+ float z = 3;
87
+ }
88
+
89
+ message printMapIn {
90
+ string baseurl = 1;
91
+ string baseImg = 2;
92
+ repeated string xml = 3;
93
+ string overlayXml = 4;
94
+ string overlay = 5;
95
+ int32 width = 6;
96
+ int32 height = 7;
97
+ repeated double bbox = 8;
98
+ xyz pos = 9;
99
+ string geojsonSettings = 10;
100
+ }
101
+
102
+ message log_in {
103
+ uint32 rows = 1;
104
+ string level = 2;
105
+ }
106
+
107
+ message log_out {
108
+ repeated string logs = 1;
109
+ }
110
+
111
+ message sqlToShpIn {
112
+ string db = 1;
113
+ string host = 2;
114
+ string port = 3;
115
+ string sql = 4;
116
+ string savePath = 5;
117
+ string shpName = 6;
118
+ }
119
+
120
+ message shapeOut {
121
+ string zipPath = 1;
122
+ }
123
+
124
+ message fileIn {
125
+ bytes fileBytes = 1;
126
+ string relativeFilepath = 2;
127
+ }
128
+
129
+ message deleteFileIn {
130
+ string dir = 1;
131
+ repeated string objectList = 2;
132
+ }
133
+
134
+ message fileManagerOut {
135
+ bool status = 1;
136
+ string operation = 2;
137
+ }
138
+
139
+ message checkFilesDir {
140
+ string dir = 1;
141
+ repeated string filesSearch = 2;
142
+ }
143
+
144
+ enum status {
145
+ LOADING = 0;
146
+ OK = 1;
147
+ }
148
+
149
+ message filesStatus {
150
+ status fileLoadingStatus = 1;
151
+ }
152
+
153
+ message fileListIn {
154
+ string dir = 1;
155
+ }
156
+
157
+ message fileInfo {
158
+ repeated fileInfoL fileInfoList = 1;
159
+ }
160
+
161
+ message fileInfoL {
162
+ oneof fileInfo {
163
+ fileInfoObj file = 1;
164
+ dirInfoObj dir = 2;
165
+ }
166
+ }
167
+
168
+ message fileInfoObj {
169
+ string type = 1;
170
+ string birthtime = 2;
171
+ string name = 3;
172
+ uint64 size = 4;
173
+ string ext = 5;
174
+ string server = 6;
175
+ }
176
+
177
+ message dirInfoObj {
178
+ string type = 1;
179
+ string birthtime = 2;
180
+ string name = 3;
181
+ uint64 size = 4;
182
+ uint64 count = 5;
183
+ string server = 6;
184
+ }
185
+
186
+ message deleteOut {
187
+ repeated deleteObjSuccess success = 1;
188
+ repeated deleteObjError error = 2;
189
+
190
+ }
191
+
192
+ message deleteObjSuccess {
193
+ string object = 1;
194
+ string type = 2;
195
+ string status = 3;
196
+ }
197
+
198
+ message deleteObjError {
199
+ string object = 1;
200
+ string fullPath = 2;
201
+ string result = 3;
202
+ }
203
+
204
+ message readDirIn {
205
+ string dir = 1;
206
+ repeated string filter = 2;
207
+ string fullPath = 3;
208
+ }
209
+
210
+ message readDirOut {
211
+ repeated string res = 1;
212
+
213
+ }
214
+
215
+ message downloadFileIn {
216
+ string filePath = 1;
217
+ }
218
+
219
+ message downloadFileOut {
220
+ bytes chunk_data = 1;
221
+ }
222
+
223
+
224
+ service Map {
225
+ rpc Render(render_in) returns (render_out) {}
226
+ rpc RenderXML(render_in) returns (render_out) {}
227
+ rpc LoadXML(xml_in) returns (xml_out) {}
228
+ rpc MarkerIcon(cmd_in) returns (cmd_out) {}
229
+ rpc Gdal(gdal_in) returns (gdal_out) {}
230
+ rpc ClearTiles(clear_tiles_in) returns (clear_tiles_out) {}
231
+ rpc RenderStatus(empty) returns (statusInfo) {}
232
+ rpc PrintMap(printMapIn) returns (printMapOut) {}
233
+ rpc Log(log_in) returns (log_out) {}
234
+ rpc SqlToShp(sqlToShpIn) returns (shapeOut) {}
235
+ rpc uploadFile(fileIn) returns (fileManagerOut) {}
236
+ rpc deleteFiles(deleteFileIn) returns (deleteOut) {}
237
+ rpc checkFiles(checkFilesDir) returns (filesStatus) {}
238
+ rpc fileList(fileListIn) returns (fileInfo) {}
239
+ rpc readDir(readDirIn) returns (readDirOut) {}
240
+ rpc downloadFile(downloadFileIn) returns (stream downloadFileOut) {}
241
+ }
@@ -1,106 +1,106 @@
1
- /* eslint-disable consistent-return */
2
- import { fileURLToPath } from 'node:url'
3
- import path from 'node:path'
4
-
5
- export const __filename = fileURLToPath(import.meta.url)
6
- export const __dirname = path.dirname(__filename)
7
-
8
- import grpc from '@grpc/grpc-js';
9
- import protoLoader from '@grpc/proto-loader';
10
-
11
- import { config, logger } from '@opengis/fastify-table/utils.js';
12
-
13
- config.ready = config.ready || {};
14
-
15
- const { mapServerAddress } = config || {};
16
- const funcs1 =[]
17
- if (!mapServerAddress) {
18
- console.log("\x1b[34m%s\x1b[0m",'mapServerAddress not set in config');
19
- } else {
20
-
21
- const PROTO_PATH = path.join(__dirname, 'map.proto')
22
-
23
- const proto = grpc.loadPackageDefinition(
24
- protoLoader.loadSync(PROTO_PATH, {
25
- keepCase: true,
26
- longs: String,
27
- enums: String,
28
- defaults: true,
29
- oneofs: true,
30
- }),
31
- );
32
-
33
- const mapClient = mapServerAddress ? new proto.Map(
34
- mapServerAddress,
35
- grpc.credentials.createInsecure(),
36
- ) : null;
37
-
38
- mapClient.waitForReady(Date.now() + 5000, (err) => {
39
- if (err) {
40
- config.ready.mapnik = false;
41
- console.error('Mapnik client connection timeout or failure:', err);
42
- }
43
- else {
44
- config.ready.mapnik = true;
45
- console.log('Mapnik client connected successfully.');
46
- // You can now make RPC calls safely
47
- }
48
- });
49
-
50
- const fsFuncsList = ['uploadFile', 'deleteFiles', 'downloadFile', 'checkFiles', 'fileList', 'readDir'];
51
-
52
- [
53
- 'render', 'renderXML', 'loadXML', 'markerIcon', 'gdal',
54
- 'printMap', 'log', 'sqlToShp', 'uploadFile', 'deleteFiles',
55
- 'downloadFile', 'checkFiles', 'fileList', 'readDir', 'renderStatus',
56
- ].forEach(el => {
57
- // eslint-disable-next-line no-param-reassign
58
- funcs1[el] = mapServerAddress ? async (data) => new Promise((res, rej) => {
59
- const capitalized = fsFuncsList.includes(el) ? el : el.charAt(0).toUpperCase() + el.slice(1);
60
- // eslint-disable-next-line no-param-reassign
61
- if (data) {
62
- if (data?.path && data.path?.[0] !== '"') {
63
- // eslint-disable-next-line no-param-reassign
64
- data.path = `"${data.path}"`;
65
- }
66
- }
67
-
68
- if (el === 'downloadFile') {
69
- const downloadBuffer = [];
70
- const download = mapClient[capitalized].call(mapClient, data, (err, data1) => {
71
- if (err || data1?.result?.startsWith?.('Usage:')) {
72
- logger.file('grpc/mapnik', { error: err.toString(), stack: err.stack, ready: config.ready.mapnik });
73
- if (!config.ready.mapnik) {
74
- return rej(new Error('no grpc mapnik connection'));
75
- }
76
- return rej(err || data1?.result);
77
- }
78
- res(data1);
79
- });
80
- download.on('data', (resp) => {
81
- downloadBuffer.push(...resp.chunk_data);
82
- });
83
- download.on('end', () => res({ data: Buffer.from(downloadBuffer) }));
84
- }
85
- else {
86
- mapClient[capitalized].call(mapClient, data, (err, data1) => {
87
- if (err || data1?.result?.startsWith?.('Usage:')) {
88
- logger.file('grpc/mapnik', { error: err.toString(), stack: err.stack, ready: config.ready.mapnik });
89
- if (!config.ready.mapnik) {
90
- return rej(new Error('no grpc mapnik connection'));
91
- }
92
- return rej(err || data1?.result);
93
- }
94
- res(data1);
95
- });
96
- }
97
- }) : null;
98
- });
99
- }
100
-
101
- const getMapnik = () => ({
102
- ...funcs1,
103
- mapServerAddress,
104
- });
105
-
106
- export default getMapnik;
1
+ /* eslint-disable consistent-return */
2
+ import { fileURLToPath } from 'node:url'
3
+ import path from 'node:path'
4
+
5
+ export const __filename = fileURLToPath(import.meta.url)
6
+ export const __dirname = path.dirname(__filename)
7
+
8
+ import grpc from '@grpc/grpc-js';
9
+ import protoLoader from '@grpc/proto-loader';
10
+
11
+ import { config, logger } from '@opengis/fastify-table/utils.js';
12
+
13
+ config.ready = config.ready || {};
14
+
15
+ const { mapServerAddress } = config || {};
16
+ const funcs1 =[]
17
+ if (!mapServerAddress) {
18
+ console.log("\x1b[34m%s\x1b[0m",'mapServerAddress not set in config');
19
+ } else {
20
+
21
+ const PROTO_PATH = path.join(__dirname, 'map.proto')
22
+
23
+ const proto = grpc.loadPackageDefinition(
24
+ protoLoader.loadSync(PROTO_PATH, {
25
+ keepCase: true,
26
+ longs: String,
27
+ enums: String,
28
+ defaults: true,
29
+ oneofs: true,
30
+ }),
31
+ );
32
+
33
+ const mapClient = mapServerAddress ? new proto.Map(
34
+ mapServerAddress,
35
+ grpc.credentials.createInsecure(),
36
+ ) : null;
37
+
38
+ mapClient.waitForReady(Date.now() + 5000, (err) => {
39
+ if (err) {
40
+ config.ready.mapnik = false;
41
+ console.error('Mapnik client connection timeout or failure:', err);
42
+ }
43
+ else {
44
+ config.ready.mapnik = true;
45
+ console.log('Mapnik client connected successfully.');
46
+ // You can now make RPC calls safely
47
+ }
48
+ });
49
+
50
+ const fsFuncsList = ['uploadFile', 'deleteFiles', 'downloadFile', 'checkFiles', 'fileList', 'readDir'];
51
+
52
+ [
53
+ 'render', 'renderXML', 'loadXML', 'markerIcon', 'gdal',
54
+ 'printMap', 'log', 'sqlToShp', 'uploadFile', 'deleteFiles',
55
+ 'downloadFile', 'checkFiles', 'fileList', 'readDir', 'renderStatus',
56
+ ].forEach(el => {
57
+ // eslint-disable-next-line no-param-reassign
58
+ funcs1[el] = mapServerAddress ? async (data) => new Promise((res, rej) => {
59
+ const capitalized = fsFuncsList.includes(el) ? el : el.charAt(0).toUpperCase() + el.slice(1);
60
+ // eslint-disable-next-line no-param-reassign
61
+ if (data) {
62
+ if (data?.path && data.path?.[0] !== '"') {
63
+ // eslint-disable-next-line no-param-reassign
64
+ data.path = `"${data.path}"`;
65
+ }
66
+ }
67
+
68
+ if (el === 'downloadFile') {
69
+ const downloadBuffer = [];
70
+ const download = mapClient[capitalized].call(mapClient, data, (err, data1) => {
71
+ if (err || data1?.result?.startsWith?.('Usage:')) {
72
+ logger.file('grpc/mapnik', { error: err.toString(), stack: err.stack, ready: config.ready.mapnik });
73
+ if (!config.ready.mapnik) {
74
+ return rej(new Error('no grpc mapnik connection'));
75
+ }
76
+ return rej(err || data1?.result);
77
+ }
78
+ res(data1);
79
+ });
80
+ download.on('data', (resp) => {
81
+ downloadBuffer.push(...resp.chunk_data);
82
+ });
83
+ download.on('end', () => res({ data: Buffer.from(downloadBuffer) }));
84
+ }
85
+ else {
86
+ mapClient[capitalized].call(mapClient, data, (err, data1) => {
87
+ if (err || data1?.result?.startsWith?.('Usage:')) {
88
+ logger.file('grpc/mapnik', { error: err.toString(), stack: err.stack, ready: config.ready.mapnik });
89
+ if (!config.ready.mapnik) {
90
+ return rej(new Error('no grpc mapnik connection'));
91
+ }
92
+ return rej(err || data1?.result);
93
+ }
94
+ res(data1);
95
+ });
96
+ }
97
+ }) : null;
98
+ });
99
+ }
100
+
101
+ const getMapnik = () => ({
102
+ ...funcs1,
103
+ mapServerAddress,
104
+ });
105
+
106
+ export default getMapnik;