@opengis/gis 0.2.145 → 0.2.146

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 (201) hide show
  1. package/README.md +181 -181
  2. package/dist/{CardIcon-KPdJQSAj.js → CardIcon-BCll_4SB.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-D0CxSITf.js → EntityTablePage-DXJPsOx8.js} +26 -26
  6. package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-B7Nkfd7c.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BJ-zsrml.js} +1 -1
  7. package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-9kitzmJK.js → HeaderActions.vue_vue_type_script_setup_true_lang-EZGjVDor.js} +5 -5
  8. package/dist/{MapSettings-CBkp5Cfw.js → MapSettings-CG7u4F4i.js} +33 -33
  9. package/dist/{RastersTablePage-D1k_WisA.js → RastersTablePage-CN5hfj6F.js} +29 -29
  10. package/dist/cartocss-BNVXz6oJ.js +1065 -0
  11. package/dist/{import-utils-CVdAWcDL.js → import-utils-BwcMU3Gp.js} +33 -33
  12. package/dist/{index-DJKZSGVW.js → index-8aAArh78.js} +63 -63
  13. package/dist/index.css +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/index.umd.cjs +35 -35
  16. package/dist/raster-BN1gB-NS.js +804 -0
  17. package/dist/{register-Br5WdQas.js → register-DZ24Z6dC.js} +8 -8
  18. package/dist/{service-1sCTWkzU.js → service-DXLa4AiW.js} +392 -380
  19. package/dist/{vs-datatable-CviY_UkX.js → vs-datatable-DVC6-2mA.js} +28 -28
  20. package/module/cls.json +6 -6
  21. package/module/gis/card/gis.metadata.table/index.yml +22 -22
  22. package/module/gis/card/gis.metadata.table/main_info.hbs +20 -20
  23. package/module/gis/card/gis.metadata.table/metadata_info.hbs +27 -27
  24. package/module/gis/card/gis.metadata.table/other.hbs +25 -25
  25. package/module/gis/card/gis.rasters.table/index.yml +11 -11
  26. package/module/gis/card/gis.rasters.table/main_info.hbs +27 -27
  27. package/module/gis/card/gis.registers.table/cls.hbs +36 -36
  28. package/module/gis/card/gis.registers.table/columns.hbs +89 -89
  29. package/module/gis/card/gis.registers.table/filters.hbs +80 -80
  30. package/module/gis/card/gis.registers.table/index.yml +23 -23
  31. package/module/gis/card/gis.registers.table/main_info.hbs +35 -35
  32. package/module/gis/card/gis.registers.table/source.hbs +45 -45
  33. package/module/gis/card/gis.services.table/attributes.hbs +91 -91
  34. package/module/gis/card/gis.services.table/filters.hbs +83 -83
  35. package/module/gis/card/gis.services.table/index.yml +25 -25
  36. package/module/gis/card/gis.services.table/main_info.hbs +27 -27
  37. package/module/gis/card/gis.services.table/source.hbs +25 -25
  38. package/module/gis/cls/bool.yes_no.json +12 -12
  39. package/module/gis/cls/encoding.json +14 -14
  40. package/module/gis/cls/geom_type.json +14 -14
  41. package/module/gis/cls/gis.column_type.json +34 -34
  42. package/module/gis/cls/gis.column_view_type.json +26 -26
  43. package/module/gis/cls/gis.filter_type.json +22 -22
  44. package/module/gis/cls/language.json +10 -10
  45. package/module/gis/cls/meta.service_type.json +42 -42
  46. package/module/gis/cls/ogc.service.json +21 -21
  47. package/module/gis/cls/service_type.json +42 -42
  48. package/module/gis/cls/source_type.json +10 -10
  49. package/module/gis/cls/standarts.json +6 -6
  50. package/module/gis/cls/topic_category.json +106 -106
  51. package/module/gis/cls/update_frequency.json +29 -29
  52. package/module/gis/cls/view.json +21 -21
  53. package/module/gis/form/feedback.answer.form.json +10 -10
  54. package/module/gis/form/gis.cartocss.form.json +64 -64
  55. package/module/gis/form/gis.group_list.form.json +17 -17
  56. package/module/gis/form/gis.maps.form.json +61 -61
  57. package/module/gis/form/gis.metadata.form.json +240 -240
  58. package/module/gis/form/gis.metadata_new.form.json +195 -195
  59. package/module/gis/form/gis.ogc_service.form.json +51 -51
  60. package/module/gis/form/gis.rasters.form.json +76 -76
  61. package/module/gis/form/gis.registers.form.json +124 -124
  62. package/module/gis/form/gis.registers_column.form.json +84 -84
  63. package/module/gis/form/gis.registers_filter.form.json +65 -65
  64. package/module/gis/form/gis.services.form.json +111 -111
  65. package/module/gis/form/gis.services_attributes.form.json +75 -75
  66. package/module/gis/form/gis.services_filter.form.json +65 -65
  67. package/module/gis/menu.json +43 -43
  68. package/module/gis/select/admin.cls.name.sql +9 -9
  69. package/module/gis/select/layer_list.sql +7 -7
  70. package/module/gis/select/layer_list_text.sql +7 -7
  71. package/module/gis/select/pg.column_name.geometry.sql +12 -12
  72. package/module/gis/select/pg.columns.parent.sql +6 -6
  73. package/module/gis/select/pg.table_name.sql +17 -17
  74. package/module/gis/select/service_id.sql +1 -1
  75. package/module/gis/table/gis.cartocss.table.json +74 -74
  76. package/module/gis/table/gis.group_list.table.json +58 -58
  77. package/module/gis/table/gis.maps.table.json +110 -110
  78. package/module/gis/table/gis.metadata.table.json +70 -70
  79. package/module/gis/table/gis.metadata_new.table.json +137 -137
  80. package/module/gis/table/gis.ogc_service.table.json +100 -100
  81. package/module/gis/table/gis.rasters.table.json +101 -101
  82. package/module/gis/table/gis.registers.table.json +143 -143
  83. package/module/gis/table/gis.services.table.json +120 -120
  84. package/module/gis/table/site.gis.registers.table.json +88 -88
  85. package/module/gis/table/site.gis.services.table.json +106 -106
  86. package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
  87. package/module/gis/tokens.yml +5 -5
  88. package/module/permissions/form/permissions.users.form.json +151 -151
  89. package/module/permissions/table/gis.permissions.table.json +97 -97
  90. package/module/test/cls/bp_build_type.json +37 -37
  91. package/module/test/cls/doc_status.json +31 -31
  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/select/core.user_uid.sql +1 -1
  109. package/module/test/table/data_address.street.table.json +69 -69
  110. package/module/test/table/data_bp_myo.bp.table.json +122 -122
  111. package/package.json +75 -75
  112. package/plugin.js +55 -55
  113. package/server/migrations/array_intersect.sql +13 -13
  114. package/server/migrations/cartocss.sql +27 -27
  115. package/server/migrations/group_list.sql +74 -74
  116. package/server/migrations/maps.sql +30 -30
  117. package/server/migrations/metadata.sql +415 -415
  118. package/server/migrations/ogc.sql +106 -106
  119. package/server/migrations/rasters.sql +265 -265
  120. package/server/migrations/services.sql +247 -247
  121. package/server/migrations/services_users_rel.sql +22 -22
  122. package/server/migrations/widgets.sql +20 -20
  123. package/server/plugins/crons.js +21 -21
  124. package/server/plugins/mapnik/funcs/checkRasterFile.js +109 -109
  125. package/server/plugins/mapnik/funcs/mapnik.js +151 -151
  126. package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
  127. package/server/plugins/mapnik/map.proto +230 -230
  128. package/server/plugins/vite.js +74 -74
  129. package/server/routes/gis/cartocss/add.cartocss.js +42 -42
  130. package/server/routes/gis/cartocss/get.cartocss.js +59 -59
  131. package/server/routes/gis/checkXML.js +117 -117
  132. package/server/routes/gis/dashboard.js +29 -29
  133. package/server/routes/gis/index.mjs +87 -87
  134. package/server/routes/gis/metadata/editMetadata.js +34 -34
  135. package/server/routes/gis/metadata/metadataXML.js +13 -13
  136. package/server/routes/gis/ogc/map.info.point.js +124 -124
  137. package/server/routes/gis/registers/add.registry.js +35 -35
  138. package/server/routes/gis/registers/del.registry.js +14 -14
  139. package/server/routes/gis/registers/funcs/classifiers.js +100 -100
  140. package/server/routes/gis/registers/funcs/columns.js +3 -3
  141. package/server/routes/gis/registers/funcs/content.type.js +9 -9
  142. package/server/routes/gis/registers/funcs/get.info.js +89 -89
  143. package/server/routes/gis/registers/funcs/handleRegistryRequest.js +146 -146
  144. package/server/routes/gis/registers/gis.export.js +153 -153
  145. package/server/routes/gis/registers/gis.registry.js +64 -64
  146. package/server/routes/gis/registers/gis.registry.list.js +59 -59
  147. package/server/routes/gis/registers/insert.columns.js +107 -107
  148. package/server/routes/gis/registers/insert.filters.js +110 -110
  149. package/server/routes/gis/registers/map.registry.js +79 -79
  150. package/server/routes/gis/services/add.service.js +64 -64
  151. package/server/routes/gis/services/del.service.js +12 -12
  152. package/server/routes/gis/services/get.layer.geom.js +27 -27
  153. package/server/routes/gis/services/get.services.col.js +33 -33
  154. package/server/routes/gis/services/get.services.js +84 -84
  155. package/server/routes/gis/services/legend.auto.js +77 -77
  156. package/server/routes/map/controllers/clearTiles.js +34 -34
  157. package/server/routes/map/controllers/geojson.js +187 -187
  158. package/server/routes/map/controllers/jsonData.js +205 -205
  159. package/server/routes/map/controllers/layerList.js +102 -102
  160. package/server/routes/map/controllers/map.js +123 -123
  161. package/server/routes/map/controllers/mapCatalog.js +72 -72
  162. package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
  163. package/server/routes/map/controllers/mapFeatures.js +128 -128
  164. package/server/routes/map/controllers/mapFormat.js +234 -234
  165. package/server/routes/map/controllers/mapTiles.js +152 -152
  166. package/server/routes/map/controllers/maps.js +15 -15
  167. package/server/routes/map/controllers/marker_icon.js +43 -43
  168. package/server/routes/map/controllers/vtile.js +172 -172
  169. package/server/routes/map/index.mjs +169 -169
  170. package/server/routes/map/maps/add.map.js +43 -43
  171. package/server/routes/map/maps/del.map.js +18 -18
  172. package/server/routes/map/maps/get.map.js +118 -118
  173. package/server/routes/map/vtile1.js +179 -179
  174. package/server/routes/map/widgets/add.widget.js +38 -38
  175. package/server/routes/map/widgets/del.widget.js +22 -22
  176. package/server/routes/map/widgets/get.widget.js +40 -40
  177. package/server/routes/mapnik/controllers/clearTiles.js +106 -106
  178. package/server/routes/mapnik/controllers/createXml.js +67 -67
  179. package/server/routes/mapnik/controllers/createXmlMulti.js +76 -76
  180. package/server/routes/mapnik/controllers/fileSearch.js +38 -38
  181. package/server/routes/mapnik/controllers/fileStat.js +28 -28
  182. package/server/routes/mapnik/controllers/mapnikLogger.js +29 -29
  183. package/server/routes/mapnik/controllers/mapnikStat.js +19 -19
  184. package/server/routes/mapnik/controllers/pretile.js +144 -144
  185. package/server/routes/mapnik/controllers/rasterInfo.js +57 -57
  186. package/server/routes/mapnik/controllers/readDir.js +22 -22
  187. package/server/routes/mapnik/controllers/rtile.js +150 -150
  188. package/server/routes/mapnik/controllers/uploadRaster.js +157 -157
  189. package/server/routes/mapnik/functions/cartoBounds.js +32 -32
  190. package/server/routes/mapnik/functions/convertBoundToTile.js +27 -27
  191. package/server/routes/mapnik/functions/uploadXML.js +113 -113
  192. package/server/routes/mapnik/index.js +40 -40
  193. package/server/routes/permissions/controllers/catalog.permissions.edit.js +22 -22
  194. package/server/routes/permissions/controllers/catalog.permissions.js +7 -7
  195. package/server/routes/permissions/controllers/gis.catalog.js +80 -80
  196. package/server/routes/permissions/controllers/utils/get.permissions.js +59 -59
  197. package/server/routes/permissions/index.mjs +18 -18
  198. package/server/routes/root.mjs +3 -3
  199. package/utils.js +13 -13
  200. package/dist/cartocss-KfS-aCRn.js +0 -1053
  201. package/dist/raster-CKQiGAgN.js +0 -792
