@opengis/gis 0.2.87 → 0.2.89
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 +6784 -6334
- package/dist/index.umd.cjs +67 -65
- package/module/gis/table/gis.cartocss.table.json +7 -1
- package/module/gis/table/gis.maps.table.json +5 -1
- package/module/gis/table/gis.ogc_service.table.json +5 -2
- package/module/gis/table/gis.rasters.table.json +6 -5
- package/package.json +3 -3
- package/plugin.js +5 -2
- package/server/plugins/vite.js +6 -5
- package/server/routes/mapnik/controllers/mapnikLogger.js +3 -3
- package/server/routes/mapnik/controllers/rasterInfo.js +6 -1
- package/server/routes/mapnik/index.js +2 -3
|
@@ -13,15 +13,19 @@
|
|
|
13
13
|
"ua": "Назва",
|
|
14
14
|
"name": "name",
|
|
15
15
|
"format": "text",
|
|
16
|
+
"slot": "<div><p>{{data?.name}}</p></div><p class='text-xs text-gray-500'>{{data?.source_path}}</p>",
|
|
16
17
|
"link": "/gis.cartocss/{id}"
|
|
17
18
|
},
|
|
18
19
|
{
|
|
19
20
|
"ua": "Шлях",
|
|
20
21
|
"name": "source_path",
|
|
22
|
+
"width": 100,
|
|
23
|
+
"hidden": true,
|
|
21
24
|
"format": "text"
|
|
22
25
|
},
|
|
23
26
|
{
|
|
24
27
|
"ua": "Опис",
|
|
28
|
+
"hidden": true,
|
|
25
29
|
"name": "description",
|
|
26
30
|
"format": "text"
|
|
27
31
|
},
|
|
@@ -35,6 +39,7 @@
|
|
|
35
39
|
"ua": "Включений",
|
|
36
40
|
"name": "enabled",
|
|
37
41
|
"data": "yes_no",
|
|
42
|
+
"width": 100,
|
|
38
43
|
"format": "boolean",
|
|
39
44
|
"edit": true
|
|
40
45
|
},
|
|
@@ -42,6 +47,7 @@
|
|
|
42
47
|
"ua": "Публічний",
|
|
43
48
|
"name": "is_public",
|
|
44
49
|
"data": "yes_no",
|
|
50
|
+
"width": 100,
|
|
45
51
|
"format": "boolean",
|
|
46
52
|
"edit": true
|
|
47
53
|
}
|
|
@@ -66,4 +72,4 @@
|
|
|
66
72
|
"type": "Check"
|
|
67
73
|
}
|
|
68
74
|
]
|
|
69
|
-
}
|
|
75
|
+
}
|
|
@@ -37,12 +37,14 @@
|
|
|
37
37
|
"meta": "title",
|
|
38
38
|
"name": "name",
|
|
39
39
|
"format": "slot",
|
|
40
|
+
"max-w": 500,
|
|
40
41
|
"link": "/gis.maps/{id}",
|
|
41
42
|
"slot": "<div><p>{{data?.name}}</p></div><p class='text-xs text-gray-500'>{{data?.description}}</p>"
|
|
42
43
|
},
|
|
43
44
|
{
|
|
44
45
|
"ua": "Ключові слова",
|
|
45
46
|
"name": "keywords",
|
|
47
|
+
"hidden": true,
|
|
46
48
|
"format": "text"
|
|
47
49
|
},
|
|
48
50
|
{
|
|
@@ -54,6 +56,7 @@
|
|
|
54
56
|
{
|
|
55
57
|
"ua": "Набори даних",
|
|
56
58
|
"name": "services",
|
|
59
|
+
"hidden": true,
|
|
57
60
|
"format": "text"
|
|
58
61
|
},
|
|
59
62
|
{
|
|
@@ -82,6 +85,7 @@
|
|
|
82
85
|
"ua": "Карта",
|
|
83
86
|
"name": "map",
|
|
84
87
|
"format": "slot",
|
|
88
|
+
"width": 50,
|
|
85
89
|
"link": "/maps/{}id}",
|
|
86
90
|
"slot": "<div class='flex items-center gap-3'><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='w-5 h-5 text-blue-600' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'></path><path d='M15 5.764v15'></path><path d='M9 3.236v15'></path></svg></div>"
|
|
87
91
|
}
|
|
@@ -105,4 +109,4 @@
|
|
|
105
109
|
"type": "Check"
|
|
106
110
|
}
|
|
107
111
|
]
|
|
108
|
-
}
|
|
112
|
+
}
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"ua": "Тип сервісу",
|
|
38
38
|
"name": "service",
|
|
39
39
|
"data": "ogc.service",
|
|
40
|
+
"hidden": true,
|
|
40
41
|
"format": "select"
|
|
41
42
|
},
|
|
42
43
|
{
|
|
@@ -48,7 +49,7 @@
|
|
|
48
49
|
{
|
|
49
50
|
"ua": "Шлях",
|
|
50
51
|
"name": "url",
|
|
51
|
-
"width":
|
|
52
|
+
"width": 200,
|
|
52
53
|
"edit": true,
|
|
53
54
|
"hidden": true,
|
|
54
55
|
"format": "text"
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
"ua": "Активний",
|
|
58
59
|
"name": "enabled",
|
|
59
60
|
"data": "yes_no",
|
|
61
|
+
"width": 100,
|
|
60
62
|
"edit": true,
|
|
61
63
|
"format": "boolean"
|
|
62
64
|
},
|
|
@@ -65,6 +67,7 @@
|
|
|
65
67
|
"name": "ispublic",
|
|
66
68
|
"data": "yes_no",
|
|
67
69
|
"edit": true,
|
|
70
|
+
"width": 100,
|
|
68
71
|
"format": "boolean"
|
|
69
72
|
}
|
|
70
73
|
],
|
|
@@ -95,4 +98,4 @@
|
|
|
95
98
|
"type": "Check"
|
|
96
99
|
}
|
|
97
100
|
]
|
|
98
|
-
}
|
|
101
|
+
}
|
|
@@ -23,13 +23,14 @@
|
|
|
23
23
|
"link": "/gis.rasters/{id}"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"ua": "
|
|
27
|
-
"name": "
|
|
26
|
+
"ua": "Шлях до растру",
|
|
27
|
+
"name": "source_path",
|
|
28
28
|
"format": "text"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
"ua": "
|
|
32
|
-
"name": "
|
|
31
|
+
"ua": "Система координат",
|
|
32
|
+
"name": "srid",
|
|
33
|
+
"width": 100,
|
|
33
34
|
"format": "text"
|
|
34
35
|
},
|
|
35
36
|
{
|
|
@@ -98,4 +99,4 @@
|
|
|
98
99
|
"type": "Check"
|
|
99
100
|
}
|
|
100
101
|
]
|
|
101
|
-
}
|
|
102
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengis/gis",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.89",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "Softpro",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"poltava": "bun --env-file=.env.poltava --hot server",
|
|
25
25
|
"dev:kyiv-demo": "bun --env-file=.env.kyiv-demo --hot server",
|
|
26
26
|
"dev:kamyanske": "bun --env-file=.env.kamyanske --hot server",
|
|
27
|
-
"
|
|
27
|
+
"kr": "bun --env-file=.env.kr --hot server",
|
|
28
28
|
"lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
|
|
29
29
|
"fix": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
|
|
30
30
|
"patch": "npm version patch && git push && npm publish",
|
|
@@ -73,4 +73,4 @@
|
|
|
73
73
|
"vue-router": "4.5.1",
|
|
74
74
|
"vuedraggable": "^4.1.0"
|
|
75
75
|
}
|
|
76
|
-
}
|
|
76
|
+
}
|
package/plugin.js
CHANGED
|
@@ -5,9 +5,10 @@ import {
|
|
|
5
5
|
} from '@opengis/fastify-table/utils.js';
|
|
6
6
|
|
|
7
7
|
config.prefix = config.prefix || '/api';
|
|
8
|
-
|
|
9
8
|
import { join, dirname } from 'path';
|
|
10
9
|
import { fileURLToPath } from 'url';
|
|
10
|
+
import mapnikLogger from './server/routes/mapnik/controllers/mapnikLogger.js';
|
|
11
|
+
import mapnikStat from './server/routes/mapnik/controllers/mapnikStat.js';
|
|
11
12
|
|
|
12
13
|
const dir = dirname(fileURLToPath(import.meta.url));
|
|
13
14
|
|
|
@@ -22,13 +23,15 @@ const columnType = {
|
|
|
22
23
|
'timestamp without time zone': 'date',
|
|
23
24
|
'timestamp with time zone': 'date',
|
|
24
25
|
};
|
|
25
|
-
|
|
26
|
+
const adminParams = { config: { policy: 'L1', role: 'admin' }, package: 'gis' };
|
|
26
27
|
async function plugin(app, opts = config) {
|
|
27
28
|
// API
|
|
28
29
|
app.register(import('./server/routes/map/index.mjs'), opts);
|
|
29
30
|
app.register(import('./server/plugins/crons.js'), opts);
|
|
30
31
|
app.register(import('./server/routes/gis/index.mjs'), opts);
|
|
31
32
|
app.register(import('./server/routes/mapnik/index.js'), opts);
|
|
33
|
+
app.get('/logger-gis/stat', adminParams, mapnikStat);
|
|
34
|
+
app.get('/logger-gis/*', adminParams, mapnikLogger);
|
|
32
35
|
|
|
33
36
|
addHook('afterData', async ({
|
|
34
37
|
pg = pgClients.client, payload, id, template,
|
package/server/plugins/vite.js
CHANGED
|
@@ -2,9 +2,9 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { createServer } from 'vite';
|
|
4
4
|
|
|
5
|
-
import { config } from '@opengis/fastify-table/utils.js';
|
|
5
|
+
// import { config } from '@opengis/fastify-table/utils.js';
|
|
6
6
|
|
|
7
|
-
const isProduction = process.env.NODE_ENV === 'production'
|
|
7
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
8
8
|
|
|
9
9
|
console.log({ isProduction });
|
|
10
10
|
|
|
@@ -61,9 +61,10 @@ async function plugin(fastify, opts) {
|
|
|
61
61
|
|
|
62
62
|
fastify.get('*', async (req, reply) => {
|
|
63
63
|
const { user } = req.session?.passport || {};
|
|
64
|
-
|
|
65
|
-
if (!user && req.url !== '/login') {
|
|
66
|
-
|
|
64
|
+
|
|
65
|
+
if (!user && req.url.split('?')[0] !== '/login') {
|
|
66
|
+
console.log(req.url);
|
|
67
|
+
return reply.redirect(`/login?redirect=${req.url}`);
|
|
67
68
|
}
|
|
68
69
|
if (!isProduction) return null; // admin vite
|
|
69
70
|
const stream = fs.createReadStream('admin/dist/index.html');
|
|
@@ -5,14 +5,14 @@ import mapnik from '../../../plugins/mapnik/funcs/mapnik.js';
|
|
|
5
5
|
const { GetLogs } = mapnik();
|
|
6
6
|
|
|
7
7
|
export default async function mapnikLogger({
|
|
8
|
-
params,
|
|
8
|
+
params,
|
|
9
9
|
}, reply) {
|
|
10
10
|
if (!config.mapServerAddress) {
|
|
11
11
|
return reply.status(400).send({ error: 'mapnik server address needed', code: 400 });
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
const { data, links, err } = await GetLogs({ path: params['*'] });
|
|
15
|
-
|
|
15
|
+
console.log(links);
|
|
16
16
|
if (err) {
|
|
17
17
|
return reply.status(400).send(err);
|
|
18
18
|
}
|
|
@@ -22,7 +22,7 @@ export default async function mapnikLogger({
|
|
|
22
22
|
"Content-Type": "text/html; charset=UTF-8",
|
|
23
23
|
"Content-Security-Policy": "default-src 'none'",
|
|
24
24
|
"X-Content-Type-Options": "nosniff",
|
|
25
|
-
}).send(links);
|
|
25
|
+
}).send(links.replace(/\/api\/gis-logger/g, '/logger-gis'));
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
return reply.headers({ "Content-type": "text/plain; charset=UTF-8" }).send(data);
|
|
@@ -9,6 +9,7 @@ const { prefix = '/api' } = config;
|
|
|
9
9
|
export default async function rasterInfo({
|
|
10
10
|
pg = pgClients.client, params, query,
|
|
11
11
|
}, reply) {
|
|
12
|
+
const time = Date.now();
|
|
12
13
|
if (!config.mapServerAddress) {
|
|
13
14
|
return reply.status(400).send({ error: 'mapnik server address needed', code: 400 });
|
|
14
15
|
}
|
|
@@ -40,6 +41,10 @@ export default async function rasterInfo({
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
return {
|
|
43
|
-
|
|
44
|
+
time: Date.now() - time,
|
|
45
|
+
...data,
|
|
46
|
+
...raster,
|
|
47
|
+
cache,
|
|
48
|
+
url: `${prefix}/gis-rtile/${Buffer.from(raster.source_path).toString('base64url')}/{z}/{x}/{y}.png`,
|
|
44
49
|
};
|
|
45
50
|
}
|
|
@@ -3,7 +3,7 @@ import createXml from './controllers/createXml.js';
|
|
|
3
3
|
import rtile from './controllers/rtile.js';
|
|
4
4
|
import rasterInfo from './controllers/rasterInfo.js';
|
|
5
5
|
import mapnikStat from './controllers/mapnikStat.js';
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
import createXmlMulti from './controllers/createXmlMulti.js';
|
|
8
8
|
import readDir from './controllers/readDir.js';
|
|
9
9
|
import fileStat from './controllers/fileStat.js';
|
|
@@ -19,8 +19,7 @@ export default async function route(app) {
|
|
|
19
19
|
app.get('/gis-xml/:id', publicParams, createXml);
|
|
20
20
|
app.get('/gis-rtile/:id/:z/:y/:x', publicParams, rtile);
|
|
21
21
|
app.get('/gis-raster/:id', publicParams, rasterInfo);
|
|
22
|
-
|
|
23
|
-
app.get('/gis-logger/*', adminParams, mapnikLogger);
|
|
22
|
+
|
|
24
23
|
app.get('/gis-create-xml/:id?', adminParams, createXmlMulti);
|
|
25
24
|
app.get('/gis-files', adminParams, readDir);
|
|
26
25
|
app.get('/gis-file-info', adminParams, fileStat);
|