@opengis/fastify-table 1.4.49 → 1.4.50

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.
Files changed (101) hide show
  1. package/package.json +1 -1
  2. package/server/helpers/core/buttonFilePreview.js +0 -1
  3. package/server/helpers/core/buttonHelper.js +6 -5
  4. package/server/helpers/format/formatAuto.js +2 -2
  5. package/server/helpers/format/formatDate.js +3 -3
  6. package/server/helpers/format/formatDigit.js +1 -1
  7. package/server/helpers/format/formatNum.js +9 -5
  8. package/server/helpers/format/formatNumber.js +6 -6
  9. package/server/helpers/format/formatRelative.js +2 -2
  10. package/server/helpers/format/formatUnit.js +1 -1
  11. package/server/helpers/format/num_format.js +1 -1
  12. package/server/helpers/format/set.js +3 -2
  13. package/server/helpers/funcs/_math.js +3 -3
  14. package/server/helpers/funcs/contentList.js +8 -5
  15. package/server/helpers/funcs/empty.js +1 -1
  16. package/server/helpers/funcs/ifCondAnd.js +2 -1
  17. package/server/helpers/funcs/ifCondOr.js +2 -2
  18. package/server/helpers/funcs/inc.js +1 -2
  19. package/server/helpers/funcs/json.js +2 -2
  20. package/server/helpers/funcs/qrcode.js +5 -3
  21. package/server/helpers/funcs/round.js +2 -2
  22. package/server/helpers/funcs/select.js +7 -11
  23. package/server/helpers/list/buttonHelper.js +6 -5
  24. package/server/helpers/list/utils/button.js +1 -3
  25. package/server/helpers/list/utils/buttonDel.js +2 -3
  26. package/server/helpers/list/utils/buttonEdit.js +2 -5
  27. package/server/helpers/string/concat.js +1 -1
  28. package/server/helpers/string/split.js +2 -2
  29. package/server/helpers/string/str_replace.js +11 -10
  30. package/server/helpers/string/substr.js +1 -1
  31. package/server/helpers/string/translit.js +1 -1
  32. package/server/helpers/string/utils/alphabet.js +1 -1
  33. package/server/helpers/utils/button.js +1 -3
  34. package/server/helpers/utils/buttonAdd.js +2 -4
  35. package/server/helpers/utils/buttonDel.js +4 -4
  36. package/server/helpers/utils/buttonDownload.js +1 -1
  37. package/server/helpers/utils/buttonEdit.js +2 -4
  38. package/server/helpers/utils/buttonPreview.js +1 -1
  39. package/server/helpers/utils/mdToHTML.js +2 -2
  40. package/server/helpers/utils/paddingNumber.js +2 -2
  41. package/server/plugins/cron/funcs/interval2ms.js +1 -1
  42. package/server/plugins/cron/index.js +2 -1
  43. package/server/plugins/crud/funcs/dataInsert.js +1 -0
  44. package/server/plugins/crud/funcs/utils/logChanges.js +1 -1
  45. package/server/plugins/crud/index.js +1 -1
  46. package/server/plugins/file/uploadMultiPart.js +1 -0
  47. package/server/plugins/grpc/grpc.js +2 -0
  48. package/server/plugins/grpc/office2pdf.js +1 -0
  49. package/server/plugins/hook/funcs/applyHook.js +1 -0
  50. package/server/plugins/hook/index.js +5 -5
  51. package/server/plugins/logger/createFileStream.js +3 -1
  52. package/server/plugins/logger/getLogger.js +2 -0
  53. package/server/plugins/logger/serializers.js +5 -5
  54. package/server/plugins/logger/timestampWithTimeZone.js +1 -1
  55. package/server/plugins/md/funcs/formatMdoc.js +4 -5
  56. package/server/plugins/md/funcs/mdToHTML.js +2 -2
  57. package/server/plugins/metric/index.js +1 -1
  58. package/server/plugins/migration/exec.migrations.js +1 -0
  59. package/server/plugins/migration/get.caller.dir.js +1 -1
  60. package/server/plugins/migration/index.js +3 -3
  61. package/server/plugins/pg/funcs/autoIndex.js +1 -0
  62. package/server/plugins/pg/funcs/getDBParams.js +4 -2
  63. package/server/plugins/pg/funcs/init.js +1 -0
  64. package/server/plugins/redis/funcs/getRedis.js +1 -0
  65. package/server/plugins/redis/index.js +1 -1
  66. package/server/plugins/sqlite/funcs/getSqlite.js +2 -0
  67. package/server/plugins/sqlite/funcs/init.js +2 -0
  68. package/server/plugins/sqlite/index.js +1 -1
  69. package/server/plugins/sqlite/sqliteClients.js +2 -0
  70. package/server/plugins/table/funcs/addTemplateDir.js +1 -0
  71. package/server/plugins/table/funcs/customTokens.js +1 -1
  72. package/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +1 -1
  73. package/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +3 -1
  74. package/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +3 -3
  75. package/server/plugins/table/funcs/getSelect.js +2 -2
  76. package/server/plugins/table/funcs/getSelectMeta.js +4 -1
  77. package/server/plugins/table/funcs/getTemplate.js +4 -4
  78. package/server/plugins/table/funcs/getTemplatePath.js +4 -3
  79. package/server/plugins/table/funcs/getTemplateSync.js +1 -1
  80. package/server/plugins/table/funcs/metaFormat/getSelectVal.js +1 -1
  81. package/server/plugins/table/funcs/metaFormat/index.js +2 -4
  82. package/server/plugins/table/funcs/userTokens.js +1 -1
  83. package/server/plugins/table/index.js +1 -1
  84. package/server/plugins/util/funcs/eventStream.js +1 -0
  85. package/server/plugins/util/funcs/flattenObject.js +3 -2
  86. package/server/plugins/util/funcs/unflattenObject.js +13 -3
  87. package/server/plugins/util/index.js +3 -3
  88. package/server/plugins/yml/funcs/json2yml.js +2 -2
  89. package/server/plugins/yml/funcs/yml2json.js +5 -4
  90. package/server/routes/crud/controllers/update.js +1 -1
  91. package/server/routes/dblist/index.mjs +1 -1
  92. package/server/routes/file/controllers/export.js +1 -0
  93. package/server/routes/file/controllers/resizeAll.js +1 -0
  94. package/server/routes/logger/controllers/utils/getRootDir.js +1 -0
  95. package/server/routes/table/controllers/dataInfo.js +11 -9
  96. package/server/routes/table/controllers/filter.js +1 -3
  97. package/server/routes/table/controllers/tableInfo.js +1 -1
  98. package/server/routes/table/controllers/utils/conditions.js +3 -3
  99. package/server/routes/table/controllers/utils/locales.js +1 -1
  100. package/server/routes/table/functions/getData.js +1 -0
  101. package/server/routes/util/controllers/status.monitor.js +1 -1
