@opengis/fastify-table 1.2.58 → 1.2.59

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/fastify-table",
3
- "version": "1.2.58",
3
+ "version": "1.2.59",
4
4
  "type": "module",
5
5
  "description": "core-plugins",
6
6
  "keywords": [
@@ -53,8 +53,8 @@ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_title text;
53
53
  COMMENT ON COLUMN admin.user_properties.property_title IS 'Назва';
54
54
 
55
55
  ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private boolean;
56
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private SET NOT NULL;
57
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private boolean default SET default true;
56
+ ALTER TABLE admin.user_properties ALTER COLUMN private SET NOT NULL;
57
+ ALTER TABLE admin.user_properties ALTER COLUMN private SET default true;
58
58
  COMMENT ON COLUMN admin.user_properties.private IS 'Доступ лише для користувача, який додав дане налаштування';
59
59
 
60
60
  ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
@@ -5,6 +5,7 @@ import config from '../../../../../config.js';
5
5
  export default function getFolder(req, type = 'server') {
6
6
  if (!['server', 'local'].includes(type)) throw new Error('params type is invalid');
7
7
  const types = { local: req.root || config.root, server: req.mapServerRoot || config.mapServerRoot };
8
- const filepath = path.posix.join(types[type] || `/data/local/${req.pg?.options?.database || ''}`, req.folder || config.folder || '');
8
+ const dbname = req.pg?.options?.database || req.pg?.database || config.pg?.database; // request / config params / default config params
9
+ const filepath = path.posix.join(types[type] || `/data/local/${dbname || ''}`, req.folder || config.folder || '');
9
10
  return filepath;
10
11
  }
@@ -42,15 +42,16 @@ export default async function filterAPI(req) {
42
42
  logger.file('autoindex/error', { name: params?.name, error: err.toString(), stack: err.stack });
43
43
  });
44
44
 
45
- await Promise.all(filters.filter((el) => el.data && (el.id || el.name)).map(async (el) => {
46
- const name = el.id || el.name;
45
+ filters?.forEach?.(el => Object.assign(el, { id: el.id || el.name }));
46
+
47
+ await Promise.all(filters.filter((el) => el.data && el.id).map(async (el) => {
47
48
  const cls = await getSelect(el.data, pg);
48
49
 
49
50
  if (!cls || !loadTable.table) return;
50
- const { dataTypeID } = columns.find((item) => item.name === name) || {};
51
+ const { dataTypeID } = columns.find((item) => item.name === el.id) || {};
51
52
 
52
53
  if (el.extra && el.type === 'select' && Array.isArray(cls)) {
53
- const countArr = await pg.query(`select value_text as id, count(*) from crm.extra_data where property_key=$1 and property_entity=$2 group by value_text`, [name, params.table]);
54
+ const countArr = await pg.query(`select value_text as id, count(*) from crm.extra_data where property_key=$1 and property_entity=$2 group by value_text`, [el.id, params.table]);
54
55
  const options = countArr.rows.map(cel => {
55
56
  const data = cls.find(c => c.id === cel.id);
56
57
  return { ...cel, ...data };
@@ -59,8 +60,8 @@ export default async function filterAPI(req) {
59
60
  }
60
61
 
61
62
  const countArr = pg.pgType[dataTypeID]?.includes('[]')
62
- ? await pg.queryCache(`select unnest(${name})::text as id,count(*) from (${optimizedSQL})q group by unnest(${name})`, { table: loadTable.table, time: 5 })
63
- : await pg.queryCache(`select ${name}::text as id,count(*) from (${optimizedSQL})q group by ${name}`, { table: loadTable.table, time: 5 });
63
+ ? await pg.queryCache(`select unnest(${el.id})::text as id,count(*) from (${optimizedSQL})q group by unnest(${el.id})`, { table: loadTable.table, time: 5 })
64
+ : await pg.queryCache(`select ${el.id}::text as id,count(*) from (${optimizedSQL})q group by ${el.id}`, { table: loadTable.table, time: 5 });
64
65
  const ids = countArr.rows.map(el1 => el1.id);
65
66
 
66
67
  const clsData = await getSelectVal({ pg, values: ids, name: el.data });