@opengis/fastify-table 1.1.58 → 1.1.60

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/index.js CHANGED
@@ -1,11 +1,8 @@
1
1
  import path from 'node:path';
2
- // import { existsSync, readdirSync, readFileSync } from 'node:fs';
3
- import { fileURLToPath } from 'node:url';
4
-
5
2
  import fp from 'fastify-plugin';
3
+ import { fileURLToPath } from 'node:url';
6
4
 
7
5
  import config from './config.js';
8
- // import rclient from './redis/client.js';
9
6
 
10
7
  // plugins
11
8
  import cronPlugin from './server/plugins/cron/index.js';
@@ -25,12 +22,9 @@ import propertiesRoutes from './server/routes/properties/index.js';
25
22
  import tableRoutes from './server/routes/table/index.js';
26
23
  import utilRoutes from './server/routes/util/index.js';
27
24
 
28
- // import pgClients from './pg/pgClients.js';
29
-
30
25
  import { addTemplateDir, execMigrations } from './utils.js';
31
26
 
32
27
  async function plugin(fastify, opt) {
33
- // console.log(opt);
34
28
  config.pg = opt.pg;
35
29
  config.redis = opt.redis;
36
30
  config.root = opt.root;
@@ -66,24 +60,16 @@ async function plugin(fastify, opt) {
66
60
  request.log.fatal(request, { status: 501, error: error.toString() });
67
61
  return reply.status(500).send('ServerError');
68
62
  }
69
- // console.log(error);
70
63
 
71
64
  request.log.error(error, request);
72
65
  return reply.status(error.statusCode || 500).send(config.local ? error.toString() : 'ServerError');
73
66
  });
74
67
 
75
68
  execMigrations().catch(err => console.log(err));
76
- // core migrations
77
- /* try {
78
-
79
- }
80
- catch (err) {
81
- logger.error(err);
82
- } */
83
69
 
