@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.
- package/README.md +5 -5
- package/dist/index.css +1 -1
- package/dist/index.js +1691 -1663
- package/dist/index.umd.cjs +20 -20
- package/module/cls.json +6 -6
- package/module/gis/card/gis.maps.table/index.yml +14 -14
- package/module/gis/card/gis.maps.table/main_info.hbs +25 -25
- package/module/gis/card/gis.maps.table/maps_layers.hbs +19 -19
- package/module/gis/card/gis.metadata.table/index.yml +22 -22
- package/module/gis/card/gis.metadata.table/main_info.hbs +20 -20
- package/module/gis/card/gis.metadata.table/metadata_info.hbs +27 -27
- package/module/gis/card/gis.metadata.table/other.hbs +25 -25
- package/module/gis/card/gis.rasters.table/index.yml +11 -11
- package/module/gis/card/gis.rasters.table/main_info.hbs +27 -27
- package/module/gis/card/gis.registers.table/cls.hbs +36 -36
- package/module/gis/card/gis.registers.table/columns.hbs +89 -89
- package/module/gis/card/gis.registers.table/filters.hbs +80 -80
- package/module/gis/card/gis.registers.table/index.yml +23 -23
- package/module/gis/card/gis.registers.table/main_info.hbs +35 -35
- package/module/gis/card/gis.registers.table/source.hbs +45 -45
- package/module/gis/card/gis.services.table/attributes.hbs +91 -91
- package/module/gis/card/gis.services.table/filters.hbs +83 -83
- package/module/gis/card/gis.services.table/index.yml +25 -25
- package/module/gis/card/gis.services.table/main_info.hbs +27 -27
- package/module/gis/card/gis.services.table/source.hbs +25 -25
- package/module/gis/cls/bool.yes_no.json +12 -12
- package/module/gis/cls/encoding.json +14 -14
- package/module/gis/cls/geom_type.json +14 -14
- package/module/gis/cls/gis.column_type.json +34 -34
- package/module/gis/cls/gis.column_view_type.json +26 -26
- package/module/gis/cls/gis.filter_type.json +22 -22
- package/module/gis/cls/language.json +10 -10
- package/module/gis/cls/meta.service_type.json +42 -42
- package/module/gis/cls/ogc.service.json +21 -21
- package/module/gis/cls/service_type.json +42 -42
- package/module/gis/cls/source_type.json +10 -10
- package/module/gis/cls/standarts.json +6 -6
- package/module/gis/cls/topic_category.json +106 -106
- package/module/gis/cls/update_frequency.json +29 -29
- package/module/gis/cls/view.json +21 -21
- package/module/gis/form/gis.cartocss.form.json +46 -0
- package/module/gis/form/gis.group_list.form.json +17 -17
- package/module/gis/form/gis.maps.form.json +64 -64
- package/module/gis/form/gis.metadata.form.json +240 -240
- package/module/gis/form/gis.ogc_service.form.json +40 -40
- package/module/gis/form/gis.rasters.form.json +99 -99
- package/module/gis/form/gis.registers.form.json +110 -110
- package/module/gis/form/gis.registers_column.form.json +84 -84
- package/module/gis/form/gis.registers_filter.form.json +65 -65
- package/module/gis/form/gis.services.form.json +120 -120
- package/module/gis/form/gis.services_attributes.form.json +75 -75
- package/module/gis/form/gis.services_filter.form.json +65 -65
- package/module/gis/menu.json +43 -43
- package/module/gis/select/pg.columns.parent.sql +6 -6
- package/module/gis/select/pg.table_name.sql +17 -17
- package/module/gis/select/service_id.sql +1 -1
- package/module/gis/table/gis.cartocss.table.json +61 -0
- package/module/gis/table/gis.group_list.table.json +35 -35
- package/module/gis/table/gis.maps.table.json +69 -69
- package/module/gis/table/gis.metadata.table.json +70 -70
- package/module/gis/table/gis.ogc_service.table.json +97 -97
- package/module/gis/table/gis.rasters.table.json +97 -97
- package/module/gis/table/gis.registers.table.json +79 -79
- package/module/gis/table/gis.services.table.json +99 -99
- package/module/gis/table/site.gis.registers.table.json +88 -88
- package/module/gis/table/site.gis.services.table.json +106 -106
- package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
- package/module/gis/tokens.yml +5 -5
- package/module/test/cls/bp_build_type.json +37 -37
- package/module/test/cls/doc_status.json +31 -31
- package/module/test/cls/ts.temp_status.json +18 -18
- package/module/test/cls/ts.temp_structure.ts_class.json +49 -49
- package/module/test/cls/ts.temp_type.json +9 -9
- package/module/test/layer/bp.json +59 -59
- package/module/test/layer/bp1.yml +33 -33
- package/module/test/layer/individual.yml +53 -53
- package/module/test/layer/ts.linking_passport.yml +55 -55
- package/module/test/layer/ts.temp_structure.yml +50 -50
- package/module/test/map/addr.yml +21 -21
- package/module/test/map/bp_myo.json +43 -43
- package/module/test/map/bpf.json +43 -43
- package/module/test/map/main.json +36 -36
- package/module/test/map/mbd.json +91 -91
- package/module/test/map/ts.json +52 -52
- package/module/test/select/address_id.json +2 -2
- package/module/test/select/address_id.sql +7 -7
- package/module/test/select/core.user_uid.sql +1 -1
- package/module/test/table/data_address.street.table.json +69 -69
- package/module/test/table/data_bp_myo.bp.table.json +122 -122
- package/package.json +69 -69
- package/plugin.js +44 -44
- package/server/migrations/maps.sql +30 -30
- package/server/migrations/ogc.sql +106 -106
- package/server/migrations/rasters.sql +263 -263
- package/server/migrations/services.sql +247 -247
- package/server/migrations/widgets.sql +20 -20
- package/server/plugins/crons.js +21 -21
- package/server/plugins/mapnik/funcs/createXML.js +72 -72
- package/server/plugins/mapnik/funcs/gdalWrapper.js +72 -72
- package/server/plugins/mapnik/funcs/map.proto +241 -241
- package/server/plugins/mapnik/funcs/mapnik.js +106 -106
- package/server/plugins/mapnik/funcs/rasterConfig.js +11 -11
- package/server/plugins/mapnik/funcs/rasterExists.js +20 -20
- package/server/plugins/mapnik/funcs/rasterInfo.js +109 -109
- package/server/plugins/mapnik/funcs/rasterVrt.js +55 -55
- package/server/plugins/mapnik/funcs/rasterXML.js +65 -65
- package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
- package/server/plugins/mapnik/utils/map.proto +241 -241
- package/server/plugins/vite.js +74 -74
- package/server/routes/gis/dashboard.js +29 -0
- package/server/routes/gis/index.mjs +61 -59
- package/server/routes/gis/metadata/metadataXML.js +13 -13
- package/server/routes/gis/ogc/map.info.point.js +124 -124
- package/server/routes/gis/registers/add.registry.js +35 -35
- package/server/routes/gis/registers/del.registry.js +14 -14
- package/server/routes/gis/registers/funcs/classifiers.js +100 -100
- package/server/routes/gis/registers/funcs/columns.js +4 -4
- package/server/routes/gis/registers/funcs/content.type.js +9 -9
- package/server/routes/gis/registers/funcs/get.info.js +89 -89
- package/server/routes/gis/registers/funcs/handleRegistryRequest.js +133 -122
- package/server/routes/gis/registers/gis.export.js +148 -148
- package/server/routes/gis/registers/gis.registry.js +70 -38
- package/server/routes/gis/registers/gis.registry.list.js +59 -59
- package/server/routes/gis/registers/insert.columns.js +107 -107
- package/server/routes/gis/registers/insert.filters.js +110 -110
- package/server/routes/gis/registers/map.registry.js +79 -79
- package/server/routes/gis/services/add.service.js +64 -64
- package/server/routes/gis/services/del.service.js +12 -12
- package/server/routes/gis/services/get.layer.geom.js +27 -27
- package/server/routes/gis/services/get.services.col.js +33 -33
- package/server/routes/gis/services/get.services.js +84 -84
- package/server/routes/gis/services/legend.auto.js +77 -77
- package/server/routes/map/controllers/geojson.js +187 -0
- package/server/routes/map/controllers/jsonData.js +205 -0
- package/server/routes/map/controllers/layerList.js +60 -60
- package/server/routes/map/controllers/map.js +123 -123
- package/server/routes/map/controllers/mapCatalog.js +72 -72
- package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
- package/server/routes/map/controllers/mapFeatures.js +128 -128
- package/server/routes/map/controllers/mapFormat.js +83 -83
- package/server/routes/map/controllers/mapTiles.js +152 -152
- package/server/routes/map/controllers/maps.js +15 -15
- package/server/routes/map/controllers/marker_icon.js +43 -43
- package/server/routes/map/controllers/rtile.js +134 -134
- package/server/routes/map/controllers/vtile.js +172 -172
- package/server/routes/map/index.mjs +142 -129
- package/server/routes/map/maps/add.map.js +41 -41
- package/server/routes/map/maps/del.map.js +18 -18
- package/server/routes/map/maps/get.map.js +86 -86
- package/server/routes/map/vtile1.js +170 -170
- package/server/routes/map/widgets/add.widget.js +38 -38
- package/server/routes/map/widgets/del.widget.js +22 -22
- package/server/routes/map/widgets/get.widget.js +40 -40
- package/server/routes/root.mjs +3 -3
- package/utils.js +11 -11
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
{
|
|
2
|
-
"key": "bp_id",
|
|
3
|
-
"table": "data_bp_myo.bp",
|
|
4
|
-
"actions": [
|
|
5
|
-
"add",
|
|
6
|
-
"edit",
|
|
7
|
-
"del"
|
|
8
|
-
],
|
|
9
|
-
"controls": [
|
|
10
|
-
"search",
|
|
11
|
-
"list",
|
|
12
|
-
"add"
|
|
13
|
-
],
|
|
14
|
-
"access": "user",
|
|
15
|
-
"order": "cdate desc",
|
|
16
|
-
"meta": {
|
|
17
|
-
"title": "bp_code",
|
|
18
|
-
"search": "bp_code,bp_number,bp_reg_num,bp_issued_name,bp_customer_name,bp_object_name"
|
|
19
|
-
},
|
|
20
|
-
"title": "Будівельні паспорти",
|
|
21
|
-
"form": "data_bp_myo.bp.form",
|
|
22
|
-
"columns": [
|
|
23
|
-
{
|
|
24
|
-
"ua": "Реєстраційний номер МБК",
|
|
25
|
-
"name": "bp_number",
|
|
26
|
-
"width": 100,
|
|
27
|
-
"format": "text"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"ua": "Реєстраційний номер в ЄДЕССБ",
|
|
31
|
-
"meta": "title",
|
|
32
|
-
"name": "bp_code",
|
|
33
|
-
"hidden": true,
|
|
34
|
-
"format": "text"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"ua": "Реєстраційний номер",
|
|
38
|
-
"name": "bp_reg_num",
|
|
39
|
-
"width": 100,
|
|
40
|
-
"format": "text"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"ua": "Назва об’єкта будівництва",
|
|
44
|
-
"name": "bp_object_name",
|
|
45
|
-
"width": 300,
|
|
46
|
-
"format": "text"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"ua": "Адреса",
|
|
50
|
-
"name": "address",
|
|
51
|
-
"width": 300,
|
|
52
|
-
"format": "text"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"ua": "Вид будівництва",
|
|
56
|
-
"name": "bp_build_type",
|
|
57
|
-
"data": "bp_build_type",
|
|
58
|
-
"width": 150,
|
|
59
|
-
"format": "badge"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"ua": "Дата видачі",
|
|
63
|
-
"name": "bp_issued_date",
|
|
64
|
-
"width": 100,
|
|
65
|
-
"format": "date"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"ua": "Статус реєстрації",
|
|
69
|
-
"name": "bp_doc_status",
|
|
70
|
-
"data": "doc_status",
|
|
71
|
-
"width": 150,
|
|
72
|
-
"hidden": true,
|
|
73
|
-
"format": "badge"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"ua": "Назва органу, що видав",
|
|
77
|
-
"name": "bp_issued_name",
|
|
78
|
-
"width": 300,
|
|
79
|
-
"hidden": true,
|
|
80
|
-
"format": "text"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"ua": "Замовник",
|
|
84
|
-
"name": "bp_customer_name",
|
|
85
|
-
"width": 300,
|
|
86
|
-
"format": "text"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"ua": "Кадастрові номери",
|
|
90
|
-
"name": "land_number",
|
|
91
|
-
"format": "slot",
|
|
92
|
-
"hidden": true,
|
|
93
|
-
"slot": {
|
|
94
|
-
"content": "<p v-for=\"item in data?.land_number\">{{item}}</p>"
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"ua": "Версія документу",
|
|
99
|
-
"name": "obj_version",
|
|
100
|
-
"format": "text",
|
|
101
|
-
"hidden": true
|
|
102
|
-
}
|
|
103
|
-
],
|
|
104
|
-
"filterList": [
|
|
105
|
-
{
|
|
106
|
-
"ua": "Вид будівництва",
|
|
107
|
-
"name": "bp_build_type",
|
|
108
|
-
"data": "bp_build_type",
|
|
109
|
-
"type": "Check"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"ua": "Дата видачі",
|
|
113
|
-
"name": "bp_issued_date",
|
|
114
|
-
"type": "Date"
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
"ua": "Статус документа",
|
|
118
|
-
"name": "bp_doc_status",
|
|
119
|
-
"data": "doc_status",
|
|
120
|
-
"type": "Check"
|
|
121
|
-
}
|
|
122
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"key": "bp_id",
|
|
3
|
+
"table": "data_bp_myo.bp",
|
|
4
|
+
"actions": [
|
|
5
|
+
"add",
|
|
6
|
+
"edit",
|
|
7
|
+
"del"
|
|
8
|
+
],
|
|
9
|
+
"controls": [
|
|
10
|
+
"search",
|
|
11
|
+
"list",
|
|
12
|
+
"add"
|
|
13
|
+
],
|
|
14
|
+
"access": "user",
|
|
15
|
+
"order": "cdate desc",
|
|
16
|
+
"meta": {
|
|
17
|
+
"title": "bp_code",
|
|
18
|
+
"search": "bp_code,bp_number,bp_reg_num,bp_issued_name,bp_customer_name,bp_object_name"
|
|
19
|
+
},
|
|
20
|
+
"title": "Будівельні паспорти",
|
|
21
|
+
"form": "data_bp_myo.bp.form",
|
|
22
|
+
"columns": [
|
|
23
|
+
{
|
|
24
|
+
"ua": "Реєстраційний номер МБК",
|
|
25
|
+
"name": "bp_number",
|
|
26
|
+
"width": 100,
|
|
27
|
+
"format": "text"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"ua": "Реєстраційний номер в ЄДЕССБ",
|
|
31
|
+
"meta": "title",
|
|
32
|
+
"name": "bp_code",
|
|
33
|
+
"hidden": true,
|
|
34
|
+
"format": "text"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"ua": "Реєстраційний номер",
|
|
38
|
+
"name": "bp_reg_num",
|
|
39
|
+
"width": 100,
|
|
40
|
+
"format": "text"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"ua": "Назва об’єкта будівництва",
|
|
44
|
+
"name": "bp_object_name",
|
|
45
|
+
"width": 300,
|
|
46
|
+
"format": "text"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"ua": "Адреса",
|
|
50
|
+
"name": "address",
|
|
51
|
+
"width": 300,
|
|
52
|
+
"format": "text"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"ua": "Вид будівництва",
|
|
56
|
+
"name": "bp_build_type",
|
|
57
|
+
"data": "bp_build_type",
|
|
58
|
+
"width": 150,
|
|
59
|
+
"format": "badge"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"ua": "Дата видачі",
|
|
63
|
+
"name": "bp_issued_date",
|
|
64
|
+
"width": 100,
|
|
65
|
+
"format": "date"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"ua": "Статус реєстрації",
|
|
69
|
+
"name": "bp_doc_status",
|
|
70
|
+
"data": "doc_status",
|
|
71
|
+
"width": 150,
|
|
72
|
+
"hidden": true,
|
|
73
|
+
"format": "badge"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"ua": "Назва органу, що видав",
|
|
77
|
+
"name": "bp_issued_name",
|
|
78
|
+
"width": 300,
|
|
79
|
+
"hidden": true,
|
|
80
|
+
"format": "text"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"ua": "Замовник",
|
|
84
|
+
"name": "bp_customer_name",
|
|
85
|
+
"width": 300,
|
|
86
|
+
"format": "text"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"ua": "Кадастрові номери",
|
|
90
|
+
"name": "land_number",
|
|
91
|
+
"format": "slot",
|
|
92
|
+
"hidden": true,
|
|
93
|
+
"slot": {
|
|
94
|
+
"content": "<p v-for=\"item in data?.land_number\">{{item}}</p>"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"ua": "Версія документу",
|
|
99
|
+
"name": "obj_version",
|
|
100
|
+
"format": "text",
|
|
101
|
+
"hidden": true
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"filterList": [
|
|
105
|
+
{
|
|
106
|
+
"ua": "Вид будівництва",
|
|
107
|
+
"name": "bp_build_type",
|
|
108
|
+
"data": "bp_build_type",
|
|
109
|
+
"type": "Check"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"ua": "Дата видачі",
|
|
113
|
+
"name": "bp_issued_date",
|
|
114
|
+
"type": "Date"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"ua": "Статус документа",
|
|
118
|
+
"name": "bp_doc_status",
|
|
119
|
+
"data": "doc_status",
|
|
120
|
+
"type": "Check"
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
123
|
}
|
package/package.json
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@opengis/gis",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"author": "Softpro",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"files": [
|
|
8
|
-
"dist/*",
|
|
9
|
-
"module/*",
|
|
10
|
-
"server/*",
|
|
11
|
-
"plugin.js",
|
|
12
|
-
"utils.js",
|
|
13
|
-
"config.js",
|
|
14
|
-
"README.md",
|
|
15
|
-
"LICENSE"
|
|
16
|
-
],
|
|
17
|
-
"scripts": {
|
|
18
|
-
"dump": "bun ./node_modules/@opengis/fastify-table/dist/script/dump.js",
|
|
19
|
-
"migrate": "MIGRATE=true bun ./node_modules/@opengis/fastify-table/dist/script/migrate.js",
|
|
20
|
-
"start1": "bun server",
|
|
21
|
-
"lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
|
|
22
|
-
"fix": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
|
|
23
|
-
"patch": "npm version patch && git push && npm publish",
|
|
24
|
-
"dev": "bun --hot server",
|
|
25
|
-
"front": "vite dev",
|
|
26
|
-
"build-lib": "vite build",
|
|
27
|
-
"build:admin": "vite build admin",
|
|
28
|
-
"build": "vite build",
|
|
29
|
-
"preview": "vite preview",
|
|
30
|
-
"prod": "NODE_ENV=production node server",
|
|
31
|
-
"docs:install": "npm install --prefix ./docs",
|
|
32
|
-
"docs:dev": "npm run --prefix ./docs docs:dev",
|
|
33
|
-
"docs:build": "npm run --prefix ./docs docs:build",
|
|
34
|
-
"docs:preview": "npm run --prefix ./docs docs:preview",
|
|
35
|
-
"prepublishOnly": "npm run build"
|
|
36
|
-
},
|
|
37
|
-
"dependencies": {
|
|
38
|
-
"@mapbox/sphericalmercator": "1.2.0",
|
|
39
|
-
"carto": "0.16.3"
|
|
40
|
-
},
|
|
41
|
-
"peerDependencies": {
|
|
42
|
-
"@opengis/fastify-table": "^2.0.32"
|
|
43
|
-
},
|
|
44
|
-
"resolutions": {
|
|
45
|
-
"rollup": "4.30.0"
|
|
46
|
-
},
|
|
47
|
-
"devDependencies": {
|
|
48
|
-
"@opengis/core": "^0.0.23",
|
|
49
|
-
"@opengis/fastify-table": "^2.0.114",
|
|
50
|
-
"@opengis/filter": "^0.1.25",
|
|
51
|
-
"@opengis/form": "^0.0.
|
|
52
|
-
"@opengis/table": "^0.0.27",
|
|
53
|
-
"@vitejs/plugin-vue": "^5.2.3",
|
|
54
|
-
"axios": "^1.11.0",
|
|
55
|
-
"eslint": "^8.57.1",
|
|
56
|
-
"eslint-config-airbnb": "19.0.4",
|
|
57
|
-
"eslint-plugin-import": "^2.25.3",
|
|
58
|
-
"eslint-plugin-vue": "^9.17.0",
|
|
59
|
-
"@vue/eslint-config-typescript": "^12.0.0",
|
|
60
|
-
"vue-eslint-parser": "^10.2.0",
|
|
61
|
-
"lucide-vue-next": "^0.514.0",
|
|
62
|
-
"sass-embedded": "1.86.3",
|
|
63
|
-
"typescript": "^5.9.2",
|
|
64
|
-
"vite": "^6.3.5",
|
|
65
|
-
"vue": "^3.5.13",
|
|
66
|
-
"vue-router": "4.5.1",
|
|
67
|
-
"vuedraggable": "^4.1.0"
|
|
68
|
-
}
|
|
69
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@opengis/gis",
|
|
3
|
+
"version": "0.2.22",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"author": "Softpro",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/*",
|
|
9
|
+
"module/*",
|
|
10
|
+
"server/*",
|
|
11
|
+
"plugin.js",
|
|
12
|
+
"utils.js",
|
|
13
|
+
"config.js",
|
|
14
|
+
"README.md",
|
|
15
|
+
"LICENSE"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"dump": "bun ./node_modules/@opengis/fastify-table/dist/script/dump.js",
|
|
19
|
+
"migrate": "MIGRATE=true bun ./node_modules/@opengis/fastify-table/dist/script/migrate.js",
|
|
20
|
+
"start1": "bun server",
|
|
21
|
+
"lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
|
|
22
|
+
"fix": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
|
|
23
|
+
"patch": "npm version patch && git push && npm publish",
|
|
24
|
+
"dev": "bun --hot server",
|
|
25
|
+
"front": "vite dev",
|
|
26
|
+
"build-lib": "vite build",
|
|
27
|
+
"build:admin": "vite build admin",
|
|
28
|
+
"build": "vite build",
|
|
29
|
+
"preview": "vite preview",
|
|
30
|
+
"prod": "NODE_ENV=production node server",
|
|
31
|
+
"docs:install": "npm install --prefix ./docs",
|
|
32
|
+
"docs:dev": "npm run --prefix ./docs docs:dev",
|
|
33
|
+
"docs:build": "npm run --prefix ./docs docs:build",
|
|
34
|
+
"docs:preview": "npm run --prefix ./docs docs:preview",
|
|
35
|
+
"prepublishOnly": "npm run build"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@mapbox/sphericalmercator": "1.2.0",
|
|
39
|
+
"carto": "0.16.3"
|
|
40
|
+
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"@opengis/fastify-table": "^2.0.32"
|
|
43
|
+
},
|
|
44
|
+
"resolutions": {
|
|
45
|
+
"rollup": "4.30.0"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@opengis/core": "^0.0.23",
|
|
49
|
+
"@opengis/fastify-table": "^2.0.114",
|
|
50
|
+
"@opengis/filter": "^0.1.25",
|
|
51
|
+
"@opengis/form": "^0.0.91",
|
|
52
|
+
"@opengis/table": "^0.0.27",
|
|
53
|
+
"@vitejs/plugin-vue": "^5.2.3",
|
|
54
|
+
"axios": "^1.11.0",
|
|
55
|
+
"eslint": "^8.57.1",
|
|
56
|
+
"eslint-config-airbnb": "19.0.4",
|
|
57
|
+
"eslint-plugin-import": "^2.25.3",
|
|
58
|
+
"eslint-plugin-vue": "^9.17.0",
|
|
59
|
+
"@vue/eslint-config-typescript": "^12.0.0",
|
|
60
|
+
"vue-eslint-parser": "^10.2.0",
|
|
61
|
+
"lucide-vue-next": "^0.514.0",
|
|
62
|
+
"sass-embedded": "1.86.3",
|
|
63
|
+
"typescript": "^5.9.2",
|
|
64
|
+
"vite": "^6.3.5",
|
|
65
|
+
"vue": "^3.5.13",
|
|
66
|
+
"vue-router": "4.5.1",
|
|
67
|
+
"vuedraggable": "^4.1.0"
|
|
68
|
+
}
|
|
69
|
+
}
|
package/plugin.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import fp from 'fastify-plugin';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
config, addHook, getMeta, pgClients, execMigrations,
|
|
5
|
-
} from '@opengis/fastify-table/utils.js';
|
|
6
|
-
|
|
7
|
-
config.prefix = config.prefix || '/api';
|
|
8
|
-
|
|
9
|
-
import { join, dirname } from 'path';
|
|
10
|
-
import { fileURLToPath } from 'url';
|
|
11
|
-
|
|
12
|
-
const dir = dirname(fileURLToPath(import.meta.url));
|
|
13
|
-
|
|
14
|
-
execMigrations(join(dir, 'server/migrations'), pgClients.client).catch(err => console.error(err.toString()));
|
|
15
|
-
|
|
16
|
-
const columnType = {
|
|
17
|
-
text: 'text',
|
|
18
|
-
date: 'date',
|
|
19
|
-
bool: 'yes/no',
|
|
20
|
-
numeric: 'number',
|
|
21
|
-
integer: 'number',
|
|
22
|
-
'timestamp without time zone': 'date',
|
|
23
|
-
'timestamp with time zone': 'date',
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
async function plugin(app, opts = config) {
|
|
27
|
-
// API
|
|
28
|
-
app.register(import('./server/routes/map/index.mjs'), opts);
|
|
29
|
-
app.register(import('./server/plugins/crons.js'), opts);
|
|
30
|
-
app.register(import('./server/routes/gis/index.mjs'), opts);
|
|
31
|
-
|
|
32
|
-
addHook('afterData', async ({
|
|
33
|
-
pg = pgClients.client, payload, id, template,
|
|
34
|
-
}) => {
|
|
35
|
-
if (!template) return null;
|
|
36
|
-
const table = { 'gis.services.table': payload?.rows?.[0]?.source_path, 'gis.registers.table': payload?.rows?.[0]?.table_name }[template];
|
|
37
|
-
if (!table || !payload.columns?.length || !id || !pgClients?.client?.pk?.[table]) return null;
|
|
38
|
-
|
|
39
|
-
const { columns = [] } = await getMeta({ table, pg });
|
|
40
|
-
// payload.rows[0].token = payload.tokens?.edit; // token with ignore filtering of payload keys check
|
|
41
|
-
Object.assign(payload, { fields: columns?.map?.(({ name, title, dataTypeID }) => ({ name, title: title || name, type: columnType[pg?.pgType?.[dataTypeID] || 'text'] })).filter(el => el.type) });
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
export default fp(plugin);
|
|
1
|
+
import fp from 'fastify-plugin';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
config, addHook, getMeta, pgClients, execMigrations,
|
|
5
|
+
} from '@opengis/fastify-table/utils.js';
|
|
6
|
+
|
|
7
|
+
config.prefix = config.prefix || '/api';
|
|
8
|
+
|
|
9
|
+
import { join, dirname } from 'path';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
|
|
12
|
+
const dir = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
|
|
14
|
+
execMigrations(join(dir, 'server/migrations'), pgClients.client).catch(err => console.error(err.toString()));
|
|
15
|
+
|
|
16
|
+
const columnType = {
|
|
17
|
+
text: 'text',
|
|
18
|
+
date: 'date',
|
|
19
|
+
bool: 'yes/no',
|
|
20
|
+
numeric: 'number',
|
|
21
|
+
integer: 'number',
|
|
22
|
+
'timestamp without time zone': 'date',
|
|
23
|
+
'timestamp with time zone': 'date',
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
async function plugin(app, opts = config) {
|
|
27
|
+
// API
|
|
28
|
+
app.register(import('./server/routes/map/index.mjs'), opts);
|
|
29
|
+
app.register(import('./server/plugins/crons.js'), opts);
|
|
30
|
+
app.register(import('./server/routes/gis/index.mjs'), opts);
|
|
31
|
+
|
|
32
|
+
addHook('afterData', async ({
|
|
33
|
+
pg = pgClients.client, payload, id, template,
|
|
34
|
+
}) => {
|
|
35
|
+
if (!template) return null;
|
|
36
|
+
const table = { 'gis.services.table': payload?.rows?.[0]?.source_path, 'gis.registers.table': payload?.rows?.[0]?.table_name }[template];
|
|
37
|
+
if (!table || !payload.columns?.length || !id || !pgClients?.client?.pk?.[table]) return null;
|
|
38
|
+
|
|
39
|
+
const { columns = [] } = await getMeta({ table, pg });
|
|
40
|
+
// payload.rows[0].token = payload.tokens?.edit; // token with ignore filtering of payload keys check
|
|
41
|
+
Object.assign(payload, { fields: columns?.map?.(({ name, title, dataTypeID }) => ({ name, title: title || name, type: columnType[pg?.pgType?.[dataTypeID] || 'text'] })).filter(el => el.type) });
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export default fp(plugin);
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
create schema if not exists gis;
|
|
2
|
-
|
|
3
|
-
CREATE TABLE if not exists gis.maps
|
|
4
|
-
(
|
|
5
|
-
map_id text DEFAULT next_id(), -- -
|
|
6
|
-
name text , -- Назва
|
|
7
|
-
center numeric[] , -- Геометрія центру
|
|
8
|
-
zoom integer DEFAULT 10, -- Зум
|
|
9
|
-
widgets json,
|
|
10
|
-
layers text[],
|
|
11
|
-
map_key text , -- Унікальний ключ
|
|
12
|
-
description text , -- Опис
|
|
13
|
-
image text , -- Фото
|
|
14
|
-
holder text , -- Власник/Утримувач/Відповідальний
|
|
15
|
-
keywords text[] , -- Ключові слова
|
|
16
|
-
is_public boolean DEFAULT true, -- Чи публічна карта
|
|
17
|
-
srid integer DEFAULT 4326, -- Система координат
|
|
18
|
-
config jsonb , -- Опціональна конфігурація
|
|
19
|
-
created_by text , -- -
|
|
20
|
-
updated_by text , -- -
|
|
21
|
-
updated_at timestamp without time zone , -- -
|
|
22
|
-
created_at timestamp without time zone DEFAULT now(),
|
|
23
|
-
CONSTRAINT maps_pkey PRIMARY KEY (map_id)
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
-- update gis.maps set center1=case when center is not null then array[st_x(center),st_y(center)] else null end
|
|
27
|
-
alter table gis.maps add column if not exists center numeric[];
|
|
28
|
-
alter table gis.maps add column if not exists zoom int;
|
|
29
|
-
alter table gis.maps add column if not exists widgets json;
|
|
30
|
-
alter table gis.maps add column if not exists layers text[];
|
|
1
|
+
create schema if not exists gis;
|
|
2
|
+
|
|
3
|
+
CREATE TABLE if not exists gis.maps
|
|
4
|
+
(
|
|
5
|
+
map_id text DEFAULT next_id(), -- -
|
|
6
|
+
name text , -- Назва
|
|
7
|
+
center numeric[] , -- Геометрія центру
|
|
8
|
+
zoom integer DEFAULT 10, -- Зум
|
|
9
|
+
widgets json,
|
|
10
|
+
layers text[],
|
|
11
|
+
map_key text , -- Унікальний ключ
|
|
12
|
+
description text , -- Опис
|
|
13
|
+
image text , -- Фото
|
|
14
|
+
holder text , -- Власник/Утримувач/Відповідальний
|
|
15
|
+
keywords text[] , -- Ключові слова
|
|
16
|
+
is_public boolean DEFAULT true, -- Чи публічна карта
|
|
17
|
+
srid integer DEFAULT 4326, -- Система координат
|
|
18
|
+
config jsonb , -- Опціональна конфігурація
|
|
19
|
+
created_by text , -- -
|
|
20
|
+
updated_by text , -- -
|
|
21
|
+
updated_at timestamp without time zone , -- -
|
|
22
|
+
created_at timestamp without time zone DEFAULT now(),
|
|
23
|
+
CONSTRAINT maps_pkey PRIMARY KEY (map_id)
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
-- update gis.maps set center1=case when center is not null then array[st_x(center),st_y(center)] else null end
|
|
27
|
+
alter table gis.maps add column if not exists center numeric[];
|
|
28
|
+
alter table gis.maps add column if not exists zoom int;
|
|
29
|
+
alter table gis.maps add column if not exists widgets json;
|
|
30
|
+
alter table gis.maps add column if not exists layers text[];
|