@opengis/gis 0.2.22 → 0.2.25
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/dist/index.css +1 -1
- package/dist/index.js +4127 -4018
- package/dist/index.umd.cjs +43 -43
- package/module/gis/form/gis.maps.form.json +13 -15
- package/module/gis/form/gis.ogc_service.form.json +14 -9
- package/module/gis/form/gis.rasters.form.json +21 -17
- package/module/gis/form/gis.registers.form.json +28 -14
- package/module/gis/form/gis.services.form.json +9 -18
- package/module/gis/table/gis.cartocss.table.json +3 -3
- package/module/gis/table/gis.maps.table.json +59 -28
- package/module/gis/table/gis.ogc_service.table.json +25 -25
- package/module/gis/table/gis.rasters.table.json +22 -20
- package/module/gis/table/gis.registers.table.json +90 -27
- package/module/gis/table/gis.services.table.json +52 -33
- package/package.json +72 -68
- package/server/routes/gis/cartocss/add.cartocss.js +18 -0
- package/server/routes/gis/cartocss/get.cartocss.js +12 -0
- package/server/routes/gis/index.mjs +32 -20
- package/server/routes/map/index.mjs +2 -2
|
@@ -16,65 +16,128 @@
|
|
|
16
16
|
"order": "created_at desc",
|
|
17
17
|
"meta": {
|
|
18
18
|
"title": "name",
|
|
19
|
-
"search": "name,description"
|
|
19
|
+
"search": "name,description,holder,register_key,keywords_text"
|
|
20
20
|
},
|
|
21
|
+
"sql": [
|
|
22
|
+
{
|
|
23
|
+
"name": "group_id_sql",
|
|
24
|
+
"sql": "select group_id,geom_type,st_asgeojson(bbox) as bbox from gis.services where service_id=t.service_id limit 1"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"sql": "select array_to_string(keywords, ',','') as keywords_text",
|
|
28
|
+
"name": "keywords_text_sql"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
21
31
|
"title": "Реєстри",
|
|
22
32
|
"form": "gis.registers.form",
|
|
33
|
+
"sqlColumns": "*",
|
|
23
34
|
"columns": [
|
|
24
35
|
{
|
|
25
36
|
"ua": "Назва",
|
|
26
37
|
"meta": "title",
|
|
27
38
|
"name": "name",
|
|
28
39
|
"link": "/registry/{id}",
|
|
29
|
-
"format": "
|
|
40
|
+
"format": "slot",
|
|
41
|
+
"slot": "<a href='/registry/{id}'><p>{{data?.name}}</p><p class='text-xs text-gray-500'>{{data?.description}}</p></a>"
|
|
30
42
|
},
|
|
31
43
|
{
|
|
32
|
-
"ua": "
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"format": "
|
|
44
|
+
"ua": "Група сервісу",
|
|
45
|
+
"name": "group_id",
|
|
46
|
+
"data": "gis.group_list",
|
|
47
|
+
"format": "badge"
|
|
36
48
|
},
|
|
37
49
|
{
|
|
38
|
-
"ua": "
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
50
|
+
"ua": "Шар на мапі",
|
|
51
|
+
"data": "service_id",
|
|
52
|
+
"name": "service_id",
|
|
53
|
+
"format": "select",
|
|
54
|
+
"hidden": true
|
|
43
55
|
},
|
|
44
56
|
{
|
|
45
57
|
"ua": "Ключові слова",
|
|
46
58
|
"name": "keywords",
|
|
47
|
-
"format": "
|
|
48
|
-
"
|
|
49
|
-
"content": "<div v-for=\"(tag,index) in data?.keywords\" :key=\"index\"><span class=\"bg-gray-200 px-1 py-0.5 rounded-lg\">{{tag}}</span></div>"
|
|
50
|
-
}
|
|
59
|
+
"format": "text",
|
|
60
|
+
"hidden": true
|
|
51
61
|
},
|
|
52
62
|
{
|
|
53
63
|
"ua": "Держатель",
|
|
54
64
|
"name": "holder",
|
|
55
|
-
"format": "text"
|
|
65
|
+
"format": "text",
|
|
66
|
+
"hidden": true
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"ua": "Таблиця в базі даних",
|
|
70
|
+
"name": "table_name",
|
|
71
|
+
"format": "text",
|
|
72
|
+
"width": 350
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"ua": "Публічний",
|
|
76
|
+
"name": "is_public",
|
|
77
|
+
"data": "yes_no",
|
|
78
|
+
"edit": true,
|
|
79
|
+
"width": 100,
|
|
80
|
+
"format": "boolean"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"ua": "Активний",
|
|
84
|
+
"name": "is_active",
|
|
85
|
+
"data": "yes_no",
|
|
86
|
+
"edit": true,
|
|
87
|
+
"width": 100,
|
|
88
|
+
"format": "boolean"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"ua": "Можна завантажити",
|
|
92
|
+
"name": "is_downloadable",
|
|
93
|
+
"data": "yes_no",
|
|
94
|
+
"edit": true,
|
|
95
|
+
"width": 180,
|
|
96
|
+
"format": "boolean",
|
|
97
|
+
"hidden": true
|
|
56
98
|
}
|
|
57
99
|
],
|
|
58
100
|
"filterList": [
|
|
59
101
|
{
|
|
60
|
-
"ua": "
|
|
61
|
-
"name": "
|
|
102
|
+
"ua": "Ключові слова",
|
|
103
|
+
"name": "keywords_text",
|
|
62
104
|
"type": "Text"
|
|
63
105
|
},
|
|
64
106
|
{
|
|
65
|
-
"ua": "
|
|
66
|
-
"name": "
|
|
67
|
-
"
|
|
107
|
+
"ua": "Таблиця в базі даних",
|
|
108
|
+
"name": "table_name",
|
|
109
|
+
"data": "pg.table_name",
|
|
110
|
+
"type": "Autocomplete"
|
|
68
111
|
},
|
|
69
112
|
{
|
|
70
|
-
"ua": "
|
|
71
|
-
"
|
|
72
|
-
"
|
|
113
|
+
"ua": "Група сервісу",
|
|
114
|
+
"type": "Check",
|
|
115
|
+
"name": "group_id",
|
|
116
|
+
"data": "gis.group_list"
|
|
73
117
|
},
|
|
74
118
|
{
|
|
75
|
-
"ua": "
|
|
76
|
-
"
|
|
77
|
-
"
|
|
119
|
+
"ua": "Тип геометрії",
|
|
120
|
+
"type": "Check",
|
|
121
|
+
"name": "geom_type",
|
|
122
|
+
"data": "geom_type"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"ua": "Публічний",
|
|
126
|
+
"name": "is_public",
|
|
127
|
+
"data": "yes_no",
|
|
128
|
+
"type": "Check"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"ua": "Активний",
|
|
132
|
+
"name": "is_active",
|
|
133
|
+
"data": "yes_no",
|
|
134
|
+
"type": "Check"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"ua": "Можна завантажити",
|
|
138
|
+
"name": "is_downloadable",
|
|
139
|
+
"data": "yes_no",
|
|
140
|
+
"type": "Check"
|
|
78
141
|
}
|
|
79
142
|
]
|
|
80
143
|
}
|
|
@@ -13,11 +13,17 @@
|
|
|
13
13
|
"add"
|
|
14
14
|
],
|
|
15
15
|
"access": "user",
|
|
16
|
-
"order": "
|
|
16
|
+
"order": "created_at desc",
|
|
17
17
|
"meta": {
|
|
18
18
|
"title": "name",
|
|
19
|
-
"search": "name,description,source_path"
|
|
19
|
+
"search": "name,description,source_path,keywords_text,holder,service_key"
|
|
20
20
|
},
|
|
21
|
+
"sql": [
|
|
22
|
+
{
|
|
23
|
+
"sql": "select array_to_string(keywords, ',','') as keywords_text",
|
|
24
|
+
"name": "keywords_text_sql"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
21
27
|
"title": "Набори даних",
|
|
22
28
|
"form": "gis.services.form",
|
|
23
29
|
"sqlColumns": "*",
|
|
@@ -27,48 +33,31 @@
|
|
|
27
33
|
"meta": "title",
|
|
28
34
|
"name": "name",
|
|
29
35
|
"link": "/service/{id}",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"ua": "Опис",
|
|
35
|
-
"name": "description",
|
|
36
|
-
"edit":true,
|
|
37
|
-
"width": 300,
|
|
38
|
-
"format": "text"
|
|
39
|
-
|
|
36
|
+
"format": "slot",
|
|
37
|
+
"slot": "<a href='/service/{id}'><p>{{data?.name}}</p><p class='text-xs text-gray-500'>{{data?.description}}</p></a>"
|
|
40
38
|
},
|
|
41
39
|
{
|
|
42
40
|
"ua": "Група",
|
|
43
41
|
"name": "group_id",
|
|
44
|
-
"width": 220,
|
|
45
|
-
"edit":true,
|
|
46
42
|
"data": "gis.group_list",
|
|
47
43
|
"format": "badge"
|
|
48
44
|
},
|
|
49
45
|
{
|
|
50
46
|
"ua": "Ключові слова",
|
|
51
47
|
"name": "keywords",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"slot": {
|
|
55
|
-
"content": "<div v-for=\"(tag,index) in data?.keywords\" :key=\"index\"><span class=\"bg-gray-200 px-1 py-0.5 rounded-lg\">{{tag}}</span></div>"
|
|
56
|
-
}
|
|
48
|
+
"hidden": true,
|
|
49
|
+
"format": "text"
|
|
57
50
|
},
|
|
58
51
|
{
|
|
59
52
|
"ua": "Джерело",
|
|
60
|
-
"name": "
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"width": 270,
|
|
64
|
-
"slot": {
|
|
65
|
-
"content": "<div><span v-if=\"data?.source_type==='url'\"><a :href=\"data?.service_url\" class=\"text-blue-500\">{{data?.service_url}}</a></span><span v-else-if=\"data?.source_type==='database'\">{{data?.source_path}}</span></div>"
|
|
66
|
-
}
|
|
53
|
+
"name": "source_path",
|
|
54
|
+
"width": 350,
|
|
55
|
+
"format": "text"
|
|
67
56
|
},
|
|
68
57
|
{
|
|
69
58
|
"ua": "Публічний",
|
|
70
|
-
"name": "is_public",
|
|
71
|
-
"edit":true,
|
|
59
|
+
"name": "is_public",
|
|
60
|
+
"edit": true,
|
|
72
61
|
"width": 100,
|
|
73
62
|
"format": "boolean"
|
|
74
63
|
},
|
|
@@ -76,7 +65,7 @@
|
|
|
76
65
|
"ua": "Активний",
|
|
77
66
|
"name": "is_active",
|
|
78
67
|
"data": "yes_no",
|
|
79
|
-
"edit":true,
|
|
68
|
+
"edit": true,
|
|
80
69
|
"width": 100,
|
|
81
70
|
"format": "boolean"
|
|
82
71
|
},
|
|
@@ -84,16 +73,46 @@
|
|
|
84
73
|
"ua": "Можна завантажити",
|
|
85
74
|
"name": "is_downloadable",
|
|
86
75
|
"data": "yes_no",
|
|
87
|
-
"
|
|
76
|
+
"hidden": true,
|
|
77
|
+
"edit": true,
|
|
88
78
|
"width": 180,
|
|
89
79
|
"format": "boolean"
|
|
90
80
|
}
|
|
91
81
|
],
|
|
92
82
|
"filterList": [
|
|
93
83
|
{
|
|
94
|
-
"ua": "
|
|
95
|
-
"name": "
|
|
96
|
-
"
|
|
84
|
+
"ua": "Ключові слова",
|
|
85
|
+
"name": "keywords_text",
|
|
86
|
+
"type": "Text"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"ua": "Група",
|
|
90
|
+
"name": "group_id",
|
|
91
|
+
"data": "gis.group_list",
|
|
92
|
+
"type": "Check"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"ua": "Джерело",
|
|
96
|
+
"name": "source_path",
|
|
97
|
+
"data": "pg.table_name",
|
|
98
|
+
"type": "Autocomplete"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"ua": "Публічний",
|
|
102
|
+
"name": "is_public",
|
|
103
|
+
"data": "yes_no",
|
|
104
|
+
"type": "Check"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"ua": "Активний",
|
|
108
|
+
"name": "is_active",
|
|
109
|
+
"data": "yes_no",
|
|
110
|
+
"type": "Check"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"ua": "Можна завантажити",
|
|
114
|
+
"name": "is_downloadable",
|
|
115
|
+
"data": "yes_no",
|
|
97
116
|
"type": "Check"
|
|
98
117
|
}
|
|
99
118
|
]
|
package/package.json
CHANGED
|
@@ -1,69 +1,73 @@
|
|
|
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
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"dev": "bun --hot server",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
},
|
|
41
|
-
"
|
|
42
|
-
"@
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"@opengis/
|
|
53
|
-
"@
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"typescript": "^
|
|
64
|
-
"
|
|
65
|
-
"vue": "^
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@opengis/gis",
|
|
3
|
+
"version": "0.2.25",
|
|
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
|
+
"start:kamyanske": "bun --env-file=.env.kamyanske server",
|
|
22
|
+
"start:kr": "bun --env-file=.env.kr server",
|
|
23
|
+
"dev:kamyanske": "bun --env-file=.env.kamyanske --hot server",
|
|
24
|
+
"dev:kr": "bun --env-file=.env.kr --hot server",
|
|
25
|
+
"lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
|
|
26
|
+
"fix": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
|
|
27
|
+
"patch": "npm version patch && git push && npm publish",
|
|
28
|
+
"dev": "bun --hot server",
|
|
29
|
+
"front": "vite dev",
|
|
30
|
+
"build-lib": "vite build",
|
|
31
|
+
"build:admin": "vite build admin",
|
|
32
|
+
"build": "vite build",
|
|
33
|
+
"preview": "vite preview",
|
|
34
|
+
"prod": "NODE_ENV=production node server",
|
|
35
|
+
"docs:install": "npm install --prefix ./docs",
|
|
36
|
+
"docs:dev": "npm run --prefix ./docs docs:dev",
|
|
37
|
+
"docs:build": "npm run --prefix ./docs docs:build",
|
|
38
|
+
"docs:preview": "npm run --prefix ./docs docs:preview",
|
|
39
|
+
"prepublishOnly": "npm run build"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@mapbox/sphericalmercator": "1.2.0",
|
|
43
|
+
"carto": "0.16.3"
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"@opengis/fastify-table": "^2.0.32"
|
|
47
|
+
},
|
|
48
|
+
"resolutions": {
|
|
49
|
+
"rollup": "4.30.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@opengis/core": "^0.0.23",
|
|
53
|
+
"@opengis/fastify-table": "^2.0.117",
|
|
54
|
+
"@opengis/filter": "^0.1.27",
|
|
55
|
+
"@opengis/form": "^0.0.91",
|
|
56
|
+
"@opengis/table": "^0.0.27",
|
|
57
|
+
"@vitejs/plugin-vue": "^5.2.4",
|
|
58
|
+
"axios": "^1.13.2",
|
|
59
|
+
"eslint": "^8.57.1",
|
|
60
|
+
"eslint-config-airbnb": "19.0.4",
|
|
61
|
+
"eslint-plugin-import": "^2.32.0",
|
|
62
|
+
"eslint-plugin-vue": "^9.33.0",
|
|
63
|
+
"@vue/eslint-config-typescript": "^12.0.0",
|
|
64
|
+
"vue-eslint-parser": "^10.2.0",
|
|
65
|
+
"lucide-vue-next": "^0.514.0",
|
|
66
|
+
"sass-embedded": "1.86.3",
|
|
67
|
+
"typescript": "^5.9.3",
|
|
68
|
+
"vite": "^6.4.1",
|
|
69
|
+
"vue": "^3.5.26",
|
|
70
|
+
"vue-router": "4.5.1",
|
|
71
|
+
"vuedraggable": "^4.1.0"
|
|
72
|
+
}
|
|
69
73
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default async function addCartocss(req, reply) {
|
|
2
|
+
const { pg, body, params } = req;
|
|
3
|
+
|
|
4
|
+
const { id } = params;
|
|
5
|
+
if (!id) return reply.status(400).send({ message: 'id is empty', status: 400 });
|
|
6
|
+
|
|
7
|
+
const { config, style } = body;
|
|
8
|
+
if (!config && !style) return reply.status(400).send({ message: 'config, style is empty', status: 400 });
|
|
9
|
+
|
|
10
|
+
const selectCartocss = `select cartocss_id from gis.cartocss where cartocss_id='${id}'`;
|
|
11
|
+
const { cartocss } = await pg.one(selectCartocss);
|
|
12
|
+
if (!cartocss) return reply.status(404).send({ message: 'cartocss not found', status: 404 });
|
|
13
|
+
|
|
14
|
+
const updateCartocss = `update gis.cartocss set config='${config}', style='${style}' where cartocss_id='${id}'`;
|
|
15
|
+
await pg.query(updateCartocss);
|
|
16
|
+
|
|
17
|
+
return reply.status(200).send({ message: 'cartocss updated', status: 200 });
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default async function getCartocss(req, reply) {
|
|
2
|
+
const { pg, params } = req;
|
|
3
|
+
|
|
4
|
+
const { id } = params;
|
|
5
|
+
if (!id) return reply.status(400).send({ message: 'id is empty', status: 400 });
|
|
6
|
+
|
|
7
|
+
const selectCartocss = `select cartocss_key,name,description,config,style,group_id,is_public,enabled from gis.cartocss where cartocss_id='${id}'`;
|
|
8
|
+
const { cartocss } = await pg.one(selectCartocss);
|
|
9
|
+
if (!cartocss) return reply.status(404).send({ message: 'cartocss not found', status: 404 });
|
|
10
|
+
|
|
11
|
+
return reply.status(200).send({ message: cartocss, status: 200 });
|
|
12
|
+
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import insertColumns from './registers/insert.columns.js';
|
|
2
2
|
import insertFilters from './registers/insert.filters.js';
|
|
3
|
+
|
|
3
4
|
import metadataXML from './metadata/metadataXML.js';
|
|
5
|
+
|
|
4
6
|
import getLayerGeom from './services/get.layer.geom.js';
|
|
5
7
|
import gisRegistry from './registers/gis.registry.js';
|
|
6
8
|
import gisRegistryList from './registers/gis.registry.list.js';
|
|
7
9
|
import mapRegistry from './registers/map.registry.js';
|
|
8
10
|
import gisExport from './registers/gis.export.js';
|
|
11
|
+
|
|
9
12
|
import getServices from './services/get.services.js';
|
|
10
13
|
import deleteService from './services/del.service.js';
|
|
11
14
|
import addService from './services/add.service.js';
|
|
@@ -17,6 +20,9 @@ import legendAuto from './services/legend.auto.js';
|
|
|
17
20
|
import mapInfoPoint from './ogc/map.info.point.js';
|
|
18
21
|
import getDashboard from './dashboard.js';
|
|
19
22
|
|
|
23
|
+
import getCartocss from './cartocss/get.cartocss.js';
|
|
24
|
+
import addCartocss from './cartocss/add.cartocss.js';
|
|
25
|
+
|
|
20
26
|
const mapInfoPointSchema = {
|
|
21
27
|
querystring: {
|
|
22
28
|
type: 'object',
|
|
@@ -30,32 +36,38 @@ const mapInfoPointSchema = {
|
|
|
30
36
|
},
|
|
31
37
|
};
|
|
32
38
|
|
|
39
|
+
const params = { config: { package: 'gis' } };
|
|
40
|
+
const publicParams = { config: { policy: 'L0', package: 'gis' } };
|
|
41
|
+
|
|
33
42
|
async function route(app) {
|
|
34
|
-
app.put('/insert-columns/:token', insertColumns);
|
|
35
|
-
app.put('/insert-filters/:token', insertFilters);
|
|
36
|
-
app.get('/gis-registry/:slug',
|
|
37
|
-
app.get('/gis-registry/:slug/:objectId',
|
|
38
|
-
app.get('/gis-registry',
|
|
39
|
-
app.post('/gis-registry',
|
|
40
|
-
app.put('/gis-registry/:slug',
|
|
41
|
-
app.delete('/gis-registry/:slug',
|
|
42
|
-
app.get('/map-registry/:slug/:id',
|
|
43
|
+
app.put('/insert-columns/:token', params, insertColumns);
|
|
44
|
+
app.put('/insert-filters/:token', params, insertFilters);
|
|
45
|
+
app.get('/gis-registry/:slug', publicParams, gisRegistry);
|
|
46
|
+
app.get('/gis-registry/:slug/:objectId', publicParams, gisRegistry);
|
|
47
|
+
app.get('/gis-registry', publicParams, gisRegistryList);
|
|
48
|
+
app.post('/gis-registry', publicParams, addGisRegistry);
|
|
49
|
+
app.put('/gis-registry/:slug', publicParams, addGisRegistry);
|
|
50
|
+
app.delete('/gis-registry/:slug', publicParams, deleteGisRegistry);
|
|
51
|
+
app.get('/map-registry/:slug/:id', publicParams, mapRegistry);
|
|
52
|
+
|
|
53
|
+
app.get('/xml/:id', publicParams, metadataXML);
|
|
43
54
|
|
|
44
|
-
app.get('/
|
|
55
|
+
app.get('/get-layer-geom/:id', publicParams, getLayerGeom);
|
|
45
56
|
|
|
46
|
-
app.get('/
|
|
57
|
+
app.get('/gis-export/:type/:slug', publicParams, gisExport);
|
|
47
58
|
|
|
48
|
-
app.get('/gis-
|
|
59
|
+
app.get('/gis-service/:id?', publicParams, getServices);
|
|
60
|
+
app.get('/gis-service/:id/:col', publicParams, getServicesCol);
|
|
61
|
+
app.post('/gis-service/:id?', publicParams, addService);
|
|
62
|
+
app.put('/gis-service/:id', publicParams, addService);
|
|
63
|
+
app.delete('/gis-service/:id', publicParams, deleteService);
|
|
64
|
+
app.get('/legend-auto/:id', publicParams, legendAuto);
|
|
49
65
|
|
|
50
|
-
app.get('/
|
|
51
|
-
app.get('/gis-service/:id/:col', { config: { policy: ['public'] } }, getServicesCol);
|
|
52
|
-
app.post('/gis-service/:id?', { config: { policy: ['public'] } }, addService);
|
|
53
|
-
app.put('/gis-service/:id', { config: { policy: ['public'] } }, addService);
|
|
54
|
-
app.delete('/gis-service/:id', { config: { policy: ['public'] } }, deleteService);
|
|
55
|
-
app.get('/legend-auto/:id', { config: { policy: ['public'] } }, legendAuto);
|
|
66
|
+
app.get('/map-info-point', { ...publicParams, schema: mapInfoPointSchema }, mapInfoPoint);
|
|
56
67
|
|
|
57
|
-
app.get('/
|
|
68
|
+
app.get('/dashboard', publicParams, getDashboard);
|
|
58
69
|
|
|
59
|
-
app.get('/
|
|
70
|
+
app.get('/cartocss/:id', publicParams, getCartocss);
|
|
71
|
+
app.post('/cartocss/:id', publicParams, addCartocss);
|
|
60
72
|
}
|
|
61
73
|
export default route;
|
|
@@ -47,8 +47,8 @@ const schemaInfo = {
|
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
const publicParams = { config: { policy: 'L0' }, schema: schemaInfo }; // * L0 === public
|
|
51
|
-
const privilegedParams = { config: { policy: 'L1', role: 'admin' }, schema: schemaInfo }; // ? just auth or admin
|
|
50
|
+
const publicParams = { config: { policy: 'L0' }, schema: schemaInfo, package: 'gis' }; // * L0 === public
|
|
51
|
+
const privilegedParams = { config: { policy: 'L1', role: 'admin' }, schema: schemaInfo, package: 'gis' }; // ? just auth or admin
|
|
52
52
|
|
|
53
53
|
export default async function route(app) {
|
|
54
54
|
if (!app.hasRoute({ method: 'GET', url: '/gis-map/:id?' })) {
|