@opengis/gis 0.2.118 → 0.2.120

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 (200) hide show
  1. package/README.md +148 -148
  2. package/dist/{CardIcon-FxpK90rl.js → CardIcon-Dx_myDwM.js} +1 -1
  3. package/dist/{EntityCreatePage-Da8XgBKU.js → EntityCreatePage-Ch8NU_Yw.js} +14 -14
  4. package/dist/{EntityEditPage-QktKEAxz.js → EntityEditPage-CRRcW7FL.js} +27 -27
  5. package/dist/EntityTablePage-DY9v1aWL.js +282 -0
  6. package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-Bl5ZwNQX.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-DgQHLSak.js} +1 -1
  7. package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-CKEep8BL.js → HeaderActions.vue_vue_type_script_setup_true_lang-BQ32ioLC.js} +30 -30
  8. package/dist/{MapSettings-CjJ7WWkn.js → MapSettings-CaGPr5uG.js} +34 -34
  9. package/dist/{MonacoEditor.vue_vue_type_script_setup_true_lang-Bs7gz6Lt.js → MonacoEditor.vue_vue_type_script_setup_true_lang-D3ZPeXMw.js} +92 -73
  10. package/dist/RastersTablePage-CJyO2DoI.js +247 -0
  11. package/dist/{cartocss-C_O8qG3h.js → cartocss-Bhat1m61.js} +297 -295
  12. package/dist/{import-utils-BbZ1gVp-.js → import-utils-BxeYqcn7.js} +33 -33
  13. package/dist/index-Ba6SE4TN.js +10203 -0
  14. package/dist/index.css +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.umd.cjs +41 -41
  17. package/dist/{raster-Du8ZMtjf.js → raster-Cbs1xR5Y.js} +120 -121
  18. package/dist/{register-B2gF-GzA.js → register-D0AsH83v.js} +8 -8
  19. package/dist/{service-BnPCDVwm.js → service-C4nt_DBO.js} +11 -11
  20. package/dist/{vs-datatable-QKks38xL.js → vs-datatable-QG5b0CCL.js} +28 -28
  21. package/module/cls.json +6 -6
  22. package/module/gis/card/gis.metadata.table/index.yml +22 -22
  23. package/module/gis/card/gis.metadata.table/main_info.hbs +20 -20
  24. package/module/gis/card/gis.metadata.table/metadata_info.hbs +27 -27
  25. package/module/gis/card/gis.metadata.table/other.hbs +25 -25
  26. package/module/gis/card/gis.rasters.table/index.yml +11 -11
  27. package/module/gis/card/gis.rasters.table/main_info.hbs +27 -27
  28. package/module/gis/card/gis.registers.table/cls.hbs +36 -36
  29. package/module/gis/card/gis.registers.table/columns.hbs +89 -89
  30. package/module/gis/card/gis.registers.table/filters.hbs +80 -80
  31. package/module/gis/card/gis.registers.table/index.yml +23 -23
  32. package/module/gis/card/gis.registers.table/main_info.hbs +35 -35
  33. package/module/gis/card/gis.registers.table/source.hbs +45 -45
  34. package/module/gis/card/gis.services.table/attributes.hbs +91 -91
  35. package/module/gis/card/gis.services.table/filters.hbs +83 -83
  36. package/module/gis/card/gis.services.table/index.yml +25 -25
  37. package/module/gis/card/gis.services.table/main_info.hbs +27 -27
  38. package/module/gis/card/gis.services.table/source.hbs +25 -25
  39. package/module/gis/cls/bool.yes_no.json +12 -12
  40. package/module/gis/cls/encoding.json +14 -14
  41. package/module/gis/cls/geom_type.json +14 -14
  42. package/module/gis/cls/gis.column_type.json +34 -34
  43. package/module/gis/cls/gis.column_view_type.json +26 -26
  44. package/module/gis/cls/gis.filter_type.json +22 -22
  45. package/module/gis/cls/language.json +10 -10
  46. package/module/gis/cls/meta.service_type.json +42 -42
  47. package/module/gis/cls/ogc.service.json +21 -21
  48. package/module/gis/cls/service_type.json +42 -42
  49. package/module/gis/cls/source_type.json +10 -10
  50. package/module/gis/cls/standarts.json +6 -6
  51. package/module/gis/cls/topic_category.json +106 -106
  52. package/module/gis/cls/update_frequency.json +29 -29
  53. package/module/gis/cls/view.json +21 -21
  54. package/module/gis/form/feedback.answer.form.json +10 -10
  55. package/module/gis/form/gis.cartocss.form.json +54 -54
  56. package/module/gis/form/gis.group_list.form.json +17 -17
  57. package/module/gis/form/gis.maps.form.json +61 -61
  58. package/module/gis/form/gis.metadata.form.json +240 -240
  59. package/module/gis/form/gis.metadata_new.form.json +195 -195
  60. package/module/gis/form/gis.ogc_service.form.json +51 -51
  61. package/module/gis/form/gis.rasters.form.json +76 -76
  62. package/module/gis/form/gis.registers.form.json +124 -124
  63. package/module/gis/form/gis.registers_column.form.json +84 -84
  64. package/module/gis/form/gis.registers_filter.form.json +65 -65
  65. package/module/gis/form/gis.services.form.json +111 -111
  66. package/module/gis/form/gis.services_attributes.form.json +75 -75
  67. package/module/gis/form/gis.services_filter.form.json +65 -65
  68. package/module/gis/menu.json +43 -43
  69. package/module/gis/select/admin.cls.name.sql +2 -2
  70. package/module/gis/select/layer_list.sql +7 -7
  71. package/module/gis/select/layer_list_text.sql +7 -7
  72. package/module/gis/select/pg.column_name.geometry.sql +12 -12
  73. package/module/gis/select/pg.columns.parent.sql +6 -6
  74. package/module/gis/select/pg.table_name.sql +17 -17
  75. package/module/gis/select/service_id.sql +1 -1
  76. package/module/gis/table/gis.cartocss.table.json +74 -74
  77. package/module/gis/table/gis.group_list.table.json +58 -58
  78. package/module/gis/table/gis.maps.table.json +110 -110
  79. package/module/gis/table/gis.metadata.table.json +70 -70
  80. package/module/gis/table/gis.metadata_new.table.json +137 -137
  81. package/module/gis/table/gis.ogc_service.table.json +100 -100
  82. package/module/gis/table/gis.rasters.table.json +101 -101
  83. package/module/gis/table/gis.registers.table.json +143 -143
  84. package/module/gis/table/gis.services.table.json +120 -120
  85. package/module/gis/table/site.gis.registers.table.json +88 -88
  86. package/module/gis/table/site.gis.services.table.json +106 -106
  87. package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
  88. package/module/gis/tokens.yml +5 -5
  89. package/module/permissions/form/permissions.users.form.json +151 -151
  90. package/module/permissions/table/gis.permissions.table.json +97 -97
  91. package/module/test/cls/bp_build_type.json +37 -37
  92. package/module/test/cls/ts.temp_status.json +18 -18
  93. package/module/test/cls/ts.temp_structure.ts_class.json +49 -49
  94. package/module/test/cls/ts.temp_type.json +9 -9
  95. package/module/test/layer/bp.json +59 -59
  96. package/module/test/layer/bp1.yml +33 -33
  97. package/module/test/layer/individual.yml +53 -53
  98. package/module/test/layer/ts.linking_passport.yml +55 -55
  99. package/module/test/layer/ts.temp_structure.yml +50 -50
  100. package/module/test/map/addr.yml +21 -21
  101. package/module/test/map/bp_myo.json +43 -43
  102. package/module/test/map/bpf.json +43 -43
  103. package/module/test/map/main.json +37 -37
  104. package/module/test/map/mbd.json +92 -92
  105. package/module/test/map/ts.json +53 -53
  106. package/module/test/select/address_id.json +2 -2
  107. package/module/test/select/address_id.sql +7 -7
  108. package/module/test/table/data_address.street.table.json +69 -69
  109. package/module/test/table/data_bp_myo.bp.table.json +122 -122
  110. package/package.json +75 -75
  111. package/plugin.js +55 -55
  112. package/server/migrations/array_intersect.sql +13 -13
  113. package/server/migrations/cartocss.sql +27 -27
  114. package/server/migrations/group_list.sql +74 -74
  115. package/server/migrations/maps.sql +30 -30
  116. package/server/migrations/metadata.sql +415 -415
  117. package/server/migrations/ogc.sql +106 -106
  118. package/server/migrations/rasters.sql +265 -265
  119. package/server/migrations/services.sql +247 -247
  120. package/server/migrations/services_users_rel.sql +22 -22
  121. package/server/migrations/widgets.sql +20 -20
  122. package/server/plugins/crons.js +21 -21
  123. package/server/plugins/mapnik/funcs/checkRasterFile.js +109 -108
  124. package/server/plugins/mapnik/funcs/mapnik.js +146 -146
  125. package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
  126. package/server/plugins/mapnik/map.proto +234 -234
  127. package/server/plugins/vite.js +74 -74
  128. package/server/routes/gis/cartocss/add.cartocss.js +42 -42
  129. package/server/routes/gis/cartocss/get.cartocss.js +50 -50
  130. package/server/routes/gis/checkXML.js +118 -118
  131. package/server/routes/gis/dashboard.js +29 -29
  132. package/server/routes/gis/index.mjs +87 -87
  133. package/server/routes/gis/metadata/editMetadata.js +34 -34
  134. package/server/routes/gis/metadata/metadataXML.js +13 -13
  135. package/server/routes/gis/ogc/map.info.point.js +124 -124
  136. package/server/routes/gis/registers/add.registry.js +35 -35
  137. package/server/routes/gis/registers/del.registry.js +14 -14
  138. package/server/routes/gis/registers/funcs/classifiers.js +100 -100
  139. package/server/routes/gis/registers/funcs/columns.js +4 -4
  140. package/server/routes/gis/registers/funcs/content.type.js +9 -9
  141. package/server/routes/gis/registers/funcs/get.info.js +89 -89
  142. package/server/routes/gis/registers/funcs/handleRegistryRequest.js +146 -146
  143. package/server/routes/gis/registers/gis.export.js +153 -153
  144. package/server/routes/gis/registers/gis.registry.js +64 -64
  145. package/server/routes/gis/registers/gis.registry.list.js +59 -59
  146. package/server/routes/gis/registers/insert.columns.js +107 -107
  147. package/server/routes/gis/registers/insert.filters.js +110 -110
  148. package/server/routes/gis/registers/map.registry.js +79 -79
  149. package/server/routes/gis/services/add.service.js +64 -64
  150. package/server/routes/gis/services/del.service.js +12 -12
  151. package/server/routes/gis/services/get.layer.geom.js +27 -27
  152. package/server/routes/gis/services/get.services.col.js +33 -33
  153. package/server/routes/gis/services/get.services.js +84 -84
  154. package/server/routes/gis/services/legend.auto.js +77 -77
  155. package/server/routes/map/controllers/clearTiles.js +34 -34
  156. package/server/routes/map/controllers/geojson.js +187 -187
  157. package/server/routes/map/controllers/jsonData.js +205 -205
  158. package/server/routes/map/controllers/layerList.js +102 -102
  159. package/server/routes/map/controllers/map.js +123 -123
  160. package/server/routes/map/controllers/mapCatalog.js +72 -72
  161. package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
  162. package/server/routes/map/controllers/mapFeatures.js +128 -128
  163. package/server/routes/map/controllers/mapFormat.js +222 -222
  164. package/server/routes/map/controllers/mapTiles.js +152 -152
  165. package/server/routes/map/controllers/maps.js +15 -15
  166. package/server/routes/map/controllers/marker_icon.js +43 -43
  167. package/server/routes/map/controllers/vtile.js +172 -172
  168. package/server/routes/map/index.mjs +169 -169
  169. package/server/routes/map/maps/add.map.js +43 -43
  170. package/server/routes/map/maps/del.map.js +18 -18
  171. package/server/routes/map/maps/get.map.js +112 -112
  172. package/server/routes/map/vtile1.js +179 -179
  173. package/server/routes/map/widgets/add.widget.js +38 -38
  174. package/server/routes/map/widgets/del.widget.js +22 -22
  175. package/server/routes/map/widgets/get.widget.js +40 -40
  176. package/server/routes/mapnik/controllers/clearTiles.js +106 -98
  177. package/server/routes/mapnik/controllers/createXml.js +67 -66
  178. package/server/routes/mapnik/controllers/createXmlMulti.js +76 -75
  179. package/server/routes/mapnik/controllers/fileSearch.js +38 -38
  180. package/server/routes/mapnik/controllers/fileStat.js +28 -28
  181. package/server/routes/mapnik/controllers/mapnikLogger.js +29 -29
  182. package/server/routes/mapnik/controllers/mapnikStat.js +20 -20
  183. package/server/routes/mapnik/controllers/rasterInfo.js +54 -53
  184. package/server/routes/mapnik/controllers/readDir.js +22 -22
  185. package/server/routes/mapnik/controllers/rtile.js +150 -150
  186. package/server/routes/mapnik/controllers/uploadRaster.js +157 -157
  187. package/server/routes/mapnik/functions/cartoBounds.js +28 -28
  188. package/server/routes/mapnik/functions/uploadXML.js +110 -110
  189. package/server/routes/mapnik/index.js +27 -27
  190. package/server/routes/permissions/controllers/catalog.permissions.edit.js +22 -22
  191. package/server/routes/permissions/controllers/catalog.permissions.js +7 -7
  192. package/server/routes/permissions/controllers/gis.catalog.js +80 -80
  193. package/server/routes/permissions/controllers/utils/get.permissions.js +59 -59
  194. package/server/routes/permissions/index.mjs +18 -18
  195. package/server/routes/root.mjs +3 -3
  196. package/utils.js +13 -13
  197. package/dist/EntityTablePage-ii-Wz0YZ.js +0 -286
  198. package/dist/FileEdit-C7tteUeG.js +0 -37
  199. package/dist/RastersTablePage-DpKkFOyo.js +0 -359
  200. package/dist/index-4aSsUBB8.js +0 -10020