84
70
  if (!fastify.funcs) {
85
71
  fastify.addHook('onRequest', async (req) => {
86
- req.funcs = fastify;
72
+ // req.funcs = fastify;
87
73
  if (!req.user && req.session?.passport?.user) {
88
74
  const { user } = req.session?.passport || {};
89
75
  req.user = user;
@@ -115,4 +101,3 @@ async function plugin(fastify, opt) {
115
101
  addTemplateDir(path.join(cwd, 'module/core'));
116
102
  }
117
103
  export default fp(plugin);
118
- // export { rclient };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/fastify-table",
3
- "version": "1.1.58",
3
+ "version": "1.1.60",
4
4
  "type": "module",
5
5
  "description": "core-plugins",
6
6
  "main": "index.js",
@@ -33,10 +33,12 @@ COMMENT ON COLUMN admin.roles.editor_date IS 'Дата останнього ре
33
33
  CREATE TABLE if not exists admin.routes();
34
34
  alter table admin.routes DROP CONSTRAINT if exists admin_route_id_pkey cascade;
35
35
  alter table admin.routes DROP constraint if exists admin_route_menu_id_fkey cascade;
36
+ alter table admin.routes DROP constraint if exists admin_route_alias_query_unique cascade;
36
37
 
37
38
  alter table admin.routes add column if not exists route_id text NOT NULL default next_id();
38
39
  alter table admin.routes add column if not exists alias text NOT NULL;
39
40
  alter table admin.routes add column if not exists table_name text NOT NULL;
41
+ alter table admin.routes add column if not exists query text;
40
42
  alter table admin.routes add column if not exists actions text[];
41
43
  alter table admin.routes add column if not exists access text;
42
44
  alter table admin.routes add column if not exists title text;
@@ -48,15 +50,16 @@ alter table admin.routes add column if not exists editor_date timestamp without
48
50
  alter table admin.routes add column if not exists cdate timestamp without time zone DEFAULT now();
49
51
  alter table admin.routes add column if not exists enabled boolean NOT NULL DEFAULT true;
50
52
  alter table admin.routes add CONSTRAINT admin_route_id_pkey PRIMARY KEY (route_id);
53
+ -- alter table admin.routes add CONSTRAINT admin_route_alias_query_unique UNIQUE (alias, query);
51
54
 
52
55
  COMMENT ON TABLE admin.routes IS 'Список інтерфейсів';
53
56
  COMMENT ON COLUMN admin.routes.route_id IS 'Ідентифікатор інтерфейса';
54
57
  COMMENT ON COLUMN admin.routes.alias IS 'Назва файлу інтерфейса';
55
58
 
56
- COMMENT ON COLUMN admin.routes.access IS 'Рівень доступу';
57
- COMMENT ON COLUMN admin.routes.actions IS 'Дії';
58
-
59
59
  COMMENT ON COLUMN admin.routes.table_name IS 'Таблиця в БД';
60
+ comment on column admin.routes.query is 'Запит до таблиці';
61
+ COMMENT ON COLUMN admin.routes.actions IS 'Дії';
62
+ COMMENT ON COLUMN admin.routes.access IS 'Рівень доступу';
60
63
  COMMENT ON COLUMN admin.routes.title IS 'Назва інтерфейсу українською';
61
64
  COMMENT ON COLUMN admin.routes.public IS 'Ознака чи для всіх показується';
62
65
  COMMENT ON COLUMN admin.routes.enabled IS 'On / Off';
@@ -1,4 +1,3 @@
1
- // const rclient = require('../../redis/client')
2
1
  import pgClient from '../pgClients.js';
3
2
 
4
3
  // subfunc
@@ -1,4 +1,3 @@
1
- // import pgClient from '../pgClients.js';
2
1
  import getPG from './getPG.js';
3
2
 
4
3
  const data = {};
@@ -1,8 +1,6 @@
1
- import pgClients from './funcs/pgClients.js';
1
+ import pgClients from './pgClients.js';
2
2
  import init from './funcs/init.js';
3
3
  import getPG from './funcs/getPG.js';
4
- import autoIndex from './funcs/autoIndex.js';
5
- import getMeta from './funcs/getMeta.js';
6
4
 
7
5
  function close() {
8
6
  Object.keys(pgClients).forEach((el) => {
@@ -5,7 +5,7 @@ function close(fastify) {
5
5
  }
6
6
 
7
7
  async function plugin(fastify) {
8
- const client = getRedis({ db: 0, funcs: fastify });
8
+ const client = getRedis({ db: 0 });
9
9
  client.getJSON = client.get;
10
10
  // fastify.decorate('rclient', client);
11
11
  // fastify.decorate('getRedis', getRedis);
@@ -1,5 +1,5 @@
1
1
  import getSelect from '../getSelect.js';
2
- import pgClients from '../../../pg/funcs/pgClients.js';
2
+ import pgClients from '../../../pg/pgClients.js';
3
3
  import redis from '../../../redis/client.js';
4
4
 
5
5
  // import { pgClients, getSelect } from '../../../../../utils.js';
@@ -1,4 +1,5 @@
1
1
  import loggerFile from './controllers/logger.file.js';
2
+ // import loggerTest from './controllers/logger.test.api.js';
2
3
 
3
4
  const loggerSchema = {
4
5
  querystring: {
@@ -10,6 +11,7 @@ const loggerSchema = {
10
11
 
11
12
  async function plugin(fastify) {
12
13
  fastify.get('/logger-file/*', { schema: loggerSchema }, loggerFile);
14
+ // fastify.get('/logger-test', {}, loggerTest);
13
15
  }
14
16
 
15
17
  export default plugin;
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  config, getTemplate, getFilterSQL, getMeta, metaFormat, getAccess, setToken, gisIRColumn, applyHook,
3
+ handlebars,
3
4
  } from '../../../../utils.js';
4
5
 
5
6
  const maxLimit = 100;
@@ -88,7 +89,8 @@ export default async function dataAPI(req) {
88
89
  const queryPolyline = meta?.bbox && query?.polyline ? `ST_Contains(ST_MakePolygon(ST_LineFromEncodedPolyline('${query?.polyline}')),${meta.bbox})` : undefined;
89
90
  const bbox = meta?.bbox && queryBbox.filter((el) => !Number.isNaN(el))?.length === 4 ? `${meta.bbox} && 'box(${queryBbox[0]} ${queryBbox[1]},${queryBbox[2]} ${queryBbox[3]})'::box2d ` : undefined;
90
91
 
91
- const where = [(hookData?.id || params.id ? ` "${pk}" = $1` : null), keyQuery, loadTable.query, fData.q, search, accessQuery || '1=1', bbox, queryPolyline].filter((el) => el);
92
+ const interfaceQuery = params?.query ? await handlebars.compile(params?.query)({ user, uid }) : undefined;
93
+ const where = [(hookData?.id || params.id ? ` "${pk}" = $1` : null), keyQuery, loadTable.query, fData.q, search, accessQuery || '1=1', bbox, queryPolyline, interfaceQuery].filter((el) => el);
92
94
 
93
95
  const cardColumns = cardSqlFiltered.length ? `,${cardSqlFiltered.map((el) => el.name)}` : '';
94
96
  const q = `select ${pk ? `"${pk}" as id,` : ''}
@@ -1,2 +0,0 @@
1
- const pgClients = {};
2
- export default pgClients;