@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.
@@ -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": 300,
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": "srid",
26
+ "ua": "Шлях до растру",
27
+ "name": "source_path",
28
28
  "format": "text"
29
29
  },
30
30
  {
31
- "ua": "Шлях до растру",
32
- "name": "source_path",
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.87",
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
- "dev:kr": "bun --env-file=.env.kr --hot server",
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,
@@ -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' || config.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
- // console.log(req.url);
65
- if (!user && req.url !== '/login') {
66
- return reply.redirect('/login');
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, query,
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
- ...data, ...raster, cache, url: `${prefix}/gis-rtile/${Buffer.from(raster.source_path).toString('base64url')}/{z}/{x}/{y}.png`,
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
- import mapnikLogger from './controllers/mapnikLogger.js';
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
- app.get('/gis-stat/:period?', adminParams, mapnikStat);
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);