@@ -1,9 +1,10 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
 
3
3
  import getMeta from '../../../plugins/pg/funcs/getMeta.js';
4
- import metaFormat from "../../../plugins/table/funcs/metaFormat/index.js";
5
- import getTemplatePath from "../../../plugins/table/funcs/getTemplatePath.js";
6
- import yml2json from "../../../plugins/yml/funcs/yml2json.js";
4
+ import pgClients from '../../../plugins/pg/pgClients.js';
5
+ import metaFormat from '../../../plugins/table/funcs/metaFormat/index.js';
6
+ import getTemplatePath from '../../../plugins/table/funcs/getTemplatePath.js';
7
+ import yml2json from '../../../plugins/yml/funcs/yml2json.js';
7
8
 
8
9
  const infoList = [];
9
10
 
@@ -14,7 +15,7 @@ infoTemplateList?.forEach?.(el => {
14
15
  });
15
16
 
16
17
  export default async function dataInfo({
17
- pg = pgClients.client, params = {}, query = {}, user = {},
18
+ pg = pgClients.client, params = {}, query = {},
18
19
  }, reply) {
19
20
  const timeStart = Date.now();
20
21
  const { id } = params;
@@ -31,18 +32,19 @@ export default async function dataInfo({
31
32
  }
32
33
 
33
34
  const result = await Promise.all(filteredList.filter(el => el.table && pg.pk?.[el.table]).map(async (el) => {
34
- const { table, cls } = el;
35
- const { rowCount = 0, rows = [] } = await pg.query(`select ${pg.pk?.[el.table]} as id, ${el.columns?.map?.(el => el?.replace?.(/'/g, "''")) || '*'} from ${table} where ${el.query || 'true'} and ${pg.pk?.[table]}=$1`, [id]);
35
+ const { rowCount = 0, rows = [] } = await pg.query(`select ${pg.pk?.[el.table]} as id, ${el.columns?.map?.(item => item?.replace?.(/'/g, "''")) || '*'} from ${el.table} where ${el.query || 'true'} and ${pg.pk?.[el.table]}=$1`, [id]);
36
36
  if (rowCount > 0) {
37
- const meta = await getMeta({ pg, table });
37
+ const meta = await getMeta({ pg, table: el.table });
38
38
  const columns = meta?.columns?.filter(item => el.columns?.includes?.(item.name))?.map?.(({ name, title, dataTypeID }) => ({ name, title, type: pg.pgType[dataTypeID] }));
39
- return { table, columns, rows, cls, sufix: false };
39
+ return {
40
+ table: el.table, columns, rows, cls: el.cls, sufix: false,
41
+ };
40
42
  }
41
43
  return null;
42
44
  }));
43
45
 
44
46
  if (!result[0]?.table) {
45
- return reply.status(404).send('object not found: ' + id);
47
+ return reply.status(404).send(`object not found: ${id}`);
46
48
  }
47
49
 
48
50
  await metaFormat(result[0], pg);
@@ -1,6 +1,4 @@
1
- /* import {
2
- logger, autoIndex, getSelect, getTemplate, getSelectVal, pgClients, applyHook,
3
- } from '../../../../utils.js'; */
1
+ /* eslint-disable no-console */
4
2
 
5
3
  import logger from '../../../plugins/logger/getLogger.js';
6
4
  import autoIndex from '../../../plugins/pg/funcs/autoIndex.js';
@@ -59,7 +59,7 @@ export default async function tableInfo(req, reply) {
59
59
  const interfaceQuery = params?.query ? await handlebars.compile(params?.query)({ user, uid }) : undefined;
60
60
  const where = [params.id ? `"${pk}" = $1` : null, loadTable.query, interfaceQuery].filter((el) => el).filter((el) => (user?.user_type === 'superadmin' ? !el.includes('{{uid}}') : true));
61
61
 
62
- const { fields = [] } = await pg.query(`select * from ${table} where ${sqlTable ? 'true' : (where.join(' and ') || 'true')} limit 0`, ([sqlTable ? null : params.id].filter(el => el)) );
62
+ const { fields = [] } = await pg.query(`select * from ${table} where ${sqlTable ? 'true' : (where.join(' and ') || 'true')} limit 0`, ([sqlTable ? null : params.id].filter(el => el)));
63
63
  const columnList = fields.map(el => el.name);
64
64
 
65
65
  const metaInfoCols = meta.info.split(',').filter(el => columnList.includes(el)).map((el) => `"${el}"`);
@@ -11,11 +11,11 @@ function onCheck(rule, data) {
11
11
 
12
12
  if (rule[1] === '>') return val > rule[2];
13
13
  if (rule[1] === '<') return val < rule[2];
14
+ return null;
14
15
  }
15
16
  export default function conditions(rules, data) {
16
17
  if (!rules?.length) return true;
17
- const result = Array.isArray(rules[0]) ? !rules.filter(el => !onCheck(el, data)).length : onCheck(rules, data)
18
+ const result = Array.isArray(rules[0]) ? !rules.filter(el => !onCheck(el, data)).length : onCheck(rules, data);
18
19
  // console.log(rules, result)
19
20
  return result;
20
-
21
- }
21
+ }
@@ -1 +1 @@
1
- export default {}
1
+ export default {};
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-console */
1
2
  import config from '../../../../config.js';
2
3
  import { handlebars, handlebarsSync } from '../../../helpers/index.js';
3
4
 
@@ -1,4 +1,4 @@
1
- const formatMemoryUsage = (data) => `${Math.round(data / 1024 / 1024 * 100) / 100} MB`;
1
+ const formatMemoryUsage = (data) => `${Math.round((data / 1024 / 1024) * 100) / 100} MB`;
2
2
 
3
3
  export default async function statusMonitor() {
4
4
  const memoryUsage = process.memoryUsage();