@@ -1,230 +1,230 @@
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
- }
37
-
38
- message RenderTileOut {
39
- string base64 = 1;
40
- bool cache = 2;
41
- string err = 3;
42
- string xml_path = 4;
43
- string tile_path = 5;
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
- }
119
-
120
- message UploadXMLRequest {
121
- string name = 1;
122
- string xml = 2;
123
- string encoding = 3;
124
- string path = 4;
125
- }
126
-
127
- message UploadXMLOut {
128
- string status = 1;
129
- string filepath = 2;
130
- }
131
-
132
- message UploadRasterRequest {
133
- string path = 1;
134
- bytes data = 2;
135
- bool chunked = 3;
136
- int64 filesize = 4;
137
- }
138
-
139
- message UploadRasterOut {
140
- string status = 1;
141
- int64 uploaded = 2;
142
- bool finished = 3;
143
- }
144
-
145
- message GetRasterStatusRequest {
146
- string path = 1;
147
- bool md5 = 2;
148
- }
149
-
150
- message GetStatusOut {
151
- bool exists = 1;
152
- string size = 2;
153
- bool finished = 3;
154
- }
155
-
156
- message GetStatRequest {
157
- string period = 1; // "5m", "1h", "1d"
158
- }
159
-
160
- message GetStatOut {
161
- google.protobuf.Struct result = 1; // dynamic json structure, not bound by same value type like with map
162
- }
163
-
164
- message GetRenderRequest {
165
- string name = 1;
166
- string path = 2;
167
- }
168
-
169
- message GetRenderOut {
170
- string result = 1; // serialized object or placeholder
171
- }
172
-
173
- message GetLogsRequest {
174
- string path = 1; // "info", "info/2026-01-01.log" etc.
175
- }
176
-
177
- message GetLogsOut {
178
- string data = 1;
179
- string links = 2;
180
- string err = 3;
181
- }
182
-
183
- message GetRasterInfoRequest {
184
- string path = 1;
185
- int64 srid = 3;
186
- string proj4 = 4;
187
- }
188
-
189
- message FileItem {
190
- string name = 1;
191
- string size = 2;
192
- }
193
-
194
- message GetRasterInfoData {
195
- string total_size = 1;
196
- string extension = 2;
197
- int64 srid = 3;
198
- string proj4 = 4;
199
- repeated float extent = 5;
200
- repeated FileItem files = 6;
201
- int64 width = 7;
202
- int64 height = 8;
203
- int64 bands_count = 9;
204
- string resolution = 10;
205
- repeated string bands = 11;
206
- int64 color_depth = 12;
207
- string compression = 13;
208
- bool xml = 14;
209
- }
210
-
211
- message GetRasterInfoOut {
212
- GetRasterInfoData data = 1;
213
- bool cache = 2;
214
- }
215
-
216
- // ----------------------------
217
- // Job Service Messages
218
- // ----------------------------
219
- message JobRequest {
220
- string job_id = 1;
221
- string xml_name = 2;
222
- string xml_path = 3;
223
- repeated string layers = 4;
224
- }
225
-
226
- message JobProgress {
227
- string message = 1;
228
- string error = 2;
229
- bool done = 3;
230
- }
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
+ }
37
+
38
+ message RenderTileOut {
39
+ string base64 = 1;
40
+ bool cache = 2;
41
+ string err = 3;
42
+ string xml_path = 4;
43
+ string tile_path = 5;
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
+ }
119
+
120
+ message UploadXMLRequest {
121
+ string name = 1;
122
+ string xml = 2;
123
+ string encoding = 3;
124
+ string path = 4;
125
+ }
126
+
127
+ message UploadXMLOut {
128
+ string status = 1;
129
+ string filepath = 2;
130
+ }
131
+
132
+ message UploadRasterRequest {
133
+ string path = 1;
134
+ bytes data = 2;
135
+ bool chunked = 3;
136
+ int64 filesize = 4;
137
+ }
138
+
139
+ message UploadRasterOut {
140
+ string status = 1;
141
+ int64 uploaded = 2;
142
+ bool finished = 3;
143
+ }
144
+
145
+ message GetRasterStatusRequest {
146
+ string path = 1;
147
+ bool md5 = 2;
148
+ }
149
+
150
+ message GetStatusOut {
151
+ bool exists = 1;
152
+ string size = 2;
153
+ bool finished = 3;
154
+ }
155
+
156
+ message GetStatRequest {
157
+ string period = 1; // "5m", "1h", "1d"
158
+ }
159
+
160
+ message GetStatOut {
161
+ google.protobuf.Struct result = 1; // dynamic json structure, not bound by same value type like with map
162
+ }
163
+
164
+ message GetRenderRequest {
165
+ string name = 1;
166
+ string path = 2;
167
+ }
168
+
169
+ message GetRenderOut {
170
+ string result = 1; // serialized object or placeholder
171
+ }
172
+
173
+ message GetLogsRequest {
174
+ string path = 1; // "info", "info/2026-01-01.log" etc.
175
+ }
176
+
177
+ message GetLogsOut {
178
+ string data = 1;
179
+ string links = 2;
180
+ string err = 3;
181
+ }
182
+
183
+ message GetRasterInfoRequest {
184
+ string path = 1;
185
+ int64 srid = 3;
186
+ string proj4 = 4;
187
+ }
188
+
189
+ message FileItem {
190
+ string name = 1;
191
+ string size = 2;
192
+ }
193
+
194
+ message GetRasterInfoData {
195
+ string total_size = 1;
196
+ string extension = 2;
197
+ int64 srid = 3;
198
+ string proj4 = 4;
199
+ repeated float extent = 5;
200
+ repeated FileItem files = 6;
201
+ int64 width = 7;
202
+ int64 height = 8;
203
+ int64 bands_count = 9;
204
+ string resolution = 10;
205
+ repeated string bands = 11;
206
+ int64 color_depth = 12;
207
+ string compression = 13;
208
+ bool xml = 14;
209
+ }
210
+
211
+ message GetRasterInfoOut {
212
+ GetRasterInfoData data = 1;
213
+ bool cache = 2;
214
+ }
215
+
216
+ // ----------------------------
217
+ // Job Service Messages
218
+ // ----------------------------
219
+ message JobRequest {
220
+ string job_id = 1;
221
+ string xml_name = 2;
222
+ string xml_path = 3;
223
+ repeated string layers = 4;
224
+ }
225
+
226
+ message JobProgress {
227
+ string message = 1;
228
+ string error = 2;
229
+ bool done = 3;
230
+ }
@@ -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;