@opengis/fastify-table 1.4.88 → 1.5.1

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 (489) hide show
  1. package/dist/config.js +33 -0
  2. package/dist/dblist.js +5 -0
  3. package/dist/index.js +170 -0
  4. package/dist/redactionList.js +6 -0
  5. package/dist/server/helpers/core/badge.js +16 -0
  6. package/dist/server/helpers/core/buttonFilePreview.js +12 -0
  7. package/dist/server/helpers/core/buttonHelper.js +20 -0
  8. package/{server → dist/server}/helpers/core/token.js +16 -18
  9. package/dist/server/helpers/format/formatAuto.js +14 -0
  10. package/dist/server/helpers/format/formatDate.js +231 -0
  11. package/{server → dist/server}/helpers/format/formatDigit.js +21 -21
  12. package/dist/server/helpers/format/formatNum.js +331 -0
  13. package/{server → dist/server}/helpers/format/formatNumber.js +50 -55
  14. package/dist/server/helpers/format/formatRelative.js +180 -0
  15. package/{server → dist/server}/helpers/format/formatUnit.js +41 -40
  16. package/{server → dist/server}/helpers/format/num_format.js +40 -44
  17. package/{server → dist/server}/helpers/format/set.js +26 -27
  18. package/{server → dist/server}/helpers/funcs/_math.js +49 -50
  19. package/{server → dist/server}/helpers/funcs/contentList.js +52 -57
  20. package/{server → dist/server}/helpers/funcs/empty.js +21 -21
  21. package/dist/server/helpers/funcs/ifCond.js +109 -0
  22. package/dist/server/helpers/funcs/ifCondAnd.js +109 -0
  23. package/dist/server/helpers/funcs/ifCondOr.js +110 -0
  24. package/{server → dist/server}/helpers/funcs/inc.js +19 -20
  25. package/{server → dist/server}/helpers/funcs/json.js +3 -3
  26. package/dist/server/helpers/funcs/qrcode.js +65 -0
  27. package/{server → dist/server}/helpers/funcs/round.js +27 -29
  28. package/dist/server/helpers/funcs/select.js +39 -0
  29. package/dist/server/helpers/index.js +126 -0
  30. package/dist/server/helpers/list/buttonHelper.js +20 -0
  31. package/{server → dist/server}/helpers/list/descriptionList.js +39 -45
  32. package/dist/server/helpers/list/tableList.js +104 -0
  33. package/{server → dist/server}/helpers/list/utils/button.js +3 -3
  34. package/{server → dist/server}/helpers/list/utils/buttonDel.js +8 -9
  35. package/{server → dist/server}/helpers/list/utils/buttonEdit.js +8 -9
  36. package/{server → dist/server}/helpers/string/coalesce.js +33 -39
  37. package/{server → dist/server}/helpers/string/concat.js +25 -28
  38. package/{server → dist/server}/helpers/string/split.js +19 -20
  39. package/{server → dist/server}/helpers/string/str_replace.js +57 -62
  40. package/{server → dist/server}/helpers/string/substr.js +28 -32
  41. package/{server → dist/server}/helpers/string/translit.js +20 -23
  42. package/dist/server/helpers/string/utils/alphabet.js +76 -0
  43. package/{server → dist/server}/helpers/utils/button.js +3 -3
  44. package/{server → dist/server}/helpers/utils/buttonAdd.js +4 -4
  45. package/{server → dist/server}/helpers/utils/buttonDel.js +11 -15
  46. package/{server → dist/server}/helpers/utils/buttonDownload.js +3 -3
  47. package/dist/server/helpers/utils/buttonEdit.js +14 -0
  48. package/{server → dist/server}/helpers/utils/buttonPreview.js +3 -3
  49. package/{server → dist/server}/helpers/utils/mdToHTML.js +16 -17
  50. package/{server → dist/server}/helpers/utils/paddingNumber.js +5 -5
  51. package/dist/server/plugins/access/funcs/getAdminAccess.js +11 -0
  52. package/dist/server/plugins/cron/cronList.js +2 -0
  53. package/dist/server/plugins/cron/funcs/addCron.js +41 -0
  54. package/{server → dist/server}/plugins/cron/funcs/interval2ms.js +36 -40
  55. package/dist/server/plugins/cron/funcs/runCron.js +20 -0
  56. package/{server → dist/server}/plugins/cron/funcs/verifyUnique.js +19 -23
  57. package/dist/server/plugins/cron/index.js +75 -0
  58. package/dist/server/plugins/crud/funcs/dataDelete.js +87 -0
  59. package/dist/server/plugins/crud/funcs/dataInsert.js +134 -0
  60. package/dist/server/plugins/crud/funcs/dataUpdate.js +198 -0
  61. package/dist/server/plugins/crud/funcs/getAccess.js +82 -0
  62. package/dist/server/plugins/crud/funcs/getOpt.js +13 -0
  63. package/dist/server/plugins/crud/funcs/getToken.js +24 -0
  64. package/dist/server/plugins/crud/funcs/isFileExists.js +11 -0
  65. package/dist/server/plugins/crud/funcs/setOpt.js +19 -0
  66. package/dist/server/plugins/crud/funcs/setToken.js +41 -0
  67. package/dist/server/plugins/crud/funcs/utils/getFolder.js +13 -0
  68. package/dist/server/plugins/crud/funcs/utils/getInsertQuery.js +54 -0
  69. package/dist/server/plugins/crud/funcs/utils/logChanges.js +144 -0
  70. package/{server → dist/server}/plugins/crud/funcs/validateData.js +91 -83
  71. package/dist/server/plugins/extra/extraData.js +81 -0
  72. package/dist/server/plugins/extra/extraDataGet.js +52 -0
  73. package/dist/server/plugins/file/downloadFile.js +15 -0
  74. package/{server → dist/server}/plugins/file/getExport.js +18 -38
  75. package/dist/server/plugins/file/isFileExists.js +13 -0
  76. package/dist/server/plugins/file/providers/fs.js +86 -0
  77. package/dist/server/plugins/file/providers/index.js +28 -0
  78. package/dist/server/plugins/file/providers/mime/index.js +7 -0
  79. package/dist/server/plugins/file/providers/mime/mimes.js +1179 -0
  80. package/dist/server/plugins/file/providers/s3/client.js +26 -0
  81. package/dist/server/plugins/file/providers/s3/funcs/downloadFile.js +42 -0
  82. package/dist/server/plugins/file/providers/s3/funcs/fileExists.js +24 -0
  83. package/dist/server/plugins/file/providers/s3/funcs/uploadFile.js +35 -0
  84. package/dist/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +18 -0
  85. package/{server → dist/server}/plugins/file/providers/s3/index.js +11 -12
  86. package/dist/server/plugins/file/providers/utils/getDataSize.js +19 -0
  87. package/dist/server/plugins/file/providers/utils/getValidData.js +30 -0
  88. package/dist/server/plugins/file/providers/utils/handlers/dataTypes.js +7 -0
  89. package/dist/server/plugins/file/providers/utils/handlers/index.js +50 -0
  90. package/dist/server/plugins/file/providers/utils/handlers/sizeHandlers.js +9 -0
  91. package/dist/server/plugins/file/providers/utils/streamToBuffer.js +7 -0
  92. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isArray.js +2 -3
  93. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isBuffer.js +2 -3
  94. package/dist/server/plugins/file/providers/utils/typeguards/isPath.js +3 -0
  95. package/dist/server/plugins/file/providers/utils/typeguards/isReadableStream.js +7 -0
  96. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isText.js +2 -3
  97. package/dist/server/plugins/file/uploadFile.js +14 -0
  98. package/dist/server/plugins/file/uploadMultiPart.js +101 -0
  99. package/dist/server/plugins/file/utils/allowedExtensions.js +60 -0
  100. package/{server → dist/server}/plugins/file/utils/getFileType.js +12 -10
  101. package/dist/server/plugins/file/utils/getPath.js +30 -0
  102. package/dist/server/plugins/file/utils/isFileExists.js +15 -0
  103. package/dist/server/plugins/grpc/file2json.js +50 -0
  104. package/dist/server/plugins/grpc/grpc.js +103 -0
  105. package/dist/server/plugins/grpc/office2pdf.js +78 -0
  106. package/dist/server/plugins/grpc/utils/csv2xls.js +6 -0
  107. package/dist/server/plugins/grpc/utils/excel2Json.js +10 -0
  108. package/dist/server/plugins/grpc/utils/html2doc.js +17 -0
  109. package/dist/server/plugins/grpc/utils/html2img.js +17 -0
  110. package/dist/server/plugins/grpc/utils/html2pdf.js +19 -0
  111. package/{server → dist/server}/plugins/grpc/utils/htmlTemplate.js +3 -4
  112. package/dist/server/plugins/grpc/utils/json2xls.js +11 -0
  113. package/dist/server/plugins/grpc/utils/mergePdf.js +18 -0
  114. package/dist/server/plugins/hook/funcs/addHook.js +7 -0
  115. package/dist/server/plugins/hook/funcs/applyHook.js +25 -0
  116. package/dist/server/plugins/hook/funcs/applyHookSync.js +7 -0
  117. package/dist/server/plugins/hook/hookList.js +2 -0
  118. package/{server → dist/server}/plugins/hook/index.js +7 -8
  119. package/dist/server/plugins/logger/createFileStream.js +79 -0
  120. package/dist/server/plugins/logger/errorMessage.js +24 -0
  121. package/dist/server/plugins/logger/errorStatus.js +17 -0
  122. package/dist/server/plugins/logger/getHooks.js +17 -0
  123. package/dist/server/plugins/logger/getLogger.js +52 -0
  124. package/dist/server/plugins/logger/index.js +37 -0
  125. package/dist/server/plugins/logger/labels.js +10 -0
  126. package/dist/server/plugins/logger/serializers.js +22 -0
  127. package/{server → dist/server}/plugins/logger/timestampWithTimeZone.js +5 -5
  128. package/dist/server/plugins/md/funcs/formatMdoc.js +45 -0
  129. package/{server → dist/server}/plugins/md/funcs/mdToHTML.js +16 -17
  130. package/dist/server/plugins/metric/index.js +6 -0
  131. package/dist/server/plugins/metric/loggerSystem.js +127 -0
  132. package/dist/server/plugins/metric/systemMetricsFifthly.js +20 -0
  133. package/dist/server/plugins/migration/exec.migrations.js +59 -0
  134. package/dist/server/plugins/migration/exec.sql.js +61 -0
  135. package/{server → dist/server}/plugins/migration/index.js +5 -7
  136. package/dist/server/plugins/pg/funcs/autoIndex.js +102 -0
  137. package/{server → dist/server}/plugins/pg/funcs/getDBParams.js +16 -15
  138. package/dist/server/plugins/pg/funcs/getMeta.js +48 -0
  139. package/dist/server/plugins/pg/funcs/getPG.js +39 -0
  140. package/dist/server/plugins/pg/funcs/getPGAsync.js +45 -0
  141. package/dist/server/plugins/pg/funcs/init.js +157 -0
  142. package/dist/server/plugins/pg/index.js +47 -0
  143. package/dist/server/plugins/pg/pgClients.js +20 -0
  144. package/dist/server/plugins/policy/funcs/checkPolicy.js +173 -0
  145. package/dist/server/plugins/policy/funcs/checkXSS.js +44 -0
  146. package/dist/server/plugins/policy/index.js +11 -0
  147. package/dist/server/plugins/policy/sqlInjection.js +33 -0
  148. package/dist/server/plugins/policy/xssInjection.js +72 -0
  149. package/{server → dist/server}/plugins/redis/client.js +6 -8
  150. package/dist/server/plugins/redis/funcs/getRedis.js +23 -0
  151. package/{server → dist/server}/plugins/redis/funcs/redisClients.js +2 -3
  152. package/dist/server/plugins/redis/index.js +8 -0
  153. package/dist/server/plugins/sqlite/funcs/getSqlite.js +27 -0
  154. package/dist/server/plugins/sqlite/funcs/init.js +45 -0
  155. package/dist/server/plugins/sqlite/index.js +8 -0
  156. package/dist/server/plugins/sqlite/sqliteClients.js +24 -0
  157. package/dist/server/plugins/table/funcs/addMenu.js +12 -0
  158. package/dist/server/plugins/table/funcs/addTemplateDir.js +16 -0
  159. package/dist/server/plugins/table/funcs/customTokens.js +2 -0
  160. package/dist/server/plugins/table/funcs/getData.js +25 -0
  161. package/dist/server/plugins/table/funcs/getFilter.js +18 -0
  162. package/dist/server/plugins/table/funcs/getFilterSQL/index.js +201 -0
  163. package/dist/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +131 -0
  164. package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +11 -0
  165. package/dist/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +84 -0
  166. package/dist/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +11 -0
  167. package/dist/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +161 -0
  168. package/dist/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +40 -0
  169. package/dist/server/plugins/table/funcs/getSelect.js +37 -0
  170. package/dist/server/plugins/table/funcs/getSelectMeta.js +77 -0
  171. package/dist/server/plugins/table/funcs/getTemplate.js +86 -0
  172. package/dist/server/plugins/table/funcs/getTemplatePath.js +60 -0
  173. package/dist/server/plugins/table/funcs/getTemplateSync.js +84 -0
  174. package/dist/server/plugins/table/funcs/getTemplates.js +15 -0
  175. package/dist/server/plugins/table/funcs/gisIRColumn.js +81 -0
  176. package/dist/server/plugins/table/funcs/loadTemplate.js +2 -0
  177. package/dist/server/plugins/table/funcs/loadTemplatePath.js +2 -0
  178. package/dist/server/plugins/table/funcs/menuDirs.js +2 -0
  179. package/dist/server/plugins/table/funcs/metaFormat/getSelectVal.js +75 -0
  180. package/dist/server/plugins/table/funcs/metaFormat/index.js +64 -0
  181. package/dist/server/plugins/table/funcs/userTemplateDir.js +2 -0
  182. package/dist/server/plugins/table/funcs/userTokens.js +2 -0
  183. package/dist/server/plugins/util/funcs/eventStream.js +28 -0
  184. package/{server → dist/server}/plugins/util/funcs/flattenObject.js +14 -12
  185. package/{server → dist/server}/plugins/util/funcs/unflattenObject.js +48 -46
  186. package/{server → dist/server}/plugins/yml/funcs/json2yml.js +3 -5
  187. package/{server → dist/server}/plugins/yml/funcs/yml2json.js +11 -14
  188. package/{server → dist/server}/routes/access/controllers/access.group.js +17 -23
  189. package/{server → dist/server}/routes/access/controllers/access.group.post.js +46 -53
  190. package/dist/server/routes/access/controllers/access.interface.js +36 -0
  191. package/{server/routes/access/index.mjs → dist/server/routes/access/index.js} +10 -12
  192. package/{server/routes/access/schema.mjs → dist/server/routes/access/schema.js} +65 -68
  193. package/dist/server/routes/cron/controllers/cronApi.js +16 -0
  194. package/dist/server/routes/cron/index.js +15 -0
  195. package/dist/server/routes/crud/controllers/deleteCrud.js +90 -0
  196. package/dist/server/routes/crud/controllers/insert.js +110 -0
  197. package/dist/server/routes/crud/controllers/table.js +144 -0
  198. package/dist/server/routes/crud/controllers/update.js +113 -0
  199. package/dist/server/routes/crud/index.js +22 -0
  200. package/dist/server/routes/dblist/controllers/readItems.js +25 -0
  201. package/dist/server/routes/dblist/controllers/setItem.js +20 -0
  202. package/dist/server/routes/dblist/index.js +17 -0
  203. package/dist/server/routes/dblist/utils/formatData.js +8 -0
  204. package/dist/server/routes/file/controllers/delete.js +99 -0
  205. package/dist/server/routes/file/controllers/download.js +56 -0
  206. package/dist/server/routes/file/controllers/export.js +294 -0
  207. package/dist/server/routes/file/controllers/files.js +57 -0
  208. package/dist/server/routes/file/controllers/resize.js +86 -0
  209. package/dist/server/routes/file/controllers/resizeAll.js +140 -0
  210. package/dist/server/routes/file/controllers/upload.js +56 -0
  211. package/dist/server/routes/file/controllers/uploadImage.js +45 -0
  212. package/dist/server/routes/file/controllers/utils/formatResult.js +13 -0
  213. package/dist/server/routes/file/controllers/utils/jsonToCsv.js +40 -0
  214. package/dist/server/routes/file/controllers/utils/jsonToXls.js +37 -0
  215. package/dist/server/routes/file/index.js +22 -0
  216. package/dist/server/routes/file/schema.js +14 -0
  217. package/dist/server/routes/grpc/controllers/file2geojson.js +54 -0
  218. package/dist/server/routes/grpc/controllers/filePreview.js +87 -0
  219. package/dist/server/routes/grpc/index.js +9 -0
  220. package/dist/server/routes/logger/controllers/logger.file.js +81 -0
  221. package/dist/server/routes/logger/controllers/logger.test.api.js +42 -0
  222. package/dist/server/routes/logger/controllers/utils/checkUserAccess.js +22 -0
  223. package/dist/server/routes/logger/controllers/utils/getRootDir.js +25 -0
  224. package/dist/server/routes/logger/index.js +18 -0
  225. package/dist/server/routes/menu/controllers/getMenu.js +98 -0
  226. package/dist/server/routes/menu/controllers/interfaces.js +18 -0
  227. package/dist/server/routes/menu/index.js +7 -0
  228. package/dist/server/routes/properties/controllers/properties.get.js +23 -0
  229. package/dist/server/routes/properties/controllers/properties.post.js +68 -0
  230. package/dist/server/routes/properties/index.js +21 -0
  231. package/dist/server/routes/table/controllers/card.js +79 -0
  232. package/dist/server/routes/table/controllers/cardData.js +161 -0
  233. package/dist/server/routes/table/controllers/cardTabData.js +49 -0
  234. package/dist/server/routes/table/controllers/dataInfo.js +57 -0
  235. package/dist/server/routes/table/controllers/filter.js +181 -0
  236. package/dist/server/routes/table/controllers/form.js +41 -0
  237. package/{server → dist/server}/routes/table/controllers/getFormByTable.js +105 -125
  238. package/dist/server/routes/table/controllers/search.js +80 -0
  239. package/dist/server/routes/table/controllers/suggest.js +242 -0
  240. package/dist/server/routes/table/controllers/tableData.js +88 -0
  241. package/dist/server/routes/table/controllers/tableInfo.js +112 -0
  242. package/dist/server/routes/table/controllers/tokenInfo.js +10 -0
  243. package/dist/server/routes/table/controllers/utils/conditions.js +30 -0
  244. package/dist/server/routes/table/controllers/utils/formatSchema.js +35 -0
  245. package/dist/server/routes/table/controllers/utils/locales.js +2 -0
  246. package/dist/server/routes/table/functions/getData.js +584 -0
  247. package/dist/server/routes/table/index.js +44 -0
  248. package/dist/server/routes/table/schema.js +117 -0
  249. package/dist/server/routes/templates/controllers/getTemplate.js +65 -0
  250. package/dist/server/routes/templates/index.js +7 -0
  251. package/{server → dist/server}/routes/templates/schema.js +11 -12
  252. package/dist/server/routes/util/controllers/code.generator.js +75 -0
  253. package/dist/server/routes/util/controllers/next.id.js +4 -0
  254. package/dist/server/routes/util/controllers/status.monitor.js +6 -0
  255. package/dist/server/routes/util/controllers/user.tokens.js +32 -0
  256. package/dist/server/routes/util/index.js +13 -0
  257. package/dist/server/routes/widget/controllers/file.edit.js +48 -0
  258. package/dist/server/routes/widget/controllers/widget.del.js +84 -0
  259. package/dist/server/routes/widget/controllers/widget.get.js +164 -0
  260. package/dist/server/routes/widget/controllers/widget.set.js +117 -0
  261. package/dist/server/routes/widget/hook/onWidgetSet.js +10 -0
  262. package/dist/server/routes/widget/index.js +42 -0
  263. package/dist/server/types/core.js +12 -0
  264. package/dist/utils.js +93 -0
  265. package/package.json +23 -16
  266. package/config.js +0 -37
  267. package/dblist.js +0 -5
  268. package/index.js +0 -193
  269. package/redactionList.js +0 -7
  270. package/server/helpers/core/badge.js +0 -14
  271. package/server/helpers/core/buttonFilePreview.js +0 -12
  272. package/server/helpers/core/buttonHelper.js +0 -22
  273. package/server/helpers/format/formatAuto.js +0 -13
  274. package/server/helpers/format/formatDate.js +0 -258
  275. package/server/helpers/format/formatNum.js +0 -365
  276. package/server/helpers/format/formatRelative.js +0 -106
  277. package/server/helpers/funcs/ifCond.js +0 -109
  278. package/server/helpers/funcs/ifCondAnd.js +0 -114
  279. package/server/helpers/funcs/ifCondOr.js +0 -115
  280. package/server/helpers/funcs/qrcode.js +0 -68
  281. package/server/helpers/funcs/select.js +0 -46
  282. package/server/helpers/index.js +0 -137
  283. package/server/helpers/list/buttonHelper.js +0 -22
  284. package/server/helpers/list/tableList.js +0 -87
  285. package/server/helpers/string/utils/alphabet.js +0 -76
  286. package/server/helpers/utils/buttonEdit.js +0 -17
  287. package/server/migrations/0.sql +0 -84
  288. package/server/migrations/cls.sql +0 -40
  289. package/server/migrations/context.sql +0 -135
  290. package/server/migrations/crm.sql +0 -155
  291. package/server/migrations/log.sql +0 -87
  292. package/server/migrations/properties.sql +0 -115
  293. package/server/migrations/roles.sql +0 -191
  294. package/server/migrations/template.sql +0 -44
  295. package/server/migrations/users.sql +0 -176
  296. package/server/plugins/access/funcs/getAdminAccess.js +0 -14
  297. package/server/plugins/access/index.mjs +0 -6
  298. package/server/plugins/cron/cronList.js +0 -1
  299. package/server/plugins/cron/funcs/addCron.js +0 -52
  300. package/server/plugins/cron/funcs/runCron.js +0 -24
  301. package/server/plugins/cron/index.js +0 -77
  302. package/server/plugins/crud/funcs/dataDelete.js +0 -86
  303. package/server/plugins/crud/funcs/dataInsert.js +0 -131
  304. package/server/plugins/crud/funcs/dataUpdate.js +0 -179
  305. package/server/plugins/crud/funcs/getAccess.js +0 -94
  306. package/server/plugins/crud/funcs/getOpt.js +0 -14
  307. package/server/plugins/crud/funcs/getToken.js +0 -33
  308. package/server/plugins/crud/funcs/isFileExists.js +0 -13
  309. package/server/plugins/crud/funcs/setOpt.js +0 -21
  310. package/server/plugins/crud/funcs/setToken.js +0 -43
  311. package/server/plugins/crud/funcs/utils/getFolder.js +0 -11
  312. package/server/plugins/crud/funcs/utils/getInsertQuery.js +0 -44
  313. package/server/plugins/crud/funcs/utils/logChanges.js +0 -121
  314. package/server/plugins/crud/index.js +0 -23
  315. package/server/plugins/extra/extraData.js +0 -79
  316. package/server/plugins/extra/extraDataGet.js +0 -56
  317. package/server/plugins/file/downloadFile.js +0 -18
  318. package/server/plugins/file/isFileExists.js +0 -17
  319. package/server/plugins/file/providers/fs.js +0 -100
  320. package/server/plugins/file/providers/index.d.ts +0 -49
  321. package/server/plugins/file/providers/index.js +0 -36
  322. package/server/plugins/file/providers/mime/index.js +0 -12
  323. package/server/plugins/file/providers/mime/mimes.js +0 -1180
  324. package/server/plugins/file/providers/s3/client.js +0 -41
  325. package/server/plugins/file/providers/s3/funcs/downloadFile.js +0 -50
  326. package/server/plugins/file/providers/s3/funcs/fileExists.js +0 -32
  327. package/server/plugins/file/providers/s3/funcs/uploadFile.js +0 -46
  328. package/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +0 -23
  329. package/server/plugins/file/providers/utils/getDataSize.js +0 -20
  330. package/server/plugins/file/providers/utils/getValidData.js +0 -32
  331. package/server/plugins/file/providers/utils/handlers/dataTypes.js +0 -8
  332. package/server/plugins/file/providers/utils/handlers/index.js +0 -53
  333. package/server/plugins/file/providers/utils/handlers/sizeHandlers.js +0 -11
  334. package/server/plugins/file/providers/utils/streamToBuffer.js +0 -8
  335. package/server/plugins/file/providers/utils/typeguards/isPath.js +0 -5
  336. package/server/plugins/file/providers/utils/typeguards/isReadableStream.js +0 -8
  337. package/server/plugins/file/uploadFile.js +0 -19
  338. package/server/plugins/file/uploadMultiPart.js +0 -131
  339. package/server/plugins/file/utils/allowedExtensions.js +0 -25
  340. package/server/plugins/file/utils/getPath.js +0 -25
  341. package/server/plugins/file/utils/isFileExists.js +0 -16
  342. package/server/plugins/grpc/file2json.js +0 -54
  343. package/server/plugins/grpc/grpc.js +0 -125
  344. package/server/plugins/grpc/office2pdf.js +0 -91
  345. package/server/plugins/grpc/utils/csv2xls.js +0 -8
  346. package/server/plugins/grpc/utils/excel2Json.js +0 -8
  347. package/server/plugins/grpc/utils/html2doc.js +0 -19
  348. package/server/plugins/grpc/utils/html2img.js +0 -18
  349. package/server/plugins/grpc/utils/html2pdf.js +0 -23
  350. package/server/plugins/grpc/utils/json2xls.js +0 -13
  351. package/server/plugins/grpc/utils/mergePdf.js +0 -20
  352. package/server/plugins/hook/funcs/addHook.js +0 -8
  353. package/server/plugins/hook/funcs/applyHook.js +0 -25
  354. package/server/plugins/hook/funcs/applyHookSync.js +0 -9
  355. package/server/plugins/hook/hookList.js +0 -1
  356. package/server/plugins/logger/createFileStream.js +0 -88
  357. package/server/plugins/logger/errorMessage.js +0 -25
  358. package/server/plugins/logger/errorStatus.js +0 -19
  359. package/server/plugins/logger/getHooks.js +0 -21
  360. package/server/plugins/logger/getLogger.js +0 -58
  361. package/server/plugins/logger/index.js +0 -33
  362. package/server/plugins/logger/labels.js +0 -11
  363. package/server/plugins/logger/serializers.js +0 -25
  364. package/server/plugins/md/funcs/formatMdoc.js +0 -40
  365. package/server/plugins/metric/index.js +0 -8
  366. package/server/plugins/metric/loggerSystem.js +0 -131
  367. package/server/plugins/metric/systemMetricsFifthly.js +0 -24
  368. package/server/plugins/migration/exec.migrations.js +0 -63
  369. package/server/plugins/migration/exec.sql.js +0 -67
  370. package/server/plugins/pg/funcs/autoIndex.js +0 -103
  371. package/server/plugins/pg/funcs/getMeta.js +0 -49
  372. package/server/plugins/pg/funcs/getPG.js +0 -42
  373. package/server/plugins/pg/funcs/getPGAsync.js +0 -62
  374. package/server/plugins/pg/funcs/init.js +0 -117
  375. package/server/plugins/pg/index.js +0 -54
  376. package/server/plugins/pg/pgClients.js +0 -22
  377. package/server/plugins/policy/funcs/checkPolicy.js +0 -127
  378. package/server/plugins/policy/funcs/checkXSS.js +0 -37
  379. package/server/plugins/policy/index.js +0 -11
  380. package/server/plugins/policy/sqlInjection.js +0 -34
  381. package/server/plugins/policy/xssInjection.js +0 -73
  382. package/server/plugins/redis/funcs/getRedis.js +0 -25
  383. package/server/plugins/redis/index.js +0 -17
  384. package/server/plugins/sqlite/funcs/getSqlite.js +0 -39
  385. package/server/plugins/sqlite/funcs/init.js +0 -53
  386. package/server/plugins/sqlite/index.js +0 -11
  387. package/server/plugins/sqlite/sqliteClients.js +0 -26
  388. package/server/plugins/table/funcs/addMenu.js +0 -16
  389. package/server/plugins/table/funcs/addTemplateDir.js +0 -19
  390. package/server/plugins/table/funcs/customTokens.js +0 -1
  391. package/server/plugins/table/funcs/getData.js +0 -14
  392. package/server/plugins/table/funcs/getFilter.js +0 -14
  393. package/server/plugins/table/funcs/getFilterSQL/index.js +0 -163
  394. package/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +0 -136
  395. package/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +0 -13
  396. package/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +0 -75
  397. package/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +0 -12
  398. package/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +0 -156
  399. package/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +0 -34
  400. package/server/plugins/table/funcs/getSelect.js +0 -31
  401. package/server/plugins/table/funcs/getSelectMeta.js +0 -74
  402. package/server/plugins/table/funcs/getTemplate.js +0 -88
  403. package/server/plugins/table/funcs/getTemplatePath.js +0 -60
  404. package/server/plugins/table/funcs/getTemplateSync.js +0 -87
  405. package/server/plugins/table/funcs/getTemplates.js +0 -19
  406. package/server/plugins/table/funcs/gisIRColumn.js +0 -82
  407. package/server/plugins/table/funcs/loadTemplate.js +0 -1
  408. package/server/plugins/table/funcs/loadTemplatePath.js +0 -1
  409. package/server/plugins/table/funcs/menuDirs.js +0 -1
  410. package/server/plugins/table/funcs/metaFormat/getSelectVal.js +0 -61
  411. package/server/plugins/table/funcs/metaFormat/index.js +0 -49
  412. package/server/plugins/table/funcs/userTemplateDir.js +0 -1
  413. package/server/plugins/table/funcs/userTokens.js +0 -1
  414. package/server/plugins/table/index.js +0 -13
  415. package/server/plugins/util/funcs/eventStream.js +0 -29
  416. package/server/plugins/util/index.js +0 -7
  417. package/server/routes/access/controllers/access.interface.js +0 -37
  418. package/server/routes/cron/controllers/cronApi.js +0 -22
  419. package/server/routes/cron/index.js +0 -19
  420. package/server/routes/crud/controllers/deleteCrud.js +0 -84
  421. package/server/routes/crud/controllers/insert.js +0 -103
  422. package/server/routes/crud/controllers/table.js +0 -116
  423. package/server/routes/crud/controllers/update.js +0 -108
  424. package/server/routes/crud/index.js +0 -26
  425. package/server/routes/dblist/controllers/readItems.js +0 -28
  426. package/server/routes/dblist/controllers/setItem.js +0 -25
  427. package/server/routes/dblist/index.mjs +0 -19
  428. package/server/routes/dblist/utils/formatData.js +0 -7
  429. package/server/routes/file/controllers/delete.js +0 -108
  430. package/server/routes/file/controllers/download.js +0 -66
  431. package/server/routes/file/controllers/export.js +0 -290
  432. package/server/routes/file/controllers/files.js +0 -72
  433. package/server/routes/file/controllers/resize.js +0 -96
  434. package/server/routes/file/controllers/resizeAll.js +0 -165
  435. package/server/routes/file/controllers/upload.js +0 -55
  436. package/server/routes/file/controllers/uploadImage.js +0 -47
  437. package/server/routes/file/controllers/utils/formatResult.js +0 -17
  438. package/server/routes/file/controllers/utils/jsonToCsv.js +0 -36
  439. package/server/routes/file/controllers/utils/jsonToXls.js +0 -42
  440. package/server/routes/file/index.mjs +0 -26
  441. package/server/routes/file/schema.js +0 -16
  442. package/server/routes/grpc/controllers/file2geojson.js +0 -60
  443. package/server/routes/grpc/controllers/filePreview.js +0 -89
  444. package/server/routes/grpc/index.mjs +0 -12
  445. package/server/routes/logger/controllers/logger.file.js +0 -97
  446. package/server/routes/logger/controllers/logger.test.api.js +0 -48
  447. package/server/routes/logger/controllers/utils/checkUserAccess.js +0 -24
  448. package/server/routes/logger/controllers/utils/getRootDir.js +0 -27
  449. package/server/routes/logger/index.js +0 -22
  450. package/server/routes/menu/controllers/getMenu.js +0 -98
  451. package/server/routes/menu/controllers/interfaces.js +0 -21
  452. package/server/routes/menu/index.mjs +0 -8
  453. package/server/routes/menu/schema.js +0 -0
  454. package/server/routes/properties/controllers/properties.get.js +0 -33
  455. package/server/routes/properties/controllers/properties.post.js +0 -76
  456. package/server/routes/properties/index.js +0 -25
  457. package/server/routes/table/controllers/card.js +0 -77
  458. package/server/routes/table/controllers/cardData.js +0 -155
  459. package/server/routes/table/controllers/cardTabData.js +0 -57
  460. package/server/routes/table/controllers/dataInfo.js +0 -56
  461. package/server/routes/table/controllers/filter.js +0 -154
  462. package/server/routes/table/controllers/form.js +0 -42
  463. package/server/routes/table/controllers/search.js +0 -74
  464. package/server/routes/table/controllers/suggest.js +0 -246
  465. package/server/routes/table/controllers/tableData.js +0 -62
  466. package/server/routes/table/controllers/tableInfo.js +0 -110
  467. package/server/routes/table/controllers/tokenInfo.js +0 -12
  468. package/server/routes/table/controllers/utils/conditions.js +0 -21
  469. package/server/routes/table/controllers/utils/formatSchema.js +0 -23
  470. package/server/routes/table/controllers/utils/locales.js +0 -1
  471. package/server/routes/table/functions/getData.js +0 -436
  472. package/server/routes/table/index.js +0 -57
  473. package/server/routes/table/schema.js +0 -127
  474. package/server/routes/templates/controllers/getTemplate.js +0 -51
  475. package/server/routes/templates/index.mjs +0 -10
  476. package/server/routes/util/controllers/code.generator.js +0 -94
  477. package/server/routes/util/controllers/next.id.js +0 -4
  478. package/server/routes/util/controllers/status.monitor.js +0 -8
  479. package/server/routes/util/controllers/user.tokens.js +0 -45
  480. package/server/routes/util/index.js +0 -14
  481. package/server/routes/widget/controllers/file.edit.js +0 -55
  482. package/server/routes/widget/controllers/widget.del.js +0 -99
  483. package/server/routes/widget/controllers/widget.get.js +0 -156
  484. package/server/routes/widget/controllers/widget.set.js +0 -108
  485. package/server/routes/widget/hook/onWidgetSet.js +0 -13
  486. package/server/routes/widget/index.mjs +0 -38
  487. package/utils.js +0 -112
  488. /package/{server → dist/server}/plugins/grpc/utils/convertp.proto +0 -0
  489. /package/{server → dist/server}/plugins/grpc/utils/office2pdf.proto +0 -0