@@ -1,234 +1,234 @@
1
- syntax = "proto3";
2
-
3
- import "google/protobuf/struct.proto"; // after syntax!
4
-
5
- package map;
6
-
7
- // ----------------------------
8
- // Map Service
9
- // ----------------------------
10
- service MapService {
11
- rpc RenderTile(RenderTileRequest) returns (RenderTileOut);
12
- rpc ClearTile(ClearTileRequest) returns (ClearTileOut);
13
- rpc ReadDir(ReadDirRequest) returns (ReadDirOut);
14
- rpc FileStat(FileStatRequest) returns (FileStatOut);
15
- rpc FileSearch(FileSearchRequest) returns (FileSearchOut);
16
- rpc CreateXML(CreateXMLRequest) returns (stream JobProgress); // streaming XML creation
17
- rpc UploadXML(UploadXMLRequest) returns (UploadXMLOut);
18
- rpc UploadRaster(UploadRasterRequest) returns (UploadRasterOut);
19
- rpc GetRasterStatus(GetRasterStatusRequest) returns (GetStatusOut);
20
- rpc GetStat(GetStatRequest) returns (GetStatOut);
21
- rpc GetRender(GetRenderRequest) returns (GetRenderOut);
22
- rpc GetLogs(GetLogsRequest) returns (GetLogsOut);
23
- rpc GetRasterInfo(GetRasterInfoRequest) returns (GetRasterInfoOut);
24
- }
25
-
26
- // ----------------------------
27
- // Messages for MapService
28
- // ----------------------------
29
- message RenderTileRequest {
30
- string name = 1;
31
- string path = 2;
32
- repeated double bbox = 3; // [minx, miny, maxx, maxy]
33
- int32 width = 4;
34
- string ttl = 5; // "5m", "1h", "1d" or "0"
35
- string debug = 6;
36
- optional bool skipSubdir = 7;
37
- }
38
-
39
- message RenderTileOut {
40
- string base64 = 1;
41
- bool cache = 2;
42
- string err = 3;
43
- string xml_path = 4;
44
- }
45
-
46
- message ClearTileRequest {
47
- string name = 1;
48
- string path = 2;
49
- }
50
-
51
- message ClearTileOut {
52
- string result = 1;
53
- string err = 2;
54
- }
55
-
56
- message FileStatRequest {
57
- string path = 1;
58
- }
59
-
60
- message FileStatOut {
61
- bool exists = 1;
62
- string name = 2;
63
- int64 size = 3;
64
- string adate = 4;
65
- string cdate = 5;
66
- string mdate = 6;
67
- }
68
-
69
- message FileSearchRequest {
70
- string path = 1;
71
- string key = 2;
72
- string period = 3;
73
- int64 size = 4;
74
- }
75
-
76
- message FileSearchOut {
77
- bool exists = 1;
78
- int32 count = 2;
79
- repeated FileInfo files = 3;
80
- repeated DirInfo directories = 4;
81
- }
82
-
83
- message ReadDirRequest {
84
- string path = 1;
85
- }
86
-
87
- message FileInfo {
88
- string name = 1;
89
- int64 size = 2;
90
- string date = 3;
91
- string dir = 4;
92
- }
93
-
94
- message DirInfo {
95
- string name = 1;
96
- int64 size = 2;
97
- string date = 3;
98
- int64 children = 4;
99
- }
100
-
101
- message ReadDirOut {
102
- bool exists = 1;
103
- int32 count = 2;
104
- repeated FileInfo files = 3;
105
- repeated DirInfo directories = 4;
106
- }
107
-
108
- message CreateXMLRequest {
109
- string path = 1;
110
- int32 srid = 2;
111
- int32 previewZoom = 3;
112
- repeated string layers = 4;
113
- bool vrt = 5;
114
- string name = 6;
115
- string debug = 7;
116
- string nocache = 8;
117
- string proj4 = 9;
118
- bool skipSubdir = 10;
119
- }
120
-
121
- message UploadXMLRequest {
122
- string name = 1;
123
- string xml = 2;
124
- string encoding = 3;
125
- string path = 4;
126
- }
127
-
128
- message UploadXMLOut {
129
- string status = 1;
130
- string filepath = 2;
131
- }
132
-
133
- message UploadRasterRequest {
134
- string path = 1;
135
- bytes data = 2;
136
- bool chunked = 3;
137
- int64 filesize = 4;
138
- }
139
-
140
- message UploadRasterOut {
141
- string status = 1;
142
- int64 uploaded = 2;
143
- bool finished = 3;
144
- }
145
-
146
- message GetRasterStatusRequest {
147
- string path = 1;
148
- bool md5 = 2;
149
- }
150
-
151
- message GetStatusOut {
152
- bool exists = 1;
153
- string size = 2;
154
- bool finished = 3;
155
- }
156
-
157
- message GetStatRequest {
158
- string period = 1; // "5m", "1h", "1d"
159
- string ttl = 2; // "0"
160
- }
161
-
162
- message GetStatOut {
163
- google.protobuf.Struct result = 1; // dynamic json structure, not bound by same value type like with map
164
- }
165
-
166
- message GetRenderRequest {
167
- string name = 1;
168
- string path = 2;
169
- }
170
-
171
- message GetRenderOut {
172
- string result = 1; // serialized object or placeholder
173
- }
174
-
175
- message GetLogsRequest {
176
- string path = 1; // "info", "info/2026-01-01.log" etc.
177
- }
178
-
179
- message GetLogsOut {
180
- string data = 1;
181
- string links = 2;
182
- string err = 3;
183
- }
184
-
185
- message GetRasterInfoRequest {
186
- string path = 1;
187
- string ttl = 2;
188
- int64 srid = 3;
189
- string proj4 = 4;
190
- bool skipSubdir = 5;
191
- }
192
-
193
- message FileItem {
194
- string name = 1;
195
- string size = 2;
196
- }
197
-
198
- message GetRasterInfoData {
199
- string total_size = 1;
200
- string extension = 2;
201
- int64 srid = 3;
202
- string proj4 = 4;
203
- repeated float extent = 5;
204
- repeated FileItem files = 6;
205
- int64 width = 7;
206
- int64 height = 8;
207
- int64 bands_count = 9;
208
- string resolution = 10;
209
- repeated string bands = 11;
210
- int64 color_depth = 12;
211
- string compression = 13;
212
- bool xml = 14;
213
- }
214
-
215
- message GetRasterInfoOut {
216
- GetRasterInfoData data = 1;
217
- bool cache = 2;
218
- }
219
-
220
- // ----------------------------
221
- // Job Service Messages
222
- // ----------------------------
223
- message JobRequest {
224
- string job_id = 1;
225
- string xml_name = 2;
226
- string xml_path = 3;
227
- repeated string layers = 4;
228
- }
229
-
230
- message JobProgress {
231
- string message = 1;
232
- string error = 2;
233
- bool done = 3;
234
- }
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/struct.proto"; // after syntax!
4
+
5
+ package map;
6
+
7
+ // ----------------------------
8
+ // Map Service
9
+ // ----------------------------
10
+ service MapService {
11
+ rpc RenderTile(RenderTileRequest) returns (RenderTileOut);
12
+ rpc ClearTile(ClearTileRequest) returns (ClearTileOut);
13
+ rpc ReadDir(ReadDirRequest) returns (ReadDirOut);
14
+ rpc FileStat(FileStatRequest) returns (FileStatOut);
15
+ rpc FileSearch(FileSearchRequest) returns (FileSearchOut);
16
+ rpc CreateXML(CreateXMLRequest) returns (stream JobProgress); // streaming XML creation
17
+ rpc UploadXML(UploadXMLRequest) returns (UploadXMLOut);
18
+ rpc UploadRaster(UploadRasterRequest) returns (UploadRasterOut);
19
+ rpc GetRasterStatus(GetRasterStatusRequest) returns (GetStatusOut);
20
+ rpc GetStat(GetStatRequest) returns (GetStatOut);
21
+ rpc GetRender(GetRenderRequest) returns (GetRenderOut);
22
+ rpc GetLogs(GetLogsRequest) returns (GetLogsOut);
23
+ rpc GetRasterInfo(GetRasterInfoRequest) returns (GetRasterInfoOut);
24
+ }
25
+
26
+ // ----------------------------
27
+ // Messages for MapService
28
+ // ----------------------------
29
+ message RenderTileRequest {
30
+ string name = 1;
31
+ string path = 2;
32
+ repeated double bbox = 3; // [minx, miny, maxx, maxy]
33
+ int32 width = 4;
34
+ string ttl = 5; // "5m", "1h", "1d" or "0"
35
+ string debug = 6;
36
+ optional bool skipSubdir = 7;
37
+ }
38
+
39
+ message RenderTileOut {
40
+ string base64 = 1;
41
+ bool cache = 2;
42
+ string err = 3;
43
+ string xml_path = 4;
44
+ }
45
+
46
+ message ClearTileRequest {
47
+ string name = 1;
48
+ string path = 2;
49
+ }
50
+
51
+ message ClearTileOut {
52
+ string result = 1;
53
+ string err = 2;
54
+ }
55
+
56
+ message FileStatRequest {
57
+ string path = 1;
58
+ }
59
+
60
+ message FileStatOut {
61
+ bool exists = 1;
62
+ string name = 2;
63
+ int64 size = 3;
64
+ string adate = 4;
65
+ string cdate = 5;
66
+ string mdate = 6;
67
+ }
68
+
69
+ message FileSearchRequest {
70
+ string path = 1;
71
+ string key = 2;
72
+ string period = 3;
73
+ int64 size = 4;
74
+ }
75
+
76
+ message FileSearchOut {
77
+ bool exists = 1;
78
+ int32 count = 2;
79
+ repeated FileInfo files = 3;
80
+ repeated DirInfo directories = 4;
81
+ }
82
+
83
+ message ReadDirRequest {
84
+ string path = 1;
85
+ }
86
+
87
+ message FileInfo {
88
+ string name = 1;
89
+ int64 size = 2;
90
+ string date = 3;
91
+ string dir = 4;
92
+ }
93
+
94
+ message DirInfo {
95
+ string name = 1;
96
+ int64 size = 2;
97
+ string date = 3;
98
+ int64 children = 4;
99
+ }
100
+
101
+ message ReadDirOut {
102
+ bool exists = 1;
103
+ int32 count = 2;
104
+ repeated FileInfo files = 3;
105
+ repeated DirInfo directories = 4;
106
+ }
107
+
108
+ message CreateXMLRequest {
109
+ string path = 1;
110
+ int32 srid = 2;
111
+ int32 previewZoom = 3;
112
+ repeated string layers = 4;
113
+ bool vrt = 5;
114
+ string name = 6;
115
+ string debug = 7;
116
+ string nocache = 8;
117
+ string proj4 = 9;
118
+ bool skipSubdir = 10;
119
+ }
120
+
121
+ message UploadXMLRequest {
122
+ string name = 1;
123
+ string xml = 2;
124
+ string encoding = 3;
125
+ string path = 4;
126
+ }
127
+
128
+ message UploadXMLOut {
129
+ string status = 1;
130
+ string filepath = 2;
131
+ }
132
+
133
+ message UploadRasterRequest {
134
+ string path = 1;
135
+ bytes data = 2;
136
+ bool chunked = 3;
137
+ int64 filesize = 4;
138
+ }
139
+
140
+ message UploadRasterOut {
141
+ string status = 1;
142
+ int64 uploaded = 2;
143
+ bool finished = 3;
144
+ }
145
+
146
+ message GetRasterStatusRequest {
147
+ string path = 1;
148
+ bool md5 = 2;
149
+ }
150
+
151
+ message GetStatusOut {
152
+ bool exists = 1;
153
+ string size = 2;
154
+ bool finished = 3;
155
+ }
156
+
157
+ message GetStatRequest {
158
+ string period = 1; // "5m", "1h", "1d"
159
+ string ttl = 2; // "0"
160
+ }
161
+
162
+ message GetStatOut {
163
+ google.protobuf.Struct result = 1; // dynamic json structure, not bound by same value type like with map
164
+ }
165
+
166
+ message GetRenderRequest {
167
+ string name = 1;
168
+ string path = 2;
169
+ }
170
+
171
+ message GetRenderOut {
172
+ string result = 1; // serialized object or placeholder
173
+ }
174
+
175
+ message GetLogsRequest {
176
+ string path = 1; // "info", "info/2026-01-01.log" etc.
177
+ }
178
+
179
+ message GetLogsOut {
180
+ string data = 1;
181
+ string links = 2;
182
+ string err = 3;
183
+ }
184
+
185
+ message GetRasterInfoRequest {
186
+ string path = 1;
187
+ string ttl = 2;
188
+ int64 srid = 3;
189
+ string proj4 = 4;
190
+ bool skipSubdir = 5;
191
+ }
192
+
193
+ message FileItem {
194
+ string name = 1;
195
+ string size = 2;
196
+ }
197
+
198
+ message GetRasterInfoData {
199
+ string total_size = 1;
200
+ string extension = 2;
201
+ int64 srid = 3;
202
+ string proj4 = 4;
203
+ repeated float extent = 5;
204
+ repeated FileItem files = 6;
205
+ int64 width = 7;
206
+ int64 height = 8;
207
+ int64 bands_count = 9;
208
+ string resolution = 10;
209
+ repeated string bands = 11;
210
+ int64 color_depth = 12;
211
+ string compression = 13;
212
+ bool xml = 14;
213
+ }
214
+
215
+ message GetRasterInfoOut {
216
+ GetRasterInfoData data = 1;
217
+ bool cache = 2;
218
+ }
219
+
220
+ // ----------------------------
221
+ // Job Service Messages
222
+ // ----------------------------
223
+ message JobRequest {
224
+ string job_id = 1;
225
+ string xml_name = 2;
226
+ string xml_path = 3;
227
+ repeated string layers = 4;
228
+ }
229
+
230
+ message JobProgress {
231
+ string message = 1;
232
+ string error = 2;
233
+ bool done = 3;
234
+ }
@@ -1,74 +1,74 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { createServer } from 'vite';
4
-
5
- // import { config } from '@opengis/fastify-table/utils.js';
6
-
7
- const isProduction = process.env.NODE_ENV === 'production';
8
-
9
- console.log({ isProduction });
10
-
11
- async function plugin(fastify, opts) {
12
- const viteServer = !isProduction ? await createServer({
13
- root: 'admin',
14
- server: {
15
- middlewareMode: true,
16
- },
17
- }) : null;
18
-
19
- if (!isProduction) {
20
- const dir1 = process.cwd();
21
- viteServer.watcher.add(dir1);
22
- viteServer.watcher.on('all', (d, t) => {
23
- if (!t.includes('module')) return;
24
- console.log(d, t);
25
- viteServer.ws.send({ type: 'full-reload' });
26
- });
27
-
28
- // this is middleware for vite's dev server
29
- fastify.addHook('onRequest', async (req, reply) => {
30
- const { user } = req.session?.passport || {};
31
- // console.log(req.url);
32
-
33
- const next = () => new Promise((resolve) => {
34
- viteServer.middlewares(req.raw, reply.raw, () => resolve());
35
- });
36
-
37
- await next();
38
- });
39
- }
40
-
41
- async function staticFile(req, reply) {
42
- const assetsDir = 'admin/dist';
43
-
44
- const filePathDist = path.join(assetsDir, req.url.replace('/public/', '/'));
45
- const filePathAssets = path.join('assets', req.url.replace('/assets', ''));
46
-
47
- const filePath = fs.existsSync(filePathDist) ? filePathDist : filePathAssets; // check dist or assets
48
- const ext = path.extname(filePath);
49
-
50
- if (!fs.existsSync(filePath)) return { status: 404, message: 'not found' };
51
- const mime = {
52
- '.js': 'text/javascript', '.css': 'text/css', '.woff2': 'application/font-woff', '.png': 'image/png', '.svg': 'image/svg+xml', '.jpg': 'image/jpg',
53
- }[ext];
54
- reply.headers({ 'Cache-control': 'max-age=3600, public', 'Content-Encoding': 'identity' });
55
-
56
- const stream = fs.createReadStream(filePath);
57
- return mime ? reply.type(mime).send(stream) : stream;
58
- }
59
- fastify.get('/assets/*', staticFile);
60
- fastify.get('/public/*', staticFile);
61
-
62
- fastify.get('*', async (req, reply) => {
63
- const { user } = req.session?.passport || {};
64
-
65
- if (!user && req.url.split('?')[0] !== '/login') {
66
- return reply.redirect(`/login?redirect=${req.url}`);
67
- }
68
- if (!isProduction) return null; // admin vite
69
- const stream = fs.createReadStream('admin/dist/index.html');
70
- return reply.type('text/html').send(stream);
71
- });
72
- }
73
-
74
- export default plugin;
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { createServer } from 'vite';
4
+
5
+ // import { config } from '@opengis/fastify-table/utils.js';
6
+
7
+ const isProduction = process.env.NODE_ENV === 'production';
8
+
9
+ console.log({ isProduction });
10
+
11
+ async function plugin(fastify, opts) {
12
+ const viteServer = !isProduction ? await createServer({
13
+ root: 'admin',
14
+ server: {
15
+ middlewareMode: true,
16
+ },
17
+ }) : null;
18
+
19
+ if (!isProduction) {
20
+ const dir1 = process.cwd();
21
+ viteServer.watcher.add(dir1);
22
+ viteServer.watcher.on('all', (d, t) => {
23
+ if (!t.includes('module')) return;
24
+ console.log(d, t);
25
+ viteServer.ws.send({ type: 'full-reload' });
26
+ });
27
+
28
+ // this is middleware for vite's dev server
29
+ fastify.addHook('onRequest', async (req, reply) => {
30
+ const { user } = req.session?.passport || {};
31
+ // console.log(req.url);
32
+
33
+ const next = () => new Promise((resolve) => {
34
+ viteServer.middlewares(req.raw, reply.raw, () => resolve());
35
+ });
36
+
37
+ await next();
38
+ });
39
+ }
40
+
41
+ async function staticFile(req, reply) {
42
+ const assetsDir = 'admin/dist';
43
+
44
+ const filePathDist = path.join(assetsDir, req.url.replace('/public/', '/'));
45
+ const filePathAssets = path.join('assets', req.url.replace('/assets', ''));
46
+
47
+ const filePath = fs.existsSync(filePathDist) ? filePathDist : filePathAssets; // check dist or assets
48
+ const ext = path.extname(filePath);
49
+
50
+ if (!fs.existsSync(filePath)) return { status: 404, message: 'not found' };
51
+ const mime = {
52
+ '.js': 'text/javascript', '.css': 'text/css', '.woff2': 'application/font-woff', '.png': 'image/png', '.svg': 'image/svg+xml', '.jpg': 'image/jpg',
53
+ }[ext];
54
+ reply.headers({ 'Cache-control': 'max-age=3600, public', 'Content-Encoding': 'identity' });
55
+
56
+ const stream = fs.createReadStream(filePath);
57
+ return mime ? reply.type(mime).send(stream) : stream;
58
+ }
59
+ fastify.get('/assets/*', staticFile);
60
+ fastify.get('/public/*', staticFile);
61
+
62
+ fastify.get('*', async (req, reply) => {
63
+ const { user } = req.session?.passport || {};
64
+
65
+ if (!user && req.url.split('?')[0] !== '/login') {
66
+ return reply.redirect(`/login?redirect=${req.url}`);
67
+ }
68
+ if (!isProduction) return null; // admin vite
69
+ const stream = fs.createReadStream('admin/dist/index.html');
70
+ return reply.type('text/html').send(stream);
71
+ });
72
+ }
73
+
74
+ export default plugin;