@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.
- package/dist/config.js +33 -0
- package/dist/dblist.js +5 -0
- package/dist/index.js +170 -0
- package/dist/redactionList.js +6 -0
- package/dist/server/helpers/core/badge.js +16 -0
- package/dist/server/helpers/core/buttonFilePreview.js +12 -0
- package/dist/server/helpers/core/buttonHelper.js +20 -0
- package/{server → dist/server}/helpers/core/token.js +16 -18
- package/dist/server/helpers/format/formatAuto.js +14 -0
- package/dist/server/helpers/format/formatDate.js +231 -0
- package/{server → dist/server}/helpers/format/formatDigit.js +21 -21
- package/dist/server/helpers/format/formatNum.js +331 -0
- package/{server → dist/server}/helpers/format/formatNumber.js +50 -55
- package/dist/server/helpers/format/formatRelative.js +180 -0
- package/{server → dist/server}/helpers/format/formatUnit.js +41 -40
- package/{server → dist/server}/helpers/format/num_format.js +40 -44
- package/{server → dist/server}/helpers/format/set.js +26 -27
- package/{server → dist/server}/helpers/funcs/_math.js +49 -50
- package/{server → dist/server}/helpers/funcs/contentList.js +52 -57
- package/{server → dist/server}/helpers/funcs/empty.js +21 -21
- package/dist/server/helpers/funcs/ifCond.js +109 -0
- package/dist/server/helpers/funcs/ifCondAnd.js +109 -0
- package/dist/server/helpers/funcs/ifCondOr.js +110 -0
- package/{server → dist/server}/helpers/funcs/inc.js +19 -20
- package/{server → dist/server}/helpers/funcs/json.js +3 -3
- package/dist/server/helpers/funcs/qrcode.js +65 -0
- package/{server → dist/server}/helpers/funcs/round.js +27 -29
- package/dist/server/helpers/funcs/select.js +39 -0
- package/dist/server/helpers/index.js +126 -0
- package/dist/server/helpers/list/buttonHelper.js +20 -0
- package/{server → dist/server}/helpers/list/descriptionList.js +39 -45
- package/dist/server/helpers/list/tableList.js +104 -0
- package/{server → dist/server}/helpers/list/utils/button.js +3 -3
- package/{server → dist/server}/helpers/list/utils/buttonDel.js +8 -9
- package/{server → dist/server}/helpers/list/utils/buttonEdit.js +8 -9
- package/{server → dist/server}/helpers/string/coalesce.js +33 -39
- package/{server → dist/server}/helpers/string/concat.js +25 -28
- package/{server → dist/server}/helpers/string/split.js +19 -20
- package/{server → dist/server}/helpers/string/str_replace.js +57 -62
- package/{server → dist/server}/helpers/string/substr.js +28 -32
- package/{server → dist/server}/helpers/string/translit.js +20 -23
- package/dist/server/helpers/string/utils/alphabet.js +76 -0
- package/{server → dist/server}/helpers/utils/button.js +3 -3
- package/{server → dist/server}/helpers/utils/buttonAdd.js +4 -4
- package/{server → dist/server}/helpers/utils/buttonDel.js +11 -15
- package/{server → dist/server}/helpers/utils/buttonDownload.js +3 -3
- package/dist/server/helpers/utils/buttonEdit.js +14 -0
- package/{server → dist/server}/helpers/utils/buttonPreview.js +3 -3
- package/{server → dist/server}/helpers/utils/mdToHTML.js +16 -17
- package/{server → dist/server}/helpers/utils/paddingNumber.js +5 -5
- package/dist/server/plugins/access/funcs/getAdminAccess.js +11 -0
- package/dist/server/plugins/cron/cronList.js +2 -0
- package/dist/server/plugins/cron/funcs/addCron.js +41 -0
- package/{server → dist/server}/plugins/cron/funcs/interval2ms.js +36 -40
- package/dist/server/plugins/cron/funcs/runCron.js +20 -0
- package/{server → dist/server}/plugins/cron/funcs/verifyUnique.js +19 -23
- package/dist/server/plugins/cron/index.js +75 -0
- package/dist/server/plugins/crud/funcs/dataDelete.js +87 -0
- package/dist/server/plugins/crud/funcs/dataInsert.js +134 -0
- package/dist/server/plugins/crud/funcs/dataUpdate.js +198 -0
- package/dist/server/plugins/crud/funcs/getAccess.js +82 -0
- package/dist/server/plugins/crud/funcs/getOpt.js +13 -0
- package/dist/server/plugins/crud/funcs/getToken.js +24 -0
- package/dist/server/plugins/crud/funcs/isFileExists.js +11 -0
- package/dist/server/plugins/crud/funcs/setOpt.js +19 -0
- package/dist/server/plugins/crud/funcs/setToken.js +41 -0
- package/dist/server/plugins/crud/funcs/utils/getFolder.js +13 -0
- package/dist/server/plugins/crud/funcs/utils/getInsertQuery.js +54 -0
- package/dist/server/plugins/crud/funcs/utils/logChanges.js +144 -0
- package/{server → dist/server}/plugins/crud/funcs/validateData.js +91 -83
- package/dist/server/plugins/extra/extraData.js +81 -0
- package/dist/server/plugins/extra/extraDataGet.js +52 -0
- package/dist/server/plugins/file/downloadFile.js +15 -0
- package/{server → dist/server}/plugins/file/getExport.js +18 -38
- package/dist/server/plugins/file/isFileExists.js +13 -0
- package/dist/server/plugins/file/providers/fs.js +86 -0
- package/dist/server/plugins/file/providers/index.js +28 -0
- package/dist/server/plugins/file/providers/mime/index.js +7 -0
- package/dist/server/plugins/file/providers/mime/mimes.js +1179 -0
- package/dist/server/plugins/file/providers/s3/client.js +26 -0
- package/dist/server/plugins/file/providers/s3/funcs/downloadFile.js +42 -0
- package/dist/server/plugins/file/providers/s3/funcs/fileExists.js +24 -0
- package/dist/server/plugins/file/providers/s3/funcs/uploadFile.js +35 -0
- package/dist/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +18 -0
- package/{server → dist/server}/plugins/file/providers/s3/index.js +11 -12
- package/dist/server/plugins/file/providers/utils/getDataSize.js +19 -0
- package/dist/server/plugins/file/providers/utils/getValidData.js +30 -0
- package/dist/server/plugins/file/providers/utils/handlers/dataTypes.js +7 -0
- package/dist/server/plugins/file/providers/utils/handlers/index.js +50 -0
- package/dist/server/plugins/file/providers/utils/handlers/sizeHandlers.js +9 -0
- package/dist/server/plugins/file/providers/utils/streamToBuffer.js +7 -0
- package/{server → dist/server}/plugins/file/providers/utils/typeguards/isArray.js +2 -3
- package/{server → dist/server}/plugins/file/providers/utils/typeguards/isBuffer.js +2 -3
- package/dist/server/plugins/file/providers/utils/typeguards/isPath.js +3 -0
- package/dist/server/plugins/file/providers/utils/typeguards/isReadableStream.js +7 -0
- package/{server → dist/server}/plugins/file/providers/utils/typeguards/isText.js +2 -3
- package/dist/server/plugins/file/uploadFile.js +14 -0
- package/dist/server/plugins/file/uploadMultiPart.js +101 -0
- package/dist/server/plugins/file/utils/allowedExtensions.js +60 -0
- package/{server → dist/server}/plugins/file/utils/getFileType.js +12 -10
- package/dist/server/plugins/file/utils/getPath.js +30 -0
- package/dist/server/plugins/file/utils/isFileExists.js +15 -0
- package/dist/server/plugins/grpc/file2json.js +50 -0
- package/dist/server/plugins/grpc/grpc.js +103 -0
- package/dist/server/plugins/grpc/office2pdf.js +78 -0
- package/dist/server/plugins/grpc/utils/csv2xls.js +6 -0
- package/dist/server/plugins/grpc/utils/excel2Json.js +10 -0
- package/dist/server/plugins/grpc/utils/html2doc.js +17 -0
- package/dist/server/plugins/grpc/utils/html2img.js +17 -0
- package/dist/server/plugins/grpc/utils/html2pdf.js +19 -0
- package/{server → dist/server}/plugins/grpc/utils/htmlTemplate.js +3 -4
- package/dist/server/plugins/grpc/utils/json2xls.js +11 -0
- package/dist/server/plugins/grpc/utils/mergePdf.js +18 -0
- package/dist/server/plugins/hook/funcs/addHook.js +7 -0
- package/dist/server/plugins/hook/funcs/applyHook.js +25 -0
- package/dist/server/plugins/hook/funcs/applyHookSync.js +7 -0
- package/dist/server/plugins/hook/hookList.js +2 -0
- package/{server → dist/server}/plugins/hook/index.js +7 -8
- package/dist/server/plugins/logger/createFileStream.js +79 -0
- package/dist/server/plugins/logger/errorMessage.js +24 -0
- package/dist/server/plugins/logger/errorStatus.js +17 -0
- package/dist/server/plugins/logger/getHooks.js +17 -0
- package/dist/server/plugins/logger/getLogger.js +52 -0
- package/dist/server/plugins/logger/index.js +37 -0
- package/dist/server/plugins/logger/labels.js +10 -0
- package/dist/server/plugins/logger/serializers.js +22 -0
- package/{server → dist/server}/plugins/logger/timestampWithTimeZone.js +5 -5
- package/dist/server/plugins/md/funcs/formatMdoc.js +45 -0
- package/{server → dist/server}/plugins/md/funcs/mdToHTML.js +16 -17
- package/dist/server/plugins/metric/index.js +6 -0
- package/dist/server/plugins/metric/loggerSystem.js +127 -0
- package/dist/server/plugins/metric/systemMetricsFifthly.js +20 -0
- package/dist/server/plugins/migration/exec.migrations.js +59 -0
- package/dist/server/plugins/migration/exec.sql.js +61 -0
- package/{server → dist/server}/plugins/migration/index.js +5 -7
- package/dist/server/plugins/pg/funcs/autoIndex.js +102 -0
- package/{server → dist/server}/plugins/pg/funcs/getDBParams.js +16 -15
- package/dist/server/plugins/pg/funcs/getMeta.js +48 -0
- package/dist/server/plugins/pg/funcs/getPG.js +39 -0
- package/dist/server/plugins/pg/funcs/getPGAsync.js +45 -0
- package/dist/server/plugins/pg/funcs/init.js +157 -0
- package/dist/server/plugins/pg/index.js +47 -0
- package/dist/server/plugins/pg/pgClients.js +20 -0
- package/dist/server/plugins/policy/funcs/checkPolicy.js +173 -0
- package/dist/server/plugins/policy/funcs/checkXSS.js +44 -0
- package/dist/server/plugins/policy/index.js +11 -0
- package/dist/server/plugins/policy/sqlInjection.js +33 -0
- package/dist/server/plugins/policy/xssInjection.js +72 -0
- package/{server → dist/server}/plugins/redis/client.js +6 -8
- package/dist/server/plugins/redis/funcs/getRedis.js +23 -0
- package/{server → dist/server}/plugins/redis/funcs/redisClients.js +2 -3
- package/dist/server/plugins/redis/index.js +8 -0
- package/dist/server/plugins/sqlite/funcs/getSqlite.js +27 -0
- package/dist/server/plugins/sqlite/funcs/init.js +45 -0
- package/dist/server/plugins/sqlite/index.js +8 -0
- package/dist/server/plugins/sqlite/sqliteClients.js +24 -0
- package/dist/server/plugins/table/funcs/addMenu.js +12 -0
- package/dist/server/plugins/table/funcs/addTemplateDir.js +16 -0
- package/dist/server/plugins/table/funcs/customTokens.js +2 -0
- package/dist/server/plugins/table/funcs/getData.js +25 -0
- package/dist/server/plugins/table/funcs/getFilter.js +18 -0
- package/dist/server/plugins/table/funcs/getFilterSQL/index.js +201 -0
- package/dist/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +131 -0
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +11 -0
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +84 -0
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +11 -0
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +161 -0
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +40 -0
- package/dist/server/plugins/table/funcs/getSelect.js +37 -0
- package/dist/server/plugins/table/funcs/getSelectMeta.js +77 -0
- package/dist/server/plugins/table/funcs/getTemplate.js +86 -0
- package/dist/server/plugins/table/funcs/getTemplatePath.js +60 -0
- package/dist/server/plugins/table/funcs/getTemplateSync.js +84 -0
- package/dist/server/plugins/table/funcs/getTemplates.js +15 -0
- package/dist/server/plugins/table/funcs/gisIRColumn.js +81 -0
- package/dist/server/plugins/table/funcs/loadTemplate.js +2 -0
- package/dist/server/plugins/table/funcs/loadTemplatePath.js +2 -0
- package/dist/server/plugins/table/funcs/menuDirs.js +2 -0
- package/dist/server/plugins/table/funcs/metaFormat/getSelectVal.js +75 -0
- package/dist/server/plugins/table/funcs/metaFormat/index.js +64 -0
- package/dist/server/plugins/table/funcs/userTemplateDir.js +2 -0
- package/dist/server/plugins/table/funcs/userTokens.js +2 -0
- package/dist/server/plugins/util/funcs/eventStream.js +28 -0
- package/{server → dist/server}/plugins/util/funcs/flattenObject.js +14 -12
- package/{server → dist/server}/plugins/util/funcs/unflattenObject.js +48 -46
- package/{server → dist/server}/plugins/yml/funcs/json2yml.js +3 -5
- package/{server → dist/server}/plugins/yml/funcs/yml2json.js +11 -14
- package/{server → dist/server}/routes/access/controllers/access.group.js +17 -23
- package/{server → dist/server}/routes/access/controllers/access.group.post.js +46 -53
- package/dist/server/routes/access/controllers/access.interface.js +36 -0
- package/{server/routes/access/index.mjs → dist/server/routes/access/index.js} +10 -12
- package/{server/routes/access/schema.mjs → dist/server/routes/access/schema.js} +65 -68
- package/dist/server/routes/cron/controllers/cronApi.js +16 -0
- package/dist/server/routes/cron/index.js +15 -0
- package/dist/server/routes/crud/controllers/deleteCrud.js +90 -0
- package/dist/server/routes/crud/controllers/insert.js +110 -0
- package/dist/server/routes/crud/controllers/table.js +144 -0
- package/dist/server/routes/crud/controllers/update.js +113 -0
- package/dist/server/routes/crud/index.js +22 -0
- package/dist/server/routes/dblist/controllers/readItems.js +25 -0
- package/dist/server/routes/dblist/controllers/setItem.js +20 -0
- package/dist/server/routes/dblist/index.js +17 -0
- package/dist/server/routes/dblist/utils/formatData.js +8 -0
- package/dist/server/routes/file/controllers/delete.js +99 -0
- package/dist/server/routes/file/controllers/download.js +56 -0
- package/dist/server/routes/file/controllers/export.js +294 -0
- package/dist/server/routes/file/controllers/files.js +57 -0
- package/dist/server/routes/file/controllers/resize.js +86 -0
- package/dist/server/routes/file/controllers/resizeAll.js +140 -0
- package/dist/server/routes/file/controllers/upload.js +56 -0
- package/dist/server/routes/file/controllers/uploadImage.js +45 -0
- package/dist/server/routes/file/controllers/utils/formatResult.js +13 -0
- package/dist/server/routes/file/controllers/utils/jsonToCsv.js +40 -0
- package/dist/server/routes/file/controllers/utils/jsonToXls.js +37 -0
- package/dist/server/routes/file/index.js +22 -0
- package/dist/server/routes/file/schema.js +14 -0
- package/dist/server/routes/grpc/controllers/file2geojson.js +54 -0
- package/dist/server/routes/grpc/controllers/filePreview.js +87 -0
- package/dist/server/routes/grpc/index.js +9 -0
- package/dist/server/routes/logger/controllers/logger.file.js +81 -0
- package/dist/server/routes/logger/controllers/logger.test.api.js +42 -0
- package/dist/server/routes/logger/controllers/utils/checkUserAccess.js +22 -0
- package/dist/server/routes/logger/controllers/utils/getRootDir.js +25 -0
- package/dist/server/routes/logger/index.js +18 -0
- package/dist/server/routes/menu/controllers/getMenu.js +98 -0
- package/dist/server/routes/menu/controllers/interfaces.js +18 -0
- package/dist/server/routes/menu/index.js +7 -0
- package/dist/server/routes/properties/controllers/properties.get.js +23 -0
- package/dist/server/routes/properties/controllers/properties.post.js +68 -0
- package/dist/server/routes/properties/index.js +21 -0
- package/dist/server/routes/table/controllers/card.js +79 -0
- package/dist/server/routes/table/controllers/cardData.js +161 -0
- package/dist/server/routes/table/controllers/cardTabData.js +49 -0
- package/dist/server/routes/table/controllers/dataInfo.js +57 -0
- package/dist/server/routes/table/controllers/filter.js +181 -0
- package/dist/server/routes/table/controllers/form.js +41 -0
- package/{server → dist/server}/routes/table/controllers/getFormByTable.js +105 -125
- package/dist/server/routes/table/controllers/search.js +80 -0
- package/dist/server/routes/table/controllers/suggest.js +242 -0
- package/dist/server/routes/table/controllers/tableData.js +88 -0
- package/dist/server/routes/table/controllers/tableInfo.js +112 -0
- package/dist/server/routes/table/controllers/tokenInfo.js +10 -0
- package/dist/server/routes/table/controllers/utils/conditions.js +30 -0
- package/dist/server/routes/table/controllers/utils/formatSchema.js +35 -0
- package/dist/server/routes/table/controllers/utils/locales.js +2 -0
- package/dist/server/routes/table/functions/getData.js +584 -0
- package/dist/server/routes/table/index.js +44 -0
- package/dist/server/routes/table/schema.js +117 -0
- package/dist/server/routes/templates/controllers/getTemplate.js +65 -0
- package/dist/server/routes/templates/index.js +7 -0
- package/{server → dist/server}/routes/templates/schema.js +11 -12
- package/dist/server/routes/util/controllers/code.generator.js +75 -0
- package/dist/server/routes/util/controllers/next.id.js +4 -0
- package/dist/server/routes/util/controllers/status.monitor.js +6 -0
- package/dist/server/routes/util/controllers/user.tokens.js +32 -0
- package/dist/server/routes/util/index.js +13 -0
- package/dist/server/routes/widget/controllers/file.edit.js +48 -0
- package/dist/server/routes/widget/controllers/widget.del.js +84 -0
- package/dist/server/routes/widget/controllers/widget.get.js +164 -0
- package/dist/server/routes/widget/controllers/widget.set.js +117 -0
- package/dist/server/routes/widget/hook/onWidgetSet.js +10 -0
- package/dist/server/routes/widget/index.js +42 -0
- package/dist/server/types/core.js +12 -0
- package/dist/utils.js +93 -0
- package/package.json +23 -16
- package/config.js +0 -37
- package/dblist.js +0 -5
- package/index.js +0 -193
- package/redactionList.js +0 -7
- package/server/helpers/core/badge.js +0 -14
- package/server/helpers/core/buttonFilePreview.js +0 -12
- package/server/helpers/core/buttonHelper.js +0 -22
- package/server/helpers/format/formatAuto.js +0 -13
- package/server/helpers/format/formatDate.js +0 -258
- package/server/helpers/format/formatNum.js +0 -365
- package/server/helpers/format/formatRelative.js +0 -106
- package/server/helpers/funcs/ifCond.js +0 -109
- package/server/helpers/funcs/ifCondAnd.js +0 -114
- package/server/helpers/funcs/ifCondOr.js +0 -115
- package/server/helpers/funcs/qrcode.js +0 -68
- package/server/helpers/funcs/select.js +0 -46
- package/server/helpers/index.js +0 -137
- package/server/helpers/list/buttonHelper.js +0 -22
- package/server/helpers/list/tableList.js +0 -87
- package/server/helpers/string/utils/alphabet.js +0 -76
- package/server/helpers/utils/buttonEdit.js +0 -17
- package/server/migrations/0.sql +0 -84
- package/server/migrations/cls.sql +0 -40
- package/server/migrations/context.sql +0 -135
- package/server/migrations/crm.sql +0 -155
- package/server/migrations/log.sql +0 -87
- package/server/migrations/properties.sql +0 -115
- package/server/migrations/roles.sql +0 -191
- package/server/migrations/template.sql +0 -44
- package/server/migrations/users.sql +0 -176
- package/server/plugins/access/funcs/getAdminAccess.js +0 -14
- package/server/plugins/access/index.mjs +0 -6
- package/server/plugins/cron/cronList.js +0 -1
- package/server/plugins/cron/funcs/addCron.js +0 -52
- package/server/plugins/cron/funcs/runCron.js +0 -24
- package/server/plugins/cron/index.js +0 -77
- package/server/plugins/crud/funcs/dataDelete.js +0 -86
- package/server/plugins/crud/funcs/dataInsert.js +0 -131
- package/server/plugins/crud/funcs/dataUpdate.js +0 -179
- package/server/plugins/crud/funcs/getAccess.js +0 -94
- package/server/plugins/crud/funcs/getOpt.js +0 -14
- package/server/plugins/crud/funcs/getToken.js +0 -33
- package/server/plugins/crud/funcs/isFileExists.js +0 -13
- package/server/plugins/crud/funcs/setOpt.js +0 -21
- package/server/plugins/crud/funcs/setToken.js +0 -43
- package/server/plugins/crud/funcs/utils/getFolder.js +0 -11
- package/server/plugins/crud/funcs/utils/getInsertQuery.js +0 -44
- package/server/plugins/crud/funcs/utils/logChanges.js +0 -121
- package/server/plugins/crud/index.js +0 -23
- package/server/plugins/extra/extraData.js +0 -79
- package/server/plugins/extra/extraDataGet.js +0 -56
- package/server/plugins/file/downloadFile.js +0 -18
- package/server/plugins/file/isFileExists.js +0 -17
- package/server/plugins/file/providers/fs.js +0 -100
- package/server/plugins/file/providers/index.d.ts +0 -49
- package/server/plugins/file/providers/index.js +0 -36
- package/server/plugins/file/providers/mime/index.js +0 -12
- package/server/plugins/file/providers/mime/mimes.js +0 -1180
- package/server/plugins/file/providers/s3/client.js +0 -41
- package/server/plugins/file/providers/s3/funcs/downloadFile.js +0 -50
- package/server/plugins/file/providers/s3/funcs/fileExists.js +0 -32
- package/server/plugins/file/providers/s3/funcs/uploadFile.js +0 -46
- package/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +0 -23
- package/server/plugins/file/providers/utils/getDataSize.js +0 -20
- package/server/plugins/file/providers/utils/getValidData.js +0 -32
- package/server/plugins/file/providers/utils/handlers/dataTypes.js +0 -8
- package/server/plugins/file/providers/utils/handlers/index.js +0 -53
- package/server/plugins/file/providers/utils/handlers/sizeHandlers.js +0 -11
- package/server/plugins/file/providers/utils/streamToBuffer.js +0 -8
- package/server/plugins/file/providers/utils/typeguards/isPath.js +0 -5
- package/server/plugins/file/providers/utils/typeguards/isReadableStream.js +0 -8
- package/server/plugins/file/uploadFile.js +0 -19
- package/server/plugins/file/uploadMultiPart.js +0 -131
- package/server/plugins/file/utils/allowedExtensions.js +0 -25
- package/server/plugins/file/utils/getPath.js +0 -25
- package/server/plugins/file/utils/isFileExists.js +0 -16
- package/server/plugins/grpc/file2json.js +0 -54
- package/server/plugins/grpc/grpc.js +0 -125
- package/server/plugins/grpc/office2pdf.js +0 -91
- package/server/plugins/grpc/utils/csv2xls.js +0 -8
- package/server/plugins/grpc/utils/excel2Json.js +0 -8
- package/server/plugins/grpc/utils/html2doc.js +0 -19
- package/server/plugins/grpc/utils/html2img.js +0 -18
- package/server/plugins/grpc/utils/html2pdf.js +0 -23
- package/server/plugins/grpc/utils/json2xls.js +0 -13
- package/server/plugins/grpc/utils/mergePdf.js +0 -20
- package/server/plugins/hook/funcs/addHook.js +0 -8
- package/server/plugins/hook/funcs/applyHook.js +0 -25
- package/server/plugins/hook/funcs/applyHookSync.js +0 -9
- package/server/plugins/hook/hookList.js +0 -1
- package/server/plugins/logger/createFileStream.js +0 -88
- package/server/plugins/logger/errorMessage.js +0 -25
- package/server/plugins/logger/errorStatus.js +0 -19
- package/server/plugins/logger/getHooks.js +0 -21
- package/server/plugins/logger/getLogger.js +0 -58
- package/server/plugins/logger/index.js +0 -33
- package/server/plugins/logger/labels.js +0 -11
- package/server/plugins/logger/serializers.js +0 -25
- package/server/plugins/md/funcs/formatMdoc.js +0 -40
- package/server/plugins/metric/index.js +0 -8
- package/server/plugins/metric/loggerSystem.js +0 -131
- package/server/plugins/metric/systemMetricsFifthly.js +0 -24
- package/server/plugins/migration/exec.migrations.js +0 -63
- package/server/plugins/migration/exec.sql.js +0 -67
- package/server/plugins/pg/funcs/autoIndex.js +0 -103
- package/server/plugins/pg/funcs/getMeta.js +0 -49
- package/server/plugins/pg/funcs/getPG.js +0 -42
- package/server/plugins/pg/funcs/getPGAsync.js +0 -62
- package/server/plugins/pg/funcs/init.js +0 -117
- package/server/plugins/pg/index.js +0 -54
- package/server/plugins/pg/pgClients.js +0 -22
- package/server/plugins/policy/funcs/checkPolicy.js +0 -127
- package/server/plugins/policy/funcs/checkXSS.js +0 -37
- package/server/plugins/policy/index.js +0 -11
- package/server/plugins/policy/sqlInjection.js +0 -34
- package/server/plugins/policy/xssInjection.js +0 -73
- package/server/plugins/redis/funcs/getRedis.js +0 -25
- package/server/plugins/redis/index.js +0 -17
- package/server/plugins/sqlite/funcs/getSqlite.js +0 -39
- package/server/plugins/sqlite/funcs/init.js +0 -53
- package/server/plugins/sqlite/index.js +0 -11
- package/server/plugins/sqlite/sqliteClients.js +0 -26
- package/server/plugins/table/funcs/addMenu.js +0 -16
- package/server/plugins/table/funcs/addTemplateDir.js +0 -19
- package/server/plugins/table/funcs/customTokens.js +0 -1
- package/server/plugins/table/funcs/getData.js +0 -14
- package/server/plugins/table/funcs/getFilter.js +0 -14
- package/server/plugins/table/funcs/getFilterSQL/index.js +0 -163
- package/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +0 -136
- package/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +0 -13
- package/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +0 -75
- package/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +0 -12
- package/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +0 -156
- package/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +0 -34
- package/server/plugins/table/funcs/getSelect.js +0 -31
- package/server/plugins/table/funcs/getSelectMeta.js +0 -74
- package/server/plugins/table/funcs/getTemplate.js +0 -88
- package/server/plugins/table/funcs/getTemplatePath.js +0 -60
- package/server/plugins/table/funcs/getTemplateSync.js +0 -87
- package/server/plugins/table/funcs/getTemplates.js +0 -19
- package/server/plugins/table/funcs/gisIRColumn.js +0 -82
- package/server/plugins/table/funcs/loadTemplate.js +0 -1
- package/server/plugins/table/funcs/loadTemplatePath.js +0 -1
- package/server/plugins/table/funcs/menuDirs.js +0 -1
- package/server/plugins/table/funcs/metaFormat/getSelectVal.js +0 -61
- package/server/plugins/table/funcs/metaFormat/index.js +0 -49
- package/server/plugins/table/funcs/userTemplateDir.js +0 -1
- package/server/plugins/table/funcs/userTokens.js +0 -1
- package/server/plugins/table/index.js +0 -13
- package/server/plugins/util/funcs/eventStream.js +0 -29
- package/server/plugins/util/index.js +0 -7
- package/server/routes/access/controllers/access.interface.js +0 -37
- package/server/routes/cron/controllers/cronApi.js +0 -22
- package/server/routes/cron/index.js +0 -19
- package/server/routes/crud/controllers/deleteCrud.js +0 -84
- package/server/routes/crud/controllers/insert.js +0 -103
- package/server/routes/crud/controllers/table.js +0 -116
- package/server/routes/crud/controllers/update.js +0 -108
- package/server/routes/crud/index.js +0 -26
- package/server/routes/dblist/controllers/readItems.js +0 -28
- package/server/routes/dblist/controllers/setItem.js +0 -25
- package/server/routes/dblist/index.mjs +0 -19
- package/server/routes/dblist/utils/formatData.js +0 -7
- package/server/routes/file/controllers/delete.js +0 -108
- package/server/routes/file/controllers/download.js +0 -66
- package/server/routes/file/controllers/export.js +0 -290
- package/server/routes/file/controllers/files.js +0 -72
- package/server/routes/file/controllers/resize.js +0 -96
- package/server/routes/file/controllers/resizeAll.js +0 -165
- package/server/routes/file/controllers/upload.js +0 -55
- package/server/routes/file/controllers/uploadImage.js +0 -47
- package/server/routes/file/controllers/utils/formatResult.js +0 -17
- package/server/routes/file/controllers/utils/jsonToCsv.js +0 -36
- package/server/routes/file/controllers/utils/jsonToXls.js +0 -42
- package/server/routes/file/index.mjs +0 -26
- package/server/routes/file/schema.js +0 -16
- package/server/routes/grpc/controllers/file2geojson.js +0 -60
- package/server/routes/grpc/controllers/filePreview.js +0 -89
- package/server/routes/grpc/index.mjs +0 -12
- package/server/routes/logger/controllers/logger.file.js +0 -97
- package/server/routes/logger/controllers/logger.test.api.js +0 -48
- package/server/routes/logger/controllers/utils/checkUserAccess.js +0 -24
- package/server/routes/logger/controllers/utils/getRootDir.js +0 -27
- package/server/routes/logger/index.js +0 -22
- package/server/routes/menu/controllers/getMenu.js +0 -98
- package/server/routes/menu/controllers/interfaces.js +0 -21
- package/server/routes/menu/index.mjs +0 -8
- package/server/routes/menu/schema.js +0 -0
- package/server/routes/properties/controllers/properties.get.js +0 -33
- package/server/routes/properties/controllers/properties.post.js +0 -76
- package/server/routes/properties/index.js +0 -25
- package/server/routes/table/controllers/card.js +0 -77
- package/server/routes/table/controllers/cardData.js +0 -155
- package/server/routes/table/controllers/cardTabData.js +0 -57
- package/server/routes/table/controllers/dataInfo.js +0 -56
- package/server/routes/table/controllers/filter.js +0 -154
- package/server/routes/table/controllers/form.js +0 -42
- package/server/routes/table/controllers/search.js +0 -74
- package/server/routes/table/controllers/suggest.js +0 -246
- package/server/routes/table/controllers/tableData.js +0 -62
- package/server/routes/table/controllers/tableInfo.js +0 -110
- package/server/routes/table/controllers/tokenInfo.js +0 -12
- package/server/routes/table/controllers/utils/conditions.js +0 -21
- package/server/routes/table/controllers/utils/formatSchema.js +0 -23
- package/server/routes/table/controllers/utils/locales.js +0 -1
- package/server/routes/table/functions/getData.js +0 -436
- package/server/routes/table/index.js +0 -57
- package/server/routes/table/schema.js +0 -127
- package/server/routes/templates/controllers/getTemplate.js +0 -51
- package/server/routes/templates/index.mjs +0 -10
- package/server/routes/util/controllers/code.generator.js +0 -94
- package/server/routes/util/controllers/next.id.js +0 -4
- package/server/routes/util/controllers/status.monitor.js +0 -8
- package/server/routes/util/controllers/user.tokens.js +0 -45
- package/server/routes/util/index.js +0 -14
- package/server/routes/widget/controllers/file.edit.js +0 -55
- package/server/routes/widget/controllers/widget.del.js +0 -99
- package/server/routes/widget/controllers/widget.get.js +0 -156
- package/server/routes/widget/controllers/widget.set.js +0 -108
- package/server/routes/widget/hook/onWidgetSet.js +0 -13
- package/server/routes/widget/index.mjs +0 -38
- package/utils.js +0 -112
- /package/{server → dist/server}/plugins/grpc/utils/convertp.proto +0 -0
- /package/{server → dist/server}/plugins/grpc/utils/office2pdf.proto +0 -0
|
@@ -1,40 +1,41 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-globals */
|
|
2
|
-
/* eslint-disable no-param-reassign */
|
|
3
|
-
/**
|
|
4
|
-
* Повертає розмір файлу на диску у встановлених одиницях вимірювання об'єму файлу.
|
|
5
|
-
*
|
|
6
|
-
* @summary Повертає розмір растру у відповідних одиницях об'єму файлу (Тбайт, Гбайт, Мбайт)
|
|
7
|
-
* @priority 2
|
|
8
|
-
* @type helper
|
|
9
|
-
* @tag format
|
|
10
|
-
* @alias formatUnit
|
|
11
|
-
* @example
|
|
12
|
-
* {{formatUnit '123.45678' number="2"}}
|
|
13
|
-
* @param {data} data Число для перетворення
|
|
14
|
-
* @param {Number} number Число після точки
|
|
15
|
-
* @param {String} unit "В"
|
|
16
|
-
* @returns {String} Returns HTML
|
|
17
|
-
*/
|
|
18
|
-
export default function formatUnit(data, options) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
1
|
+
/* eslint-disable no-restricted-globals */
|
|
2
|
+
/* eslint-disable no-param-reassign */
|
|
3
|
+
/**
|
|
4
|
+
* Повертає розмір файлу на диску у встановлених одиницях вимірювання об'єму файлу.
|
|
5
|
+
*
|
|
6
|
+
* @summary Повертає розмір растру у відповідних одиницях об'єму файлу (Тбайт, Гбайт, Мбайт)
|
|
7
|
+
* @priority 2
|
|
8
|
+
* @type helper
|
|
9
|
+
* @tag format
|
|
10
|
+
* @alias formatUnit
|
|
11
|
+
* @example
|
|
12
|
+
* {{formatUnit '123.45678' number="2"}}
|
|
13
|
+
* @param {data} data Число для перетворення
|
|
14
|
+
* @param {Number} number Число після точки
|
|
15
|
+
* @param {String} unit "В"
|
|
16
|
+
* @returns {String} Returns HTML
|
|
17
|
+
*/
|
|
18
|
+
export default function formatUnit(data, options) {
|
|
19
|
+
data = parseFloat(data);
|
|
20
|
+
if (isNaN(data))
|
|
21
|
+
return data;
|
|
22
|
+
const UNIT = {
|
|
23
|
+
B: {
|
|
24
|
+
4: "TB",
|
|
25
|
+
3: "GB",
|
|
26
|
+
2: "MB",
|
|
27
|
+
1: "KB",
|
|
28
|
+
0: "B",
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
const unit = UNIT[options.hash.unit] || UNIT.B;
|
|
32
|
+
const number = options.hash.number || 0;
|
|
33
|
+
for (let i = 4; i >= 0; i -= 1) {
|
|
34
|
+
/* If i=0 then dataNew>0 - size in min units (17/03/20 by Olya) */
|
|
35
|
+
if (data >= (i ? 10 ** (3 * i) : i)) {
|
|
36
|
+
return ((data / 10 ** (3 * i)).toFixed(data % 10 ** (3 * i) ? number : 0) +
|
|
37
|
+
unit[i]);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return data.toString();
|
|
41
|
+
}
|
|
@@ -1,44 +1,40 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-globals */
|
|
2
|
-
/* eslint-disable no-param-reassign */
|
|
3
|
-
/**
|
|
4
|
-
* Приведення чисел до стандартизованого виду
|
|
5
|
-
*
|
|
6
|
-
* @summary Форматування у число. Є можливість використання разом із значком span
|
|
7
|
-
* @priority 4
|
|
8
|
-
* @type helper
|
|
9
|
-
* @tag format
|
|
10
|
-
* @alias numFormat
|
|
11
|
-
* @example
|
|
12
|
-
* {{{num_format (coalesce rows.[0].attr 123.456) dec="2"}}}
|
|
13
|
-
* @example
|
|
14
|
-
* {{num_format (coalesce price 1) fixed="4"}}
|
|
15
|
-
* @example
|
|
16
|
-
* {{{num_format (math_sum multilang attr="total" fixed=2)}}}
|
|
17
|
-
* @param {String|Number} data Число для форматування
|
|
18
|
-
* @param {Object} span False - перевірка чи повернути у вигляді html з тега span
|
|
19
|
-
* @returns {String} Returns HTML
|
|
20
|
-
*/
|
|
21
|
-
export default function numFormat(data, options) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return num.join('.');
|
|
44
|
-
}
|
|
1
|
+
/* eslint-disable no-restricted-globals */
|
|
2
|
+
/* eslint-disable no-param-reassign */
|
|
3
|
+
/**
|
|
4
|
+
* Приведення чисел до стандартизованого виду
|
|
5
|
+
*
|
|
6
|
+
* @summary Форматування у число. Є можливість використання разом із значком span
|
|
7
|
+
* @priority 4
|
|
8
|
+
* @type helper
|
|
9
|
+
* @tag format
|
|
10
|
+
* @alias numFormat
|
|
11
|
+
* @example
|
|
12
|
+
* {{{num_format (coalesce rows.[0].attr 123.456) dec="2"}}}
|
|
13
|
+
* @example
|
|
14
|
+
* {{num_format (coalesce price 1) fixed="4"}}
|
|
15
|
+
* @example
|
|
16
|
+
* {{{num_format (math_sum multilang attr="total" fixed=2)}}}
|
|
17
|
+
* @param {String|Number} data Число для форматування
|
|
18
|
+
* @param {Object} span False - перевірка чи повернути у вигляді html з тега span
|
|
19
|
+
* @returns {String} Returns HTML
|
|
20
|
+
*/
|
|
21
|
+
export default function numFormat(data, options) {
|
|
22
|
+
const TP = typeof data;
|
|
23
|
+
const { dec, fixed, span } = options.hash;
|
|
24
|
+
const charAfterZero = dec || fixed;
|
|
25
|
+
if (!data || (TP !== 'number' && TP !== 'string'))
|
|
26
|
+
return '';
|
|
27
|
+
if (TP === 'string') {
|
|
28
|
+
data = parseFloat(data.replace(',', '.'));
|
|
29
|
+
}
|
|
30
|
+
if (isNaN(data))
|
|
31
|
+
return '';
|
|
32
|
+
const num = (data)
|
|
33
|
+
.toFixed(charAfterZero || 2)
|
|
34
|
+
.replace(/(\d)(?=(\d{3})+\.)/g, '$1 ')
|
|
35
|
+
.split('.');
|
|
36
|
+
if (span) {
|
|
37
|
+
return num.map((el, i) => `<span class="part${i + 1}">${el}</span>`).join('.');
|
|
38
|
+
}
|
|
39
|
+
return num.join('.');
|
|
40
|
+
}
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Створює змінну, яка використовується у шаблоні та може бути записана в БД.
|
|
3
|
-
* Використовується для спрощення зовнішнього вигляду коду та за умови багаторазового використання.
|
|
4
|
-
*
|
|
5
|
-
* @summary Записує на сайт зміни. Є можливість вносити зміни до бази даних.
|
|
6
|
-
* @priority 3
|
|
7
|
-
* @type helper
|
|
8
|
-
* @alias set
|
|
9
|
-
* @tag string
|
|
10
|
-
* @example
|
|
11
|
-
* {{set '_limit' 10}} {{_limit}}
|
|
12
|
-
* @descr Створює змінну _limit, яка може бути викликана з будь-якої частини шаблону та встановлює значення,
|
|
13
|
-
* яке отримується з хешу ( наприклад, через присвоєння limit=10 в межах handlebars (хелпер _hb) )
|
|
14
|
-
* @param {Any} save Для перевірки чи робити збереження в базі
|
|
15
|
-
* @param {Array} args Масив, у якому містяться html строки
|
|
16
|
-
* @returns {String} Returns HTML
|
|
17
|
-
*/
|
|
18
|
-
export default function set(variableName, value) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Створює змінну, яка використовується у шаблоні та може бути записана в БД.
|
|
3
|
+
* Використовується для спрощення зовнішнього вигляду коду та за умови багаторазового використання.
|
|
4
|
+
*
|
|
5
|
+
* @summary Записує на сайт зміни. Є можливість вносити зміни до бази даних.
|
|
6
|
+
* @priority 3
|
|
7
|
+
* @type helper
|
|
8
|
+
* @alias set
|
|
9
|
+
* @tag string
|
|
10
|
+
* @example
|
|
11
|
+
* {{set '_limit' 10}} {{_limit}}
|
|
12
|
+
* @descr Створює змінну _limit, яка може бути викликана з будь-якої частини шаблону та встановлює значення,
|
|
13
|
+
* яке отримується з хешу ( наприклад, через присвоєння limit=10 в межах handlebars (хелпер _hb) )
|
|
14
|
+
* @param {Any} save Для перевірки чи робити збереження в базі
|
|
15
|
+
* @param {Array} args Масив, у якому містяться html строки
|
|
16
|
+
* @returns {String} Returns HTML
|
|
17
|
+
*/
|
|
18
|
+
export default function set(variableName, value) {
|
|
19
|
+
if (typeof variableName === 'string') {
|
|
20
|
+
this[variableName] = value;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.error('Invalid variable name.');
|
|
24
|
+
}
|
|
25
|
+
return '';
|
|
26
|
+
}
|
|
@@ -1,50 +1,49 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Хелпер для виконання математичних операцій з числами
|
|
3
|
-
*
|
|
4
|
-
* @summary Дії над числами. Дозволяє виконання простих математичних операцій.
|
|
5
|
-
* @priority 3
|
|
6
|
-
* @type helper
|
|
7
|
-
* @tag math
|
|
8
|
-
* @alias _math
|
|
9
|
-
* @example
|
|
10
|
-
* {{_math operator='-' arg1=10 arg2=5}}
|
|
11
|
-
* @descr Отримання різниці між arg1 та arg2
|
|
12
|
-
* @example
|
|
13
|
-
* {{_math '1' '+' '1'}}
|
|
14
|
-
* @descr Виконання складання довжини масиву + 2
|
|
15
|
-
* @param {Object} operator Оператор для дії з числами
|
|
16
|
-
* @param {Object} arg1 Перше число для дії
|
|
17
|
-
* @param {Object} arg2 Друге число для дії
|
|
18
|
-
* @param {Array} args[0] Перше число для дії
|
|
19
|
-
* @param {Array} args[1] Оператор для дії з числами
|
|
20
|
-
* @param {Array} args[2] Друге число для дії
|
|
21
|
-
* @returns {String} Returns HTML
|
|
22
|
-
*/
|
|
23
|
-
export default function math(...args) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Хелпер для виконання математичних операцій з числами
|
|
3
|
+
*
|
|
4
|
+
* @summary Дії над числами. Дозволяє виконання простих математичних операцій.
|
|
5
|
+
* @priority 3
|
|
6
|
+
* @type helper
|
|
7
|
+
* @tag math
|
|
8
|
+
* @alias _math
|
|
9
|
+
* @example
|
|
10
|
+
* {{_math operator='-' arg1=10 arg2=5}}
|
|
11
|
+
* @descr Отримання різниці між arg1 та arg2
|
|
12
|
+
* @example
|
|
13
|
+
* {{_math '1' '+' '1'}}
|
|
14
|
+
* @descr Виконання складання довжини масиву + 2
|
|
15
|
+
* @param {Object} operator Оператор для дії з числами
|
|
16
|
+
* @param {Object} arg1 Перше число для дії
|
|
17
|
+
* @param {Object} arg2 Друге число для дії
|
|
18
|
+
* @param {Array} args[0] Перше число для дії
|
|
19
|
+
* @param {Array} args[1] Оператор для дії з числами
|
|
20
|
+
* @param {Array} args[2] Друге число для дії
|
|
21
|
+
* @returns {String} Returns HTML
|
|
22
|
+
*/
|
|
23
|
+
export default function math(...args) {
|
|
24
|
+
const options = args.pop();
|
|
25
|
+
const opt = options.hash;
|
|
26
|
+
const operator = opt.operator ? opt.operator : args[1];
|
|
27
|
+
opt.arg1 = (opt.arg1 || args[0]) - 0;
|
|
28
|
+
opt.arg2 = (opt.arg2 || args[2]) - 0;
|
|
29
|
+
if (+opt.arg1 !== 0 && !opt.arg1)
|
|
30
|
+
return '';
|
|
31
|
+
if (+opt.arg2 !== 0 && !opt.arg2)
|
|
32
|
+
return '';
|
|
33
|
+
switch (operator) {
|
|
34
|
+
case '/':
|
|
35
|
+
return opt.arg1 / opt.arg2;
|
|
36
|
+
case '%':
|
|
37
|
+
return opt.arg1 % opt.arg2;
|
|
38
|
+
case '*':
|
|
39
|
+
return opt.arg1 * opt.arg2;
|
|
40
|
+
case '-':
|
|
41
|
+
return opt.arg1 - opt.arg2;
|
|
42
|
+
case '+':
|
|
43
|
+
return opt.arg1 + opt.arg2;
|
|
44
|
+
case '.%':
|
|
45
|
+
return `${((opt.arg1 * 100) / opt.arg2).toFixed(0)}%`;
|
|
46
|
+
default:
|
|
47
|
+
return 'operator is not defined';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -1,57 +1,52 @@
|
|
|
1
|
-
import Handlebars from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* Відображення
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @
|
|
12
|
-
* @
|
|
13
|
-
*
|
|
14
|
-
* @
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* {
|
|
19
|
-
* @
|
|
20
|
-
* {
|
|
21
|
-
* @param {String}
|
|
22
|
-
* @
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
return `Сталася помилка, зверніться до відділу підтримки.<!-- err: ${err.toString()} -->`;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
1
|
+
import Handlebars from "handlebars";
|
|
2
|
+
import getPG from "../../plugins/pg/funcs/getPG.js";
|
|
3
|
+
const maxLimit = 100;
|
|
4
|
+
/**
|
|
5
|
+
* Відображення даних з таблиці або запиту до БД на сторінці. За запитом отримуємо масив json із рядків бази даних.
|
|
6
|
+
* Є можливість застосування синтаксису sql у змінній query для формування запиту до БД.
|
|
7
|
+
*
|
|
8
|
+
* @summary Відображення контенту на сторінці. Є можливість застосування синтаксису sql у змінній query.
|
|
9
|
+
* @priority 5
|
|
10
|
+
* @type helper
|
|
11
|
+
* @alias contentList
|
|
12
|
+
* @example
|
|
13
|
+
* {{#contentList table="help.doc_function" query="type='api'" sql1=1 limit=1}}{{#each rows}}{{{JSON 2 this}}}{{/each}}{{/contentList}}
|
|
14
|
+
* @example
|
|
15
|
+
* {{#contentList table="help.doc_function" sql1=1 query="name like '%form%'" limit=1}}{{#each rows}}{{{JSON 2 this}}}{{/each}}{{/contentList}}
|
|
16
|
+
* @example
|
|
17
|
+
* {{#contentList table="help.article" sql=1 query="module='CORE'" limit=1}}{{#each rows}}{{{JSON 2 this}}}{{/each}}{{/contentList}}
|
|
18
|
+
* @param {String} table Таблиця в базі або конфіг таблиця
|
|
19
|
+
* @param {String} query Запит до бази
|
|
20
|
+
* @param {Number} limit Кількість рядків на сторінці
|
|
21
|
+
* @param {String} sql Вивід sql запиту
|
|
22
|
+
* @returns {String} Returns HTML
|
|
23
|
+
*/
|
|
24
|
+
export default async function contentList(options) {
|
|
25
|
+
const { table, limit, query, order, sql, debug } = options.hash;
|
|
26
|
+
if (!table) {
|
|
27
|
+
return "Table undefined";
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
const pg = getPG();
|
|
31
|
+
const hasBrackets = table.trim().startsWith("(") && table.trim().endsWith(")");
|
|
32
|
+
const SQL = `select *,${pg.pk[table] || "1"}::text from ${hasBrackets ? `${table} t` : table} where ${query || "1=1"} ${order ? `order by ${order}` : ""} limit ${limit !== undefined && limit !== null ? Math.min(maxLimit, +limit) : 15}`;
|
|
33
|
+
const compiledSQL = Handlebars.compile(SQL)(options.data.root);
|
|
34
|
+
if (sql) {
|
|
35
|
+
return compiledSQL
|
|
36
|
+
.replaceAll("&", "&")
|
|
37
|
+
.replaceAll("<", "<")
|
|
38
|
+
.replaceAll(">", ">")
|
|
39
|
+
.replaceAll('"', """)
|
|
40
|
+
.replaceAll("'", "'");
|
|
41
|
+
}
|
|
42
|
+
const { rows } = await pg.query(compiledSQL);
|
|
43
|
+
const data = { rows, total: rows.length, ...options.data?.root };
|
|
44
|
+
if (debug) {
|
|
45
|
+
return JSON.stringify(data, null, 2);
|
|
46
|
+
}
|
|
47
|
+
return options.fn(data);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
return `Сталася помилка, зверніться до відділу підтримки.<!-- err: ${err.toString()} -->`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Повертає пустий рядок замість змісту іншого хелпера при компіляції шаблону (сторінки). Пишеться на початку хелпера та дозволяє ігнорувати подальший зміст. Аналогічно коментуванню ділянок коду лапками, проте не погіршує зовнішній вигляд коду
|
|
3
|
-
*
|
|
4
|
-
* @summary Повертає пустий рядок замість змісту іншого хелпера при компіляції шаблону.
|
|
5
|
-
* @priority 4
|
|
6
|
-
* @alias empty
|
|
7
|
-
* @type helper
|
|
8
|
-
* @tag condition
|
|
9
|
-
* @example
|
|
10
|
-
* {{{empty widget.widget_adverts}}}
|
|
11
|
-
* @example
|
|
12
|
-
* {{{empty _hb template="change-password-email-template"}}}
|
|
13
|
-
* @example
|
|
14
|
-
* {{empty formatDate bt_on_work_date format="dd.MM.yy / hh:mi:sec"}}
|
|
15
|
-
* @example
|
|
16
|
-
* {{{empty mls 'alertinfo'}}}
|
|
17
|
-
* @returns {String} Returns HTML
|
|
18
|
-
*/
|
|
19
|
-
export default function empty() {
|
|
20
|
-
|
|
21
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Повертає пустий рядок замість змісту іншого хелпера при компіляції шаблону (сторінки). Пишеться на початку хелпера та дозволяє ігнорувати подальший зміст. Аналогічно коментуванню ділянок коду лапками, проте не погіршує зовнішній вигляд коду
|
|
3
|
+
*
|
|
4
|
+
* @summary Повертає пустий рядок замість змісту іншого хелпера при компіляції шаблону.
|
|
5
|
+
* @priority 4
|
|
6
|
+
* @alias empty
|
|
7
|
+
* @type helper
|
|
8
|
+
* @tag condition
|
|
9
|
+
* @example
|
|
10
|
+
* {{{empty widget.widget_adverts}}}
|
|
11
|
+
* @example
|
|
12
|
+
* {{{empty _hb template="change-password-email-template"}}}
|
|
13
|
+
* @example
|
|
14
|
+
* {{empty formatDate bt_on_work_date format="dd.MM.yy / hh:mi:sec"}}
|
|
15
|
+
* @example
|
|
16
|
+
* {{{empty mls 'alertinfo'}}}
|
|
17
|
+
* @returns {String} Returns HTML
|
|
18
|
+
*/
|
|
19
|
+
export default function empty() {
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
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;
|
|
14
|
+
let bN = b;
|
|
15
|
+
if (b.length > a.length) {
|
|
16
|
+
[aN, bN] = [bN, aN];
|
|
17
|
+
}
|
|
18
|
+
return aN.filter((e) => bN.includes(e));
|
|
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
|
+
const isEmpty = (val) => val === null || val === undefined || (Array.isArray(val) && val.length === 0) || val === '';
|
|
44
|
+
switch (operator) {
|
|
45
|
+
case '==':
|
|
46
|
+
// eslint-disable-next-line eqeqeq
|
|
47
|
+
return (v1 == v2) ? options.fn(obj) : options.inverse(obj);
|
|
48
|
+
case '!=':
|
|
49
|
+
// eslint-disable-next-line eqeqeq
|
|
50
|
+
return (v1 != v2) ? options.fn(obj) : options.inverse(obj);
|
|
51
|
+
case '===':
|
|
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 (!isEmpty(v1) && !isEmpty(v2) && intersect(v1, v2).length !== 0)
|
|
69
|
+
? options.fn(obj)
|
|
70
|
+
: options.inverse(obj);
|
|
71
|
+
case '!~':
|
|
72
|
+
return (v1 || '').indexOf(v2) === -1
|
|
73
|
+
? options.fn(obj)
|
|
74
|
+
: options.inverse(obj);
|
|
75
|
+
case '~':
|
|
76
|
+
return (v1 || '').indexOf(v2) !== -1
|
|
77
|
+
? options.fn(obj)
|
|
78
|
+
: options.inverse(obj);
|
|
79
|
+
case 'period':
|
|
80
|
+
return (!isEmpty(v1) && !isEmpty(v2) && new Date(v1) < new Date() && new Date(v2) > new Date())
|
|
81
|
+
? options.fn(obj)
|
|
82
|
+
: options.inverse(obj);
|
|
83
|
+
case 'in': {
|
|
84
|
+
if (typeof v2 === 'string')
|
|
85
|
+
v2 = v2.split(',').map(item => item.trim());
|
|
86
|
+
if (isEmpty(v1) || isEmpty(v2))
|
|
87
|
+
return options.inverse(obj);
|
|
88
|
+
if (Array.isArray(v1)) {
|
|
89
|
+
return v1.some((value) => v2.includes(value.toString()))
|
|
90
|
+
? options.fn(obj)
|
|
91
|
+
: options.inverse(obj);
|
|
92
|
+
}
|
|
93
|
+
return v2.includes(v1.toString())
|
|
94
|
+
? options.fn(obj)
|
|
95
|
+
: options.inverse(obj);
|
|
96
|
+
}
|
|
97
|
+
case 'not in': {
|
|
98
|
+
if (typeof v2 === 'string')
|
|
99
|
+
v2 = v2.split(',').map(item => item.trim());
|
|
100
|
+
if (isEmpty(v1) || isEmpty(v2))
|
|
101
|
+
return options.inverse(obj);
|
|
102
|
+
return !v2.includes(v1.toString())
|
|
103
|
+
? options.fn(obj)
|
|
104
|
+
: options.inverse(obj);
|
|
105
|
+
}
|
|
106
|
+
default:
|
|
107
|
+
return options.inverse(obj);
|
|
108
|
+
}
|
|
109
|
+
}
|