@@ -1,106 +0,0 @@
1
- /* eslint-disable no-param-reassign */
2
- /**
3
- * Форматування часу скільки залишилося чи пройшло від заданого
4
- *
5
- * @priority 3
6
- * @deprecated true
7
- * @type helper
8
- * @alias formatRelative
9
- * @example
10
- * {{formatRelative '2022-01-13T13:05:40.841795' locate='ua'}}
11
- * @example
12
- * {{formatRelative '2022-01-13T13:20:40.841795' locate='ua' percent=1}}
13
- * @param {Any} percent Будь-яке значення для відображення часу у відсотках
14
- * @param {String} locale Мова якою відобразити час: en ru ua
15
- * @param {String} data Отримана та введена дата для форматування
16
- * @param {String} short
17
- * @param {String} units
18
- * @param {String} unit
19
- * @param {String} data_only
20
- * @returns {String} Returns HTML
21
- */
22
-
23
- export default function formatRelative(data, options) {
24
- if (!data) return 'Date is required';
25
- if (typeof data === 'string') {
26
- data = new Date(data);
27
- }
28
-
29
- let chLang;
30
- let timeOut;
31
-
32
- const locale = options.hash.locate || 'en';
33
-
34
- const dateFrom = data;
35
- const dateTo = options.hash.date_to ? new Date(options.hash.date_to) : new Date();
36
-
37
- const templDifPast = {
38
- ua: ['секунд тому', 'хвилин тому', 'годин тому', 'днів тому', 'тижнів тому', 'місяців тому', 'років тому', 'Вибачте, але заданого типу не існує'],
39
- ru: ['секунд назад', 'минут назад', 'часов назад', 'дней назад', 'недель назад', 'місяцев назад', 'лет назад', 'Простите, но данного типа не существует'],
40
- en: ['seconds ago', 'minutes ago', 'hours ago', 'days ago', 'weeks ago', 'months ago', 'years ago', 'Sorry, no such type of date '],
41
- };
42
-
43
- const templDifFeature = {
44
- ua: ['секунд залишилось', 'хвилин залишилось', 'годин залишилось', 'днів залишилось', 'тижнів залишилось', 'місяців залишилось', 'років залишилось', 'Вибачте, але заданого типу не існує'],
45
- ru: ['секунд осталось', 'минут осталось', 'часов осталось', 'дней осталось', 'недель осталось', 'місяцев осталось', 'лет осталось', 'Простите, но данного типа не существует'],
46
- en: ['seconds left', 'minutes left', 'hours left', 'days left', 'weeks left', 'months left', 'years left', 'Sorry, no such type of date '],
47
- };
48
-
49
- const short = {
50
- ua: ['сек', 'хв', 'год', 'дн', 'тижд', 'міс', 'р', 'Вибачте, але заданого типу не існує'],
51
- ru: ['сек', 'мин', 'час', 'дн', 'нед', 'мес', 'г', 'Простите, но данного типа не существует'],
52
- en: ['sec', 'min', 'hr', 'day', 'wk', 'mon', 'y', 'Sorry, no such type of date '],
53
- };
54
-
55
- let dif = Math.floor(dateTo.getTime() - dateFrom.getTime()) / 1000;
56
-
57
- if (options.hash.percent) {
58
- return ((new Date().getTime() - dateFrom.getTime()) * 100) / (dateTo.getTime() - dateFrom.getTime());
59
- }
60
-
61
- if (dif > 0) {
62
- chLang = options.hash.short ? short[locale] : templDifPast[locale];
63
- }
64
- else if (dif < 0) {
65
- chLang = options.hash.short ? short[locale] : templDifFeature[locale];
66
- }
67
- dif = Math.abs(dif);
68
-
69
- const bestFit = [
70
- dif < 60,
71
- dif < 3600,
72
- dif < 3600 * 24,
73
- dif < 3600 * 24 * 30,
74
- dif < 3600 * 24 * 365,
75
- ].lastIndexOf(false) + 1;
76
-
77
- options.hash.units = options.hash.units || options.hash.unit || ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'][bestFit];
78
-
79
- switch (options.hash.units) {
80
- case 'second':
81
- timeOut = `${dif} ${options.hash.data_only ? '' : chLang[0]}`;
82
- break;
83
- case 'minute':
84
- timeOut = `${Math.floor(dif / 60)} ${options.hash.data_only ? '' : chLang[1]}`;
85
- break;
86
- case 'hour':
87
- timeOut = `${Math.floor(dif / (60 * 60))} ${options.hash.data_only ? '' : chLang[2]}`;
88
- break;
89
- case 'day':
90
- timeOut = `${Math.floor(dif / (60 * 60 * 24))} ${options.hash.data_only ? '' : chLang[3]}`;
91
- break;
92
- case 'week':
93
- timeOut = `${Math.floor(dif / (60 * 60 * 24 * 7))} ${options.hash.data_only ? '' : chLang[4]}`;
94
- break;
95
- case 'month':
96
- timeOut = `${Math.floor(dif / (60 * 60 * 24 * 30))} ${options.hash.data_only ? '' : chLang[5]}`;
97
- break;
98
- case 'year':
99
- timeOut = `${Math.floor(dif / (60 * 60 * 24 * 365))} ${options.hash.data_only ? '' : chLang[6]}`;
100
- break;
101
- default:
102
- break;
103
- }
104
-
105
- return timeOut;
106
- }
@@ -1,109 +0,0 @@
1
- /* eslint-disable no-param-reassign */
2
- /**
3
- * Перетинає два масиви
4
- *
5
- * @example
6
- * // returns [1, 4, 5, 6]
7
- * intersect([1,2,3,4,5,6],[1,4,5,6,7,8,9,11])
8
- * @param {Array} a
9
- * @param {Array} b
10
- * @returns {Array} Returns new intersect array
11
- */
12
- function intersect(a, b) {
13
- let aN = a; let bN = b;
14
- if (b.length > a.length) {
15
- [aN, bN] = [bN, aN];
16
- }
17
- return aN.filter((e) => bN.includes(e));
18
- }
19
-
20
- /**
21
- * Створення шаблона або його частини внаслідок перевірки значення із веб-запиту та заздалегідь прописаного значення.
22
- * Дозволяє змінювати наповнення сторінки через ряд перевірок. Є можливість внесення додаткової умови - що робити, коли умова не виконується.
23
- *
24
- * @summary Перевірка двох значень та виконання коду при виконанні умови, а також у всіх інших випадках.
25
- * @priority 5
26
- * @alias ifCond
27
- * @type helper
28
- * @tag condition
29
- * @example
30
- * {{#ifCond @root.req.domain 'in' 'help.softpro.ua,123'}} {{select user.uid data="get_full_uid"}} {{^}} Умова не виконана {{/ifCond}}
31
- * @example
32
- * {{#ifCond "1234567890" 'in' @root.user.group_list}} 1=1 {{^}} uid='{{uid}}' {{/ifCond}}
33
- * @example
34
- * {{#ifCond 'debug' 'in' @root.setting.core.setting}}Умова виконана{{^}}Не виконана умова{{/ifCond}}
35
- * @param {Array} args Параметри для значень і умов
36
- * @param {Array} args[0] Перше значення
37
- * @param {Array} args[1] Оператор
38
- * @param {Array} args[2] Друге значення
39
- * @returns {String} Returns HTML
40
- */
41
- export default function ifCond(v1, operator, v2, options) {
42
- const obj = this;
43
-
44
- const isEmpty = (val) => val === null || val === undefined || (Array.isArray(val) && val.length === 0) || val === '';
45
-
46
- switch (operator) {
47
- case '==':
48
- // eslint-disable-next-line eqeqeq
49
- return (v1 == v2) ? options.fn(obj) : options.inverse(obj);
50
- case '!=':
51
- // eslint-disable-next-line eqeqeq
52
- return (v1 != v2) ? options.fn(obj) : options.inverse(obj);
53
- case '===':
54
- return (v1 === v2) ? options.fn(obj) : options.inverse(obj);
55
- case '!==':
56
- return (v1 !== v2) ? options.fn(obj) : options.inverse(obj);
57
- case '&&':
58
- return (v1 && v2) ? options.fn(obj) : options.inverse(obj);
59
- case '||':
60
- return (v1 || v2) ? options.fn(obj) : options.inverse(obj);
61
- case '<':
62
- return (v1 < v2) ? options.fn(obj) : options.inverse(obj);
63
- case '<=':
64
- return (v1 <= v2) ? options.fn(obj) : options.inverse(obj);
65
- case '>':
66
- return (v1 > v2) ? options.fn(obj) : options.inverse(obj);
67
- case '>=':
68
- return (v1 >= v2) ? options.fn(obj) : options.inverse(obj);
69
- case '&':
70
- return (!isEmpty(v1) && !isEmpty(v2) && intersect(v1, v2).length !== 0)
71
- ? options.fn(obj)
72
- : options.inverse(obj);
73
- case '!~':
74
- return (v1 || '').indexOf(v2) === -1
75
- ? options.fn(obj)
76
- : options.inverse(obj);
77
- case '~':
78
- return (v1 || '').indexOf(v2) !== -1
79
- ? options.fn(obj)
80
- : options.inverse(obj);
81
- case 'period':
82
- return (!isEmpty(v1) && !isEmpty(v2) && new Date(v1) < new Date() && new Date(v2) > new Date())
83
- ? options.fn(obj)
84
- : options.inverse(obj);
85
- case 'in': {
86
- if (typeof v2 === 'string') v2 = v2.split(',').map(item => item.trim());
87
- if (isEmpty(v1) || isEmpty(v2)) return options.inverse(obj);
88
-
89
- if (Array.isArray(v1)) {
90
- return v1.some((value) => v2.includes(value.toString()))
91
- ? options.fn(obj)
92
- : options.inverse(obj);
93
- }
94
- return v2.includes(v1.toString())
95
- ? options.fn(obj)
96
- : options.inverse(obj);
97
- }
98
- case 'not in': {
99
- if (typeof v2 === 'string') v2 = v2.split(',').map(item => item.trim());
100
- if (isEmpty(v1) || isEmpty(v2)) return options.inverse(obj);
101
-
102
- return !v2.includes(v1.toString())
103
- ? options.fn(obj)
104
- : options.inverse(obj);
105
- }
106
- default:
107
- return options.inverse(obj);
108
- }
109
- }
@@ -1,114 +0,0 @@
1
- /* eslint-disable prefer-rest-params */
2
- function intersect(a, b) {
3
- let aN = [];
4
- let bN = [];
5
-
6
- if (Array.isArray(a)) {
7
- aN = a;
8
- }
9
- else if (typeof a === 'string') {
10
- aN = a.split(',');
11
- }
12
-
13
- if (Array.isArray(b)) {
14
- bN = b;
15
- }
16
- else if (typeof b === 'string') {
17
- bN = b.split(',');
18
- }
19
-
20
- return aN.filter(e => bN.includes(e));
21
- }
22
-
23
- /**
24
- * Створення шаблона або його частини внаслідок виконання одразу декількох перевірок, кожна з яких повинна повернути true.
25
- * Якщо хоча б одна умова не виконується, код у межах хелпера також не виконується.
26
- *
27
- * @summary Створення шаблона за перевіркою виконання декількох умов.
28
- * @priority 4
29
- * @type helper
30
- * @tag condition
31
- * @alias ifCondAnd
32
- * @example
33
- * {{#ifCondAnd 1 '==' 1 2 'in' '2,3' 2 'in' '1,2' }}1{{^}}2{{/ifCondAnd}}
34
- * @descr Виконання перевірки порівняння параметрів та їх входження до певного масиву (множини)
35
- * @example
36
- */
37
- export default function ifCondAnd() {
38
- const args = Array.from(arguments);
39
- const options = args.pop();
40
-
41
- const conditions = [];
42
- for (let i = 0; i < args.length; i += 3) {
43
- const v1 = args[i];
44
- const operator = args[i + 1];
45
- let v2 = args[i + 2];
46
-
47
- switch (operator) {
48
- case '==':
49
- // eslint-disable-next-line eqeqeq
50
- conditions.push(v1 == v2);
51
- break;
52
- case '!=':
53
- // eslint-disable-next-line eqeqeq
54
- conditions.push(v1 != v2);
55
- break;
56
- case '===':
57
- conditions.push(v1 === v2);
58
- break;
59
- case '!==':
60
- conditions.push(v1 !== v2);
61
- break;
62
- case '&&':
63
- conditions.push(v1 && v2);
64
- break;
65
- case '||':
66
- conditions.push(v1 || v2);
67
- break;
68
- case '<':
69
- conditions.push(v1 < v2);
70
- break;
71
- case '<=':
72
- conditions.push(v1 <= v2);
73
- break;
74
- case '>':
75
- conditions.push(v1 > v2);
76
- break;
77
- case '>=':
78
- conditions.push(v1 >= v2);
79
- break;
80
- case '&':
81
- conditions.push(intersect(v1, v2).length > 0);
82
- break;
83
- case '!~':
84
- conditions.push((v1 || '').indexOf(v2) === -1);
85
- break;
86
- case '~':
87
- conditions.push((v1 || '').indexOf(v2) !== -1);
88
- break;
89
- case 'period':
90
- conditions.push(new Date(v1) < new Date() && new Date(v2) > new Date());
91
- break;
92
- case 'in': {
93
- if (typeof v2 === 'string') v2 = v2.split(',').map(item => item.trim());
94
- if (Array.isArray(v1)) {
95
- conditions.push(v1.some((value) => v2.includes(value.toString())));
96
- }
97
- else {
98
- conditions.push(v2.includes(v1.toString()));
99
- }
100
- break;
101
- }
102
- case 'not in': {
103
- if (typeof v2 === 'string') v2 = v2.split(',').map(item => item.trim());
104
- conditions.push(!v2.includes(v1.toString()));
105
- break;
106
- }
107
- default:
108
- conditions.push(false);
109
- break;
110
- }
111
- }
112
-
113
- return conditions.every(Boolean) ? options.fn(this) : options.inverse(this);
114
- }
@@ -1,115 +0,0 @@
1
- /* eslint-disable prefer-rest-params */
2
- function intersect(a, b) {
3
- let aN = [];
4
- let bN = [];
5
-
6
- if (Array.isArray(a)) {
7
- aN = a;
8
- }
9
- else if (typeof a === 'string') {
10
- aN = a.split(',');
11
- }
12
-
13
- if (Array.isArray(b)) {
14
- bN = b;
15
- }
16
- else if (typeof b === 'string') {
17
- bN = b.split(',');
18
- }
19
-
20
- return aN.filter(e => bN.includes(e));
21
- }
22
-
23
- /**
24
- * Створення шаблона або його частини внаслідок виконання одразу декількох перевірок, хоча б одна з яких повинна повернути true
25
- *
26
- * @summary Створення шаблона за перевіркою "АБО". Повинна виконатись хоча б одна умова.
27
- * @priority 4
28
- * @type helper
29
- * @tag condition
30
- * @alias ifCondOr
31
- * @example
32
- * {{#ifCondOr 1 '==' 1 2 'in' '2,3' 2 'in' '1,2' }}Хоча б одна умова виконана{{^}}Жодна умова не була виконана{{/ifCondOr}}
33
- * @descr Виконання перевірки порівняння параметрів та їх входження до певного масиву (множини)
34
- * @example
35
- * @param {Array} args Параметри для значень і умов
36
- * @returns {String} Returns HTML
37
- */
38
- export default function ifCondOr() {
39
- const args = Array.from(arguments);
40
- const options = args.pop();
41
-
42
- const conditions = [];
43
- for (let i = 0; i < args.length; i += 3) {
44
- const v1 = args[i];
45
- const operator = args[i + 1];
46
- let v2 = args[i + 2];
47
-
48
- switch (operator) {
49
- case '==':
50
- // eslint-disable-next-line eqeqeq
51
- conditions.push(v1 == v2);
52
- break;
53
- case '!=':
54
- // eslint-disable-next-line eqeqeq
55
- conditions.push(v1 != v2);
56
- break;
57
- case '===':
58
- conditions.push(v1 === v2);
59
- break;
60
- case '!==':
61
- conditions.push(v1 !== v2);
62
- break;
63
- case '&&':
64
- conditions.push(v1 && v2);
65
- break;
66
- case '||':
67
- conditions.push(v1 || v2);
68
- break;
69
- case '<':
70
- conditions.push(v1 < v2);
71
- break;
72
- case '<=':
73
- conditions.push(v1 <= v2);
74
- break;
75
- case '>':
76
- conditions.push(v1 > v2);
77
- break;
78
- case '>=':
79
- conditions.push(v1 >= v2);
80
- break;
81
- case '&':
82
- conditions.push(intersect(v1, v2).length > 0);
83
- break;
84
- case '!~':
85
- conditions.push((v1 || '').indexOf(v2) === -1);
86
- break;
87
- case '~':
88
- conditions.push((v1 || '').indexOf(v2) !== -1);
89
- break;
90
- case 'period':
91
- conditions.push(new Date(v1) < new Date() && new Date(v2) > new Date());
92
- break;
93
- case 'in': {
94
- if (typeof v2 === 'string') v2 = v2.split(',').map(item => item.trim());
95
- if (Array.isArray(v1)) {
96
- conditions.push(v1.some((value) => v2.includes(value.toString())));
97
- }
98
- else {
99
- conditions.push(v2.includes(v1.toString()));
100
- }
101
- break;
102
- }
103
- case 'not in': {
104
- if (typeof v2 === 'string') v2 = v2.split(',').map(item => item.trim());
105
- conditions.push(!v2.includes(v1.toString()));
106
- break;
107
- }
108
- default:
109
- conditions.push(false);
110
- break;
111
- }
112
- }
113
-
114
- return conditions.some(Boolean) ? options.fn(this) : options.inverse(this);
115
- }
@@ -1,68 +0,0 @@
1
- import qr from 'qrcode';
2
-
3
- function isAllowedType(type) {
4
- return Boolean({
5
- png: 1, svg: 1, eps: 1, pdf: 1,
6
- }[type]);
7
- }
8
-
9
- function isAllowedErrorCorrectionLevel(ecLevel) {
10
- return Boolean({
11
- L: 1, M: 1, Q: 1, H: 1,
12
- }[ecLevel]);
13
- }
14
-
15
- /**
16
- * Генерує зображення з QR кодом, що перенаправляє на посилання.
17
- *
18
- * @summary Генератор QR код. Є можливість задання відступу та встановлення розширення вихідного зображення
19
- * @priority 3
20
- * @type helper
21
- * @tag file
22
- * @alias qrcode-generator-base64
23
- * @example
24
- * {{{qrcode-generator-base64 text=@root.req.domain type='png' margin=1}}}
25
- * @param {String} text Змінна, що містить посилання на файл або сторінку
26
- * @param {String} type Розширення зображення
27
- * @param {String} ec_level (?)
28
- * @param {Number} margin Відступ
29
- * @param {Number} size Розмір
30
- * @returns {String} Returns HTML
31
- */
32
- export default async function qrcodeGenerator({ hash }) {
33
- const text = String(hash?.text || '');
34
- const type = String(hash?.type || 'png').toLowerCase();
35
- const ecLevel = String(hash?.ec_level || 'M').toUpperCase();
36
- const margin = Math.abs(hash?.margin || (type === 'png' ? 4 : 1));
37
- let size;
38
-
39
- if (type === 'png') {
40
- size = Math.abs(hash?.size) || 5;
41
- }
42
- else if (type === 'svg') {
43
- size = Math.abs(hash?.size) || undefined;
44
- }
45
-
46
- if (!text) {
47
- return 'Qr text is required.';
48
- }
49
- if (!isAllowedType(type)) {
50
- return `Type "${type}" is not allowed.`;
51
- }
52
- if (!isAllowedErrorCorrectionLevel(ecLevel)) {
53
- return `Error correction level "${ecLevel}" is not allowed.`;
54
- }
55
-
56
- const options = (type === 'png' || type === 'svg') ? {
57
- ec_level: ecLevel, type, margin, size,
58
- } : { ec_level: ecLevel, type, margin };
59
-
60
- try {
61
- const qrString = await qr.toDataURL(text, options);
62
-
63
- return qrString;
64
- }
65
- catch (err) {
66
- return err.toString();
67
- }
68
- }
@@ -1,46 +0,0 @@
1
- import getPG from '../../plugins/pg/funcs/getPG.js';
2
- import getSelect from '../../plugins/table/funcs/getSelect.js';
3
-
4
- const pg = getPG();
5
-
6
- // todo: remove dupe from npm/admin?
7
- export default async function select(ids, options) {
8
- if (!ids || (Array.isArray(ids) && ids.length === 0) || ids === '') {
9
- return '';
10
- }
11
-
12
- const data = options.hash?.data;
13
- if (!data && data !== false && data !== 0) return '';
14
- try {
15
- const idsArray = Array.isArray(ids) ? ids : [ids];
16
-
17
- const classifier = await getSelect(data);
18
-
19
- if (!classifier) return `Не знайдено класифікатор ${data}`;
20
-
21
- const arr = classifier.arr || [];
22
- if (classifier.sql && typeof classifier.sql === 'string') {
23
- const metaQuery = `SELECT * FROM (${classifier.sql})q LIMIT 0`;
24
- const meta = await pg.query(metaQuery);
25
- const idColumn = meta.fields[0].name;
26
- const textColumn = meta.fields[1].name;
27
-
28
- const q = `SELECT "${idColumn}" AS id, "${textColumn}" AS text FROM (${classifier.sql}) q WHERE "${idColumn}"::text = ANY($1::text[])`;
29
- const values = [idsArray.map(id => String(id))];
30
-
31
- const { rows } = await pg.query(q, values);
32
- Object.assign(arr, rows);
33
- }
34
- if (!arr.length) return idsArray;
35
-
36
- const results = idsArray.map(id => {
37
- const result = arr.find(el => String(el.id) === String(id));
38
- return result ? result.text : '';
39
- });
40
-
41
- return results.filter(Boolean).join(', ');
42
- }
43
- catch (err) {
44
- return `Сталася помилка.<!-- err: ${err.toString()} -->`;
45
- }
46
- }