@opengis/fastify-table 2.5.53 → 3.0.0-beta.0
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/_virtual/_rolldown/runtime.js +1 -0
- package/dist/config.d.ts +4 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -43
- package/dist/config.js.map +1 -0
- package/dist/core.d.ts +26 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -0
- package/dist/dblist.d.ts +3 -1
- package/dist/dblist.d.ts.map +1 -1
- package/dist/dblist.js +2 -5
- package/dist/dblist.js.map +1 -0
- package/dist/errors.d.ts +48 -45
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -12
- package/dist/errors.js.map +1 -0
- package/dist/functions.js +22 -533
- package/dist/functions.js.map +1 -0
- package/dist/handlebars/core/badge.js +3 -0
- package/dist/handlebars/core/badge.js.map +1 -0
- package/dist/handlebars/core/buttonFilePreview.js +2 -0
- package/dist/handlebars/core/buttonFilePreview.js.map +1 -0
- package/dist/handlebars/core/buttonHelper.js +2 -0
- package/dist/handlebars/core/buttonHelper.js.map +1 -0
- package/dist/handlebars/core/token.js +2 -0
- package/dist/handlebars/core/token.js.map +1 -0
- package/dist/handlebars/format/formatAuto.js +2 -0
- package/dist/handlebars/format/formatAuto.js.map +1 -0
- package/dist/handlebars/format/formatDate.js +2 -0
- package/dist/handlebars/format/formatDate.js.map +1 -0
- package/dist/handlebars/format/formatDigit.js +2 -0
- package/dist/handlebars/format/formatDigit.js.map +1 -0
- package/dist/handlebars/format/formatNum.js +2 -0
- package/dist/handlebars/format/formatNum.js.map +1 -0
- package/dist/handlebars/format/formatNumber.js +2 -0
- package/dist/handlebars/format/formatNumber.js.map +1 -0
- package/dist/handlebars/format/formatRelative.js +2 -0
- package/dist/handlebars/format/formatRelative.js.map +1 -0
- package/dist/handlebars/format/formatUnit.js +2 -0
- package/dist/handlebars/format/formatUnit.js.map +1 -0
- package/dist/handlebars/format/num_format.js +2 -0
- package/dist/handlebars/format/num_format.js.map +1 -0
- package/dist/handlebars/format/set.js +2 -0
- package/dist/handlebars/format/set.js.map +1 -0
- package/dist/handlebars/funcs/_math.js +2 -0
- package/dist/handlebars/funcs/_math.js.map +1 -0
- package/dist/handlebars/funcs/contentList.js +2 -0
- package/dist/handlebars/funcs/contentList.js.map +1 -0
- package/dist/handlebars/funcs/empty.js +2 -0
- package/dist/handlebars/funcs/empty.js.map +1 -0
- package/dist/handlebars/funcs/ifCond.js +2 -0
- package/dist/handlebars/funcs/ifCond.js.map +1 -0
- package/dist/handlebars/funcs/ifCondAnd.js +2 -0
- package/dist/handlebars/funcs/ifCondAnd.js.map +1 -0
- package/dist/handlebars/funcs/ifCondOr.js +2 -0
- package/dist/handlebars/funcs/ifCondOr.js.map +1 -0
- package/dist/handlebars/funcs/inc.js +2 -0
- package/dist/handlebars/funcs/inc.js.map +1 -0
- package/dist/handlebars/funcs/json.js +2 -0
- package/dist/handlebars/funcs/json.js.map +1 -0
- package/dist/handlebars/funcs/qrcode.js +2 -0
- package/dist/handlebars/funcs/qrcode.js.map +1 -0
- package/dist/handlebars/funcs/round.js +2 -0
- package/dist/handlebars/funcs/round.js.map +1 -0
- package/dist/handlebars/funcs/select.js +2 -0
- package/dist/handlebars/funcs/select.js.map +1 -0
- package/dist/handlebars/index.d.ts +6 -0
- package/dist/handlebars/index.d.ts.map +1 -0
- package/dist/handlebars/index.js +2 -0
- package/dist/handlebars/index.js.map +1 -0
- package/dist/handlebars/list/descriptionList.js +10 -0
- package/dist/handlebars/list/descriptionList.js.map +1 -0
- package/dist/handlebars/list/tableList.js +6 -0
- package/dist/handlebars/list/tableList.js.map +1 -0
- package/dist/handlebars/list/utils/buttonDel.js +5 -0
- package/dist/handlebars/list/utils/buttonDel.js.map +1 -0
- package/dist/handlebars/list/utils/buttonEdit.js +5 -0
- package/dist/handlebars/list/utils/buttonEdit.js.map +1 -0
- package/dist/handlebars/string/coalesce.js +2 -0
- package/dist/handlebars/string/coalesce.js.map +1 -0
- package/dist/handlebars/string/concat.js +2 -0
- package/dist/handlebars/string/concat.js.map +1 -0
- package/dist/handlebars/string/split.js +2 -0
- package/dist/handlebars/string/split.js.map +1 -0
- package/dist/handlebars/string/str_replace.js +5 -0
- package/dist/handlebars/string/str_replace.js.map +1 -0
- package/dist/handlebars/string/substr.js +2 -0
- package/dist/handlebars/string/substr.js.map +1 -0
- package/dist/handlebars/string/translit.js +2 -0
- package/dist/handlebars/string/translit.js.map +1 -0
- package/dist/handlebars/string/utils/alphabet.js +2 -0
- package/dist/handlebars/string/utils/alphabet.js.map +1 -0
- package/dist/handlebars/utils/button.js +3 -0
- package/dist/handlebars/utils/button.js.map +1 -0
- package/dist/handlebars/utils/buttonAdd.js +17 -0
- package/dist/handlebars/utils/buttonAdd.js.map +1 -0
- package/dist/handlebars/utils/buttonDel.js +13 -0
- package/dist/handlebars/utils/buttonDel.js.map +1 -0
- package/dist/handlebars/utils/buttonDownload.js +2 -0
- package/dist/handlebars/utils/buttonDownload.js.map +1 -0
- package/dist/handlebars/utils/buttonEdit.js +5 -0
- package/dist/handlebars/utils/buttonEdit.js.map +1 -0
- package/dist/handlebars/utils/buttonPreview.js +2 -0
- package/dist/handlebars/utils/buttonPreview.js.map +1 -0
- package/dist/handlebars/utils/mdToHTML.js +2 -0
- package/dist/handlebars/utils/mdToHTML.js.map +1 -0
- package/dist/handlebars/utils/paddingNumber.js +2 -0
- package/dist/handlebars/utils/paddingNumber.js.map +1 -0
- package/dist/helper.js +2 -70
- package/dist/helper.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -279
- package/dist/index.js.map +1 -0
- package/dist/modules/auth/auth.route.js +2 -0
- package/dist/modules/auth/auth.route.js.map +1 -0
- package/dist/modules/auth/auth.schema.js +2 -0
- package/dist/modules/auth/auth.schema.js.map +1 -0
- package/dist/modules/auth/providers/totp.js +7 -0
- package/dist/modules/auth/providers/totp.js.map +1 -0
- package/dist/modules/auth/services/authorizeByEusign.js +1 -0
- package/dist/modules/auth/services/authorizeOAuth.js +2 -0
- package/dist/modules/auth/services/authorizeOAuth.js.map +1 -0
- package/dist/modules/auth/services/getAccessGroup.js +8 -0
- package/dist/modules/auth/services/getAccessGroup.js.map +1 -0
- package/dist/modules/auth/services/getAccessInterface.js +1 -0
- package/dist/modules/auth/services/getAccessUser.js +8 -0
- package/dist/modules/auth/services/getAccessUser.js.map +1 -0
- package/dist/modules/auth/services/getCurrentUser.js +35 -0
- package/dist/modules/auth/services/getCurrentUser.js.map +1 -0
- package/dist/modules/auth/services/index.js +1 -0
- package/dist/modules/auth/services/issueOAuthToken.js +2 -0
- package/dist/modules/auth/services/issueOAuthToken.js.map +1 -0
- package/dist/modules/auth/services/login.js +2 -0
- package/dist/modules/auth/services/login.js.map +1 -0
- package/dist/modules/auth/services/loginPage.js +2 -0
- package/dist/modules/auth/services/loginPage.js.map +1 -0
- package/dist/modules/auth/services/loginPageTwoFactor.js +3 -0
- package/dist/modules/auth/services/loginPageTwoFactor.js.map +1 -0
- package/dist/modules/auth/services/logout.js +2 -0
- package/dist/modules/auth/services/logout.js.map +1 -0
- package/dist/modules/auth/services/qrCodetwoFactor.js +3 -0
- package/dist/modules/auth/services/qrCodetwoFactor.js.map +1 -0
- package/dist/modules/auth/services/recover.js +2 -0
- package/dist/modules/auth/services/recover.js.map +1 -0
- package/dist/modules/auth/services/recoverTwoFactor.js +3 -0
- package/dist/modules/auth/services/recoverTwoFactor.js.map +1 -0
- package/dist/modules/auth/services/register.js +1 -0
- package/dist/modules/auth/services/resetTwoFactor.js +2 -0
- package/dist/modules/auth/services/resetTwoFactor.js.map +1 -0
- package/dist/modules/auth/services/setAccessGroup.js +5 -0
- package/dist/modules/auth/services/setAccessGroup.js.map +1 -0
- package/dist/modules/auth/services/setAccessUser.js +2 -0
- package/dist/modules/auth/services/setAccessUser.js.map +1 -0
- package/dist/modules/auth/services/updateCurrentUserInfo.js +2 -0
- package/dist/modules/auth/services/updateCurrentUserInfo.js.map +1 -0
- package/dist/modules/auth/services/verifyTwoFactor.js +3 -0
- package/dist/modules/auth/services/verifyTwoFactor.js.map +1 -0
- package/dist/modules/data/data.route.js +2 -0
- package/dist/modules/data/data.route.js.map +1 -0
- package/dist/modules/data/data.schema.js +2 -0
- package/dist/modules/data/data.schema.js.map +1 -0
- package/dist/modules/data/services/dictionary/createDictionary.js +2 -0
- package/dist/modules/data/services/dictionary/createDictionary.js.map +1 -0
- package/dist/modules/data/services/dictionary/createDictionaryValue.js +2 -0
- package/dist/modules/data/services/dictionary/createDictionaryValue.js.map +1 -0
- package/dist/modules/data/services/dictionary/deleteDictionary.js +2 -0
- package/dist/modules/data/services/dictionary/deleteDictionary.js.map +1 -0
- package/dist/modules/data/services/dictionary/deleteDictionaryValue.js +2 -0
- package/dist/modules/data/services/dictionary/deleteDictionaryValue.js.map +1 -0
- package/dist/modules/data/services/dictionary/getDictionary.js +2 -0
- package/dist/modules/data/services/dictionary/getDictionary.js.map +1 -0
- package/dist/modules/data/services/dictionary/index.js +1 -0
- package/dist/modules/data/services/dictionary/listDictionaries.js +2 -0
- package/dist/modules/data/services/dictionary/listDictionaries.js.map +1 -0
- package/dist/modules/data/services/dictionary/updateDictionary.js +2 -0
- package/dist/modules/data/services/dictionary/updateDictionary.js.map +1 -0
- package/dist/modules/data/services/dictionary/updateDictionaryValue.js +2 -0
- package/dist/modules/data/services/dictionary/updateDictionaryValue.js.map +1 -0
- package/dist/modules/data/services/file/attachFile.js +2 -0
- package/dist/modules/data/services/file/attachFile.js.map +1 -0
- package/dist/modules/data/services/file/deleteFileLink.js +2 -0
- package/dist/modules/data/services/file/deleteFileLink.js.map +1 -0
- package/dist/modules/data/services/file/getFileLink.js +11 -0
- package/dist/modules/data/services/file/getFileLink.js.map +1 -0
- package/dist/modules/data/services/file/index.js +1 -0
- package/dist/modules/data/services/file/listFiles.js +11 -0
- package/dist/modules/data/services/file/listFiles.js.map +1 -0
- package/dist/modules/data/services/index.js +1 -0
- package/dist/modules/data/services/note/createNote.js +2 -0
- package/dist/modules/data/services/note/createNote.js.map +1 -0
- package/dist/modules/data/services/note/deleteNote.js +2 -0
- package/dist/modules/data/services/note/deleteNote.js.map +1 -0
- package/dist/modules/data/services/note/getNote.js +6 -0
- package/dist/modules/data/services/note/getNote.js.map +1 -0
- package/dist/modules/data/services/note/index.js +1 -0
- package/dist/modules/data/services/note/listNotes.js +3 -0
- package/dist/modules/data/services/note/listNotes.js.map +1 -0
- package/dist/modules/data/services/note/updateNote.js +2 -0
- package/dist/modules/data/services/note/updateNote.js.map +1 -0
- package/dist/modules/data/services/relation/createRelation.js +2 -0
- package/dist/modules/data/services/relation/createRelation.js.map +1 -0
- package/dist/modules/data/services/relation/deleteRelation.js +11 -0
- package/dist/modules/data/services/relation/deleteRelation.js.map +1 -0
- package/dist/modules/data/services/relation/getRelation.js +2 -0
- package/dist/modules/data/services/relation/getRelation.js.map +1 -0
- package/dist/modules/data/services/relation/index.js +1 -0
- package/dist/modules/data/services/relation/listRelation.js +2 -0
- package/dist/modules/data/services/relation/listRelation.js.map +1 -0
- package/dist/modules/data/services/relation/updateRelation.js +11 -0
- package/dist/modules/data/services/relation/updateRelation.js.map +1 -0
- package/dist/modules/data/services/resource/codeGenerator.js +2 -0
- package/dist/modules/data/services/resource/codeGenerator.js.map +1 -0
- package/dist/modules/data/services/resource/createResource.js +2 -0
- package/dist/modules/data/services/resource/createResource.js.map +1 -0
- package/dist/modules/data/services/resource/deleteResource.js +2 -0
- package/dist/modules/data/services/resource/deleteResource.js.map +1 -0
- package/dist/modules/data/services/resource/getData.d.ts +37 -0
- package/dist/modules/data/services/resource/getData.d.ts.map +1 -0
- package/dist/modules/data/services/resource/getData.js +16 -0
- package/dist/modules/data/services/resource/getData.js.map +1 -0
- package/dist/modules/data/services/resource/getFilter.d.ts +23 -0
- package/dist/modules/data/services/resource/getFilter.d.ts.map +1 -0
- package/dist/modules/data/services/resource/getFilter.js +8 -0
- package/dist/modules/data/services/resource/getFilter.js.map +1 -0
- package/dist/modules/data/services/resource/getResource.js +2 -0
- package/dist/modules/data/services/resource/getResource.js.map +1 -0
- package/dist/modules/data/services/resource/getResources.js +2 -0
- package/dist/modules/data/services/resource/getResources.js.map +1 -0
- package/dist/modules/data/services/resource/index.js +1 -0
- package/dist/modules/data/services/resource/listResource.js +2 -0
- package/dist/modules/data/services/resource/listResource.js.map +1 -0
- package/dist/modules/data/services/resource/listSuggestions.js +5 -0
- package/dist/modules/data/services/resource/listSuggestions.js.map +1 -0
- package/dist/modules/data/services/resource/searchData.js +3 -0
- package/dist/modules/data/services/resource/searchData.js.map +1 -0
- package/dist/modules/data/services/resource/updateResource.js +2 -0
- package/dist/modules/data/services/resource/updateResource.js.map +1 -0
- package/dist/modules/file/file.route.js +2 -0
- package/dist/modules/file/file.route.js.map +1 -0
- package/dist/modules/file/file.schema.js +2 -0
- package/dist/modules/file/file.schema.js.map +1 -0
- package/dist/modules/file/services/deleteFile.js +2 -0
- package/dist/modules/file/services/deleteFile.js.map +1 -0
- package/dist/modules/file/services/downloadFile.js +2 -0
- package/dist/modules/file/services/downloadFile.js.map +1 -0
- package/dist/modules/file/services/editFile.js +2 -0
- package/dist/modules/file/services/editFile.js.map +1 -0
- package/dist/modules/file/services/exportData.d.ts +49 -0
- package/dist/modules/file/services/exportData.d.ts.map +1 -0
- package/dist/modules/file/services/exportData.js +4 -0
- package/dist/modules/file/services/exportData.js.map +1 -0
- package/dist/modules/file/services/fileToGeoJson.js +15 -0
- package/dist/modules/file/services/fileToGeoJson.js.map +1 -0
- package/dist/modules/file/services/getFile.js +2 -0
- package/dist/modules/file/services/getFile.js.map +1 -0
- package/dist/modules/file/services/getUploadStatus.js +1 -0
- package/dist/modules/file/services/index.js +1 -0
- package/dist/modules/file/services/previewFile.js +2 -0
- package/dist/modules/file/services/previewFile.js.map +1 -0
- package/dist/modules/file/services/resizeAll.js +1 -0
- package/dist/modules/file/services/resizeFile.js +2 -0
- package/dist/modules/file/services/resizeFile.js.map +1 -0
- package/dist/modules/file/services/startUpload.js +1 -0
- package/dist/modules/file/services/uploadChunk.js +1 -0
- package/dist/modules/file/services/uploadFile.js +2 -0
- package/dist/modules/file/services/uploadFile.js.map +1 -0
- package/dist/modules/file/services/uploadImage.js +1 -0
- package/dist/modules/system/services/checkSystem.js +2 -0
- package/dist/modules/system/services/checkSystem.js.map +1 -0
- package/dist/modules/system/services/getConfig.js +2 -0
- package/dist/modules/system/services/getConfig.js.map +1 -0
- package/dist/modules/system/services/getDependencies.js +2 -0
- package/dist/modules/system/services/getDependencies.js.map +1 -0
- package/dist/modules/system/services/getInterfaces.js +2 -0
- package/dist/modules/system/services/getInterfaces.js.map +1 -0
- package/dist/modules/system/services/getLoggerFile.js +4 -0
- package/dist/modules/system/services/getLoggerFile.js.map +1 -0
- package/dist/modules/system/services/getLoggerMetrics.js +2 -0
- package/dist/modules/system/services/getLoggerMetrics.js.map +1 -0
- package/dist/modules/system/services/getNextId.js +2 -0
- package/dist/modules/system/services/getNextId.js.map +1 -0
- package/dist/modules/system/services/getSettings.js +2 -0
- package/dist/modules/system/services/getSettings.js.map +1 -0
- package/dist/modules/system/services/getStatus.js +2 -0
- package/dist/modules/system/services/getStatus.js.map +1 -0
- package/dist/modules/system/services/index.js +1 -0
- package/dist/modules/system/services/listApi.js +3 -0
- package/dist/modules/system/services/listApi.js.map +1 -0
- package/dist/modules/system/services/runCron.js +2 -0
- package/dist/modules/system/services/runCron.js.map +1 -0
- package/dist/modules/system/services/updateSettings.js +2 -0
- package/dist/modules/system/services/updateSettings.js.map +1 -0
- package/dist/modules/system/system.route.js +2 -0
- package/dist/modules/system/system.route.js.map +1 -0
- package/dist/modules/system/system.schema.js +2 -0
- package/dist/modules/system/system.schema.js.map +1 -0
- package/dist/modules/templates/services/addMenu.d.ts +5 -0
- package/dist/modules/templates/services/addMenu.d.ts.map +1 -0
- package/dist/modules/templates/services/addMenu.js +2 -0
- package/dist/modules/templates/services/addMenu.js.map +1 -0
- package/dist/modules/templates/services/addTemplateDir.d.ts +5 -0
- package/dist/modules/templates/services/addTemplateDir.d.ts.map +1 -0
- package/dist/modules/templates/services/addTemplateDir.js +2 -0
- package/dist/modules/templates/services/addTemplateDir.js.map +1 -0
- package/dist/modules/templates/services/customTokens.js +2 -0
- package/dist/modules/templates/services/customTokens.js.map +1 -0
- package/dist/modules/templates/services/getMenu.js +11 -0
- package/dist/modules/templates/services/getMenu.js.map +1 -0
- package/dist/modules/templates/services/getTemplate.d.ts +5 -0
- package/dist/modules/templates/services/getTemplate.d.ts.map +1 -0
- package/dist/modules/templates/services/getTemplate.js +2 -0
- package/dist/modules/templates/services/getTemplate.js.map +1 -0
- package/dist/modules/templates/services/getTemplatePath.d.ts +5 -0
- package/dist/modules/templates/services/getTemplatePath.d.ts.map +1 -0
- package/dist/modules/templates/services/getTemplatePath.js +2 -0
- package/dist/modules/templates/services/getTemplatePath.js.map +1 -0
- package/dist/modules/templates/services/getTemplateSync.d.ts +5 -0
- package/dist/modules/templates/services/getTemplateSync.d.ts.map +1 -0
- package/dist/modules/templates/services/getTemplateSync.js +2 -0
- package/dist/modules/templates/services/getTemplateSync.js.map +1 -0
- package/dist/modules/templates/services/getTemplates.d.ts +5 -0
- package/dist/modules/templates/services/getTemplates.d.ts.map +1 -0
- package/dist/modules/templates/services/getTemplates.js +2 -0
- package/dist/modules/templates/services/getTemplates.js.map +1 -0
- package/dist/modules/templates/services/index.js +1 -0
- package/dist/modules/templates/services/listTemplates.js +2 -0
- package/dist/modules/templates/services/listTemplates.js.map +1 -0
- package/dist/modules/templates/services/loadTemplate.js +2 -0
- package/dist/modules/templates/services/loadTemplate.js.map +1 -0
- package/dist/modules/templates/services/loadTemplatePath.js +2 -0
- package/dist/modules/templates/services/loadTemplatePath.js.map +1 -0
- package/dist/modules/templates/services/menuDirs.d.ts +5 -0
- package/dist/modules/templates/services/menuDirs.d.ts.map +1 -0
- package/dist/modules/templates/services/menuDirs.js +2 -0
- package/dist/modules/templates/services/menuDirs.js.map +1 -0
- package/dist/modules/templates/services/registerTemplateDir.js +1 -0
- package/dist/modules/templates/services/userTemplateDir.d.ts +5 -0
- package/dist/modules/templates/services/userTemplateDir.d.ts.map +1 -0
- package/dist/modules/templates/services/userTemplateDir.js +2 -0
- package/dist/modules/templates/services/userTemplateDir.js.map +1 -0
- package/dist/modules/templates/templates.route.js +2 -0
- package/dist/modules/templates/templates.route.js.map +1 -0
- package/dist/modules/templates/templates.schema.js +2 -0
- package/dist/modules/templates/templates.schema.js.map +1 -0
- package/dist/node_modules/@fastify/error/index.js +2 -0
- package/dist/node_modules/@fastify/error/index.js.map +1 -0
- package/dist/node_modules/@fastify/error/types/index.d.ts +36 -0
- package/dist/node_modules/@fastify/error/types/index.d.ts.map +1 -0
- package/dist/plugins/access/funcs/getResources.d.ts +7 -0
- package/dist/plugins/access/funcs/getResources.d.ts.map +1 -0
- package/dist/plugins/access/funcs/getResources.js +2 -0
- package/dist/plugins/access/funcs/getResources.js.map +1 -0
- package/dist/plugins/access/funcs/getUserPermissions.d.ts +11 -0
- package/dist/plugins/access/funcs/getUserPermissions.d.ts.map +1 -0
- package/dist/plugins/access/funcs/getUserPermissions.js +9 -0
- package/dist/plugins/access/funcs/getUserPermissions.js.map +1 -0
- package/dist/plugins/auth/funcs/authorizeUser.js +6 -0
- package/dist/plugins/auth/funcs/authorizeUser.js.map +1 -0
- package/dist/plugins/auth/funcs/getQuery.js +1 -0
- package/dist/plugins/auth/funcs/jwt.d.ts +35 -0
- package/dist/plugins/auth/funcs/jwt.d.ts.map +1 -0
- package/dist/plugins/auth/funcs/jwt.js +2 -0
- package/dist/plugins/auth/funcs/jwt.js.map +1 -0
- package/dist/plugins/auth/funcs/logAuth.js +2 -0
- package/dist/plugins/auth/funcs/logAuth.js.map +1 -0
- package/dist/plugins/auth/funcs/loginFile.js +4 -0
- package/dist/plugins/auth/funcs/loginFile.js.map +1 -0
- package/dist/plugins/auth/funcs/loginUser.js +2 -0
- package/dist/plugins/auth/funcs/loginUser.js.map +1 -0
- package/dist/plugins/auth/funcs/sendNotification.js +2 -0
- package/dist/plugins/auth/funcs/sendNotification.js.map +1 -0
- package/dist/plugins/auth/funcs/users.js +2 -0
- package/dist/plugins/auth/funcs/users.js.map +1 -0
- package/dist/plugins/auth/funcs/verifyPassword.js +2 -0
- package/dist/plugins/auth/funcs/verifyPassword.js.map +1 -0
- package/dist/plugins/auth/index.js +2 -0
- package/dist/plugins/auth/index.js.map +1 -0
- package/dist/plugins/context/index.js +2 -0
- package/dist/plugins/context/index.js.map +1 -0
- package/dist/plugins/cron/cronList.js +2 -0
- package/dist/plugins/cron/cronList.js.map +1 -0
- package/dist/plugins/cron/funcs/addCron.d.ts +16 -0
- package/dist/plugins/cron/funcs/addCron.d.ts.map +1 -0
- package/dist/plugins/cron/funcs/addCron.js +2 -0
- package/dist/plugins/cron/funcs/addCron.js.map +1 -0
- package/dist/plugins/cron/funcs/interval2ms.js +2 -0
- package/dist/plugins/cron/funcs/interval2ms.js.map +1 -0
- package/dist/plugins/cron/funcs/runCron.js +2 -0
- package/dist/plugins/cron/funcs/runCron.js.map +1 -0
- package/dist/plugins/cron/funcs/verifyUnique.js +2 -0
- package/dist/plugins/cron/funcs/verifyUnique.js.map +1 -0
- package/dist/plugins/cron/index.js +2 -0
- package/dist/plugins/cron/index.js.map +1 -0
- package/dist/plugins/crud/funcs/dataDelete.d.ts +15 -0
- package/dist/plugins/crud/funcs/dataDelete.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/dataDelete.js +2 -0
- package/dist/plugins/crud/funcs/dataDelete.js.map +1 -0
- package/dist/plugins/crud/funcs/dataInsert.d.ts +14 -0
- package/dist/plugins/crud/funcs/dataInsert.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/dataInsert.js +2 -0
- package/dist/plugins/crud/funcs/dataInsert.js.map +1 -0
- package/dist/plugins/crud/funcs/dataUpdate.d.ts +15 -0
- package/dist/plugins/crud/funcs/dataUpdate.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/dataUpdate.js +9 -0
- package/dist/plugins/crud/funcs/dataUpdate.js.map +1 -0
- package/dist/plugins/crud/funcs/dataUpsert.d.ts +16 -0
- package/dist/plugins/crud/funcs/dataUpsert.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/dataUpsert.js +2 -0
- package/dist/plugins/crud/funcs/dataUpsert.js.map +1 -0
- package/dist/plugins/crud/funcs/getAccess.d.ts +28 -0
- package/dist/plugins/crud/funcs/getAccess.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/getAccess.js +2 -0
- package/dist/plugins/crud/funcs/getAccess.js.map +1 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/formatValue.js +2 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/formatValue.js.map +1 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getFilterList.js +2 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getFilterList.js.map +1 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getFilterQuery.js +2 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getFilterQuery.js.map +1 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getRangeQuery.js +2 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getRangeQuery.js.map +1 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getTableSql.js +2 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/getTableSql.js.map +1 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/index.d.ts +22 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/index.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/index.js +2 -0
- package/dist/plugins/crud/funcs/getFilterSQLParametrized/index.js.map +1 -0
- package/dist/plugins/crud/funcs/getToken.js +2 -0
- package/dist/plugins/crud/funcs/getToken.js.map +1 -0
- package/dist/plugins/crud/funcs/metaFormat/getSelectVal.d.ts +10 -0
- package/dist/plugins/crud/funcs/metaFormat/getSelectVal.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/metaFormat/getSelectVal.js +2 -0
- package/dist/plugins/crud/funcs/metaFormat/getSelectVal.js.map +1 -0
- package/dist/plugins/crud/funcs/metaFormat/index.d.ts +13 -0
- package/dist/plugins/crud/funcs/metaFormat/index.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/metaFormat/index.js +2 -0
- package/dist/plugins/crud/funcs/metaFormat/index.js.map +1 -0
- package/dist/plugins/crud/funcs/setToken.js +2 -0
- package/dist/plugins/crud/funcs/setToken.js.map +1 -0
- package/dist/plugins/crud/funcs/utils/conditions.js +2 -0
- package/dist/plugins/crud/funcs/utils/conditions.js.map +1 -0
- package/dist/plugins/crud/funcs/utils/getFolder.d.ts +14 -0
- package/dist/plugins/crud/funcs/utils/getFolder.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/utils/getFolder.js +2 -0
- package/dist/plugins/crud/funcs/utils/getFolder.js.map +1 -0
- package/dist/plugins/crud/funcs/utils/getInsertQuery.d.ts +16 -0
- package/dist/plugins/crud/funcs/utils/getInsertQuery.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/utils/getInsertQuery.js +8 -0
- package/dist/plugins/crud/funcs/utils/getInsertQuery.js.map +1 -0
- package/dist/plugins/crud/funcs/utils/locales.js +2 -0
- package/dist/plugins/crud/funcs/utils/locales.js.map +1 -0
- package/dist/plugins/crud/funcs/utils/logChanges.d.ts +39 -0
- package/dist/plugins/crud/funcs/utils/logChanges.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/utils/logChanges.js +20 -0
- package/dist/plugins/crud/funcs/utils/logChanges.js.map +1 -0
- package/dist/plugins/crud/funcs/utils/nullif.js +2 -0
- package/dist/plugins/crud/funcs/utils/nullif.js.map +1 -0
- package/dist/plugins/crud/funcs/utils/prettify.js +2 -0
- package/dist/plugins/crud/funcs/utils/prettify.js.map +1 -0
- package/dist/plugins/crud/funcs/validateData.d.ts +9 -0
- package/dist/plugins/crud/funcs/validateData.d.ts.map +1 -0
- package/dist/plugins/crud/funcs/validateData.js +2 -0
- package/dist/plugins/crud/funcs/validateData.js.map +1 -0
- package/dist/plugins/extra/extraData.js +2 -0
- package/dist/plugins/extra/extraData.js.map +1 -0
- package/dist/plugins/extra/extraDataGet.js +2 -0
- package/dist/plugins/extra/extraDataGet.js.map +1 -0
- package/dist/plugins/file/downloadFile.d.ts +5 -0
- package/dist/plugins/file/downloadFile.d.ts.map +1 -0
- package/dist/plugins/file/downloadFile.js +2 -0
- package/dist/plugins/file/downloadFile.js.map +1 -0
- package/dist/plugins/file/isFileExists.d.ts +5 -0
- package/dist/plugins/file/isFileExists.d.ts.map +1 -0
- package/dist/plugins/file/isFileExists.js +2 -0
- package/dist/plugins/file/isFileExists.js.map +1 -0
- package/dist/plugins/file/providers/fs.js +2 -0
- package/dist/plugins/file/providers/fs.js.map +1 -0
- package/dist/plugins/file/providers/index.js +2 -0
- package/dist/plugins/file/providers/index.js.map +1 -0
- package/dist/plugins/file/providers/mime/index.d.ts +5 -0
- package/dist/plugins/file/providers/mime/index.d.ts.map +1 -0
- package/dist/plugins/file/providers/mime/index.js +2 -0
- package/dist/plugins/file/providers/mime/index.js.map +1 -0
- package/dist/plugins/file/providers/mime/mimes.js +2 -0
- package/dist/plugins/file/providers/mime/mimes.js.map +1 -0
- package/dist/plugins/file/providers/s3/client.d.ts +5 -0
- package/dist/plugins/file/providers/s3/client.d.ts.map +1 -0
- package/dist/plugins/file/providers/s3/client.js +2 -0
- package/dist/plugins/file/providers/s3/client.js.map +1 -0
- package/dist/plugins/file/providers/s3/funcs/checkHealth.js +2 -0
- package/dist/plugins/file/providers/s3/funcs/checkHealth.js.map +1 -0
- package/dist/plugins/file/providers/s3/funcs/downloadFile.js +2 -0
- package/dist/plugins/file/providers/s3/funcs/downloadFile.js.map +1 -0
- package/dist/plugins/file/providers/s3/funcs/fileExists.js +2 -0
- package/dist/plugins/file/providers/s3/funcs/fileExists.js.map +1 -0
- package/dist/plugins/file/providers/s3/funcs/getFileSize.js +2 -0
- package/dist/plugins/file/providers/s3/funcs/getFileSize.js.map +1 -0
- package/dist/plugins/file/providers/s3/funcs/uploadFile.js +2 -0
- package/dist/plugins/file/providers/s3/funcs/uploadFile.js.map +1 -0
- package/dist/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +2 -0
- package/dist/plugins/file/providers/s3/funcs/utils/getS3FilePath.js.map +1 -0
- package/dist/plugins/file/providers/s3/index.js +2 -0
- package/dist/plugins/file/providers/s3/index.js.map +1 -0
- package/dist/plugins/file/providers/utils/getDataSize.js +2 -0
- package/dist/plugins/file/providers/utils/getDataSize.js.map +1 -0
- package/dist/plugins/file/providers/utils/getValidData.js +2 -0
- package/dist/plugins/file/providers/utils/getValidData.js.map +1 -0
- package/dist/plugins/file/providers/utils/handlers/dataTypes.js +2 -0
- package/dist/plugins/file/providers/utils/handlers/dataTypes.js.map +1 -0
- package/dist/plugins/file/providers/utils/handlers/index.js +2 -0
- package/dist/plugins/file/providers/utils/handlers/index.js.map +1 -0
- package/dist/plugins/file/providers/utils/handlers/sizeHandlers.js +2 -0
- package/dist/plugins/file/providers/utils/handlers/sizeHandlers.js.map +1 -0
- package/dist/plugins/file/providers/utils/streamToBuffer.js +2 -0
- package/dist/plugins/file/providers/utils/streamToBuffer.js.map +1 -0
- package/dist/plugins/file/providers/utils/typeguards/isArray.js +2 -0
- package/dist/plugins/file/providers/utils/typeguards/isArray.js.map +1 -0
- package/dist/plugins/file/providers/utils/typeguards/isBuffer.js +2 -0
- package/dist/plugins/file/providers/utils/typeguards/isBuffer.js.map +1 -0
- package/dist/plugins/file/providers/utils/typeguards/isPath.js +2 -0
- package/dist/plugins/file/providers/utils/typeguards/isPath.js.map +1 -0
- package/dist/plugins/file/providers/utils/typeguards/isReadableStream.js +2 -0
- package/dist/plugins/file/providers/utils/typeguards/isReadableStream.js.map +1 -0
- package/dist/plugins/file/providers/utils/typeguards/isText.js +2 -0
- package/dist/plugins/file/providers/utils/typeguards/isText.js.map +1 -0
- package/dist/plugins/file/uploadFile.d.ts +5 -0
- package/dist/plugins/file/uploadFile.d.ts.map +1 -0
- package/dist/plugins/file/uploadFile.js +2 -0
- package/dist/plugins/file/uploadFile.js.map +1 -0
- package/dist/plugins/file/utils/allowedExtensions.d.ts +10 -0
- package/dist/plugins/file/utils/allowedExtensions.d.ts.map +1 -0
- package/dist/plugins/file/utils/allowedExtensions.js +2 -0
- package/dist/plugins/file/utils/allowedExtensions.js.map +1 -0
- package/dist/plugins/file/utils/getFileType.d.ts +5 -0
- package/dist/plugins/file/utils/getFileType.d.ts.map +1 -0
- package/dist/plugins/file/utils/getFileType.js +2 -0
- package/dist/plugins/file/utils/getFileType.js.map +1 -0
- package/dist/plugins/file/utils/getPath.js +2 -0
- package/dist/plugins/file/utils/getPath.js.map +1 -0
- package/dist/plugins/file/utils/inspectContent.d.ts +15 -0
- package/dist/plugins/file/utils/inspectContent.d.ts.map +1 -0
- package/dist/plugins/file/utils/inspectContent.js +2 -0
- package/dist/plugins/file/utils/inspectContent.js.map +1 -0
- package/dist/plugins/file/utils/isFileExists.js +2 -0
- package/dist/plugins/file/utils/isFileExists.js.map +1 -0
- package/dist/plugins/grpc/createGrpc.d.ts +9 -0
- package/dist/plugins/grpc/createGrpc.d.ts.map +1 -0
- package/dist/plugins/grpc/createGrpc.js +2 -0
- package/dist/plugins/grpc/createGrpc.js.map +1 -0
- package/dist/plugins/grpc/file2json.d.ts +11 -0
- package/dist/plugins/grpc/file2json.d.ts.map +1 -0
- package/dist/plugins/grpc/file2json.js +2 -0
- package/dist/plugins/grpc/file2json.js.map +1 -0
- package/dist/plugins/grpc/office2pdf.d.ts +9 -0
- package/dist/plugins/grpc/office2pdf.d.ts.map +1 -0
- package/dist/plugins/grpc/office2pdf.js +2 -0
- package/dist/plugins/grpc/office2pdf.js.map +1 -0
- package/dist/plugins/hook/addHook.d.ts +5 -0
- package/dist/plugins/hook/addHook.d.ts.map +1 -0
- package/dist/plugins/hook/addHook.js +2 -0
- package/dist/plugins/hook/addHook.js.map +1 -0
- package/dist/plugins/hook/applyHook.d.ts +5 -0
- package/dist/plugins/hook/applyHook.d.ts.map +1 -0
- package/dist/plugins/hook/applyHook.js +2 -0
- package/dist/plugins/hook/applyHook.js.map +1 -0
- package/dist/plugins/hook/applyHookSync.d.ts +5 -0
- package/dist/plugins/hook/applyHookSync.d.ts.map +1 -0
- package/dist/plugins/hook/applyHookSync.js +2 -0
- package/dist/plugins/hook/applyHookSync.js.map +1 -0
- package/dist/plugins/hook/hookList.js +2 -0
- package/dist/plugins/hook/hookList.js.map +1 -0
- package/dist/plugins/logger/checkUserAccess.js +2 -0
- package/dist/plugins/logger/checkUserAccess.js.map +1 -0
- package/dist/plugins/logger/createFileStream.d.ts +6 -0
- package/dist/plugins/logger/createFileStream.d.ts.map +1 -0
- package/dist/plugins/logger/createFileStream.js +2 -0
- package/dist/plugins/logger/createFileStream.js.map +1 -0
- package/dist/plugins/logger/createLogger.d.ts +13 -0
- package/dist/plugins/logger/createLogger.d.ts.map +1 -0
- package/dist/plugins/logger/createLogger.js +2 -0
- package/dist/plugins/logger/createLogger.js.map +1 -0
- package/dist/plugins/logger/errorMessage.js +2 -0
- package/dist/plugins/logger/errorMessage.js.map +1 -0
- package/dist/plugins/logger/errorStatus.js +2 -0
- package/dist/plugins/logger/errorStatus.js.map +1 -0
- package/dist/plugins/logger/getHooks.js +2 -0
- package/dist/plugins/logger/getHooks.js.map +1 -0
- package/dist/plugins/logger/getRootDir.js +2 -0
- package/dist/plugins/logger/getRootDir.js.map +1 -0
- package/dist/plugins/logger/index.js +2 -0
- package/dist/plugins/logger/index.js.map +1 -0
- package/dist/plugins/logger/labels.js +2 -0
- package/dist/plugins/logger/labels.js.map +1 -0
- package/dist/plugins/logger/serializers.js +2 -0
- package/dist/plugins/logger/serializers.js.map +1 -0
- package/dist/plugins/logger/timestampWithTimeZone.js +2 -0
- package/dist/plugins/logger/timestampWithTimeZone.js.map +1 -0
- package/dist/plugins/md/funcs/formatMdoc.d.ts +5 -0
- package/dist/plugins/md/funcs/formatMdoc.d.ts.map +1 -0
- package/dist/plugins/md/funcs/formatMdoc.js +8 -0
- package/dist/plugins/md/funcs/formatMdoc.js.map +1 -0
- package/dist/plugins/metric/index.js +2 -0
- package/dist/plugins/metric/index.js.map +1 -0
- package/dist/plugins/metric/loggerSystem.js +4 -0
- package/dist/plugins/metric/loggerSystem.js.map +1 -0
- package/dist/plugins/metric/systemMetricsFifthly.js +2 -0
- package/dist/plugins/metric/systemMetricsFifthly.js.map +1 -0
- package/dist/plugins/migration/exec.migrations.all.d.ts +6 -0
- package/dist/plugins/migration/exec.migrations.all.d.ts.map +1 -0
- package/dist/plugins/migration/exec.migrations.all.js +2 -0
- package/dist/plugins/migration/exec.migrations.all.js.map +1 -0
- package/dist/plugins/migration/exec.migrations.d.ts +9 -0
- package/dist/plugins/migration/exec.migrations.d.ts.map +1 -0
- package/dist/plugins/migration/exec.migrations.js +2 -0
- package/dist/plugins/migration/exec.migrations.js.map +1 -0
- package/dist/plugins/migration/exec.sql.d.ts +9 -0
- package/dist/plugins/migration/exec.sql.d.ts.map +1 -0
- package/dist/plugins/migration/exec.sql.js +2 -0
- package/dist/plugins/migration/exec.sql.js.map +1 -0
- package/dist/plugins/pg/audit/index.js +2 -0
- package/dist/plugins/pg/audit/index.js.map +1 -0
- package/dist/plugins/pg/funcs/autoIndex.d.ts +10 -0
- package/dist/plugins/pg/funcs/autoIndex.d.ts.map +1 -0
- package/dist/plugins/pg/funcs/autoIndex.js +8 -0
- package/dist/plugins/pg/funcs/autoIndex.js.map +1 -0
- package/dist/plugins/pg/funcs/createPg.d.ts +5 -0
- package/dist/plugins/pg/funcs/createPg.d.ts.map +1 -0
- package/dist/plugins/pg/funcs/createPg.js +2 -0
- package/dist/plugins/pg/funcs/createPg.js.map +1 -0
- package/dist/plugins/pg/funcs/createPgAsync.d.ts +5 -0
- package/dist/plugins/pg/funcs/createPgAsync.d.ts.map +1 -0
- package/dist/plugins/pg/funcs/createPgAsync.js +2 -0
- package/dist/plugins/pg/funcs/createPgAsync.js.map +1 -0
- package/dist/plugins/pg/funcs/getDBParams.d.ts +5 -0
- package/dist/plugins/pg/funcs/getDBParams.d.ts.map +1 -0
- package/dist/plugins/pg/funcs/getDBParams.js +2 -0
- package/dist/plugins/pg/funcs/getDBParams.js.map +1 -0
- package/dist/plugins/pg/funcs/getMeta.d.ts +9 -0
- package/dist/plugins/pg/funcs/getMeta.d.ts.map +1 -0
- package/dist/plugins/pg/funcs/getMeta.js +17 -0
- package/dist/plugins/pg/funcs/getMeta.js.map +1 -0
- package/dist/plugins/pg/funcs/init.d.ts +6 -0
- package/dist/plugins/pg/funcs/init.d.ts.map +1 -0
- package/dist/plugins/pg/funcs/init.js +38 -0
- package/dist/plugins/pg/funcs/init.js.map +1 -0
- package/dist/plugins/pg/funcs/pool.js +2 -0
- package/dist/plugins/pg/funcs/pool.js.map +1 -0
- package/dist/plugins/pg/index.js +2 -0
- package/dist/plugins/pg/index.js.map +1 -0
- package/dist/plugins/pg/pgClients.d.ts +5 -0
- package/dist/plugins/pg/pgClients.d.ts.map +1 -0
- package/dist/plugins/pg/pgClients.js +2 -0
- package/dist/plugins/pg/pgClients.js.map +1 -0
- package/dist/plugins/policy/funcs/checkJWT.js +2 -0
- package/dist/plugins/policy/funcs/checkJWT.js.map +1 -0
- package/dist/plugins/policy/funcs/checkPermissions.js +2 -0
- package/dist/plugins/policy/funcs/checkPermissions.js.map +1 -0
- package/dist/plugins/policy/funcs/checkPolicy.js +2 -0
- package/dist/plugins/policy/funcs/checkPolicy.js.map +1 -0
- package/dist/plugins/policy/funcs/checkTraversal.js +2 -0
- package/dist/plugins/policy/funcs/checkTraversal.js.map +1 -0
- package/dist/plugins/policy/funcs/checkXSS.d.ts +11 -0
- package/dist/plugins/policy/funcs/checkXSS.d.ts.map +1 -0
- package/dist/plugins/policy/funcs/checkXSS.js +2 -0
- package/dist/plugins/policy/funcs/checkXSS.js.map +1 -0
- package/dist/plugins/policy/index.js +2 -0
- package/dist/plugins/policy/index.js.map +1 -0
- package/dist/plugins/policy/xssInjection.js +2 -0
- package/dist/plugins/policy/xssInjection.js.map +1 -0
- package/dist/plugins/redis/funcs/createRedis.d.ts +15 -0
- package/dist/plugins/redis/funcs/createRedis.d.ts.map +1 -0
- package/dist/plugins/redis/funcs/createRedis.js +2 -0
- package/dist/plugins/redis/funcs/createRedis.js.map +1 -0
- package/dist/plugins/redis/funcs/redisClients.d.ts +5 -0
- package/dist/plugins/redis/funcs/redisClients.d.ts.map +1 -0
- package/dist/plugins/redis/funcs/redisClients.js +2 -0
- package/dist/plugins/redis/funcs/redisClients.js.map +1 -0
- package/dist/plugins/redis/index.js +2 -0
- package/dist/plugins/redis/index.js.map +1 -0
- package/dist/plugins/sqlite/funcs/getSqlite.d.ts +5 -0
- package/dist/plugins/sqlite/funcs/getSqlite.d.ts.map +1 -0
- package/dist/plugins/sqlite/funcs/getSqlite.js +2 -0
- package/dist/plugins/sqlite/funcs/getSqlite.js.map +1 -0
- package/dist/plugins/sqlite/funcs/init.d.ts +5 -0
- package/dist/plugins/sqlite/funcs/init.d.ts.map +1 -0
- package/dist/plugins/sqlite/funcs/init.js +24 -0
- package/dist/plugins/sqlite/funcs/init.js.map +1 -0
- package/dist/plugins/sqlite/index.js +2 -0
- package/dist/plugins/sqlite/index.js.map +1 -0
- package/dist/plugins/sqlite/sqliteClients.d.ts +5 -0
- package/dist/plugins/sqlite/sqliteClients.d.ts.map +1 -0
- package/dist/plugins/sqlite/sqliteClients.js +2 -0
- package/dist/plugins/sqlite/sqliteClients.js.map +1 -0
- package/dist/plugins/table/funcs/getColumnCLS.d.ts +5 -0
- package/dist/plugins/table/funcs/getColumnCLS.d.ts.map +1 -0
- package/dist/plugins/table/funcs/getColumnCLS.js +2 -0
- package/dist/plugins/table/funcs/getColumnCLS.js.map +1 -0
- package/dist/plugins/table/funcs/getFilterSQL/index.d.ts +28 -0
- package/dist/plugins/table/funcs/getFilterSQL/index.d.ts.map +1 -0
- package/dist/plugins/table/funcs/getFilterSQL/index.js +2 -0
- package/dist/plugins/table/funcs/getFilterSQL/index.js.map +1 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/formatValue.js +2 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/formatValue.js.map +1 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +2 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js.map +1 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +2 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js.map +1 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +2 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js.map +1 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getTableSql.js +2 -0
- package/dist/plugins/table/funcs/getFilterSQL/util/getTableSql.js.map +1 -0
- package/dist/plugins/table/funcs/getSelect.d.ts +9 -0
- package/dist/plugins/table/funcs/getSelect.d.ts.map +1 -0
- package/dist/plugins/table/funcs/getSelect.js +3 -0
- package/dist/plugins/table/funcs/getSelect.js.map +1 -0
- package/dist/plugins/table/funcs/getSelectMeta.d.ts +12 -0
- package/dist/plugins/table/funcs/getSelectMeta.d.ts.map +1 -0
- package/dist/plugins/table/funcs/getSelectMeta.js +2 -0
- package/dist/plugins/table/funcs/getSelectMeta.js.map +1 -0
- package/dist/plugins/table/funcs/getTableColumnMeta.js +2 -0
- package/dist/plugins/table/funcs/getTableColumnMeta.js.map +1 -0
- package/dist/plugins/table/funcs/gisIRColumn.d.ts +25 -0
- package/dist/plugins/table/funcs/gisIRColumn.d.ts.map +1 -0
- package/dist/plugins/table/funcs/gisIRColumn.js +5 -0
- package/dist/plugins/table/funcs/gisIRColumn.js.map +1 -0
- package/dist/plugins/upload/index.d.ts +8 -0
- package/dist/plugins/upload/index.d.ts.map +1 -0
- package/dist/plugins/upload/index.js +2 -0
- package/dist/plugins/upload/index.js.map +1 -0
- package/dist/plugins/upload/s3.js +2 -0
- package/dist/plugins/upload/s3.js.map +1 -0
- package/dist/plugins/usercls/index.d.ts +29 -0
- package/dist/plugins/usercls/index.d.ts.map +1 -0
- package/dist/plugins/usercls/index.js +4 -0
- package/dist/plugins/usercls/index.js.map +1 -0
- package/dist/redactionList.d.ts +3 -1
- package/dist/redactionList.d.ts.map +1 -1
- package/dist/redactionList.js +2 -6
- package/dist/redactionList.js.map +1 -0
- package/dist/script/dump.d.ts +4 -1
- package/dist/script/dump.d.ts.map +1 -1
- package/dist/script/dump.js +50 -160
- package/dist/script/dump.js.map +1 -0
- package/dist/script/migrate.d.ts +4 -1
- package/dist/script/migrate.d.ts.map +1 -1
- package/dist/script/migrate.js +2 -20
- package/dist/script/migrate.js.map +1 -0
- package/dist/server/migrations/crm.sql +26 -1
- package/dist/server/migrations/log.sql +5 -1
- package/dist/shared/services/eventStream.d.ts +5 -0
- package/dist/shared/services/eventStream.d.ts.map +1 -0
- package/dist/shared/services/eventStream.js +2 -0
- package/dist/shared/services/eventStream.js.map +1 -0
- package/dist/shared/services/flattenObject.d.ts +5 -0
- package/dist/shared/services/flattenObject.d.ts.map +1 -0
- package/dist/shared/services/flattenObject.js +2 -0
- package/dist/shared/services/flattenObject.js.map +1 -0
- package/dist/shared/services/getIP.js +2 -0
- package/dist/shared/services/getIP.js.map +1 -0
- package/dist/shared/services/json2yml.d.ts +5 -0
- package/dist/shared/services/json2yml.d.ts.map +1 -0
- package/dist/shared/services/json2yml.js +2 -0
- package/dist/shared/services/json2yml.js.map +1 -0
- package/dist/shared/services/jsonToCsv.d.ts +5 -0
- package/dist/shared/services/jsonToCsv.d.ts.map +1 -0
- package/dist/shared/services/jsonToCsv.js +3 -0
- package/dist/shared/services/jsonToCsv.js.map +1 -0
- package/dist/shared/services/jsonToXls.d.ts +5 -0
- package/dist/shared/services/jsonToXls.d.ts.map +1 -0
- package/dist/shared/services/jsonToXls.js +2 -0
- package/dist/shared/services/jsonToXls.js.map +1 -0
- package/dist/shared/services/jsonlToJsonFile.js +5 -0
- package/dist/shared/services/jsonlToJsonFile.js.map +1 -0
- package/dist/shared/services/mdToHTML.d.ts +10 -0
- package/dist/shared/services/mdToHTML.d.ts.map +1 -0
- package/dist/shared/services/mdToHTML.js +2 -0
- package/dist/shared/services/mdToHTML.js.map +1 -0
- package/dist/shared/services/pubsub.js +2 -0
- package/dist/shared/services/pubsub.js.map +1 -0
- package/dist/shared/services/unflattenObject.d.ts +5 -0
- package/dist/shared/services/unflattenObject.d.ts.map +1 -0
- package/dist/shared/services/unflattenObject.js +2 -0
- package/dist/shared/services/unflattenObject.js.map +1 -0
- package/dist/shared/services/yml2json.d.ts +5 -0
- package/dist/shared/services/yml2json.d.ts.map +1 -0
- package/dist/shared/services/yml2json.js +2 -0
- package/dist/shared/services/yml2json.js.map +1 -0
- package/dist/types/core.d.ts +46 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/utils/index.d.ts +91 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/uploadMultiPart.d.ts +33 -0
- package/dist/utils/uploadMultiPart.d.ts.map +1 -0
- package/dist/utils/uploadMultiPart.js +2 -0
- package/dist/utils/uploadMultiPart.js.map +1 -0
- package/package.json +8 -5
- package/dist/functions.d.ts +0 -40
- package/dist/functions.d.ts.map +0 -1
- package/dist/helper.d.ts +0 -28
- package/dist/helper.d.ts.map +0 -1
- package/dist/script/adduser +0 -15
- package/dist/script/dump.ts +0 -216
- package/dist/script/migrate.ts +0 -23
- package/dist/server/helpers/core/badge.d.ts +0 -2
- package/dist/server/helpers/core/badge.d.ts.map +0 -1
- package/dist/server/helpers/core/badge.js +0 -20
- package/dist/server/helpers/core/buttonFilePreview.d.ts +0 -2
- package/dist/server/helpers/core/buttonFilePreview.d.ts.map +0 -1
- package/dist/server/helpers/core/buttonFilePreview.js +0 -12
- package/dist/server/helpers/core/buttonHelper.d.ts +0 -2
- package/dist/server/helpers/core/buttonHelper.d.ts.map +0 -1
- package/dist/server/helpers/core/buttonHelper.js +0 -20
- package/dist/server/helpers/core/token.d.ts +0 -2
- package/dist/server/helpers/core/token.d.ts.map +0 -1
- package/dist/server/helpers/core/token.js +0 -16
- package/dist/server/helpers/format/formatAuto.d.ts +0 -2
- package/dist/server/helpers/format/formatAuto.d.ts.map +0 -1
- package/dist/server/helpers/format/formatAuto.js +0 -14
- package/dist/server/helpers/format/formatDate.d.ts +0 -37
- package/dist/server/helpers/format/formatDate.d.ts.map +0 -1
- package/dist/server/helpers/format/formatDate.js +0 -231
- package/dist/server/helpers/format/formatDigit.d.ts +0 -16
- package/dist/server/helpers/format/formatDigit.d.ts.map +0 -1
- package/dist/server/helpers/format/formatDigit.js +0 -21
- package/dist/server/helpers/format/formatNum.d.ts +0 -17
- package/dist/server/helpers/format/formatNum.d.ts.map +0 -1
- package/dist/server/helpers/format/formatNum.js +0 -331
- package/dist/server/helpers/format/formatNumber.d.ts +0 -27
- package/dist/server/helpers/format/formatNumber.d.ts.map +0 -1
- package/dist/server/helpers/format/formatNumber.js +0 -50
- package/dist/server/helpers/format/formatRelative.d.ts +0 -22
- package/dist/server/helpers/format/formatRelative.d.ts.map +0 -1
- package/dist/server/helpers/format/formatRelative.js +0 -180
- package/dist/server/helpers/format/formatUnit.d.ts +0 -17
- package/dist/server/helpers/format/formatUnit.d.ts.map +0 -1
- package/dist/server/helpers/format/formatUnit.js +0 -41
- package/dist/server/helpers/format/num_format.d.ts +0 -20
- package/dist/server/helpers/format/num_format.d.ts.map +0 -1
- package/dist/server/helpers/format/num_format.js +0 -40
- package/dist/server/helpers/format/set.d.ts +0 -19
- package/dist/server/helpers/format/set.d.ts.map +0 -1
- package/dist/server/helpers/format/set.js +0 -26
- package/dist/server/helpers/funcs/_math.d.ts +0 -24
- package/dist/server/helpers/funcs/_math.d.ts.map +0 -1
- package/dist/server/helpers/funcs/_math.js +0 -49
- package/dist/server/helpers/funcs/contentList.d.ts +0 -22
- package/dist/server/helpers/funcs/contentList.d.ts.map +0 -1
- package/dist/server/helpers/funcs/contentList.js +0 -52
- package/dist/server/helpers/funcs/empty.d.ts +0 -20
- package/dist/server/helpers/funcs/empty.d.ts.map +0 -1
- package/dist/server/helpers/funcs/empty.js +0 -21
- package/dist/server/helpers/funcs/ifCond.d.ts +0 -23
- package/dist/server/helpers/funcs/ifCond.d.ts.map +0 -1
- package/dist/server/helpers/funcs/ifCond.js +0 -109
- package/dist/server/helpers/funcs/ifCondAnd.d.ts +0 -16
- package/dist/server/helpers/funcs/ifCondAnd.d.ts.map +0 -1
- package/dist/server/helpers/funcs/ifCondAnd.js +0 -109
- package/dist/server/helpers/funcs/ifCondOr.d.ts +0 -17
- package/dist/server/helpers/funcs/ifCondOr.d.ts.map +0 -1
- package/dist/server/helpers/funcs/ifCondOr.js +0 -110
- package/dist/server/helpers/funcs/inc.d.ts +0 -16
- package/dist/server/helpers/funcs/inc.d.ts.map +0 -1
- package/dist/server/helpers/funcs/inc.js +0 -19
- package/dist/server/helpers/funcs/json.d.ts +0 -2
- package/dist/server/helpers/funcs/json.d.ts.map +0 -1
- package/dist/server/helpers/funcs/json.js +0 -3
- package/dist/server/helpers/funcs/qrcode.d.ts +0 -4
- package/dist/server/helpers/funcs/qrcode.d.ts.map +0 -1
- package/dist/server/helpers/funcs/qrcode.js +0 -65
- package/dist/server/helpers/funcs/round.d.ts +0 -18
- package/dist/server/helpers/funcs/round.d.ts.map +0 -1
- package/dist/server/helpers/funcs/round.js +0 -27
- package/dist/server/helpers/funcs/select.d.ts +0 -2
- package/dist/server/helpers/funcs/select.d.ts.map +0 -1
- package/dist/server/helpers/funcs/select.js +0 -39
- package/dist/server/helpers/index.d.ts +0 -4
- package/dist/server/helpers/index.d.ts.map +0 -1
- package/dist/server/helpers/index.js +0 -128
- package/dist/server/helpers/list/buttonHelper.d.ts +0 -2
- package/dist/server/helpers/list/buttonHelper.d.ts.map +0 -1
- package/dist/server/helpers/list/buttonHelper.js +0 -20
- package/dist/server/helpers/list/descriptionList.d.ts +0 -2
- package/dist/server/helpers/list/descriptionList.d.ts.map +0 -1
- package/dist/server/helpers/list/descriptionList.js +0 -47
- package/dist/server/helpers/list/tableList.d.ts +0 -2
- package/dist/server/helpers/list/tableList.d.ts.map +0 -1
- package/dist/server/helpers/list/tableList.js +0 -104
- package/dist/server/helpers/list/utils/button.d.ts +0 -2
- package/dist/server/helpers/list/utils/button.d.ts.map +0 -1
- package/dist/server/helpers/list/utils/button.js +0 -11
- package/dist/server/helpers/list/utils/buttonDel.d.ts +0 -2
- package/dist/server/helpers/list/utils/buttonDel.d.ts.map +0 -1
- package/dist/server/helpers/list/utils/buttonDel.js +0 -18
- package/dist/server/helpers/list/utils/buttonEdit.d.ts +0 -2
- package/dist/server/helpers/list/utils/buttonEdit.d.ts.map +0 -1
- package/dist/server/helpers/list/utils/buttonEdit.js +0 -18
- package/dist/server/helpers/string/coalesce.d.ts +0 -21
- package/dist/server/helpers/string/coalesce.d.ts.map +0 -1
- package/dist/server/helpers/string/coalesce.js +0 -33
- package/dist/server/helpers/string/concat.d.ts +0 -16
- package/dist/server/helpers/string/concat.d.ts.map +0 -1
- package/dist/server/helpers/string/concat.js +0 -25
- package/dist/server/helpers/string/split.d.ts +0 -16
- package/dist/server/helpers/string/split.d.ts.map +0 -1
- package/dist/server/helpers/string/split.js +0 -19
- package/dist/server/helpers/string/str_replace.d.ts +0 -25
- package/dist/server/helpers/string/str_replace.d.ts.map +0 -1
- package/dist/server/helpers/string/str_replace.js +0 -57
- package/dist/server/helpers/string/substr.d.ts +0 -20
- package/dist/server/helpers/string/substr.d.ts.map +0 -1
- package/dist/server/helpers/string/substr.js +0 -28
- package/dist/server/helpers/string/translit.d.ts +0 -16
- package/dist/server/helpers/string/translit.d.ts.map +0 -1
- package/dist/server/helpers/string/translit.js +0 -20
- package/dist/server/helpers/string/utils/alphabet.d.ts +0 -3
- package/dist/server/helpers/string/utils/alphabet.d.ts.map +0 -1
- package/dist/server/helpers/string/utils/alphabet.js +0 -76
- package/dist/server/helpers/utils/button.d.ts +0 -2
- package/dist/server/helpers/utils/button.d.ts.map +0 -1
- package/dist/server/helpers/utils/button.js +0 -11
- package/dist/server/helpers/utils/buttonAdd.d.ts +0 -2
- package/dist/server/helpers/utils/buttonAdd.d.ts.map +0 -1
- package/dist/server/helpers/utils/buttonAdd.js +0 -26
- package/dist/server/helpers/utils/buttonDel.d.ts +0 -2
- package/dist/server/helpers/utils/buttonDel.d.ts.map +0 -1
- package/dist/server/helpers/utils/buttonDel.js +0 -29
- package/dist/server/helpers/utils/buttonDownload.d.ts +0 -2
- package/dist/server/helpers/utils/buttonDownload.d.ts.map +0 -1
- package/dist/server/helpers/utils/buttonDownload.js +0 -3
- package/dist/server/helpers/utils/buttonEdit.d.ts +0 -2
- package/dist/server/helpers/utils/buttonEdit.d.ts.map +0 -1
- package/dist/server/helpers/utils/buttonEdit.js +0 -21
- package/dist/server/helpers/utils/buttonPreview.d.ts +0 -2
- package/dist/server/helpers/utils/buttonPreview.d.ts.map +0 -1
- package/dist/server/helpers/utils/buttonPreview.js +0 -3
- package/dist/server/helpers/utils/mdToHTML.d.ts +0 -8
- package/dist/server/helpers/utils/mdToHTML.d.ts.map +0 -1
- package/dist/server/helpers/utils/mdToHTML.js +0 -16
- package/dist/server/helpers/utils/paddingNumber.d.ts +0 -2
- package/dist/server/helpers/utils/paddingNumber.d.ts.map +0 -1
- package/dist/server/helpers/utils/paddingNumber.js +0 -5
- package/dist/server/plugins/access/funcs/getResources.d.ts +0 -8
- package/dist/server/plugins/access/funcs/getResources.d.ts.map +0 -1
- package/dist/server/plugins/access/funcs/getResources.js +0 -17
- package/dist/server/plugins/access/funcs/getUserPermissions.d.ts +0 -7
- package/dist/server/plugins/access/funcs/getUserPermissions.d.ts.map +0 -1
- package/dist/server/plugins/access/funcs/getUserPermissions.js +0 -42
- package/dist/server/plugins/auth/funcs/authorizeUser.d.ts +0 -3
- package/dist/server/plugins/auth/funcs/authorizeUser.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/authorizeUser.js +0 -116
- package/dist/server/plugins/auth/funcs/checkReferer.d.ts +0 -8
- package/dist/server/plugins/auth/funcs/checkReferer.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/checkReferer.js +0 -24
- package/dist/server/plugins/auth/funcs/getQuery.d.ts +0 -6
- package/dist/server/plugins/auth/funcs/getQuery.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/getQuery.js +0 -128
- package/dist/server/plugins/auth/funcs/jwt.d.ts +0 -31
- package/dist/server/plugins/auth/funcs/jwt.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/jwt.js +0 -78
- package/dist/server/plugins/auth/funcs/logAuth.d.ts +0 -7
- package/dist/server/plugins/auth/funcs/logAuth.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/logAuth.js +0 -17
- package/dist/server/plugins/auth/funcs/loginFile.d.ts +0 -3
- package/dist/server/plugins/auth/funcs/loginFile.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/loginFile.js +0 -51
- package/dist/server/plugins/auth/funcs/loginUser.d.ts +0 -3
- package/dist/server/plugins/auth/funcs/loginUser.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/loginUser.js +0 -62
- package/dist/server/plugins/auth/funcs/sendNotification.d.ts +0 -15
- package/dist/server/plugins/auth/funcs/sendNotification.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/sendNotification.js +0 -96
- package/dist/server/plugins/auth/funcs/users.d.ts +0 -3
- package/dist/server/plugins/auth/funcs/users.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/users.js +0 -2
- package/dist/server/plugins/auth/funcs/verifyPassword.d.ts +0 -13
- package/dist/server/plugins/auth/funcs/verifyPassword.d.ts.map +0 -1
- package/dist/server/plugins/auth/funcs/verifyPassword.js +0 -45
- package/dist/server/plugins/auth/index.d.ts +0 -6
- package/dist/server/plugins/auth/index.d.ts.map +0 -1
- package/dist/server/plugins/auth/index.js +0 -145
- package/dist/server/plugins/cron/cronList.d.ts +0 -5
- package/dist/server/plugins/cron/cronList.d.ts.map +0 -1
- package/dist/server/plugins/cron/cronList.js +0 -4
- package/dist/server/plugins/cron/funcs/addCron.d.ts +0 -13
- package/dist/server/plugins/cron/funcs/addCron.d.ts.map +0 -1
- package/dist/server/plugins/cron/funcs/addCron.js +0 -42
- package/dist/server/plugins/cron/funcs/interval2ms.d.ts +0 -3
- package/dist/server/plugins/cron/funcs/interval2ms.d.ts.map +0 -1
- package/dist/server/plugins/cron/funcs/interval2ms.js +0 -36
- package/dist/server/plugins/cron/funcs/runCron.d.ts +0 -5
- package/dist/server/plugins/cron/funcs/runCron.d.ts.map +0 -1
- package/dist/server/plugins/cron/funcs/runCron.js +0 -20
- package/dist/server/plugins/cron/funcs/verifyUnique.d.ts +0 -2
- package/dist/server/plugins/cron/funcs/verifyUnique.d.ts.map +0 -1
- package/dist/server/plugins/cron/funcs/verifyUnique.js +0 -19
- package/dist/server/plugins/cron/index.d.ts +0 -3
- package/dist/server/plugins/cron/index.d.ts.map +0 -1
- package/dist/server/plugins/cron/index.js +0 -75
- package/dist/server/plugins/crud/funcs/dataDelete.d.ts +0 -12
- package/dist/server/plugins/crud/funcs/dataDelete.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/dataDelete.js +0 -89
- package/dist/server/plugins/crud/funcs/dataInsert.d.ts +0 -12
- package/dist/server/plugins/crud/funcs/dataInsert.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/dataInsert.js +0 -145
- package/dist/server/plugins/crud/funcs/dataUpdate.d.ts +0 -12
- package/dist/server/plugins/crud/funcs/dataUpdate.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/dataUpdate.js +0 -205
- package/dist/server/plugins/crud/funcs/dataUpsert.d.ts +0 -13
- package/dist/server/plugins/crud/funcs/dataUpsert.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/dataUpsert.js +0 -150
- package/dist/server/plugins/crud/funcs/getAccess.d.ts +0 -12
- package/dist/server/plugins/crud/funcs/getAccess.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/getAccess.js +0 -135
- package/dist/server/plugins/crud/funcs/getOpt.d.ts +0 -2
- package/dist/server/plugins/crud/funcs/getOpt.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/getOpt.js +0 -13
- package/dist/server/plugins/crud/funcs/getToken.d.ts +0 -3
- package/dist/server/plugins/crud/funcs/getToken.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/getToken.js +0 -24
- package/dist/server/plugins/crud/funcs/isFileExists.d.ts +0 -3
- package/dist/server/plugins/crud/funcs/isFileExists.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/isFileExists.js +0 -11
- package/dist/server/plugins/crud/funcs/setOpt.d.ts +0 -2
- package/dist/server/plugins/crud/funcs/setOpt.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/setOpt.js +0 -19
- package/dist/server/plugins/crud/funcs/setToken.d.ts +0 -7
- package/dist/server/plugins/crud/funcs/setToken.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/setToken.js +0 -41
- package/dist/server/plugins/crud/funcs/utils/getFolder.d.ts +0 -3
- package/dist/server/plugins/crud/funcs/utils/getFolder.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/utils/getFolder.js +0 -13
- package/dist/server/plugins/crud/funcs/utils/getInsertQuery.d.ts +0 -14
- package/dist/server/plugins/crud/funcs/utils/getInsertQuery.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/utils/getInsertQuery.js +0 -62
- package/dist/server/plugins/crud/funcs/utils/logChanges.d.ts +0 -32
- package/dist/server/plugins/crud/funcs/utils/logChanges.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/utils/logChanges.js +0 -209
- package/dist/server/plugins/crud/funcs/utils/nullif.d.ts +0 -3
- package/dist/server/plugins/crud/funcs/utils/nullif.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/utils/nullif.js +0 -10
- package/dist/server/plugins/crud/funcs/validateData.d.ts +0 -6
- package/dist/server/plugins/crud/funcs/validateData.d.ts.map +0 -1
- package/dist/server/plugins/crud/funcs/validateData.js +0 -132
- package/dist/server/plugins/extra/extraData.d.ts +0 -2
- package/dist/server/plugins/extra/extraData.d.ts.map +0 -1
- package/dist/server/plugins/extra/extraData.js +0 -82
- package/dist/server/plugins/extra/extraDataGet.d.ts +0 -2
- package/dist/server/plugins/extra/extraDataGet.d.ts.map +0 -1
- package/dist/server/plugins/extra/extraDataGet.js +0 -50
- package/dist/server/plugins/file/downloadFile.d.ts +0 -3
- package/dist/server/plugins/file/downloadFile.d.ts.map +0 -1
- package/dist/server/plugins/file/downloadFile.js +0 -15
- package/dist/server/plugins/file/getExport.d.ts +0 -2
- package/dist/server/plugins/file/getExport.d.ts.map +0 -1
- package/dist/server/plugins/file/getExport.js +0 -25
- package/dist/server/plugins/file/getFileSize.d.ts +0 -2
- package/dist/server/plugins/file/getFileSize.d.ts.map +0 -1
- package/dist/server/plugins/file/getFileSize.js +0 -12
- package/dist/server/plugins/file/isFileExists.d.ts +0 -3
- package/dist/server/plugins/file/isFileExists.d.ts.map +0 -1
- package/dist/server/plugins/file/isFileExists.js +0 -13
- package/dist/server/plugins/file/providers/fs.d.ts +0 -17
- package/dist/server/plugins/file/providers/fs.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/fs.js +0 -89
- package/dist/server/plugins/file/providers/index.d.ts +0 -3
- package/dist/server/plugins/file/providers/index.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/index.js +0 -28
- package/dist/server/plugins/file/providers/mime/index.d.ts +0 -3
- package/dist/server/plugins/file/providers/mime/index.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/mime/index.js +0 -7
- package/dist/server/plugins/file/providers/mime/mimes.d.ts +0 -3
- package/dist/server/plugins/file/providers/mime/mimes.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/mime/mimes.js +0 -1179
- package/dist/server/plugins/file/providers/s3/client.d.ts +0 -13
- package/dist/server/plugins/file/providers/s3/client.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/s3/client.js +0 -32
- package/dist/server/plugins/file/providers/s3/funcs/downloadFile.d.ts +0 -3
- package/dist/server/plugins/file/providers/s3/funcs/downloadFile.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/s3/funcs/downloadFile.js +0 -53
- package/dist/server/plugins/file/providers/s3/funcs/fileExists.d.ts +0 -3
- package/dist/server/plugins/file/providers/s3/funcs/fileExists.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/s3/funcs/fileExists.js +0 -26
- package/dist/server/plugins/file/providers/s3/funcs/getFileSize.d.ts +0 -3
- package/dist/server/plugins/file/providers/s3/funcs/getFileSize.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/s3/funcs/getFileSize.js +0 -30
- package/dist/server/plugins/file/providers/s3/funcs/uploadFile.d.ts +0 -3
- package/dist/server/plugins/file/providers/s3/funcs/uploadFile.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/s3/funcs/uploadFile.js +0 -35
- package/dist/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.d.ts +0 -3
- package/dist/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +0 -18
- package/dist/server/plugins/file/providers/s3/index.d.ts +0 -8
- package/dist/server/plugins/file/providers/s3/index.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/s3/index.js +0 -13
- package/dist/server/plugins/file/providers/utils/getDataSize.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/getDataSize.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/getDataSize.js +0 -19
- package/dist/server/plugins/file/providers/utils/getValidData.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/getValidData.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/getValidData.js +0 -30
- package/dist/server/plugins/file/providers/utils/handlers/dataTypes.d.ts +0 -8
- package/dist/server/plugins/file/providers/utils/handlers/dataTypes.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/handlers/dataTypes.js +0 -7
- package/dist/server/plugins/file/providers/utils/handlers/index.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/handlers/index.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/handlers/index.js +0 -50
- package/dist/server/plugins/file/providers/utils/handlers/sizeHandlers.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/handlers/sizeHandlers.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/handlers/sizeHandlers.js +0 -9
- package/dist/server/plugins/file/providers/utils/streamToBuffer.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/streamToBuffer.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/streamToBuffer.js +0 -7
- package/dist/server/plugins/file/providers/utils/typeguards/isArray.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/typeguards/isArray.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/typeguards/isArray.js +0 -2
- package/dist/server/plugins/file/providers/utils/typeguards/isBuffer.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/typeguards/isBuffer.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/typeguards/isBuffer.js +0 -2
- package/dist/server/plugins/file/providers/utils/typeguards/isPath.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/typeguards/isPath.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/typeguards/isPath.js +0 -3
- package/dist/server/plugins/file/providers/utils/typeguards/isReadableStream.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/typeguards/isReadableStream.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/typeguards/isReadableStream.js +0 -7
- package/dist/server/plugins/file/providers/utils/typeguards/isText.d.ts +0 -3
- package/dist/server/plugins/file/providers/utils/typeguards/isText.d.ts.map +0 -1
- package/dist/server/plugins/file/providers/utils/typeguards/isText.js +0 -2
- package/dist/server/plugins/file/uploadFile.d.ts +0 -3
- package/dist/server/plugins/file/uploadFile.d.ts.map +0 -1
- package/dist/server/plugins/file/uploadFile.js +0 -14
- package/dist/server/plugins/file/uploadMultiPart.d.ts +0 -31
- package/dist/server/plugins/file/uploadMultiPart.d.ts.map +0 -1
- package/dist/server/plugins/file/uploadMultiPart.js +0 -166
- package/dist/server/plugins/file/utils/allowedExtensions.d.ts +0 -13
- package/dist/server/plugins/file/utils/allowedExtensions.d.ts.map +0 -1
- package/dist/server/plugins/file/utils/allowedExtensions.js +0 -52
- package/dist/server/plugins/file/utils/getFileType.d.ts +0 -2
- package/dist/server/plugins/file/utils/getFileType.d.ts.map +0 -1
- package/dist/server/plugins/file/utils/getFileType.js +0 -12
- package/dist/server/plugins/file/utils/getPath.d.ts +0 -3
- package/dist/server/plugins/file/utils/getPath.d.ts.map +0 -1
- package/dist/server/plugins/file/utils/getPath.js +0 -30
- package/dist/server/plugins/file/utils/inspectContent.d.ts +0 -12
- package/dist/server/plugins/file/utils/inspectContent.d.ts.map +0 -1
- package/dist/server/plugins/file/utils/inspectContent.js +0 -145
- package/dist/server/plugins/file/utils/isFileExists.d.ts +0 -3
- package/dist/server/plugins/file/utils/isFileExists.d.ts.map +0 -1
- package/dist/server/plugins/file/utils/isFileExists.js +0 -15
- package/dist/server/plugins/grpc/file2json.d.ts +0 -9
- package/dist/server/plugins/grpc/file2json.d.ts.map +0 -1
- package/dist/server/plugins/grpc/file2json.js +0 -50
- package/dist/server/plugins/grpc/grpc.d.ts +0 -3
- package/dist/server/plugins/grpc/grpc.d.ts.map +0 -1
- package/dist/server/plugins/grpc/grpc.js +0 -114
- package/dist/server/plugins/grpc/office2pdf.d.ts +0 -6
- package/dist/server/plugins/grpc/office2pdf.d.ts.map +0 -1
- package/dist/server/plugins/grpc/office2pdf.js +0 -78
- package/dist/server/plugins/grpc/utils/csv2xls.d.ts +0 -6
- package/dist/server/plugins/grpc/utils/csv2xls.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/csv2xls.js +0 -6
- package/dist/server/plugins/grpc/utils/excel2Json.d.ts +0 -4
- package/dist/server/plugins/grpc/utils/excel2Json.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/excel2Json.js +0 -10
- package/dist/server/plugins/grpc/utils/html2doc.d.ts +0 -7
- package/dist/server/plugins/grpc/utils/html2doc.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/html2doc.js +0 -12
- package/dist/server/plugins/grpc/utils/html2img.d.ts +0 -7
- package/dist/server/plugins/grpc/utils/html2img.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/html2img.js +0 -12
- package/dist/server/plugins/grpc/utils/html2pdf.d.ts +0 -4
- package/dist/server/plugins/grpc/utils/html2pdf.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/html2pdf.js +0 -14
- package/dist/server/plugins/grpc/utils/htmlTemplate.d.ts +0 -3
- package/dist/server/plugins/grpc/utils/htmlTemplate.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/htmlTemplate.js +0 -13
- package/dist/server/plugins/grpc/utils/json2xls.d.ts +0 -10
- package/dist/server/plugins/grpc/utils/json2xls.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/json2xls.js +0 -11
- package/dist/server/plugins/grpc/utils/mergePdf.d.ts +0 -5
- package/dist/server/plugins/grpc/utils/mergePdf.d.ts.map +0 -1
- package/dist/server/plugins/grpc/utils/mergePdf.js +0 -13
- package/dist/server/plugins/hook/addHook.d.ts +0 -2
- package/dist/server/plugins/hook/addHook.d.ts.map +0 -1
- package/dist/server/plugins/hook/addHook.js +0 -7
- package/dist/server/plugins/hook/applyHook.d.ts +0 -2
- package/dist/server/plugins/hook/applyHook.d.ts.map +0 -1
- package/dist/server/plugins/hook/applyHook.js +0 -24
- package/dist/server/plugins/hook/applyHookSync.d.ts +0 -2
- package/dist/server/plugins/hook/applyHookSync.d.ts.map +0 -1
- package/dist/server/plugins/hook/applyHookSync.js +0 -7
- package/dist/server/plugins/hook/hookList.d.ts +0 -3
- package/dist/server/plugins/hook/hookList.d.ts.map +0 -1
- package/dist/server/plugins/hook/hookList.js +0 -1
- package/dist/server/plugins/logger/checkUserAccess.d.ts +0 -10
- package/dist/server/plugins/logger/checkUserAccess.d.ts.map +0 -1
- package/dist/server/plugins/logger/checkUserAccess.js +0 -20
- package/dist/server/plugins/logger/createFileStream.d.ts +0 -3
- package/dist/server/plugins/logger/createFileStream.d.ts.map +0 -1
- package/dist/server/plugins/logger/createFileStream.js +0 -63
- package/dist/server/plugins/logger/errorMessage.d.ts +0 -3
- package/dist/server/plugins/logger/errorMessage.d.ts.map +0 -1
- package/dist/server/plugins/logger/errorMessage.js +0 -29
- package/dist/server/plugins/logger/errorStatus.d.ts +0 -3
- package/dist/server/plugins/logger/errorStatus.d.ts.map +0 -1
- package/dist/server/plugins/logger/errorStatus.js +0 -23
- package/dist/server/plugins/logger/getHooks.d.ts +0 -5
- package/dist/server/plugins/logger/getHooks.d.ts.map +0 -1
- package/dist/server/plugins/logger/getHooks.js +0 -17
- package/dist/server/plugins/logger/getLogger.d.ts +0 -9
- package/dist/server/plugins/logger/getLogger.d.ts.map +0 -1
- package/dist/server/plugins/logger/getLogger.js +0 -68
- package/dist/server/plugins/logger/getRootDir.d.ts +0 -3
- package/dist/server/plugins/logger/getRootDir.d.ts.map +0 -1
- package/dist/server/plugins/logger/getRootDir.js +0 -3
- package/dist/server/plugins/logger/index.d.ts +0 -4
- package/dist/server/plugins/logger/index.d.ts.map +0 -1
- package/dist/server/plugins/logger/index.js +0 -95
- package/dist/server/plugins/logger/labels.d.ts +0 -3
- package/dist/server/plugins/logger/labels.d.ts.map +0 -1
- package/dist/server/plugins/logger/labels.js +0 -10
- package/dist/server/plugins/logger/serializers.d.ts +0 -16
- package/dist/server/plugins/logger/serializers.d.ts.map +0 -1
- package/dist/server/plugins/logger/serializers.js +0 -22
- package/dist/server/plugins/logger/timestampWithTimeZone.d.ts +0 -2
- package/dist/server/plugins/logger/timestampWithTimeZone.d.ts.map +0 -1
- package/dist/server/plugins/logger/timestampWithTimeZone.js +0 -5
- package/dist/server/plugins/md/funcs/formatMdoc.d.ts +0 -2
- package/dist/server/plugins/md/funcs/formatMdoc.d.ts.map +0 -1
- package/dist/server/plugins/md/funcs/formatMdoc.js +0 -45
- package/dist/server/plugins/md/funcs/mdToHTML.d.ts +0 -8
- package/dist/server/plugins/md/funcs/mdToHTML.d.ts.map +0 -1
- package/dist/server/plugins/md/funcs/mdToHTML.js +0 -16
- package/dist/server/plugins/metric/index.d.ts +0 -3
- package/dist/server/plugins/metric/index.d.ts.map +0 -1
- package/dist/server/plugins/metric/index.js +0 -6
- package/dist/server/plugins/metric/loggerSystem.d.ts +0 -2
- package/dist/server/plugins/metric/loggerSystem.d.ts.map +0 -1
- package/dist/server/plugins/metric/loggerSystem.js +0 -153
- package/dist/server/plugins/metric/systemMetricsFifthly.d.ts +0 -6
- package/dist/server/plugins/metric/systemMetricsFifthly.d.ts.map +0 -1
- package/dist/server/plugins/metric/systemMetricsFifthly.js +0 -20
- package/dist/server/plugins/migration/exec.migrations.all.d.ts +0 -2
- package/dist/server/plugins/migration/exec.migrations.all.d.ts.map +0 -1
- package/dist/server/plugins/migration/exec.migrations.all.js +0 -65
- package/dist/server/plugins/migration/exec.migrations.d.ts +0 -2
- package/dist/server/plugins/migration/exec.migrations.d.ts.map +0 -1
- package/dist/server/plugins/migration/exec.migrations.js +0 -67
- package/dist/server/plugins/migration/exec.sql.d.ts +0 -2
- package/dist/server/plugins/migration/exec.sql.d.ts.map +0 -1
- package/dist/server/plugins/migration/exec.sql.js +0 -62
- package/dist/server/plugins/notifications/addNotification.d.ts +0 -12
- package/dist/server/plugins/notifications/addNotification.d.ts.map +0 -1
- package/dist/server/plugins/notifications/addNotification.js +0 -18
- package/dist/server/plugins/pg/funcs/autoIndex.d.ts +0 -2
- package/dist/server/plugins/pg/funcs/autoIndex.d.ts.map +0 -1
- package/dist/server/plugins/pg/funcs/autoIndex.js +0 -104
- package/dist/server/plugins/pg/funcs/getDBParams.d.ts +0 -2
- package/dist/server/plugins/pg/funcs/getDBParams.d.ts.map +0 -1
- package/dist/server/plugins/pg/funcs/getDBParams.js +0 -16
- package/dist/server/plugins/pg/funcs/getMeta.d.ts +0 -2
- package/dist/server/plugins/pg/funcs/getMeta.d.ts.map +0 -1
- package/dist/server/plugins/pg/funcs/getMeta.js +0 -76
- package/dist/server/plugins/pg/funcs/getPG.d.ts +0 -3
- package/dist/server/plugins/pg/funcs/getPG.d.ts.map +0 -1
- package/dist/server/plugins/pg/funcs/getPG.js +0 -50
- package/dist/server/plugins/pg/funcs/getPGAsync.d.ts +0 -3
- package/dist/server/plugins/pg/funcs/getPGAsync.d.ts.map +0 -1
- package/dist/server/plugins/pg/funcs/getPGAsync.js +0 -12
- package/dist/server/plugins/pg/funcs/init.d.ts +0 -4
- package/dist/server/plugins/pg/funcs/init.d.ts.map +0 -1
- package/dist/server/plugins/pg/funcs/init.js +0 -190
- package/dist/server/plugins/pg/funcs/pool.d.ts +0 -4
- package/dist/server/plugins/pg/funcs/pool.d.ts.map +0 -1
- package/dist/server/plugins/pg/funcs/pool.js +0 -65
- package/dist/server/plugins/pg/index.d.ts +0 -3
- package/dist/server/plugins/pg/index.d.ts.map +0 -1
- package/dist/server/plugins/pg/index.js +0 -51
- package/dist/server/plugins/pg/pgClients.d.ts +0 -3
- package/dist/server/plugins/pg/pgClients.d.ts.map +0 -1
- package/dist/server/plugins/pg/pgClients.js +0 -2
- package/dist/server/plugins/policy/funcs/checkJWT.d.ts +0 -8
- package/dist/server/plugins/policy/funcs/checkJWT.d.ts.map +0 -1
- package/dist/server/plugins/policy/funcs/checkJWT.js +0 -83
- package/dist/server/plugins/policy/funcs/checkPermissions.d.ts +0 -3
- package/dist/server/plugins/policy/funcs/checkPermissions.d.ts.map +0 -1
- package/dist/server/plugins/policy/funcs/checkPermissions.js +0 -48
- package/dist/server/plugins/policy/funcs/checkPolicy.d.ts +0 -3
- package/dist/server/plugins/policy/funcs/checkPolicy.d.ts.map +0 -1
- package/dist/server/plugins/policy/funcs/checkPolicy.js +0 -99
- package/dist/server/plugins/policy/funcs/checkTraversal.d.ts +0 -2
- package/dist/server/plugins/policy/funcs/checkTraversal.d.ts.map +0 -1
- package/dist/server/plugins/policy/funcs/checkTraversal.js +0 -22
- package/dist/server/plugins/policy/funcs/checkXSS.d.ts +0 -9
- package/dist/server/plugins/policy/funcs/checkXSS.d.ts.map +0 -1
- package/dist/server/plugins/policy/funcs/checkXSS.js +0 -46
- package/dist/server/plugins/policy/funcs/getIP.d.ts +0 -3
- package/dist/server/plugins/policy/funcs/getIP.d.ts.map +0 -1
- package/dist/server/plugins/policy/funcs/getIP.js +0 -8
- package/dist/server/plugins/policy/index.d.ts +0 -3
- package/dist/server/plugins/policy/index.d.ts.map +0 -1
- package/dist/server/plugins/policy/index.js +0 -47
- package/dist/server/plugins/policy/xssInjection.d.ts +0 -3
- package/dist/server/plugins/policy/xssInjection.d.ts.map +0 -1
- package/dist/server/plugins/policy/xssInjection.js +0 -72
- package/dist/server/plugins/redis/client.d.ts +0 -3
- package/dist/server/plugins/redis/client.d.ts.map +0 -1
- package/dist/server/plugins/redis/client.js +0 -6
- package/dist/server/plugins/redis/funcs/getRedis.d.ts +0 -13
- package/dist/server/plugins/redis/funcs/getRedis.d.ts.map +0 -1
- package/dist/server/plugins/redis/funcs/getRedis.js +0 -46
- package/dist/server/plugins/redis/funcs/redisClients.d.ts +0 -3
- package/dist/server/plugins/redis/funcs/redisClients.d.ts.map +0 -1
- package/dist/server/plugins/redis/funcs/redisClients.js +0 -2
- package/dist/server/plugins/redis/index.d.ts +0 -4
- package/dist/server/plugins/redis/index.d.ts.map +0 -1
- package/dist/server/plugins/redis/index.js +0 -13
- package/dist/server/plugins/sqlite/funcs/getSqlite.d.ts +0 -3
- package/dist/server/plugins/sqlite/funcs/getSqlite.d.ts.map +0 -1
- package/dist/server/plugins/sqlite/funcs/getSqlite.js +0 -29
- package/dist/server/plugins/sqlite/funcs/init.d.ts +0 -3
- package/dist/server/plugins/sqlite/funcs/init.d.ts.map +0 -1
- package/dist/server/plugins/sqlite/funcs/init.js +0 -45
- package/dist/server/plugins/sqlite/index.d.ts +0 -5
- package/dist/server/plugins/sqlite/index.d.ts.map +0 -1
- package/dist/server/plugins/sqlite/index.js +0 -12
- package/dist/server/plugins/sqlite/sqliteClients.d.ts +0 -3
- package/dist/server/plugins/sqlite/sqliteClients.d.ts.map +0 -1
- package/dist/server/plugins/sqlite/sqliteClients.js +0 -24
- package/dist/server/plugins/table/funcs/addMenu.d.ts +0 -2
- package/dist/server/plugins/table/funcs/addMenu.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/addMenu.js +0 -12
- package/dist/server/plugins/table/funcs/addTemplateDir.d.ts +0 -2
- package/dist/server/plugins/table/funcs/addTemplateDir.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/addTemplateDir.js +0 -16
- package/dist/server/plugins/table/funcs/customTokens.d.ts +0 -3
- package/dist/server/plugins/table/funcs/customTokens.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/customTokens.js +0 -2
- package/dist/server/plugins/table/funcs/getColumnCLS.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getColumnCLS.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getColumnCLS.js +0 -65
- package/dist/server/plugins/table/funcs/getData.d.ts +0 -32
- package/dist/server/plugins/table/funcs/getData.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getData.js +0 -703
- package/dist/server/plugins/table/funcs/getFilter.d.ts +0 -11
- package/dist/server/plugins/table/funcs/getFilter.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilter.js +0 -31
- package/dist/server/plugins/table/funcs/getFilterSQL/index.d.ts +0 -26
- package/dist/server/plugins/table/funcs/getFilterSQL/index.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/index.js +0 -239
- package/dist/server/plugins/table/funcs/getFilterSQL/util/formatValue.d.ts +0 -12
- package/dist/server/plugins/table/funcs/getFilterSQL/util/formatValue.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +0 -151
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.d.ts +0 -3
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +0 -20
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.d.ts +0 -18
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +0 -82
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.d.ts +0 -7
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +0 -11
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +0 -238
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getTableSql.d.ts +0 -9
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getTableSql.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +0 -40
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/formatValue.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/formatValue.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/formatValue.js +0 -258
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getFilterList.d.ts +0 -8
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getFilterList.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getFilterList.js +0 -90
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getFilterQuery.d.ts +0 -17
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getFilterQuery.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getFilterQuery.js +0 -90
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getRangeQuery.d.ts +0 -17
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getRangeQuery.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getRangeQuery.js +0 -342
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getTableSql.d.ts +0 -9
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getTableSql.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/getTableSql.js +0 -40
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/index.d.ts +0 -20
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/index.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getFilterSQLParametrized/index.js +0 -156
- package/dist/server/plugins/table/funcs/getSelect.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getSelect.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getSelect.js +0 -38
- package/dist/server/plugins/table/funcs/getSelectMeta.d.ts +0 -10
- package/dist/server/plugins/table/funcs/getSelectMeta.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getSelectMeta.js +0 -97
- package/dist/server/plugins/table/funcs/getTemplate.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getTemplate.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getTemplate.js +0 -93
- package/dist/server/plugins/table/funcs/getTemplatePath.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getTemplatePath.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getTemplatePath.js +0 -60
- package/dist/server/plugins/table/funcs/getTemplateSync.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getTemplateSync.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getTemplateSync.js +0 -84
- package/dist/server/plugins/table/funcs/getTemplates.d.ts +0 -2
- package/dist/server/plugins/table/funcs/getTemplates.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/getTemplates.js +0 -14
- package/dist/server/plugins/table/funcs/gisIRColumn.d.ts +0 -23
- package/dist/server/plugins/table/funcs/gisIRColumn.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/gisIRColumn.js +0 -83
- package/dist/server/plugins/table/funcs/loadTemplate.d.ts +0 -3
- package/dist/server/plugins/table/funcs/loadTemplate.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/loadTemplate.js +0 -2
- package/dist/server/plugins/table/funcs/loadTemplatePath.d.ts +0 -3
- package/dist/server/plugins/table/funcs/loadTemplatePath.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/loadTemplatePath.js +0 -2
- package/dist/server/plugins/table/funcs/menuDirs.d.ts +0 -3
- package/dist/server/plugins/table/funcs/menuDirs.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/menuDirs.js +0 -2
- package/dist/server/plugins/table/funcs/metaFormat/getSelectVal.d.ts +0 -2
- package/dist/server/plugins/table/funcs/metaFormat/getSelectVal.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/metaFormat/getSelectVal.js +0 -87
- package/dist/server/plugins/table/funcs/metaFormat/index.d.ts +0 -9
- package/dist/server/plugins/table/funcs/metaFormat/index.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/metaFormat/index.js +0 -80
- package/dist/server/plugins/table/funcs/userTemplateDir.d.ts +0 -3
- package/dist/server/plugins/table/funcs/userTemplateDir.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/userTemplateDir.js +0 -2
- package/dist/server/plugins/table/funcs/userTokens.d.ts +0 -3
- package/dist/server/plugins/table/funcs/userTokens.d.ts.map +0 -1
- package/dist/server/plugins/table/funcs/userTokens.js +0 -2
- package/dist/server/plugins/upload/getUploadStatus.d.ts +0 -5
- package/dist/server/plugins/upload/getUploadStatus.d.ts.map +0 -1
- package/dist/server/plugins/upload/getUploadStatus.js +0 -36
- package/dist/server/plugins/upload/index.d.ts +0 -9
- package/dist/server/plugins/upload/index.d.ts.map +0 -1
- package/dist/server/plugins/upload/index.js +0 -27
- package/dist/server/plugins/upload/s3.d.ts +0 -91
- package/dist/server/plugins/upload/s3.d.ts.map +0 -1
- package/dist/server/plugins/upload/s3.js +0 -464
- package/dist/server/plugins/upload/s3minio.d.ts +0 -59
- package/dist/server/plugins/upload/s3minio.d.ts.map +0 -1
- package/dist/server/plugins/upload/s3minio.js +0 -199
- package/dist/server/plugins/upload/startUpload.d.ts +0 -9
- package/dist/server/plugins/upload/startUpload.d.ts.map +0 -1
- package/dist/server/plugins/upload/startUpload.js +0 -95
- package/dist/server/plugins/upload/uploadChunk.d.ts +0 -9
- package/dist/server/plugins/upload/uploadChunk.d.ts.map +0 -1
- package/dist/server/plugins/upload/uploadChunk.js +0 -110
- package/dist/server/plugins/usercls/index.d.ts +0 -42
- package/dist/server/plugins/usercls/index.d.ts.map +0 -1
- package/dist/server/plugins/usercls/index.js +0 -200
- package/dist/server/plugins/util/funcs/eventStream.d.ts +0 -2
- package/dist/server/plugins/util/funcs/eventStream.d.ts.map +0 -1
- package/dist/server/plugins/util/funcs/eventStream.js +0 -28
- package/dist/server/plugins/util/funcs/flattenObject.d.ts +0 -2
- package/dist/server/plugins/util/funcs/flattenObject.d.ts.map +0 -1
- package/dist/server/plugins/util/funcs/flattenObject.js +0 -14
- package/dist/server/plugins/util/funcs/unflattenObject.d.ts +0 -2
- package/dist/server/plugins/util/funcs/unflattenObject.d.ts.map +0 -1
- package/dist/server/plugins/util/funcs/unflattenObject.js +0 -50
- package/dist/server/plugins/yml/funcs/json2yml.d.ts +0 -3
- package/dist/server/plugins/yml/funcs/json2yml.d.ts.map +0 -1
- package/dist/server/plugins/yml/funcs/json2yml.js +0 -3
- package/dist/server/plugins/yml/funcs/yml2json.d.ts +0 -3
- package/dist/server/plugins/yml/funcs/yml2json.d.ts.map +0 -1
- package/dist/server/plugins/yml/funcs/yml2json.js +0 -11
- package/dist/server/routes/access/controllers/access.group.d.ts +0 -13
- package/dist/server/routes/access/controllers/access.group.d.ts.map +0 -1
- package/dist/server/routes/access/controllers/access.group.js +0 -30
- package/dist/server/routes/access/controllers/access.group.post.d.ts +0 -22
- package/dist/server/routes/access/controllers/access.group.post.d.ts.map +0 -1
- package/dist/server/routes/access/controllers/access.group.post.js +0 -80
- package/dist/server/routes/access/controllers/access.interface.d.ts +0 -4
- package/dist/server/routes/access/controllers/access.interface.d.ts.map +0 -1
- package/dist/server/routes/access/controllers/access.interface.js +0 -35
- package/dist/server/routes/access/controllers/access.user.d.ts +0 -6
- package/dist/server/routes/access/controllers/access.user.d.ts.map +0 -1
- package/dist/server/routes/access/controllers/access.user.js +0 -31
- package/dist/server/routes/access/controllers/access.user.post.d.ts +0 -9
- package/dist/server/routes/access/controllers/access.user.post.d.ts.map +0 -1
- package/dist/server/routes/access/controllers/access.user.post.js +0 -37
- package/dist/server/routes/access/index.d.ts +0 -2
- package/dist/server/routes/access/index.d.ts.map +0 -1
- package/dist/server/routes/access/index.js +0 -32
- package/dist/server/routes/access/schema.d.ts +0 -144
- package/dist/server/routes/access/schema.d.ts.map +0 -1
- package/dist/server/routes/access/schema.js +0 -127
- package/dist/server/routes/auth/controllers/2factor/providers/totp.d.ts +0 -44
- package/dist/server/routes/auth/controllers/2factor/providers/totp.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/2factor/providers/totp.js +0 -133
- package/dist/server/routes/auth/controllers/2factor/qrcode.d.ts +0 -4
- package/dist/server/routes/auth/controllers/2factor/qrcode.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/2factor/qrcode.js +0 -42
- package/dist/server/routes/auth/controllers/2factor/recovery.d.ts +0 -20
- package/dist/server/routes/auth/controllers/2factor/recovery.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/2factor/recovery.js +0 -82
- package/dist/server/routes/auth/controllers/2factor/reset.d.ts +0 -3
- package/dist/server/routes/auth/controllers/2factor/reset.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/2factor/reset.js +0 -15
- package/dist/server/routes/auth/controllers/2factor/verify.d.ts +0 -20
- package/dist/server/routes/auth/controllers/2factor/verify.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/2factor/verify.js +0 -75
- package/dist/server/routes/auth/controllers/core/getUserInfo.d.ts +0 -2
- package/dist/server/routes/auth/controllers/core/getUserInfo.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/core/getUserInfo.js +0 -88
- package/dist/server/routes/auth/controllers/core/login.d.ts +0 -10
- package/dist/server/routes/auth/controllers/core/login.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/core/login.js +0 -21
- package/dist/server/routes/auth/controllers/core/logout.d.ts +0 -9
- package/dist/server/routes/auth/controllers/core/logout.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/core/logout.js +0 -20
- package/dist/server/routes/auth/controllers/core/passwordRecovery.d.ts +0 -22
- package/dist/server/routes/auth/controllers/core/passwordRecovery.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/core/passwordRecovery.js +0 -150
- package/dist/server/routes/auth/controllers/core/registration.d.ts +0 -21
- package/dist/server/routes/auth/controllers/core/registration.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/core/registration.js +0 -110
- package/dist/server/routes/auth/controllers/core/updateUserInfo.d.ts +0 -3
- package/dist/server/routes/auth/controllers/core/updateUserInfo.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/core/updateUserInfo.js +0 -18
- package/dist/server/routes/auth/controllers/euSign/authByData.d.ts +0 -4
- package/dist/server/routes/auth/controllers/euSign/authByData.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/euSign/authByData.js +0 -125
- package/dist/server/routes/auth/controllers/jwt/authorize.d.ts +0 -3
- package/dist/server/routes/auth/controllers/jwt/authorize.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/jwt/authorize.js +0 -99
- package/dist/server/routes/auth/controllers/jwt/token.d.ts +0 -4
- package/dist/server/routes/auth/controllers/jwt/token.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/jwt/token.js +0 -56
- package/dist/server/routes/auth/controllers/page/login2faTemplate.d.ts +0 -4
- package/dist/server/routes/auth/controllers/page/login2faTemplate.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/page/login2faTemplate.js +0 -79
- package/dist/server/routes/auth/controllers/page/loginEuSign.d.ts +0 -3
- package/dist/server/routes/auth/controllers/page/loginEuSign.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/page/loginEuSign.js +0 -24
- package/dist/server/routes/auth/controllers/page/loginTemplate.d.ts +0 -4
- package/dist/server/routes/auth/controllers/page/loginTemplate.d.ts.map +0 -1
- package/dist/server/routes/auth/controllers/page/loginTemplate.js +0 -49
- package/dist/server/routes/auth/index.d.ts +0 -3
- package/dist/server/routes/auth/index.d.ts.map +0 -1
- package/dist/server/routes/auth/index.js +0 -117
- package/dist/server/routes/cron/controllers/cronApi.d.ts +0 -2
- package/dist/server/routes/cron/controllers/cronApi.d.ts.map +0 -1
- package/dist/server/routes/cron/controllers/cronApi.js +0 -24
- package/dist/server/routes/cron/index.d.ts +0 -3
- package/dist/server/routes/cron/index.d.ts.map +0 -1
- package/dist/server/routes/cron/index.js +0 -19
- package/dist/server/routes/crud/controllers/deleteCrud.d.ts +0 -3
- package/dist/server/routes/crud/controllers/deleteCrud.d.ts.map +0 -1
- package/dist/server/routes/crud/controllers/deleteCrud.js +0 -90
- package/dist/server/routes/crud/controllers/insert.d.ts +0 -2
- package/dist/server/routes/crud/controllers/insert.d.ts.map +0 -1
- package/dist/server/routes/crud/controllers/insert.js +0 -140
- package/dist/server/routes/crud/controllers/table.d.ts +0 -2
- package/dist/server/routes/crud/controllers/table.d.ts.map +0 -1
- package/dist/server/routes/crud/controllers/table.js +0 -192
- package/dist/server/routes/crud/controllers/update.d.ts +0 -2
- package/dist/server/routes/crud/controllers/update.d.ts.map +0 -1
- package/dist/server/routes/crud/controllers/update.js +0 -139
- package/dist/server/routes/crud/crud.route.d.ts +0 -3
- package/dist/server/routes/crud/crud.route.d.ts.map +0 -1
- package/dist/server/routes/crud/crud.route.js +0 -161
- package/dist/server/routes/crud/crud.schema.d.ts +0 -114
- package/dist/server/routes/crud/crud.schema.d.ts.map +0 -1
- package/dist/server/routes/crud/crud.schema.js +0 -64
- package/dist/server/routes/crud/functions/createTableRelation.d.ts +0 -13
- package/dist/server/routes/crud/functions/createTableRelation.d.ts.map +0 -1
- package/dist/server/routes/crud/functions/createTableRelation.js +0 -93
- package/dist/server/routes/crud/functions/deleteTableRelation.d.ts +0 -11
- package/dist/server/routes/crud/functions/deleteTableRelation.d.ts.map +0 -1
- package/dist/server/routes/crud/functions/deleteTableRelation.js +0 -74
- package/dist/server/routes/crud/functions/readTableRelations.d.ts +0 -25
- package/dist/server/routes/crud/functions/readTableRelations.d.ts.map +0 -1
- package/dist/server/routes/crud/functions/readTableRelations.js +0 -76
- package/dist/server/routes/crud/functions/updateTableRelation.d.ts +0 -14
- package/dist/server/routes/crud/functions/updateTableRelation.d.ts.map +0 -1
- package/dist/server/routes/crud/functions/updateTableRelation.js +0 -117
- package/dist/server/routes/dblist/controllers/readItems.d.ts +0 -7
- package/dist/server/routes/dblist/controllers/readItems.d.ts.map +0 -1
- package/dist/server/routes/dblist/controllers/readItems.js +0 -25
- package/dist/server/routes/dblist/controllers/setItem.d.ts +0 -4
- package/dist/server/routes/dblist/controllers/setItem.d.ts.map +0 -1
- package/dist/server/routes/dblist/controllers/setItem.js +0 -21
- package/dist/server/routes/dblist/index.d.ts +0 -2
- package/dist/server/routes/dblist/index.d.ts.map +0 -1
- package/dist/server/routes/dblist/index.js +0 -24
- package/dist/server/routes/dblist/utils/formatData.d.ts +0 -2
- package/dist/server/routes/dblist/utils/formatData.d.ts.map +0 -1
- package/dist/server/routes/dblist/utils/formatData.js +0 -8
- package/dist/server/routes/dictionaries/dictionaries.route.d.ts +0 -2
- package/dist/server/routes/dictionaries/dictionaries.route.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/dictionaries.route.js +0 -134
- package/dist/server/routes/dictionaries/dictionaries.schema.d.ts +0 -190
- package/dist/server/routes/dictionaries/dictionaries.schema.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/dictionaries.schema.js +0 -86
- package/dist/server/routes/dictionaries/functions/create.dictionary.d.ts +0 -10
- package/dist/server/routes/dictionaries/functions/create.dictionary.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/functions/create.dictionary.item.d.ts +0 -13
- package/dist/server/routes/dictionaries/functions/create.dictionary.item.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/functions/create.dictionary.item.js +0 -57
- package/dist/server/routes/dictionaries/functions/create.dictionary.js +0 -76
- package/dist/server/routes/dictionaries/functions/delete.dictionary.d.ts +0 -9
- package/dist/server/routes/dictionaries/functions/delete.dictionary.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/functions/delete.dictionary.item.d.ts +0 -11
- package/dist/server/routes/dictionaries/functions/delete.dictionary.item.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/functions/delete.dictionary.item.js +0 -32
- package/dist/server/routes/dictionaries/functions/delete.dictionary.js +0 -28
- package/dist/server/routes/dictionaries/functions/read.dictionaries.d.ts +0 -5
- package/dist/server/routes/dictionaries/functions/read.dictionaries.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/functions/read.dictionaries.js +0 -27
- package/dist/server/routes/dictionaries/functions/update.dictionary.d.ts +0 -10
- package/dist/server/routes/dictionaries/functions/update.dictionary.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/functions/update.dictionary.item.d.ts +0 -13
- package/dist/server/routes/dictionaries/functions/update.dictionary.item.d.ts.map +0 -1
- package/dist/server/routes/dictionaries/functions/update.dictionary.item.js +0 -48
- package/dist/server/routes/dictionaries/functions/update.dictionary.js +0 -51
- package/dist/server/routes/file/controllers/delete.d.ts +0 -23
- package/dist/server/routes/file/controllers/delete.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/delete.js +0 -92
- package/dist/server/routes/file/controllers/download.d.ts +0 -20
- package/dist/server/routes/file/controllers/download.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/download.js +0 -62
- package/dist/server/routes/file/controllers/export.d.ts +0 -35
- package/dist/server/routes/file/controllers/export.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/export.js +0 -356
- package/dist/server/routes/file/controllers/files.d.ts +0 -29
- package/dist/server/routes/file/controllers/files.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/files.js +0 -71
- package/dist/server/routes/file/controllers/resize.d.ts +0 -20
- package/dist/server/routes/file/controllers/resize.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/resize.js +0 -134
- package/dist/server/routes/file/controllers/resizeAll.d.ts +0 -2
- package/dist/server/routes/file/controllers/resizeAll.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/resizeAll.js +0 -149
- package/dist/server/routes/file/controllers/upload.d.ts +0 -2
- package/dist/server/routes/file/controllers/upload.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/upload.js +0 -68
- package/dist/server/routes/file/controllers/uploadImage.d.ts +0 -15
- package/dist/server/routes/file/controllers/uploadImage.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/uploadImage.js +0 -43
- package/dist/server/routes/file/controllers/utils/formatResult.d.ts +0 -2
- package/dist/server/routes/file/controllers/utils/formatResult.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/utils/formatResult.js +0 -13
- package/dist/server/routes/file/controllers/utils/jsonToCsv.d.ts +0 -2
- package/dist/server/routes/file/controllers/utils/jsonToCsv.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/utils/jsonToCsv.js +0 -40
- package/dist/server/routes/file/controllers/utils/jsonToXls.d.ts +0 -2
- package/dist/server/routes/file/controllers/utils/jsonToXls.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/utils/jsonToXls.js +0 -37
- package/dist/server/routes/file/controllers/utils/jsonlToJsonFile.d.ts +0 -2
- package/dist/server/routes/file/controllers/utils/jsonlToJsonFile.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/utils/jsonlToJsonFile.js +0 -32
- package/dist/server/routes/file/controllers/utils/pubsub.d.ts +0 -2
- package/dist/server/routes/file/controllers/utils/pubsub.d.ts.map +0 -1
- package/dist/server/routes/file/controllers/utils/pubsub.js +0 -112
- package/dist/server/routes/file/index.d.ts +0 -3
- package/dist/server/routes/file/index.d.ts.map +0 -1
- package/dist/server/routes/file/index.js +0 -58
- package/dist/server/routes/file/schema.d.ts +0 -56
- package/dist/server/routes/file/schema.d.ts.map +0 -1
- package/dist/server/routes/file/schema.js +0 -28
- package/dist/server/routes/grpc/controllers/file2geojson.d.ts +0 -7
- package/dist/server/routes/grpc/controllers/file2geojson.d.ts.map +0 -1
- package/dist/server/routes/grpc/controllers/file2geojson.js +0 -54
- package/dist/server/routes/grpc/controllers/filePreview.d.ts +0 -10
- package/dist/server/routes/grpc/controllers/filePreview.d.ts.map +0 -1
- package/dist/server/routes/grpc/controllers/filePreview.js +0 -88
- package/dist/server/routes/grpc/index.d.ts +0 -3
- package/dist/server/routes/grpc/index.d.ts.map +0 -1
- package/dist/server/routes/grpc/index.js +0 -11
- package/dist/server/routes/logger/controllers/logger.file.d.ts +0 -8
- package/dist/server/routes/logger/controllers/logger.file.d.ts.map +0 -1
- package/dist/server/routes/logger/controllers/logger.file.js +0 -81
- package/dist/server/routes/logger/controllers/logger.metrics.d.ts +0 -8
- package/dist/server/routes/logger/controllers/logger.metrics.d.ts.map +0 -1
- package/dist/server/routes/logger/controllers/logger.metrics.js +0 -20
- package/dist/server/routes/logger/controllers/logger.test.api.d.ts +0 -3
- package/dist/server/routes/logger/controllers/logger.test.api.d.ts.map +0 -1
- package/dist/server/routes/logger/controllers/logger.test.api.js +0 -25
- package/dist/server/routes/logger/index.d.ts +0 -3
- package/dist/server/routes/logger/index.d.ts.map +0 -1
- package/dist/server/routes/logger/index.js +0 -25
- package/dist/server/routes/menu/controllers/getMenu.d.ts +0 -22
- package/dist/server/routes/menu/controllers/getMenu.d.ts.map +0 -1
- package/dist/server/routes/menu/controllers/getMenu.js +0 -109
- package/dist/server/routes/menu/controllers/interfaces.d.ts +0 -5
- package/dist/server/routes/menu/controllers/interfaces.d.ts.map +0 -1
- package/dist/server/routes/menu/controllers/interfaces.js +0 -18
- package/dist/server/routes/menu/index.d.ts +0 -2
- package/dist/server/routes/menu/index.d.ts.map +0 -1
- package/dist/server/routes/menu/index.js +0 -14
- package/dist/server/routes/notifications/controllers/addUserNotification.d.ts +0 -3
- package/dist/server/routes/notifications/controllers/addUserNotification.d.ts.map +0 -1
- package/dist/server/routes/notifications/controllers/addUserNotification.js +0 -21
- package/dist/server/routes/notifications/controllers/deleteUserNotification.d.ts +0 -3
- package/dist/server/routes/notifications/controllers/deleteUserNotification.d.ts.map +0 -1
- package/dist/server/routes/notifications/controllers/deleteUserNotification.js +0 -24
- package/dist/server/routes/notifications/controllers/editUserNotification.d.ts +0 -3
- package/dist/server/routes/notifications/controllers/editUserNotification.d.ts.map +0 -1
- package/dist/server/routes/notifications/controllers/editUserNotification.js +0 -28
- package/dist/server/routes/notifications/controllers/readNotifications.d.ts +0 -6
- package/dist/server/routes/notifications/controllers/readNotifications.d.ts.map +0 -1
- package/dist/server/routes/notifications/controllers/readNotifications.js +0 -18
- package/dist/server/routes/notifications/controllers/userNotifications.d.ts +0 -7
- package/dist/server/routes/notifications/controllers/userNotifications.d.ts.map +0 -1
- package/dist/server/routes/notifications/controllers/userNotifications.js +0 -32
- package/dist/server/routes/notifications/index.d.ts +0 -2
- package/dist/server/routes/notifications/index.d.ts.map +0 -1
- package/dist/server/routes/notifications/index.js +0 -30
- package/dist/server/routes/properties/controllers/properties.get.d.ts +0 -16
- package/dist/server/routes/properties/controllers/properties.get.d.ts.map +0 -1
- package/dist/server/routes/properties/controllers/properties.get.js +0 -24
- package/dist/server/routes/properties/controllers/properties.post.d.ts +0 -11
- package/dist/server/routes/properties/controllers/properties.post.d.ts.map +0 -1
- package/dist/server/routes/properties/controllers/properties.post.js +0 -69
- package/dist/server/routes/properties/index.d.ts +0 -3
- package/dist/server/routes/properties/index.d.ts.map +0 -1
- package/dist/server/routes/properties/index.js +0 -23
- package/dist/server/routes/table/controllers/card.d.ts +0 -2
- package/dist/server/routes/table/controllers/card.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/card.js +0 -95
- package/dist/server/routes/table/controllers/cardData.d.ts +0 -2
- package/dist/server/routes/table/controllers/cardData.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/cardData.js +0 -173
- package/dist/server/routes/table/controllers/cardTabData.d.ts +0 -19
- package/dist/server/routes/table/controllers/cardTabData.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/cardTabData.js +0 -50
- package/dist/server/routes/table/controllers/dataInfo.d.ts +0 -19
- package/dist/server/routes/table/controllers/dataInfo.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/dataInfo.js +0 -60
- package/dist/server/routes/table/controllers/filter.d.ts +0 -13
- package/dist/server/routes/table/controllers/filter.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/filter.js +0 -201
- package/dist/server/routes/table/controllers/form.d.ts +0 -2
- package/dist/server/routes/table/controllers/form.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/form.js +0 -48
- package/dist/server/routes/table/controllers/getFormByTable.d.ts +0 -15
- package/dist/server/routes/table/controllers/getFormByTable.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/getFormByTable.js +0 -142
- package/dist/server/routes/table/controllers/search.d.ts +0 -8
- package/dist/server/routes/table/controllers/search.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/search.js +0 -110
- package/dist/server/routes/table/controllers/suggest.d.ts +0 -18
- package/dist/server/routes/table/controllers/suggest.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/suggest.js +0 -409
- package/dist/server/routes/table/controllers/tableData.d.ts +0 -3
- package/dist/server/routes/table/controllers/tableData.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/tableData.js +0 -25
- package/dist/server/routes/table/controllers/tableInfo.d.ts +0 -14
- package/dist/server/routes/table/controllers/tableInfo.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/tableInfo.js +0 -113
- package/dist/server/routes/table/controllers/tokenInfo.d.ts +0 -2
- package/dist/server/routes/table/controllers/tokenInfo.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/tokenInfo.js +0 -11
- package/dist/server/routes/table/controllers/utils/conditions.d.ts +0 -2
- package/dist/server/routes/table/controllers/utils/conditions.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/utils/conditions.js +0 -30
- package/dist/server/routes/table/controllers/utils/formatSchema.d.ts +0 -2
- package/dist/server/routes/table/controllers/utils/formatSchema.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/utils/formatSchema.js +0 -35
- package/dist/server/routes/table/controllers/utils/locales.d.ts +0 -3
- package/dist/server/routes/table/controllers/utils/locales.d.ts.map +0 -1
- package/dist/server/routes/table/controllers/utils/locales.js +0 -2
- package/dist/server/routes/table/functions/getData.d.ts +0 -25
- package/dist/server/routes/table/functions/getData.d.ts.map +0 -1
- package/dist/server/routes/table/functions/getData.js +0 -721
- package/dist/server/routes/table/functions/prettify.d.ts +0 -2
- package/dist/server/routes/table/functions/prettify.d.ts.map +0 -1
- package/dist/server/routes/table/functions/prettify.js +0 -11
- package/dist/server/routes/table/index.d.ts +0 -3
- package/dist/server/routes/table/index.d.ts.map +0 -1
- package/dist/server/routes/table/index.js +0 -60
- package/dist/server/routes/table/schema.d.ts +0 -257
- package/dist/server/routes/table/schema.d.ts.map +0 -1
- package/dist/server/routes/table/schema.js +0 -131
- package/dist/server/routes/templates/controllers/getTemplate.d.ts +0 -2
- package/dist/server/routes/templates/controllers/getTemplate.d.ts.map +0 -1
- package/dist/server/routes/templates/controllers/getTemplate.js +0 -72
- package/dist/server/routes/templates/index.d.ts +0 -2
- package/dist/server/routes/templates/index.d.ts.map +0 -1
- package/dist/server/routes/templates/index.js +0 -14
- package/dist/server/routes/templates/schema.d.ts +0 -15
- package/dist/server/routes/templates/schema.d.ts.map +0 -1
- package/dist/server/routes/templates/schema.js +0 -11
- package/dist/server/routes/upload/index.d.ts +0 -2
- package/dist/server/routes/upload/index.d.ts.map +0 -1
- package/dist/server/routes/upload/index.js +0 -87
- package/dist/server/routes/usercls/controllers/addUserCls.d.ts +0 -9
- package/dist/server/routes/usercls/controllers/addUserCls.d.ts.map +0 -1
- package/dist/server/routes/usercls/controllers/addUserCls.js +0 -30
- package/dist/server/routes/usercls/controllers/deleteUserCls.d.ts +0 -2
- package/dist/server/routes/usercls/controllers/deleteUserCls.d.ts.map +0 -1
- package/dist/server/routes/usercls/controllers/deleteUserCls.js +0 -18
- package/dist/server/routes/usercls/controllers/editUserCls.d.ts +0 -2
- package/dist/server/routes/usercls/controllers/editUserCls.d.ts.map +0 -1
- package/dist/server/routes/usercls/controllers/editUserCls.js +0 -33
- package/dist/server/routes/usercls/controllers/getUserCls.d.ts +0 -2
- package/dist/server/routes/usercls/controllers/getUserCls.d.ts.map +0 -1
- package/dist/server/routes/usercls/controllers/getUserCls.js +0 -42
- package/dist/server/routes/usercls/index.d.ts +0 -2
- package/dist/server/routes/usercls/index.d.ts.map +0 -1
- package/dist/server/routes/usercls/index.js +0 -63
- package/dist/server/routes/util/controllers/api.check.d.ts +0 -2
- package/dist/server/routes/util/controllers/api.check.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/api.check.js +0 -36
- package/dist/server/routes/util/controllers/api.list.d.ts +0 -20
- package/dist/server/routes/util/controllers/api.list.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/api.list.js +0 -64
- package/dist/server/routes/util/controllers/code.generator.d.ts +0 -14
- package/dist/server/routes/util/controllers/code.generator.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/code.generator.js +0 -130
- package/dist/server/routes/util/controllers/config.d.ts +0 -2
- package/dist/server/routes/util/controllers/config.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/config.js +0 -34
- package/dist/server/routes/util/controllers/dependencies.d.ts +0 -2
- package/dist/server/routes/util/controllers/dependencies.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/dependencies.js +0 -32
- package/dist/server/routes/util/controllers/next.id.d.ts +0 -4
- package/dist/server/routes/util/controllers/next.id.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/next.id.js +0 -4
- package/dist/server/routes/util/controllers/status.monitor.d.ts +0 -5
- package/dist/server/routes/util/controllers/status.monitor.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/status.monitor.js +0 -6
- package/dist/server/routes/util/controllers/user.tokens.d.ts +0 -7
- package/dist/server/routes/util/controllers/user.tokens.d.ts.map +0 -1
- package/dist/server/routes/util/controllers/user.tokens.js +0 -33
- package/dist/server/routes/util/index.d.ts +0 -3
- package/dist/server/routes/util/index.d.ts.map +0 -1
- package/dist/server/routes/util/index.js +0 -23
- package/dist/server/routes/widget/controllers/file.edit.d.ts +0 -3
- package/dist/server/routes/widget/controllers/file.edit.d.ts.map +0 -1
- package/dist/server/routes/widget/controllers/file.edit.js +0 -49
- package/dist/server/routes/widget/controllers/widget.del.d.ts +0 -21
- package/dist/server/routes/widget/controllers/widget.del.d.ts.map +0 -1
- package/dist/server/routes/widget/controllers/widget.del.js +0 -83
- package/dist/server/routes/widget/controllers/widget.get.d.ts +0 -6
- package/dist/server/routes/widget/controllers/widget.get.d.ts.map +0 -1
- package/dist/server/routes/widget/controllers/widget.get.js +0 -161
- package/dist/server/routes/widget/controllers/widget.set.d.ts +0 -9
- package/dist/server/routes/widget/controllers/widget.set.d.ts.map +0 -1
- package/dist/server/routes/widget/controllers/widget.set.js +0 -123
- package/dist/server/routes/widget/hook/onWidgetSet.d.ts +0 -2
- package/dist/server/routes/widget/hook/onWidgetSet.d.ts.map +0 -1
- package/dist/server/routes/widget/hook/onWidgetSet.js +0 -13
- package/dist/server/routes/widget/index.d.ts +0 -2
- package/dist/server/routes/widget/index.d.ts.map +0 -1
- package/dist/server/routes/widget/index.js +0 -130
- package/dist/server/routes/widget/services/widget.entity.del.d.ts +0 -26
- package/dist/server/routes/widget/services/widget.entity.del.d.ts.map +0 -1
- package/dist/server/routes/widget/services/widget.entity.del.js +0 -79
- package/dist/server/routes/widget/services/widget.entity.get.d.ts +0 -39
- package/dist/server/routes/widget/services/widget.entity.get.d.ts.map +0 -1
- package/dist/server/routes/widget/services/widget.entity.get.js +0 -148
- package/dist/server/routes/widget/services/widget.entity.set.d.ts +0 -22
- package/dist/server/routes/widget/services/widget.entity.set.d.ts.map +0 -1
- package/dist/server/routes/widget/services/widget.entity.set.js +0 -131
- package/dist/server/types/core.d.ts +0 -64
- package/dist/server/types/core.d.ts.map +0 -1
- package/dist/server/types/core.js +0 -7
- package/dist/test.setup.d.ts +0 -2
- package/dist/test.setup.d.ts.map +0 -1
- package/dist/test.setup.js +0 -22
- package/dist/utils.d.ts +0 -97
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -116
- /package/dist/{server/plugins → plugins}/grpc/utils/convertp.proto +0 -0
- /package/dist/{server/plugins → plugins}/grpc/utils/office2pdf.proto +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"../../config.js";import{NotImplementedError as t}from"../../errors.js";import n from"./funcs/init.js";import r from"node:path";import{Database as i}from"bun:sqlite";const{name:a}=r.parse(process.argv0);if(e.sqlite&&a!==`bun`)throw t(`sqlite without bun is not supported`);const o={};if(e.sqlite&&i){let t=new i(e.sqlite?.name||`:memory:`,a===`bun`?void 0:{readonly:e.sqlite?.readonly??!1,create:e.sqlite?.create??!1,readwrite:e.sqlite?.readwrite??!0,safeIntegers:e.sqlite?.safeIntegers??!0});t.init=()=>n(t),t.init(),o.client=t}export{o as default};
|
|
2
|
+
//# sourceMappingURL=sqliteClients.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteClients.js","names":[],"sources":["../../../src/plugins/sqlite/sqliteClients.ts"],"sourcesContent":["import path from \"node:path\";\r\n\r\nconst { name: execName } = path.parse(process.argv0);\r\n\r\nimport config from \"../../config.js\";\r\n\r\nif (config.sqlite && execName !== \"bun\") {\r\n throw NotImplementedError(\"sqlite without bun is not supported\");\r\n}\r\n\r\nimport { Database } from \"bun:sqlite\";\r\n\r\nimport init from \"./funcs/init.js\";\r\nimport { type ExtendedSqlite } from \"../../types/core.js\";\r\nimport { NotImplementedError } from \"../../errors.js\";\r\n\r\nconst sqliteClients: Record<string, any> = {};\r\n\r\nif (config.sqlite && Database) {\r\n const client: ExtendedSqlite = new Database(\r\n config.sqlite?.name || \":memory:\",\r\n execName === \"bun\"\r\n ? undefined\r\n : {\r\n readonly: config.sqlite?.readonly ?? false,\r\n create: config.sqlite?.create ?? false,\r\n readwrite: config.sqlite?.readwrite ?? true,\r\n safeIntegers: config.sqlite?.safeIntegers ?? true,\r\n }\r\n ) as any as ExtendedSqlite;\r\n client.init = () => init(client);\r\n client.init();\r\n sqliteClients.client = client;\r\n}\r\nexport default sqliteClients;\r\n"],"mappings":"mLAEA,KAAM,CAAE,KAAM,GAAa,EAAK,MAAM,QAAQ,KAAK,EAInD,GAAI,EAAO,QAAU,IAAa,MAChC,MAAM,EAAoB,qCAAqC,EASjE,MAAM,EAAqC,CAAC,EAE5C,GAAI,EAAO,QAAU,EAAU,CAC7B,IAAM,EAAyB,IAAI,EACjC,EAAO,QAAQ,MAAQ,WACvB,IAAa,MACT,IAAA,GACA,CACE,SAAU,EAAO,QAAQ,UAAY,GACrC,OAAQ,EAAO,QAAQ,QAAU,GACjC,UAAW,EAAO,QAAQ,WAAa,GACvC,aAAc,EAAO,QAAQ,cAAgB,EAC/C,CACN,EACA,EAAO,SAAa,EAAK,CAAM,EAC/B,EAAO,KAAK,EACZ,EAAc,OAAS,CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getColumnCLS.d.ts","names":[],"sources":["../../../../src/plugins/table/funcs/getColumnCLS.ts"],"mappings":";iBA8CwB,aAAa,gBAAgB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"../../../modules/templates/services/loadTemplate.js";import t from"../../../modules/templates/services/getTemplateSync.js";import n from"../../../modules/templates/services/getTemplates.js";import{existsSync as r,readFileSync as i}from"node:fs";const a=r(`module/cls.json`),o={},s=a?JSON.parse(i(`module/cls.json`,`utf-8`)||`{}`):{};function c(e,n){let r=o[`${e}.${n}`]||o[n||``]?`select`:s[`${e}.${n}`]||s[n||``]?`cls`:null;if(!r)return null;if(!n?.includes(`.`)&&(s[`${e}.${n}`]||s[n||``])){let i=s[`${e}.${n}`]||s[n||``],a={name:i,type:r};if(r===`select`){let e=t(`select`,i);Object.assign(a,{sql:typeof e==`string`?e:e?.sql})}return a}return n?Object.keys(s).filter(e=>e.startsWith(`${n}.`)).reduce((e,t)=>({...e,[t.replace(`${n}.`,``)]:s[t]}),{}):s}function l(t,r){if(!Object.keys(o).length){let e=n(`cls`).map(e=>e[0]).reduce((e,t)=>({...e,[t]:t}),{}),t=n(`select`).map(e=>e[0]).reduce((e,t)=>({...e,[t]:t}),{});Object.assign(o,t),Object.assign(s,e,o)}let i=[r,t,`column-cls`].filter(Boolean).join(`-`);return e[i]&&process.env.local!==`true`||(e[i]=c(t,r)),e[i]}export{l as default};
|
|
2
|
+
//# sourceMappingURL=getColumnCLS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getColumnCLS.js","names":["getTemplates"],"sources":["../../../../src/plugins/table/funcs/getColumnCLS.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\r\n\r\nimport loadTemplate from \"../../../modules/templates/services/loadTemplate.js\";\r\nimport getTemplates from \"../../../modules/templates/services/getTemplates.js\";\r\nimport getTemplateSync from \"../../../modules/templates/services/getTemplateSync.js\";\r\n\r\nconst exists = existsSync(\"module/cls.json\");\r\nconst select: any = {};\r\nconst json = exists\r\n ? JSON.parse(readFileSync(\"module/cls.json\", \"utf-8\") || \"{}\")\r\n : {};\r\nfunction getColumnCLSData(table?: string, name?: string) {\r\n const type =\r\n select[`${table}.${name}`] || select[name || \"\"]\r\n ? \"select\"\r\n : json[`${table}.${name}`] || json[name || \"\"]\r\n ? \"cls\"\r\n : null;\r\n if (!type) return null;\r\n\r\n // name = table + column or name = column\r\n if (!name?.includes(\".\") && (json[`${table}.${name}`] || json[name || \"\"])) {\r\n const clsName = json[`${table}.${name}`] || json[name || \"\"];\r\n const result = { name: clsName, type };\r\n if (type === \"select\") {\r\n const data = getTemplateSync(\"select\", clsName);\r\n Object.assign(result, {\r\n sql: typeof data === \"string\" ? data : data?.sql,\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n // name = table\r\n return name\r\n ? Object.keys(json)\r\n .filter((key) => key.startsWith(`${name}.`))\r\n .reduce(\r\n (acc, curr) => ({\r\n ...acc,\r\n [curr.replace(`${name}.`, \"\")]: json[curr],\r\n }),\r\n {}\r\n )\r\n : json;\r\n}\r\nexport default function getColumnCLS(table?: string, name?: string) {\r\n // init only\r\n if (!Object.keys(select).length) {\r\n const cls = getTemplates(\"cls\")\r\n .map((el: any) => el[0])\r\n .reduce(\r\n (acc: Record<string, string>, curr: string) => ({\r\n ...acc,\r\n [curr]: curr,\r\n }),\r\n {}\r\n );\r\n const selects = getTemplates(\"select\")\r\n .map((el: any) => el[0])\r\n .reduce(\r\n (acc: Record<string, string>, curr: string) => ({\r\n ...acc,\r\n [curr]: curr,\r\n }),\r\n {}\r\n );\r\n Object.assign(select, selects);\r\n Object.assign(json, cls, select);\r\n }\r\n\r\n const key = [name, table, \"column-cls\"].filter(Boolean).join(\"-\");\r\n if (loadTemplate[key] && process.env.local !== \"true\") {\r\n return loadTemplate[key];\r\n }\r\n loadTemplate[key] = getColumnCLSData(table, name);\r\n return loadTemplate[key];\r\n}\r\n"],"mappings":"mQAMA,MAAM,EAAS,EAAW,iBAAiB,EACrC,EAAc,CAAC,EACf,EAAO,EACT,KAAK,MAAM,EAAa,kBAAmB,OAAO,GAAK,IAAI,EAC3D,CAAC,EACL,SAAS,EAAiB,EAAgB,EAAe,CACvD,IAAM,EACJ,EAAO,GAAG,EAAM,GAAG,MAAW,EAAO,GAAQ,IACzC,SACA,EAAK,GAAG,EAAM,GAAG,MAAW,EAAK,GAAQ,IACzC,MACA,KACN,GAAI,CAAC,EAAM,OAAO,KAGlB,GAAI,CAAC,GAAM,SAAS,GAAG,IAAM,EAAK,GAAG,EAAM,GAAG,MAAW,EAAK,GAAQ,KAAM,CAC1E,IAAM,EAAU,EAAK,GAAG,EAAM,GAAG,MAAW,EAAK,GAAQ,IACnD,EAAS,CAAE,KAAM,EAAS,MAAK,EACrC,GAAI,IAAS,SAAU,CACrB,IAAM,EAAO,EAAgB,SAAU,CAAO,EAC9C,OAAO,OAAO,EAAQ,CACpB,IAAK,OAAO,GAAS,SAAW,EAAO,GAAM,GAC/C,CAAC,CACH,CACA,OAAO,CACT,CAGA,OAAO,EACH,OAAO,KAAK,CAAI,EACb,OAAQ,GAAQ,EAAI,WAAW,GAAG,EAAK,EAAE,CAAC,EAC1C,QACE,EAAK,KAAU,CACd,GAAG,GACF,EAAK,QAAQ,GAAG,EAAK,GAAI,EAAE,GAAI,EAAK,EACvC,GACA,CAAC,CACH,EACF,CACN,CACA,SAAwB,EAAa,EAAgB,EAAe,CAElE,GAAI,CAAC,OAAO,KAAK,CAAM,EAAE,OAAQ,CAC/B,IAAM,EAAMA,EAAa,KAAK,EAC3B,IAAK,GAAY,EAAG,EAAE,EACtB,QACE,EAA6B,KAAkB,CAC9C,GAAG,GACF,GAAO,CACV,GACA,CAAC,CACH,EACI,EAAUA,EAAa,QAAQ,EAClC,IAAK,GAAY,EAAG,EAAE,EACtB,QACE,EAA6B,KAAkB,CAC9C,GAAG,GACF,GAAO,CACV,GACA,CAAC,CACH,EACF,OAAO,OAAO,EAAQ,CAAO,EAC7B,OAAO,OAAO,EAAM,EAAK,CAAM,CACjC,CAEA,IAAM,EAAM,CAAC,EAAM,EAAO,YAAY,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAKhE,OAJI,EAAa,IAAQ,QAAQ,IAAI,QAAU,SAG/C,EAAa,GAAO,EAAiB,EAAO,CAAI,GAFvC,EAAa,EAIxB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CoreContext } from "../../../../core.js";
|
|
2
|
+
//#region src/plugins/table/funcs/getFilterSQL/index.d.ts
|
|
3
|
+
declare function getFilterSQL({ table, filter, search, searchColumn: searchColumn1, filterList, query, custom, state, uid, objectId, order }: {
|
|
4
|
+
table: string | undefined;
|
|
5
|
+
filter?: string;
|
|
6
|
+
search?: string;
|
|
7
|
+
searchColumn?: string;
|
|
8
|
+
filterList?: any[];
|
|
9
|
+
query?: string;
|
|
10
|
+
custom?: string;
|
|
11
|
+
state?: string;
|
|
12
|
+
uid?: string;
|
|
13
|
+
objectId?: string;
|
|
14
|
+
order?: string;
|
|
15
|
+
}, ctx: CoreContext): Promise<{
|
|
16
|
+
filterList: any[] | undefined;
|
|
17
|
+
filters: any;
|
|
18
|
+
q: string;
|
|
19
|
+
optimizedSQL: string;
|
|
20
|
+
sqlTable: any;
|
|
21
|
+
extraSqlColumns: string | null;
|
|
22
|
+
tableCount: string;
|
|
23
|
+
table: any;
|
|
24
|
+
searchQuery: string;
|
|
25
|
+
}>;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { getFilterSQL };
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../../src/plugins/table/funcs/getFilterSQL/index.ts"],"mappings":";;iBAyC8B,eAE1B,OACA,QACA,QACA,cAAc,eACd,YACA,OACA,QACA,OACA,KACA,UACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GAEF,KAAK,cAAW"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{BadRequestError as e}from"../../../../errors.js";import t from"../../../../modules/templates/services/getTemplate.js";import n from"../getSelect.js";import r from"../../../pg/funcs/getMeta.js";import i from"../../../../modules/data/services/resource/getFilter.js";import a from"./util/getTableSql.js";import o from"./util/getFilterQuery.js";import s from"../getTableColumnMeta.js";import c from"./util/getOptimizedQuery.js";const l={};function u(e,t,n,r){let i=Object.keys(t||{}).filter(t=>!e.map(e=>e?.name).includes(t)).map(e=>({name:e,type:t[e]?.type}));return{q:i.map(e=>`,(select value_text as "${e.name.replace(/'/g,`''`)}" from ${n} where property_key='${e.name.replace(/'/g,`''`)}' and object_id=t.${r} limit 1)`).join(` `),extraColumns:i}}async function d({table:d,filter:f,search:p,searchColumn:m,filterList:h,query:g,custom:_,state:v,uid:y,objectId:b,order:x},S){let{pg:C,config:w}=S||{};if(!C)throw Error(`empty pg`);if(!d)throw e(`param table is required`);let T=await t(`table`,d),E=T?.form?await t(`form`,T?.form):null,{extra:D}=E||{},O=D?w.extraData?.[T.table]||w.extraData?.[T.table.split(`.`).shift()]||w.extraData?.default||w.extraData||`crm.extra_data`:void 0,k=T?.table&&C.pk?.[T.table]?await C.query(`select * from ${T.table} limit 0`).then(e=>e.fields||[]):[],{q:A,extraColumns:j=[]}=O&&C.pk?.[O]&&C.pk?.[T.table||d]?u(k,E?.schema,O,C.pk[T.table||d]):{q:null};if(T?.table&&!l[T?.table]&&T?.sql?.length){let e=T.sql.filter(e=>!e?.disabled&&(e.inline??!0)),t=e.map((e,t)=>` left join lateral (${e.sql}) ${e.name||`t${t}`} on 1=1 `)?.join(``)||``;(await Promise.all(e.map((e,n)=>C.query(`select ${e.name||`t${n}`}.* from(select * from ${T.table})t ${t} limit 0`).then(e=>e.fields)))).forEach((t,n)=>{e[n].inline=t.length===1,e[n].fields=t.map(e=>e.name)}),l[T?.table]=T.sql}else l[T?.table]&&(T.sql=l[T?.table]);let M=T?.sql?.length?T.sql.filter(e=>!e?.disabled&&!e.inline&&e?.sql?.replace&&(!e.sql.includes(`{{uid}}`)||y)).map((e,t)=>` left join lateral (${e.sql.replace(`{{uid}}`,y)}) ${e.name||`t${t}`} on 1=1 `).join(``):null,N=T?.sql?.filter?.(e=>e.inline).map(e=>`,(${e.sql})`).join(``),P=`select * ${A||``} ${N||``} from ${T?.table||d} t ${M||``} limit 0`,{fields:F=[]}=await C.query(P),I=F?.filter(e=>C.pgType?.[e.dataTypeID]===`text`)?.map(e=>`"${e.name}"`).join(`,`),L=m||T?.search_column||T?.meta?.search||I,R=(k||F)?.map(e=>e.name);try{let e=await a({body:T,table:d,fields:F},S),l=`ilike '%${decodeURIComponent(p?.replace?.(/%/g,`%25`)||``).replace(/'/g,`''`).replace(/%/g,`\\%`)}%'`,u=p&&L?` (${L.split(`,`)?.map(t=>{let{pk:n}=e.find(e=>e.name===t)||{};return n&&!R.includes(t)?`${n} in (select ${n} from (${P.replace(/limit 0/g,``)} where ${t} ${l} )q where 1=1)`:`${t}::text ${l}`}).join(` or `)} )`:``,m=await i({table:d,uid:y},S),w=await Promise.all((h||[]).concat(m?.inline||[]).concat(m?.custom||[]).concat(m?.state||[]).concat(m?.list||[])?.filter(e=>e.id||e.name)?.map(async e=>{if(Object.assign(e,{name:e.name||e.id}),e.name&&j.find(t=>t?.name===e?.name)&&Object.assign(e,{extra:{table:O,input:j.find(t=>t?.name===e?.name)?.type}}),e.api?.split?.(`/`)?.[2]===`suggest`&&e.api?.split?.(`/`)?.[3]?.split?.(`:`)?.length===2&&!e.api.includes(`?`)){let[n,i]=e.api.split(`/`)[3].split(`:`),a=await t(`table`,n),{arr:o,original:c}=(await r({table:n},S).then(e=>e?.columns||[]))?.find(e=>e.name===i)?await s({table:a?.table||n,template:a?n:void 0,column:i?.split?.(`?`)?.shift?.()},S)||{}:{arr:null,original:null},l=o||(c&&C?.queryCache?await C.queryCache(c,{table:a?.table||n}).catch(e=>console.error(`getFilterSQL error`,e.toString())).then(e=>e?.rows||[]):void 0);Object.assign(e,{optionsFromColumns:!0,options:l,select:c})}if(!e?.data)return e;let i=await n({name:e.data},S);return Array.isArray(i?.arr)&&i.arr.length?Object.assign(e,{cls:e.data,options:i.arr,select:`select code, name from admin.cls where parent='${e.data}'`}):typeof(i?.sql||i)==`string`&&Object.assign(e,{select:i?.sql||i}),e})),E=T?.model||T?.table||d,D=o({filter:f,table:E,tableSQL:e,fields:F,filterList:w,uid:y,objectId:b},S),k=T?.filterCustom?.length&&_?T.filterCustom?.find(e=>e.name===_)?.sql:null,N=T?.filterState?.length&&v?T.filterState?.find(e=>e.name===v)?.sql:null,I=D?.filter(e=>e.query)?.map(e=>`${e.query}`).join(` and `),z=[T?.query,g,u,I,N,k].filter(Boolean).join(` and `),B={body:T,extraSqlColumns:A,table:d,q:z};return{filterList:h,filters:D,q:z,optimizedSQL:`select * from ${c(B)} ${x?`order by ${x}`:``}`,sqlTable:M,extraSqlColumns:A,tableCount:c(B,!0),table:E,searchQuery:u}}catch(e){throw e}}export{d as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["getFilter"],"sources":["../../../../../src/plugins/table/funcs/getFilterSQL/index.ts"],"sourcesContent":["import { BadRequestError } from \"../../../../errors.js\";\r\n\r\nimport getSelect from \"../getSelect.js\";\r\n\r\nimport getFilter from \"../../../../modules/data/services/resource/getFilter.js\";\r\nimport getTemplate from \"../../../../modules/templates/services/getTemplate.js\";\r\n\r\n// filter util\r\nimport getTableSql from \"./util/getTableSql.js\";\r\nimport getFilterQuery from \"./util/getFilterQuery.js\";\r\nimport getTableColumnMeta from \"../getTableColumnMeta.js\";\r\nimport getOptimizedQuery from \"./util/getOptimizedQuery.js\";\r\nimport getMeta from \"../../../pg/funcs/getMeta.js\";\r\n\r\nimport { CoreContext } from \"../../../../core.js\";\r\n\r\nconst checkInline: any = {};\r\nconst defaultTable = \"crm.extra_data\";\r\n\r\nfunction getExtraQuery(mainColumns: any, schema: any, table: any, pk: any) {\r\n const extraColumns = Object.keys(schema || {})\r\n .filter((key) => !mainColumns.map((el: any) => el?.name).includes(key))\r\n .map((key) => ({ name: key, type: schema[key]?.type }));\r\n\r\n return {\r\n q: extraColumns\r\n .map(\r\n (el) =>\r\n `,(select value_text as \"${el.name.replace(\r\n /'/g,\r\n \"''\"\r\n )}\" from ${table} where property_key='${el.name.replace(\r\n /'/g,\r\n \"''\"\r\n )}' and object_id=t.${pk} limit 1)`\r\n )\r\n .join(\" \"),\r\n extraColumns,\r\n };\r\n}\r\n\r\nexport default async function getFilterSQL(\r\n {\r\n table,\r\n filter,\r\n search,\r\n searchColumn: searchColumn1,\r\n filterList,\r\n query,\r\n custom,\r\n state,\r\n uid,\r\n objectId,\r\n order,\r\n }: {\r\n table: string | undefined;\r\n filter?: string;\r\n search?: string;\r\n searchColumn?: string;\r\n filterList?: any[];\r\n query?: string;\r\n custom?: string;\r\n state?: string;\r\n uid?: string;\r\n objectId?: string;\r\n order?: string;\r\n },\r\n ctx: CoreContext\r\n) {\r\n const { pg, config } = ctx || {};\r\n\r\n if (!pg) {\r\n throw new Error(\"empty pg\");\r\n }\r\n\r\n if (!table) {\r\n throw BadRequestError(\"param table is required\");\r\n }\r\n\r\n const body = await getTemplate(\"table\", table);\r\n const loadTemplate = body?.form\r\n ? await getTemplate(\"form\", body?.form)\r\n : null;\r\n const { extra } = loadTemplate || {};\r\n\r\n const extraDataTable = extra\r\n ? config.extraData?.[body.table] ||\r\n config.extraData?.[body.table.split(\".\").shift()] ||\r\n config.extraData?.default ||\r\n config.extraData ||\r\n defaultTable\r\n : undefined;\r\n\r\n const fieldsModel =\r\n body?.table && pg.pk?.[body.table]\r\n ? await pg\r\n .query(`select * from ${body.table} limit 0`)\r\n .then((r: any) => r.fields || [])\r\n : [];\r\n\r\n const { q: extraSqlColumns, extraColumns = [] } =\r\n extraDataTable && pg.pk?.[extraDataTable] && pg.pk?.[body.table || table]\r\n ? getExtraQuery(\r\n fieldsModel,\r\n loadTemplate?.schema,\r\n extraDataTable,\r\n pg.pk[body.table || table]\r\n )\r\n : { q: null };\r\n\r\n // check sql inline fields count\r\n if (body?.table && !checkInline[body?.table] && body?.sql?.length) {\r\n const filterSql = body.sql.filter(\r\n (el: any) => !el?.disabled && (el.inline ?? true)\r\n );\r\n const sqlTable =\r\n filterSql\r\n .map(\r\n (el: any, i: any) =>\r\n ` left join lateral (${el.sql}) ${el.name || `t${i}`} on 1=1 `\r\n )\r\n ?.join(\"\") || \"\";\r\n const d = await Promise.all(\r\n filterSql.map((el: any, i: any) =>\r\n pg\r\n .query(\r\n `select ${el.name || `t${i}`}.* from(select * from ${\r\n body.table\r\n })t ${sqlTable} limit 0`\r\n )\r\n .then((item: any) => item.fields)\r\n )\r\n );\r\n d.forEach((el, i) => {\r\n filterSql[i].inline = el.length === 1;\r\n filterSql[i].fields = el.map((f: any) => f.name);\r\n });\r\n checkInline[body?.table] = body.sql;\r\n } else if (checkInline[body?.table]) {\r\n body.sql = checkInline[body?.table];\r\n }\r\n\r\n const sqlTable = body?.sql?.length\r\n ? body.sql\r\n .filter(\r\n (el: any) =>\r\n !el?.disabled &&\r\n !el.inline &&\r\n el?.sql?.replace &&\r\n (!el.sql.includes(\"{{uid}}\") || uid)\r\n )\r\n .map(\r\n (el: any, i: any) =>\r\n ` left join lateral (${el.sql.replace(\"{{uid}}\", uid)}) ${\r\n el.name || `t${i}`\r\n } on 1=1 `\r\n )\r\n .join(\"\")\r\n : null;\r\n const sqlInline = body?.sql\r\n ?.filter?.((el: any) => el.inline)\r\n .map((el: any) => `,(${el.sql})`)\r\n .join(\"\");\r\n\r\n const fieldQuery = `select * ${extraSqlColumns || \"\"} ${\r\n sqlInline || \"\"\r\n } from ${body?.table || table} t ${sqlTable || \"\"} limit 0`;\r\n const { fields = [] } = await pg.query(fieldQuery);\r\n const autoSearchColumn = fields\r\n ?.filter((el: any) => pg.pgType?.[el.dataTypeID] === \"text\")\r\n ?.map((el: any) => `\"${el.name}\"`)\r\n .join(\",\");\r\n const searchColumn =\r\n searchColumn1 ||\r\n body?.search_column ||\r\n body?.meta?.search ||\r\n autoSearchColumn;\r\n const fieldsList = (fieldsModel || fields)?.map((el: any) => el.name);\r\n try {\r\n const tableSQL = await getTableSql(\r\n {\r\n body,\r\n table,\r\n fields,\r\n },\r\n ctx\r\n );\r\n\r\n const sval = `ilike '%${decodeURIComponent(\r\n search?.replace?.(/%/g, \"%25\") || \"\"\r\n )\r\n .replace(/'/g, \"''\")\r\n .replace(/%/g, \"\\\\%\")}%'`;\r\n const searchQuery =\r\n search && searchColumn\r\n ? ` (${searchColumn\r\n .split(\",\")\r\n ?.map((name: any) => {\r\n const { pk } = tableSQL.find((el: any) => el.name === name) || {};\r\n return pk && !fieldsList.includes(name)\r\n ? `${pk} in (select ${pk} from (${fieldQuery.replace(\r\n /limit 0/g,\r\n \"\"\r\n )} where ${name} ${sval} )q where 1=1)`\r\n : `${name}::text ${sval}`;\r\n })\r\n .join(\" or \")} )`\r\n : \"\";\r\n const filterResponse = await getFilter(\r\n {\r\n table,\r\n uid,\r\n },\r\n ctx\r\n );\r\n const filterList1 = await Promise.all(\r\n (filterList || [])\r\n .concat(filterResponse?.inline || [])\r\n .concat(filterResponse?.custom || [])\r\n .concat(filterResponse?.state || [])\r\n .concat(filterResponse?.list || [])\r\n ?.filter((el: any) => el.id || el.name)\r\n ?.map(async (el: any) => {\r\n Object.assign(el, { name: el.name || el.id });\r\n if (el.name && extraColumns.find((item) => item?.name === el?.name)) {\r\n Object.assign(el, {\r\n extra: {\r\n table: extraDataTable,\r\n input: extraColumns.find((item) => item?.name === el?.name)\r\n ?.type,\r\n },\r\n });\r\n }\r\n if (\r\n el.api?.split?.(\"/\")?.[2] === \"suggest\" &&\r\n el.api?.split?.(\"/\")?.[3]?.split?.(\":\")?.length === 2 &&\r\n !el.api.includes(\"?\") // skip /suggest/table:column?sel=selectName\r\n ) {\r\n const [table, column] = el.api.split(\"/\")[3].split(\":\");\r\n const body = await getTemplate(\"table\", table);\r\n const columns = await getMeta({ table }, ctx).then(\r\n (el) => el?.columns || []\r\n );\r\n const { arr, original } = columns?.find(\r\n (el: any) => el.name === column\r\n )\r\n ? (await getTableColumnMeta(\r\n {\r\n table: body?.table || table,\r\n template: body ? table : undefined,\r\n column: column?.split?.(\"?\")?.shift?.(),\r\n },\r\n ctx\r\n )) || {}\r\n : { arr: null, original: null };\r\n const arr1 =\r\n arr ||\r\n (original && pg?.queryCache\r\n ? await pg\r\n .queryCache(original, { table: body?.table || table })\r\n .catch((err: any) =>\r\n console.error(\"getFilterSQL error\", err.toString())\r\n )\r\n .then((el: any) => el?.rows || [])\r\n : undefined);\r\n Object.assign(el, {\r\n optionsFromColumns: true,\r\n options: arr1,\r\n select: original,\r\n });\r\n }\r\n if (!el?.data) return el;\r\n const cls = await getSelect({ name: el.data }, ctx); // git + db cls\r\n\r\n if (Array.isArray(cls?.arr) && cls.arr.length) {\r\n Object.assign(el, {\r\n cls: el.data,\r\n options: cls.arr,\r\n select: `select code, name from admin.cls where parent='${el.data}'`,\r\n });\r\n } else if (typeof (cls?.sql || cls) === \"string\") {\r\n Object.assign(el, { select: cls?.sql || cls });\r\n }\r\n return el;\r\n })\r\n );\r\n\r\n const modelQuery = body?.model || body?.table || table;\r\n\r\n const filters = getFilterQuery(\r\n {\r\n filter,\r\n table: modelQuery,\r\n tableSQL,\r\n fields,\r\n filterList: filterList1,\r\n uid,\r\n objectId,\r\n },\r\n ctx\r\n );\r\n\r\n // filter\r\n const customQuery =\r\n body?.filterCustom?.length && custom\r\n ? body.filterCustom?.find((el: any) => el.name === custom)?.sql\r\n : null;\r\n const stateQuery =\r\n body?.filterState?.length && state\r\n ? body.filterState?.find((el: any) => el.name === state)?.sql\r\n : null;\r\n\r\n const filterQuery = filters\r\n ?.filter((el: any) => el.query)\r\n ?.map((el: any) => `${el.query}`)\r\n .join(\" and \");\r\n const q = [\r\n body?.query,\r\n query,\r\n searchQuery,\r\n filterQuery,\r\n stateQuery,\r\n customQuery,\r\n ]\r\n .filter(Boolean)\r\n .join(\" and \");\r\n\r\n // table\r\n\r\n const obj: any = {\r\n body,\r\n extraSqlColumns,\r\n table,\r\n q,\r\n };\r\n\r\n const optimizedSQL = `select * from ${getOptimizedQuery(obj)} ${\r\n order ? `order by ${order}` : \"\"\r\n }`;\r\n const tableCount = getOptimizedQuery(obj, true);\r\n\r\n return {\r\n filterList,\r\n filters,\r\n q,\r\n optimizedSQL,\r\n sqlTable,\r\n extraSqlColumns,\r\n tableCount,\r\n table: modelQuery,\r\n // filter parts\r\n searchQuery,\r\n };\r\n } catch (err) {\r\n throw err;\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"../../../../hook/applyHookSync.js";import t from"./getRangeQuery.js";const n=[`check`,`autocomplete`,`tags`,`avatar`,`radio`,`select`,`button`];function r({table:r,filter:i={},name:a,value:o,dataTypeID:s,uid:c=1,optimize:l},{pg:u}){let{extra:d,sql:f,select:p,strict:m,options:h,optionsFromColumns:g}=i;if(!u)throw Error(`empty pg`);let _=u?.pk&&r?u.pk[r]:void 0,v=i.type?.toLowerCase?.()||`text`;if(v===`text`&&o&&i?.columns){let e=i.columns.split(`,`),t=`ilike '%${decodeURIComponent(o.replace(/%/g,`%25`)).replace(/%/g,`\\%`)}%'`;return{op:`~`,query:`(${e.map(e=>`"${e}"::text ${t}`).join(` or `)})`}}let y=u?.pgType?.[s]||u?.pgType?.[{date:1114}[v]||25],b=e(`onFormatValue`,{pg:u,pk:_,table:r,name:a,value:o,filterType:v,fieldType:y,filter:i,dataTypeID:s,uid:c,optimize:l});if(b)return b?.query?b:{op:`=`,query:b};if(!a||!o||!s&&!d&&!f&&!h||d?.input?.toLowerCase?.()===`datatable`||!n.includes(v)&&h?.find?.(e=>e?.sql))return{};if(o===`me`&&c)return{op:`=`,query:`${a}::text = '${c}'`};let x={null:`is null`,notnull:`is not null`}[o],S=y===`boolean`?{true:`is true`,false:`is false`}[o]:null,C=y?.includes(`[]`)?`::text[] && '{${o}}'::text[]`:null,w=x||S||C||`::text=any('{${o}}'::text[])`;if([`geometry`].includes(y||``)){if(x)return{op:`nullable`,query:`${a} ${x}`};let e=o?.[0]?.split?.(`_`);return e?.length===4?{op:`&&`,query:` ${a} && 'box(${e[0]} ${e[1]},${e[2]} ${e[3]})'::box2d `}:{}}let T=f?.replace?.(/= ?any\(\$1\)/g,`::text=any('{ ${o} }'::text[])`)?.replace?.(/\$1/g,`'${o}'`),E=v===`text`&&!m?`~`:`=`;return[`text`].includes(v)?f?{op:`=`,query:T}:d?.table&&_?{op:E,query:`${_} in (select object_id from ${d.table} where property_key='${a}' and value_text ${x||`${E} '${o}'`} )`}:p?{op:E,query:`${a}::text in ( ( with q(id,name) as (${p}) select id from q where ${x?`name ${x}`:`lower(name::text) ~ lower('${o}')`}) )`}:x?{op:E,query:`${a} ${x}`}:{op:E,query:`lower(${a}::text) ${E} lower('${o}')`}:[`date`,`datepicker`,`range`].includes(v)?{op:`between`,query:t(o,a,y,v,f,d,_)}:n.includes(v)?h?.find?.(e=>e?.sql)?{op:`=`,query:h.filter(e=>o.split(`,`).includes(e.id?.toString?.())).map(e=>e.sql||`false`).join(` and `)||`false`}:f?{op:`=`,query:T}:d?.table&&_?{op:`=`,query:`${_} in (select object_id from ${d.table} where property_key='${a}' and value_text ${x||`='${o}'`} )`}:g&&h?.length?{op:`=`,query:`${a}::text=any('{${h.map(e=>e.id).filter(e=>o.includes(e)).map(e=>`"${e}"`).join(`,`)}}'::text[])`}:{op:`=`,query:`${a} ${w}`}:{}}export{r as default};
|
|
2
|
+
//# sourceMappingURL=formatValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatValue.js","names":[],"sources":["../../../../../../src/plugins/table/funcs/getFilterSQL/util/formatValue.ts"],"sourcesContent":["import { CoreContext } from \"../../../../../core.js\";\r\nimport applyHookSync from \"../../../../hook/applyHookSync.js\";\r\nimport getRangeQuery from \"./getRangeQuery.js\";\r\n\r\nconst selectFilterTypes = [\r\n \"check\",\r\n \"autocomplete\",\r\n \"tags\",\r\n \"avatar\",\r\n \"radio\",\r\n \"select\",\r\n \"button\",\r\n];\r\n\r\nexport default function formatValue(\r\n {\r\n table,\r\n filter = {},\r\n name,\r\n value,\r\n dataTypeID,\r\n uid = 1,\r\n optimize,\r\n }: {\r\n table: string;\r\n filter: Record<string, any>;\r\n name: string | undefined;\r\n value: string;\r\n dataTypeID: number;\r\n uid?: string | number;\r\n optimize?: any;\r\n },\r\n { pg }: CoreContext\r\n) {\r\n const {\r\n extra,\r\n sql,\r\n select,\r\n strict,\r\n options,\r\n optionsFromColumns /* default: defaultValue, */,\r\n } = filter;\r\n\r\n if (!pg) {\r\n throw new Error(\"empty pg\");\r\n }\r\n\r\n const pk = pg?.pk && table ? pg.pk[table] : undefined;\r\n\r\n const filterType: string = filter.type?.toLowerCase?.() || \"text\";\r\n\r\n if (filterType === \"text\" && value && filter?.columns) {\r\n const columns = filter.columns.split(\",\");\r\n const sval = `ilike '%${decodeURIComponent(\r\n value.replace(/%/g, \"%25\")\r\n ).replace(/%/g, \"\\\\%\")}%'`;\r\n const query = `(${columns\r\n .map((el: any) => `\"${el}\"::text ${sval}`)\r\n .join(\" or \")})`;\r\n return { op: \"~\", query };\r\n }\r\n\r\n const fieldType =\r\n pg?.pgType?.[dataTypeID] || pg?.pgType?.[{ date: 1114 }[filterType] || 25];\r\n\r\n const hookData = applyHookSync(\"onFormatValue\", {\r\n pg,\r\n pk,\r\n table,\r\n name,\r\n value,\r\n filterType,\r\n fieldType,\r\n filter,\r\n dataTypeID,\r\n uid,\r\n optimize,\r\n });\r\n\r\n if (hookData) {\r\n return hookData?.query ? hookData : { op: \"=\", query: hookData };\r\n }\r\n\r\n if (\r\n !name ||\r\n !value ||\r\n (!dataTypeID && !extra && !sql && !options) ||\r\n extra?.input?.toLowerCase?.() === \"datatable\" ||\r\n (!selectFilterTypes.includes(filterType) &&\r\n options?.find?.((el: any) => el?.sql))\r\n ) {\r\n return {};\r\n }\r\n\r\n // my rows\r\n if (value === \"me\" && uid) {\r\n return { op: \"=\", query: `${name}::text = '${uid}'` };\r\n }\r\n\r\n const matchNull = { null: \"is null\", notnull: \"is not null\" }[value];\r\n // null = true is null, not false\r\n const matchBoolean =\r\n fieldType === \"boolean\"\r\n ? { true: \"is true\", false: \"is false\" }[value]\r\n : null;\r\n const matchMulti = fieldType?.includes(\"[]\")\r\n ? `::text[] && '{${value}}'::text[]`\r\n : null;\r\n const match =\r\n matchNull ||\r\n matchBoolean ||\r\n matchMulti ||\r\n `::text=any('{${value}}'::text[])`;\r\n\r\n // geometry\r\n if ([\"geometry\"].includes(fieldType || \"\")) {\r\n if (matchNull) {\r\n return { op: \"nullable\", query: `${name} ${matchNull}` };\r\n }\r\n\r\n const bbox = value?.[0]?.split?.(\"_\");\r\n\r\n if (bbox?.length !== 4) {\r\n return {};\r\n }\r\n\r\n const query = ` ${name} && 'box(${bbox[0]} ${bbox[1]},${bbox[2]} ${bbox[3]})'::box2d `;\r\n return { op: \"&&\", query };\r\n }\r\n\r\n const querysql = sql\r\n ?.replace?.(/= ?any\\(\\$1\\)/g, `::text=any('{ ${value} }'::text[])`)\r\n ?.replace?.(/\\$1/g, `'${value}'`);\r\n const op = filterType === \"text\" && !strict ? \"~\" : \"=\";\r\n\r\n // text\r\n if ([\"text\"].includes(filterType)) {\r\n // with sql subquery\r\n if (sql) {\r\n return { op: \"=\", query: querysql };\r\n }\r\n\r\n // extra table, example: crm.extra_data\r\n if (extra?.table && pk) {\r\n const query = `${pk} in (select object_id from ${\r\n extra.table\r\n } where property_key='${name}' and value_text ${\r\n matchNull || `${op} '${value}'`\r\n } )`;\r\n return { op, query };\r\n }\r\n\r\n // select / cls\r\n if (select) {\r\n const subquery = matchNull\r\n ? `name ${matchNull}`\r\n : `lower(name::text) ~ lower('${value}')`;\r\n return {\r\n op,\r\n query: `${name}::text in ( ( with q(id,name) as (${select}) select id from q where ${subquery}) )`,\r\n };\r\n }\r\n\r\n // nullable\r\n if (matchNull) {\r\n const query = `${name} ${matchNull}`;\r\n return { op, query };\r\n }\r\n\r\n // default\r\n const query = `lower(${name}::text) ${op} lower('${value}')`;\r\n\r\n return { op, query };\r\n }\r\n\r\n // date: 01.01.2024-31.12.2024 / number range: 100-500\r\n if ([\"date\", \"datepicker\", \"range\"].includes(filterType)) {\r\n const query = getRangeQuery(\r\n value,\r\n name,\r\n fieldType,\r\n filterType,\r\n sql,\r\n extra,\r\n pk\r\n );\r\n return { op: \"between\", query };\r\n }\r\n\r\n /* select query - from admin.cls / filter options */\r\n if (selectFilterTypes.includes(filterType)) {\r\n // multiple checks with predefined query\r\n if (options?.find?.((el: any) => el?.sql)) {\r\n const query =\r\n options\r\n .filter((el: any) => value.split(\",\").includes(el.id?.toString?.()))\r\n .map((el: any) => el.sql || \"false\")\r\n .join(\" and \") || \"false\";\r\n return { op: \"=\", query };\r\n }\r\n\r\n // with sql subquery\r\n if (sql) {\r\n return { op: \"=\", query: querysql };\r\n }\r\n\r\n // extra table, example: crm.extra_data\r\n if (extra?.table && pk) {\r\n const query = `${pk} in (select object_id from ${\r\n extra.table\r\n } where property_key='${name}' and value_text ${\r\n matchNull || `='${value}'`\r\n } )`;\r\n return { op: \"=\", query };\r\n }\r\n\r\n // if pseudo-suggest column contain commas\r\n if (optionsFromColumns && options?.length) {\r\n const optionValues = options.map((e: any) => e.id);\r\n const vals = optionValues.filter((e: any) => value.includes(e));\r\n return {\r\n op: \"=\",\r\n query: `${name}::text=any('{${vals\r\n .map((v: any) => `\"${v}\"`)\r\n .join(\",\")}}'::text[])`,\r\n };\r\n }\r\n\r\n // nullable + default\r\n const query = `${name} ${match}`;\r\n return { op: \"=\", query };\r\n }\r\n\r\n return {};\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"./formatValue.js";function t({filter:t=``,table:n=``,tableSQL:r=[],fields:i,filterList:a,uid:o,objectId:s},{pg:c}){let l=[`=`,`~`,`>`,`<`],u=decodeURIComponent(t?.replace?.(/%/g,`%25`)?.replace?.(/%/g,`\\%`)?.replace?.(/(^,)|(,$)/g,``))?.replace?.(/'/g,`''`)?.split?.(/[;|]/)||[],d=s?[]:a?.filter?.(e=>e.name&&!t?.includes?.(`${e.name}=`)&&e.default&&(e.options||e.sql))?.map?.(e=>`${e.name}=${e.default}`)||[],f=u.concat(d).filter(Boolean),p=[];for(let t=0;t<f.length;t+=1){let s=f[t];if(!s)continue;let u=l?.find(e=>s.indexOf(e)!==-1)||`=`,[d]=s.split(u);if(p.find(e=>e.name===d))continue;let m=a?.find?.(e=>e.type&&e.name===d)||{type:`text`},{strict:h,extra:g}=m,_=f.filter(e=>e.split(u)?.[0]===d).map(e=>e.substring((d?.length||0)+1)).join(`,`),v=i?.find(e=>e.name===d)?null:r.find(e=>e.name===d),{dataTypeID:y}=i?.find(e=>e.name===d)||i?.find(e=>e.name===v?.pk)||{},{op:b,query:x,filterType:S,fieldType:C}=e({table:n,filter:m,name:d,value:_,dataTypeID:y,uid:o,optimize:v},{pg:c})||{};x&&p.push({name:d,value:_,query:x,operator:b,filterType:S,type:C,strict:h,extra:g})}return p}export{t as default};
|
|
2
|
+
//# sourceMappingURL=getFilterQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFilterQuery.js","names":[],"sources":["../../../../../../src/plugins/table/funcs/getFilterSQL/util/getFilterQuery.ts"],"sourcesContent":["import { CoreContext } from \"../../../../../core.js\";\r\nimport formatValue from \"./formatValue.js\";\r\n\r\n/**\r\n * @param {Number} opt.json - (1|0) 1 - Результат - Object, 0 - String\r\n * @param {String} opt.query - запит до таблиці\r\n * @param {String} opt.hash - інформація з хешу по запиту\r\n */\r\n\r\nfunction getFilterQuery(\r\n {\r\n filter: filterStr = \"\",\r\n table = \"\",\r\n tableSQL = [],\r\n fields,\r\n filterList,\r\n uid,\r\n objectId,\r\n }: {\r\n filter: string | undefined;\r\n table: string;\r\n tableSQL: any[];\r\n fields?: any[];\r\n filterList?: any[];\r\n uid?: string | number;\r\n objectId?: string;\r\n },\r\n { pg }: CoreContext\r\n) {\r\n // if (!filterStr) return null; // filter list API\r\n\r\n const mainOperators = [\"=\", \"~\", \">\", \"<\"];\r\n\r\n const filterQueryArray =\r\n decodeURIComponent(\r\n filterStr\r\n ?.replace?.(/%/g, \"%25\")\r\n ?.replace?.(/%/g, \"\\\\%\")\r\n ?.replace?.(/(^,)|(,$)/g, \"\")\r\n )\r\n ?.replace?.(/'/g, \"''\")\r\n ?.split?.(/[;|]/) || [];\r\n // default filter value form checkboxes, autocomplete or sql-defined only - if not called from card\r\n const filterDefaultQueryArray = !objectId\r\n ? filterList\r\n ?.filter?.(\r\n (el: any) =>\r\n el.name &&\r\n !filterStr?.includes?.(`${el.name}=`) &&\r\n el.default &&\r\n (el.options || el.sql)\r\n )\r\n ?.map?.((el: any) => `${el.name}=${el.default}`) || []\r\n : [];\r\n\r\n // concat default + request filters\r\n const arr = filterQueryArray.concat(filterDefaultQueryArray).filter(Boolean);\r\n\r\n const resultList: any = [];\r\n\r\n for (let i = 0; i < arr.length; i += 1) {\r\n const item = arr[i];\r\n if (!item) {\r\n continue;\r\n }\r\n const splitby = mainOperators?.find((el) => item.indexOf(el) !== -1) || \"=\";\r\n const [name] = item.split(splitby);\r\n\r\n // skip already added filter\r\n if (resultList.find((el: any) => el.name === name)) {\r\n continue;\r\n }\r\n\r\n // filter\r\n const filter = filterList?.find?.(\r\n (el: any) => el.type && el.name === name\r\n ) || { type: \"text\" };\r\n const { strict, extra } = filter;\r\n\r\n // find all value\r\n const value = arr\r\n .filter((el) => el.split(splitby)?.[0] === name)\r\n .map((el) => el.substring((name?.length || 0) + 1))\r\n .join(\",\");\r\n\r\n const optimize = fields?.find((el: any) => el.name === name)\r\n ? null\r\n : tableSQL.find((el: any) => el.name === name);\r\n\r\n // find field and skip not exists\r\n const { dataTypeID } =\r\n fields?.find((el: any) => el.name === name) ||\r\n fields?.find((el: any) => el.name === optimize?.pk) ||\r\n {};\r\n\r\n // format query\r\n const { op, query, filterType, fieldType } =\r\n formatValue(\r\n {\r\n table,\r\n filter,\r\n name,\r\n value,\r\n dataTypeID,\r\n uid,\r\n optimize,\r\n },\r\n { pg }\r\n ) || {};\r\n if (!query) continue;\r\n\r\n resultList.push({\r\n name,\r\n value,\r\n query,\r\n operator: op,\r\n filterType,\r\n type: fieldType,\r\n strict,\r\n extra,\r\n });\r\n }\r\n\r\n return resultList;\r\n}\r\n\r\nexport default getFilterQuery;\r\n"],"mappings":"gCASA,SAAS,EACP,CACE,OAAQ,EAAY,GACpB,QAAQ,GACR,WAAW,CAAC,EACZ,SACA,aACA,MACA,YAUF,CAAE,MACF,CAGA,IAAM,EAAgB,CAAC,IAAK,IAAK,IAAK,GAAG,EAEnC,EACJ,mBACE,GACI,UAAU,KAAM,KAAK,GACrB,UAAU,KAAM,KAAK,GACrB,UAAU,aAAc,EAAE,CAChC,GACI,UAAU,KAAM,IAAI,GACpB,QAAQ,MAAM,GAAK,CAAC,EAEpB,EAA2B,EAU7B,CAAC,EATD,GACI,SACC,GACC,EAAG,MACH,CAAC,GAAW,WAAW,GAAG,EAAG,KAAK,EAAE,GACpC,EAAG,UACF,EAAG,SAAW,EAAG,IACtB,GACE,MAAO,GAAY,GAAG,EAAG,KAAK,GAAG,EAAG,SAAS,GAAK,CAAC,EAIrD,EAAM,EAAiB,OAAO,CAAuB,EAAE,OAAO,OAAO,EAErE,EAAkB,CAAC,EAEzB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,GAAK,EAAG,CACtC,IAAM,EAAO,EAAI,GACjB,GAAI,CAAC,EACH,SAEF,IAAM,EAAU,GAAe,KAAM,GAAO,EAAK,QAAQ,CAAE,IAAM,EAAE,GAAK,IAClE,CAAC,GAAQ,EAAK,MAAM,CAAO,EAGjC,GAAI,EAAW,KAAM,GAAY,EAAG,OAAS,CAAI,EAC/C,SAIF,IAAM,EAAS,GAAY,OACxB,GAAY,EAAG,MAAQ,EAAG,OAAS,CACtC,GAAK,CAAE,KAAM,MAAO,EACd,CAAE,SAAQ,SAAU,EAGpB,EAAQ,EACX,OAAQ,GAAO,EAAG,MAAM,CAAO,IAAI,KAAO,CAAI,EAC9C,IAAK,GAAO,EAAG,WAAW,GAAM,QAAU,GAAK,CAAC,CAAC,EACjD,KAAK,GAAG,EAEL,EAAW,GAAQ,KAAM,GAAY,EAAG,OAAS,CAAI,EACvD,KACA,EAAS,KAAM,GAAY,EAAG,OAAS,CAAI,EAGzC,CAAE,cACN,GAAQ,KAAM,GAAY,EAAG,OAAS,CAAI,GAC1C,GAAQ,KAAM,GAAY,EAAG,OAAS,GAAU,EAAE,GAClD,CAAC,EAGG,CAAE,KAAI,QAAO,aAAY,aAC7B,EACE,CACE,QACA,SACA,OACA,QACA,aACA,MACA,UACF,EACA,CAAE,IAAG,CACP,GAAK,CAAC,EACH,GAEL,EAAW,KAAK,CACd,OACA,QACA,QACA,SAAU,EACV,aACA,KAAM,EACN,SACA,OACF,CAAC,CACH,CAEA,OAAO,CACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e({body:e,extraSqlColumns:t,table:n,q:r},i){let a=e?.orderby||e?.order?`order by ${e?.orderby||e?.order}`:``,o=e?.table||e?.model||n,s=e?.sql?.filter(e=>!e.disabled&&e?.sql?.replace&&(i?e.count!==!1:!0)).map(e=>` left join lateral (${e.filter?e.sql.replace(/limit 1/gi,``):e.sql}) as ${e.name} on 1=1 `).join(` `);return`(select * ${t||``} from ${o} t ${s?` ${s}`:``} where 1=1 and ${r?.replace(`q.`,`t.`)||`1=1`} ${a})q`}export{e as default};
|
|
2
|
+
//# sourceMappingURL=getOptimizedQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOptimizedQuery.js","names":[],"sources":["../../../../../../src/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.ts"],"sourcesContent":["export default function getOptimizedQuery(\r\n {\r\n body,\r\n extraSqlColumns,\r\n table,\r\n q,\r\n }: {\r\n body: Record<string, any>;\r\n extraSqlColumns?: string;\r\n table: string;\r\n q?: string;\r\n },\r\n count?: any\r\n) {\r\n const order =\r\n body?.orderby || body?.order\r\n ? `order by ${body?.orderby || body?.order}`\r\n : \"\";\r\n\r\n const tableName = body?.table || body?.model || table;\r\n\r\n const sqlList = body?.sql\r\n ?.filter(\r\n (el: any) =>\r\n !el.disabled && el?.sql?.replace && (count ? el.count !== false : true)\r\n )\r\n .map(\r\n (el: any) =>\r\n ` left join lateral (${\r\n el.filter ? el.sql.replace(/limit 1/gi, \"\") : el.sql\r\n }) as ${el.name} on 1=1 `\r\n )\r\n .join(\" \");\r\n\r\n return `(select * ${extraSqlColumns || \"\"} from ${tableName} t ${\r\n sqlList ? ` ${sqlList}` : \"\"\r\n } where 1=1 and ${q?.replace(\"q.\", \"t.\") || \"1=1\"} ${order})q`;\r\n}\r\n"],"mappings":"AAAA,SAAwB,EACtB,CACE,OACA,kBACA,QACA,KAOF,EACA,CACA,IAAM,EACJ,GAAM,SAAW,GAAM,MACnB,YAAY,GAAM,SAAW,GAAM,QACnC,GAEA,EAAY,GAAM,OAAS,GAAM,OAAS,EAE1C,EAAU,GAAM,KAClB,OACC,GACC,CAAC,EAAG,UAAY,GAAI,KAAK,UAAY,EAAQ,EAAG,QAAU,GAAQ,GACtE,EACC,IACE,GACC,uBACE,EAAG,OAAS,EAAG,IAAI,QAAQ,YAAa,EAAE,EAAI,EAAG,IAClD,OAAO,EAAG,KAAK,SACpB,EACC,KAAK,GAAG,EAEX,MAAO,aAAa,GAAmB,GAAG,QAAQ,EAAU,KAC1D,EAAU,IAAI,IAAY,GAC3B,iBAAiB,GAAG,QAAQ,KAAM,IAAI,GAAK,MAAM,GAAG,EAAM,GAC7D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=[`date`,`timestamp`,`timestamp without time zone`,`timestamp with time zone`],t=[`float8`,`int4`,`int8`,`numeric`,`double precision`,`integer`,`bigint`],n=e=>{if(!e)return!1;if([`min`,`max`,`cd`,`cw`,`cm`,`cq`,`cy`].includes(e))return!0;if(e.includes(`-`))return new Date(e).toString()!==`Invalid Date`;let[t,n,r]=e.split(`.`);return new Date(`${r}-${n}-${t}`).toString()!==`Invalid Date`},r=e=>[`min`,`max`].includes(e)?!0:!isNaN(e);function i(e,t,n){return new Date(Date.UTC(e,t,n)).toISOString().slice(0,10)}const a={d:new Date().getDate(),w:new Date().getDate()-(new Date().getDay()||7)+1,m:new Date().getMonth(),q:parseFloat((new Date().getMonth()/4).toFixed())*3,y:new Date().getFullYear()};function o(e){if(!e?.includes(`.`))return e;let[t,n,r]=e.split(`.`);return`${r}-${n}-${t}`}function s(s,c,l,u,d){let f=(s.includes(`,`)?`,`:null)||(s.includes(`_`)?`_`:null)||(s.includes(`-`)?`-`:null);if(l===`range`&&!f)return{isvalid:!1};if([`date`,`datepicker`].includes(l)&&s===`cd`)return{min:i(a.y,a.m,a.d),max:i(a.y,a.m,a.d),isvalid:!0};if([`date`,`datepicker`].includes(l)&&s===`cw`)return{min:i(a.y,a.m,a.w),max:i(a.y,a.m,a.w+6),isvalid:!0};if([`date`,`datepicker`].includes(l)&&s===`cm`)return{min:i(a.y,a.m,1),max:i(a.y,a.m+1,0),isvalid:!0};if([`date`,`datepicker`].includes(l)&&s===`cq`)return{min:i(a.y,a.q,1),max:i(a.y,a.q+3,0),isvalid:!0};if([`date`,`datepicker`].includes(l)&&s===`cy`)return{min:i(a.y,0,1),max:i(a.y,11,31),isvalid:!0};if([`date`,`datepicker`].includes(l)&&s.match(/^(?<val>[1-9]\d*)(?<unit>d|m|y)$/)?.groups?.unit){let{val:e,unit:t}=s.match(/^(?<val>[1-9]\d*)(?<unit>d|m|y)$/)?.groups||{},r=(t===`d`?i(a.y,a.m,a.d-+e):null)||(t===`m`?i(a.y,a.m-+e,a.d):null)||(t===`y`?i(a.y-+e,a.m,a.d):null);return{min:r,max:i(a.y,a.m,a.d),isvalid:n(r)}}if([`date`,`datepicker`].includes(l)&&s.match(/^(?<year>\d{4})-q(?<quarter>[1-4])$/)?.groups?.quarter){let{year:e,quarter:t}=s.match(/^(?<year>\d{4})-q(?<quarter>[1-4])$/)?.groups||{},n=t*3;return{min:i(e,n-3,1),max:i(e,n,0),isvalid:!0}}if([`date`,`datepicker`].includes(l)&&!f&&!n(s))return{isvalid:!1};if([`date`,`datepicker`].includes(l)&&s.match(/^\d{4}-\d{2}-\d{2}$/)?.[0])return{min:new Date(s).toISOString().split(`T`)[0],max:new Date(s).toISOString().split(`T`)[0],isvalid:!0};if([`date`,`datepicker`].includes(l)&&s.match(/^\d{4}-\d{2}$/)?.[0])return{min:new Date(s).toISOString().split(`T`)[0],max:i(new Date(s).getFullYear(),new Date(s).getMonth()+1,0),isvalid:!0};if([`date`,`datepicker`].includes(l)&&s.match(/^\d{4}$/)?.[0])return{min:i(s,0,1),max:i(s,11,31),isvalid:!0};if(f){let[i=`min`,a=`max`]=s.split(f);if(l===`range`&&c)return{min:i,max:a,isvalid:(t.includes(c)||u||d)&&r(i)&&r(a)};if([`date`,`datepicker`].includes(l)){let t=i===`min`?i:o(i),r=a===`max`?a:o(a);return{min:t,max:r,isvalid:c&&(e.includes(c)||u||d)&&n(t)&&n(r)}}}return{isvalid:!1}}function c(e,t,n,r,i,a,o){let{min:c,max:l,isvalid:u}=s(e,n,r,i,a);if(!u)return`false`;if([`date`,`datepicker`].includes(r)&&i)return i.replace(/\$1/g,`'${c}'::date`).replace(/\$2/g,`'${l}'::date`);if([`range`].includes(r)&&i)return i.replace(/\$1/g,c).replace(/\$2/g,l);if([`date`,`datepicker`].includes(r)&&[`cd`,`cw`,`cm`,`cq`,`cy`].includes(e))return e===`cd`?`${t}::date = '${c}'::date`:`${t}::date between '${c}'::date and '${l}'::date`;if([`date`,`datepicker`].includes(r)&&a?.table&&o){let n=(l&&c&&c===l?`value_date = '${e}'::date`:null)||(l===`max`?`value_date::date > '${c}'::date`:null)||(c===`min`?`value_date::date < '${l}'::date`:null)||`value_date::date between '${c}'::date and '${l}'::date`;return`${o} in (select object_id from ${a.table} where property_key='${t}' and ${n})`}if([`range`].includes(r)&&a?.table&&o){let n=(l&&c&&c===l?`value_text = '${e}'`:null)||(l===`max`?`value_text::numeric > ${c}`:null)||(c===`min`?`value_text::numeric < ${l}`:null)||`value_text::numeric between ${c} and ${l}`;return`${o} in (select object_id from ${a.table} where property_key='${t}' and ${n} )`}return[`date`,`datepicker`].includes(r)&&l&&c&&c===l?`${t}::date = '${c}'::date`:[`range`].includes(r)&&c===`min`&&l===`max`?`true`:l===`max`?[`date`,`datepicker`].includes(r)?`${t} >= '${c}'::date`:`${t} >= ${c}`:c===`min`?[`date`,`datepicker`].includes(r)?`${t} <= '${l}'::date`:`${t} <= ${l}`:[`date`,`datepicker`].includes(r)?`${t}::date between '${c}'::date and '${l}'::date`:`${t} between ${c} and ${l}`}export{c as default};
|
|
2
|
+
//# sourceMappingURL=getRangeQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getRangeQuery.js","names":[],"sources":["../../../../../../src/plugins/table/funcs/getFilterSQL/util/getRangeQuery.ts"],"sourcesContent":["/* eslint-disable no-restricted-globals */\r\nconst dateTypeList = [\r\n \"date\",\r\n \"timestamp\",\r\n \"timestamp without time zone\",\r\n \"timestamp with time zone\",\r\n];\r\nconst numberTypeList = [\r\n \"float8\",\r\n \"int4\",\r\n \"int8\",\r\n \"numeric\",\r\n \"double precision\",\r\n \"integer\",\r\n \"bigint\",\r\n];\r\n\r\nconst isValidDate = (dateStr: any) => {\r\n if (!dateStr) {\r\n return false;\r\n }\r\n\r\n if ([\"min\", \"max\", \"cd\", \"cw\", \"cm\", \"cq\", \"cy\"].includes(dateStr)) {\r\n return true;\r\n }\r\n\r\n // iso date: 2024-01-01\r\n if (dateStr.includes(\"-\")) {\r\n return new Date(dateStr).toString() !== \"Invalid Date\";\r\n }\r\n\r\n // locale date: 01.01.2024\r\n const [dd, mm, yyyy] = dateStr.split(\".\");\r\n return new Date(`${yyyy}-${mm}-${dd}`).toString() !== \"Invalid Date\";\r\n};\r\n\r\nconst isValidNumber = (numStr: any) =>\r\n [\"min\", \"max\"].includes(numStr) ? true : !isNaN(numStr);\r\n\r\nfunction dt(y: any, m: any, d: any) {\r\n return new Date(Date.UTC(y, m, d)).toISOString().slice(0, 10);\r\n}\r\n\r\nconst dp = {\r\n d: new Date().getDate(),\r\n w: new Date().getDate() - (new Date().getDay() || 7) + 1,\r\n m: new Date().getMonth(),\r\n q: parseFloat((new Date().getMonth() / 4).toFixed()) * 3,\r\n y: new Date().getFullYear(),\r\n};\r\n\r\nfunction formatDateISOString(date: any) {\r\n if (!date?.includes(\".\")) return date;\r\n const [day, month, year] = date.split(\".\");\r\n return `${year}-${month}-${day}`;\r\n}\r\n\r\nfunction checkValid(\r\n value: string,\r\n fieldType: string | undefined,\r\n filterType: string,\r\n sql: any,\r\n extra: any\r\n) {\r\n const sep =\r\n (value.includes(\",\") ? \",\" : null) ||\r\n (value.includes(\"_\") ? \"_\" : null) ||\r\n (value.includes(\"-\") ? \"-\" : null);\r\n\r\n // number range w/o valid separator => skip invalid filter\r\n if (filterType === \"range\" && !sep) {\r\n return { isvalid: false };\r\n }\r\n\r\n // date range, specific options: current day, week, month, year etc.\r\n if ([\"date\", \"datepicker\"].includes(filterType) && value === \"cd\") {\r\n return {\r\n min: dt(dp.y, dp.m, dp.d),\r\n max: dt(dp.y, dp.m, dp.d),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n if ([\"date\", \"datepicker\"].includes(filterType) && value === \"cw\") {\r\n return {\r\n min: dt(dp.y, dp.m, dp.w),\r\n max: dt(dp.y, dp.m, dp.w + 6),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n if ([\"date\", \"datepicker\"].includes(filterType) && value === \"cm\") {\r\n return {\r\n min: dt(dp.y, dp.m, 1),\r\n max: dt(dp.y, dp.m + 1, 0),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n if ([\"date\", \"datepicker\"].includes(filterType) && value === \"cq\") {\r\n return {\r\n min: dt(dp.y, dp.q, 1),\r\n max: dt(dp.y, dp.q + 3, 0),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n if ([\"date\", \"datepicker\"].includes(filterType) && value === \"cy\") {\r\n return {\r\n min: dt(dp.y, 0, 1),\r\n max: dt(dp.y, 11, 31),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n // specific period from now - days, months, years\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n value.match(/^(?<val>[1-9]\\d*)(?<unit>d|m|y)$/)?.groups?.unit\r\n ) {\r\n const { val, unit } =\r\n value.match(/^(?<val>[1-9]\\d*)(?<unit>d|m|y)$/)?.groups || {};\r\n const min =\r\n (unit === \"d\" ? dt(dp.y, dp.m, dp.d - +val) : null) ||\r\n (unit === \"m\" ? dt(dp.y, dp.m - +val, dp.d) : null) ||\r\n (unit === \"y\" ? dt(dp.y - +val, dp.m, dp.d) : null);\r\n return {\r\n min,\r\n max: dt(dp.y, dp.m, dp.d),\r\n isvalid: isValidDate(min),\r\n };\r\n }\r\n\r\n // specific quarter - before skip date value validation\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n value.match(/^(?<year>\\d{4})-q(?<quarter>[1-4])$/)?.groups?.quarter\r\n ) {\r\n const { year, quarter } =\r\n value.match(/^(?<year>\\d{4})-q(?<quarter>[1-4])$/)?.groups || {};\r\n const startMonth = +quarter * 3;\r\n return {\r\n min: dt(year, startMonth - 3, 1),\r\n max: dt(year, startMonth, 0),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n // date value validation\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n !sep &&\r\n !isValidDate(value)\r\n ) {\r\n return { isvalid: false };\r\n }\r\n\r\n // specific date / day\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n value.match(/^\\d{4}-\\d{2}-\\d{2}$/)?.[0]\r\n ) {\r\n return {\r\n min: new Date(value).toISOString().split(\"T\")[0],\r\n max: new Date(value).toISOString().split(\"T\")[0],\r\n isvalid: true,\r\n };\r\n }\r\n\r\n // specific month\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n value.match(/^\\d{4}-\\d{2}$/)?.[0]\r\n ) {\r\n return {\r\n min: new Date(value).toISOString().split(\"T\")[0],\r\n max: dt(new Date(value).getFullYear(), new Date(value).getMonth() + 1, 0),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n // specific year\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n value.match(/^\\d{4}$/)?.[0]\r\n ) {\r\n return {\r\n min: dt(value, 0, 1),\r\n max: dt(value, 11, 31),\r\n isvalid: true,\r\n };\r\n }\r\n\r\n if (sep) {\r\n const [minValue = \"min\", maxValue = \"max\"] = value.split(sep);\r\n // range for numbers\r\n if (filterType === \"range\" && fieldType) {\r\n const isvalid =\r\n (numberTypeList.includes(fieldType) || sql || extra) &&\r\n isValidNumber(minValue) &&\r\n isValidNumber(maxValue);\r\n return { min: minValue, max: maxValue, isvalid };\r\n }\r\n\r\n // date range, example: 01.01.2024-31.12.2024\r\n if ([\"date\", \"datepicker\"].includes(filterType)) {\r\n const min = minValue === \"min\" ? minValue : formatDateISOString(minValue);\r\n const max = maxValue === \"max\" ? maxValue : formatDateISOString(maxValue);\r\n const isvalid =\r\n fieldType &&\r\n (dateTypeList.includes(fieldType) || sql || extra) &&\r\n isValidDate(min) &&\r\n isValidDate(max);\r\n return { min, max, isvalid };\r\n }\r\n }\r\n\r\n return { isvalid: false };\r\n}\r\n\r\nexport default function getRangeQuery(\r\n value: any,\r\n name: string,\r\n fieldType: string | undefined,\r\n filterType: string,\r\n sql?: string,\r\n extra?: Record<string, string>,\r\n pk?: string\r\n) {\r\n const { min, max, isvalid } = checkValid(\r\n value,\r\n fieldType,\r\n filterType,\r\n sql,\r\n extra\r\n );\r\n if (!isvalid) {\r\n return \"false\";\r\n }\r\n\r\n // with sql subquery\r\n if ([\"date\", \"datepicker\"].includes(filterType) && sql) {\r\n return sql\r\n .replace(/\\$1/g, `'${min}'::date`)\r\n .replace(/\\$2/g, `'${max}'::date`);\r\n }\r\n\r\n // with sql subquery\r\n if ([\"range\"].includes(filterType) && sql) {\r\n return sql.replace(/\\$1/g, min).replace(/\\$2/g, max);\r\n }\r\n\r\n // preset date values\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n [\"cd\", \"cw\", \"cm\", \"cq\", \"cy\"].includes(value)\r\n ) {\r\n return value === \"cd\"\r\n ? `${name}::date = '${min}'::date`\r\n : `${name}::date between '${min}'::date and '${max}'::date`;\r\n }\r\n\r\n // extra columns, example: crm.extra_data\r\n if ([\"date\", \"datepicker\"].includes(filterType) && extra?.table && pk) {\r\n const subquery =\r\n (max && min && min === max ? `value_date = '${value}'::date` : null) ||\r\n (max === \"max\" ? `value_date::date > '${min}'::date` : null) ||\r\n (min === \"min\" ? `value_date::date < '${max}'::date` : null) ||\r\n `value_date::date between '${min}'::date and '${max}'::date`;\r\n const query = `${pk} in (select object_id from ${extra.table} where property_key='${name}' and ${subquery})`;\r\n return query;\r\n }\r\n\r\n // extra columns, example: crm.extra_data\r\n if ([\"range\"].includes(filterType) && extra?.table && pk) {\r\n const subquery =\r\n (max && min && min === max ? `value_text = '${value}'` : null) ||\r\n (max === \"max\" ? `value_text::numeric > ${min}` : null) ||\r\n (min === \"min\" ? `value_text::numeric < ${max}` : null) ||\r\n `value_text::numeric between ${min} and ${max}`;\r\n const query = `${pk} in (select object_id from ${extra.table} where property_key='${name}' and ${subquery} )`;\r\n return query;\r\n }\r\n\r\n // same date\r\n if (\r\n [\"date\", \"datepicker\"].includes(filterType) &&\r\n max &&\r\n min &&\r\n min === max\r\n ) {\r\n return `${name}::date = '${min}'::date`;\r\n }\r\n\r\n // skip, same as 1=1\r\n if ([\"range\"].includes(filterType) && min === \"min\" && max === \"max\") {\r\n return \"true\";\r\n }\r\n\r\n // default\r\n if (max === \"max\") {\r\n return [\"date\", \"datepicker\"].includes(filterType)\r\n ? `${name} >= '${min}'::date`\r\n : `${name} >= ${min}`;\r\n }\r\n\r\n if (min === \"min\") {\r\n return [\"date\", \"datepicker\"].includes(filterType)\r\n ? `${name} <= '${max}'::date`\r\n : `${name} <= ${max}`;\r\n }\r\n\r\n if ([\"date\", \"datepicker\"].includes(filterType)) {\r\n return `${name}::date between '${min}'::date and '${max}'::date`;\r\n }\r\n\r\n return `${name} between ${min} and ${max}`;\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e){return e?.toLowerCase()?.replace(/[\n\r]+/g,` `)?.split(` from `)?.filter(e=>/^[a-z0-9_]+\.[a-z0-9_]+/.test(e))?.map(e=>e.split(/[ )]/)[0])}const t={};async function n({body:n,table:r,fields:i},{pg:a}){if(!a)throw Error(`empty pg`);if(t[r])return t[r];let o=i.map(e=>e.name),s=n?.sql?.map(t=>e(t.sql)).reduce((e,t)=>e.concat(t),[]).filter(e=>o.includes(a.pk?.[e]));return s?(t[r]=(await Promise.all(s?.map(async e=>(await a.query(`select * from ${e} limit 0`).then(e=>e.fields||[])).map(t=>({name:t.name,table:e,pk:a.pk?.[e]}))))).reduce((e,t)=>e.concat(t),[]),t[r]):(t[r]=[],[])}export{n as default};
|
|
2
|
+
//# sourceMappingURL=getTableSql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTableSql.js","names":[],"sources":["../../../../../../src/plugins/table/funcs/getFilterSQL/util/getTableSql.ts"],"sourcesContent":["import { CoreContext } from \"../../../../../core.js\";\r\n\r\nfunction getTable(table: any) {\r\n const result = table\r\n ?.toLowerCase()\r\n ?.replace(/[\\n\\r]+/g, \" \")\r\n ?.split(\" from \")\r\n ?.filter((el: any) => /^[a-z0-9_]+\\.[a-z0-9_]+/.test(el))\r\n ?.map((el: any) => el.split(/[ )]/)[0]);\r\n return result;\r\n}\r\n\r\n/**\r\n * @param {Number} opt.json - (1|0) 1 - Результат - Object, 0 - String\r\n * @param {String} opt.query - запит до таблиці\r\n * @param {String} opt.hash - інформація з хешу по запиту\r\n */\r\nconst tableSql: Record<string, any> = {};\r\n\r\nasync function getTableSql(\r\n {\r\n body,\r\n table,\r\n fields,\r\n }: {\r\n body: Record<string, any>;\r\n table: string;\r\n fields: any[];\r\n },\r\n { pg }: CoreContext\r\n) {\r\n if (!pg) {\r\n throw new Error(\"empty pg\");\r\n }\r\n\r\n if (tableSql[table]) {\r\n return tableSql[table];\r\n }\r\n\r\n const fieldList = fields.map((el: any) => el.name);\r\n\r\n const tableList = body?.sql\r\n ?.map((el: any) => getTable(el.sql))\r\n .reduce((acc: any, el: any) => acc.concat(el), [])\r\n .filter((el: any) => fieldList.includes(pg.pk?.[el]));\r\n\r\n if (!tableList) {\r\n tableSql[table] = [];\r\n return [];\r\n }\r\n\r\n const data = await Promise.all(\r\n tableList?.map(async (tableEl: any) => {\r\n const fieldsEl = await pg\r\n .query(`select * from ${tableEl} limit 0`)\r\n .then((r: any) => r.fields || []);\r\n return fieldsEl.map((el: any) => ({\r\n name: el.name,\r\n table: tableEl,\r\n pk: pg.pk?.[tableEl],\r\n }));\r\n })\r\n );\r\n\r\n tableSql[table] = data.reduce((acc, el) => acc.concat(el), []);\r\n return tableSql[table];\r\n}\r\n\r\nexport default getTableSql;\r\n"],"mappings":"AAEA,SAAS,EAAS,EAAY,CAO5B,OANe,GACX,YAAY,GACZ,QAAQ,WAAY,GAAG,GACvB,MAAM,QAAQ,GACd,OAAQ,GAAY,0BAA0B,KAAK,CAAE,CAAC,GACtD,IAAK,GAAY,EAAG,MAAM,MAAM,EAAE,EAAE,CAE1C,CAOA,MAAM,EAAgC,CAAC,EAEvC,eAAe,EACb,CACE,OACA,QACA,UAMF,CAAE,MACF,CACA,GAAI,CAAC,EACH,MAAU,MAAM,UAAU,EAG5B,GAAI,EAAS,GACX,OAAO,EAAS,GAGlB,IAAM,EAAY,EAAO,IAAK,GAAY,EAAG,IAAI,EAE3C,EAAY,GAAM,KACpB,IAAK,GAAY,EAAS,EAAG,GAAG,CAAC,EAClC,QAAQ,EAAU,IAAY,EAAI,OAAO,CAAE,EAAG,CAAC,CAAC,EAChD,OAAQ,GAAY,EAAU,SAAS,EAAG,KAAK,EAAG,CAAC,EAqBtD,OAnBK,GAkBL,EAAS,IAAS,MAbC,QAAQ,IACzB,GAAW,IAAI,KAAO,KAIb,MAHgB,EACpB,MAAM,iBAAiB,EAAQ,SAAS,EACxC,KAAM,GAAW,EAAE,QAAU,CAAC,CAAC,GAClB,IAAK,IAAa,CAChC,KAAM,EAAG,KACT,MAAO,EACP,GAAI,EAAG,KAAK,EACd,EAAE,CACH,CACH,GAEuB,QAAQ,EAAK,IAAO,EAAI,OAAO,CAAE,EAAG,CAAC,CAAC,EACtD,EAAS,KAlBd,EAAS,GAAS,CAAC,EACZ,CAAC,EAkBZ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CoreContext } from "../../../core.js";
|
|
2
|
+
//#region src/plugins/table/funcs/getSelect.d.ts
|
|
3
|
+
declare function getSelect({ name, nocache }: {
|
|
4
|
+
name: string;
|
|
5
|
+
nocache?: boolean;
|
|
6
|
+
}, { pg }: CoreContext): Promise<any>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { getSelect };
|
|
9
|
+
//# sourceMappingURL=getSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSelect.d.ts","names":[],"sources":["../../../../src/plugins/table/funcs/getSelect.ts"],"mappings":";;iBAY8B,YAC1B,MAAM;EAAqB;EAAc;KACzC,MAAM,cAAW"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import e from"../../../modules/templates/services/getTemplate.js";const t={},n={sql:`select data from admin.user_cls where name=$1 union all select data from admin.cls where name=$1`,json:`select json_agg(json_build_object('id', code, 'text', name, 'icon', icon, 'color', color)) as data from admin.user_cls where parent=$1
|
|
2
|
+
union all select json_agg(json_build_object('id', code, 'text', name, 'icon', icon, 'color', color)) as data from admin.cls where parent=$1`};async function r({name:r,nocache:i=!1},{pg:a}){if(t[r]&&process.env.local!==`true`&&!i)return t[r];let o=await e([`cls`,`select`],r),{type:s}=a.pk?.[`admin.user_cls`]?await a.query(`select type from admin.user_cls where parent is null and name=$1 and type<>'sql' union all select type from admin.cls where parent is null and name=$1 and type<>'sql' limit 1`,[r]).then(e=>e.rows?.[0]||{}):{},c=(n[s||``]?await a.query(n[s||``],[r]).then(e=>e.rows?.find(e=>e?.data)?.data):void 0)??o;return s===`json`&&!c?{arr:[]}:c?c&&Array.isArray(c)?(t[r]={arr:c},t[r]):(t[r]=c.sql?c:{sql:c},t[r]):null}export{r as default};
|
|
3
|
+
//# sourceMappingURL=getSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSelect.js","names":[],"sources":["../../../../src/plugins/table/funcs/getSelect.ts"],"sourcesContent":["import pgClients from \"../../pg/pgClients.js\";\r\nimport getTemplate from \"../../../modules/templates/services/getTemplate.js\";\r\nimport { CoreContext } from \"../../../core.js\";\r\n\r\nconst loadCls: Record<string, any> = {};\r\n\r\nconst sqls = {\r\n sql: \"select data from admin.user_cls where name=$1 union all select data from admin.cls where name=$1\",\r\n json: `select json_agg(json_build_object('id', code, 'text', name, 'icon', icon, 'color', color)) as data from admin.user_cls where parent=$1\r\n union all select json_agg(json_build_object('id', code, 'text', name, 'icon', icon, 'color', color)) as data from admin.cls where parent=$1`,\r\n} as Record<string, string>;\r\n\r\nexport default async function getSelect(\r\n { name, nocache = false }: { name: string; nocache?: boolean },\r\n { pg }: CoreContext\r\n) {\r\n if (loadCls[name] && process.env.local !== \"true\" && !nocache) {\r\n return loadCls[name];\r\n }\r\n\r\n const clsDataGIT = await getTemplate([\"cls\", \"select\"], name);\r\n const { type }: any = pg.pk?.[\"admin.user_cls\"]\r\n ? await pg\r\n .query(\r\n \"select type from admin.user_cls where parent is null and name=$1 and type<>'sql' union all select type from admin.cls where parent is null and name=$1 and type<>'sql' limit 1\",\r\n [name]\r\n )\r\n .then((r: any) => r.rows?.[0] || {})\r\n : {};\r\n\r\n const clsDataDB = sqls[type || \"\"]\r\n ? await pg\r\n .query(sqls[type || \"\"], [name])\r\n .then((el: any) => el.rows?.find((item: any) => item?.data)?.data)\r\n : undefined;\r\n const clsData = clsDataDB ?? clsDataGIT;\r\n if (type === \"json\" && !clsData) {\r\n return { arr: [] }; // return 200 after creation of empty user cls\r\n }\r\n if (!clsData) return null;\r\n\r\n // console.log(clsData);\r\n if (clsData && Array.isArray(clsData)) {\r\n loadCls[name] = { arr: clsData };\r\n return loadCls[name];\r\n }\r\n\r\n loadCls[name] = clsData.sql ? clsData : { sql: clsData };\r\n return loadCls[name];\r\n}\r\n"],"mappings":"kEAIA,MAAM,EAA+B,CAAC,EAEhC,EAAO,CACX,IAAK,mGACL,KAAM;8IAER,EAEA,eAA8B,EAC5B,CAAE,OAAM,UAAU,IAClB,CAAE,MACF,CACA,GAAI,EAAQ,IAAS,QAAQ,IAAI,QAAU,QAAU,CAAC,EACpD,OAAO,EAAQ,GAGjB,IAAM,EAAa,MAAM,EAAY,CAAC,MAAO,QAAQ,EAAG,CAAI,EACtD,CAAE,QAAc,EAAG,KAAK,kBAC1B,MAAM,EACH,MACC,iLACA,CAAC,CAAI,CACP,EACC,KAAM,GAAW,EAAE,OAAO,IAAM,CAAC,CAAC,EACrC,CAAC,EAOC,GALY,EAAK,GAAQ,IAC3B,MAAM,EACH,MAAM,EAAK,GAAQ,IAAK,CAAC,CAAI,CAAC,EAC9B,KAAM,GAAY,EAAG,MAAM,KAAM,GAAc,GAAM,IAAI,GAAG,IAAI,EACnE,IAAA,KACyB,EAa7B,OAZI,IAAS,QAAU,CAAC,EACf,CAAE,IAAK,CAAC,CAAE,EAEd,EAGD,GAAW,MAAM,QAAQ,CAAO,GAClC,EAAQ,GAAQ,CAAE,IAAK,CAAQ,EACxB,EAAQ,KAGjB,EAAQ,GAAQ,EAAQ,IAAM,EAAU,CAAE,IAAK,CAAQ,EAChD,EAAQ,IATM,IAUvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CoreContext } from "../../../core.js";
|
|
2
|
+
//#region src/plugins/table/funcs/getSelectMeta.d.ts
|
|
3
|
+
declare function getSelectMeta({ name, startsWith, key, nocache, parent }: {
|
|
4
|
+
name: string;
|
|
5
|
+
startsWith?: boolean;
|
|
6
|
+
key?: string;
|
|
7
|
+
nocache?: any;
|
|
8
|
+
parent?: string;
|
|
9
|
+
}, { pg, logger }: CoreContext): Promise<any>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { getSelectMeta };
|
|
12
|
+
//# sourceMappingURL=getSelectMeta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSelectMeta.d.ts","names":[],"sources":["../../../../src/plugins/table/funcs/getSelectMeta.ts"],"mappings":";;iBAW8B,gBAE1B,MACA,YACA,KACA,SACA;EAEA;EACA;EACA;EACA;EACA;KAEA,IAAI,UAAU,cAAW"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"./getSelect.js";import t from"../../pg/funcs/createPgAsync.js";import n from"../../pg/funcs/autoIndex.js";const r={};async function i({name:i,startsWith:a,key:o,nocache:s,parent:c},{pg:l,logger:u}){if(r[i]&&!a&&!s)return r[i];if(r[i]&&a&&o&&!s){let e=`(${r[i].searchColumn.split(`,`).map(e=>`left(lower("${e}"),${o.length}) = $1`).join(` or `)})`;return{...r[i],searchQuery:e}}let d=await e({name:i,nocache:s},{pg:l}),f=d?.db?await t({database:d.db,port:d?.port}):l;if(!d)return null;if(d.arr)return d;if(!d.sql)return null;let{sql:p}=d;if(!p.toLowerCase)return console.log(`sql select null: ${i}`),null;let m=[50,p.includes(`{{parent}}`)?c:void 0].filter(e=>e!==void 0),h=m.length===2?p.replace(`'{{parent}}'`,`$1`):p,g=`with c(id,text) as (select * from (${h})q limit $${m.length>1?2:1}) select * from c`,_=p.toLowerCase().replace(/\n/g,` `).split(` from `).filter(e=>/^[a-z0-9_]+\.[a-z0-9_]+/.test(e)).map(e=>e.split(/[ )]/)[0].replace(/[\r\n]+/g,``)),v=await f.query(g.replace(`limit $2`,`limit 0`).replace(`limit $1`,`limit 0`),[c].filter(e=>e!==void 0)),y=await f.query(`${h} limit 0`,[c].filter(e=>e!==void 0)),b=d?.count??await f.query(`select count(*) from (${h})q`,[c].filter(e=>e!==void 0)).then(e=>e?.rows?.[0].count),x=v.fields.map(e=>e.name),S=y.fields.map(e=>e.name),C=v.fields.map(e=>f.pgType?.[e.dataTypeID]||`text`);n({table:_[0],columns:[S[1]].concat(d?.searchColumn?.split(`,`)),gin:!0}).catch(e=>u.error(e));let w=d?.searchColumn||(v.fields.find(e=>e.name===`search`)?`search`:y.fields[1].name),T=`(${w.split(`,`).map(e=>`lower("${e}") ~ $1 `).join(` or `)})`,E={searchColumn:w,minLength:d.minLength,limit:d.limit,type:C.join(`,`),cols:x.join(`,`),originalCols:S.join(`,`),pk:S[0],db:d.db,original:`select * from (${p})q`,sql:g,count:b,searchQuery:T,table:_.join(`,`),time:new Date().toISOString()};if(r[i]=E,a&&o?.length){let e=`(${r[i].searchColumn.split(`,`).map(e=>`left(lower("${e}"),${o.length}) = $1`).join(` or `)})`;return{...E,searchQuery:e}}return E}export{i as default};
|
|
2
|
+
//# sourceMappingURL=getSelectMeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSelectMeta.js","names":[],"sources":["../../../../src/plugins/table/funcs/getSelectMeta.ts"],"sourcesContent":["/* eslint-disable no-console */\r\nimport { CoreContext } from \"../../../core.js\";\r\n\r\nimport autoIndex from \"../../pg/funcs/autoIndex.js\";\r\nimport createPgAsync from \"../../pg/funcs/createPgAsync.js\";\r\n\r\nimport getSelect from \"./getSelect.js\";\r\n\r\nconst limit = 50;\r\nconst selectMeta: Record<string, any> = {};\r\n\r\nexport default async function getSelectMeta(\r\n {\r\n name,\r\n startsWith,\r\n key,\r\n nocache,\r\n parent,\r\n }: {\r\n name: string;\r\n startsWith?: boolean;\r\n key?: string;\r\n nocache?: any;\r\n parent?: string;\r\n },\r\n { pg, logger }: CoreContext\r\n) {\r\n if (selectMeta[name] && !startsWith && !nocache) {\r\n return selectMeta[name];\r\n }\r\n\r\n if (selectMeta[name] && startsWith && key && !nocache) {\r\n const searchQuery = `(${selectMeta[name].searchColumn\r\n .split(\",\")\r\n .map((el: any) => `left(lower(\"${el}\"),${key.length}) = $1`)\r\n .join(\" or \")})`;\r\n return { ...selectMeta[name], searchQuery };\r\n }\r\n\r\n const cls = await getSelect(\r\n {\r\n name,\r\n nocache,\r\n },\r\n { pg }\r\n );\r\n\r\n const pg1 = cls?.db\r\n ? await createPgAsync({ database: cls.db, port: cls?.port })\r\n : pg;\r\n\r\n if (!cls) return null;\r\n if (cls.arr) return cls;\r\n if (!cls.sql) return null;\r\n\r\n const { sql: original } = cls;\r\n if (!original.toLowerCase) {\r\n console.log(`sql select null: ${name}`);\r\n return null;\r\n }\r\n\r\n const args = [\r\n limit,\r\n original.includes(\"{{parent}}\") ? parent : undefined,\r\n ].filter((el) => el !== undefined);\r\n const original1 =\r\n args.length === 2 ? original.replace(\"'{{parent}}'\", \"$1\") : original;\r\n const sql = `with c(id,text) as (select * from (${original1})q limit $${\r\n args.length > 1 ? 2 : 1\r\n }) select * from c`;\r\n\r\n /*= == meta table === */\r\n const tableNew = original\r\n .toLowerCase()\r\n .replace(/\\n/g, \" \")\r\n .split(\" from \")\r\n .filter((el: any) => /^[a-z0-9_]+\\.[a-z0-9_]+/.test(el))\r\n .map((el: any) => el.split(/[ )]/)[0].replace(/[\\r\\n]+/g, \"\"));\r\n\r\n const dataOrigin = await pg1.query(\r\n sql.replace(\"limit $2\", \"limit 0\").replace(\"limit $1\", \"limit 0\"),\r\n [parent].filter((el) => el !== undefined)\r\n );\r\n\r\n const dataOrigin1 = await pg1.query(\r\n `${original1} limit 0`,\r\n [parent].filter((el) => el !== undefined)\r\n );\r\n\r\n // const table = getTable(original);\r\n const count =\r\n cls?.count ??\r\n (await pg1\r\n .query(\r\n `select count(*) from (${original1})q`,\r\n [parent].filter((el) => el !== undefined)\r\n )\r\n .then((r: any) => r?.rows?.[0].count));\r\n\r\n // column name\r\n const cols = dataOrigin.fields.map((el: any) => el.name);\r\n const originalCols = dataOrigin1.fields.map((el: any) => el.name);\r\n const type = dataOrigin.fields.map(\r\n (el: any) => pg1.pgType?.[el.dataTypeID] || \"text\"\r\n );\r\n\r\n autoIndex({\r\n table: tableNew[0],\r\n columns: [originalCols[1]].concat(cls?.searchColumn?.split(\",\")),\r\n gin: true,\r\n }).catch((err: any) => logger.error(err));\r\n\r\n const searchColumn =\r\n cls?.searchColumn ||\r\n (dataOrigin.fields.find((el: any) => el.name === \"search\")\r\n ? \"search\"\r\n : dataOrigin1.fields[1].name);\r\n\r\n // by default - search by like %value%\r\n const searchQuery = `(${searchColumn\r\n .split(\",\")\r\n .map((el: any) => `lower(\"${el}\") ~ $1 `)\r\n .join(\" or \")})`;\r\n\r\n const data = {\r\n searchColumn,\r\n minLength: cls.minLength,\r\n limit: cls.limit,\r\n type: type.join(\",\"),\r\n cols: cols.join(\",\"),\r\n originalCols: originalCols.join(\",\"),\r\n pk: originalCols[0],\r\n db: cls.db,\r\n original: `select * from (${original})q`,\r\n sql,\r\n count,\r\n searchQuery,\r\n table: tableNew.join(\",\"),\r\n time: new Date().toISOString(),\r\n };\r\n\r\n selectMeta[name] = data;\r\n\r\n // on demand - search by \"start with these characters\"\r\n if (startsWith && key?.length) {\r\n const searchQuery = `(${selectMeta[name].searchColumn\r\n .split(\",\")\r\n .map((el: any) => `left(lower(\"${el}\"),${key.length}) = $1`)\r\n .join(\" or \")})`;\r\n return { ...data, searchQuery };\r\n }\r\n\r\n return data;\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"../../../modules/templates/services/getTemplate.js";import t from"./getSelect.js";import n from"../../pg/funcs/getMeta.js";import r from"../../../modules/data/services/resource/getFilter.js";import"../../../utils/index.js";async function i({table:i,template:a,column:o,filtered:s,startsWith:c,key:l},u){if(!i||!o)return null;let{pg:d}=u,{dataTypeID:f}=(await n({table:i},u).then(e=>e?.columns||[])||[]).find(e=>e?.name===o)||{},{table:p,sql:m}=a?await e(`table`,a):{table:i},{data:h}=((a?await r({table:a},u).then(e=>e.list):null)||[]).find(e=>e.name===o)||{},{arr:g,sql:_}=await t({name:h||o},u)||await t({name:o},u)||{},v=(m||[]).filter(e=>!e.disabled&&e.sql&&e.sql.includes(o)&&!1).map((e,t)=>` left join lateral (${e.sql}) ${e.name||`t${t}`} on 1=1 `)?.join(``)||``;g?.length&&!g.find(e=>e.id===`null`)&&g.push({color:`#B8B8B8`,icon:null,id:`null`,text:`Показати порожні значення`});let y=c&&l?`(left(lower("text"::text),${l.length}) = $1 )`:`(lower("text"::text) ~ $1 )`,b=c&&l?`id in ( with cc(id, text) as (${_}) select id from cc where (left(lower("text"),${l.length})=$1) )`:`id in ( with cc(id, text) as (${_}) select id from cc where (lower("text") ~ $1) )`;return d.pgType?.[f]?.includes(`[]`)?{arr:g,original:s?`with c(id,text) as (select id, id as text from (select unnest("${o.replace(/"/g,``)}") as id from ${p} t ${v})q group by id) select id, text from c`:`with c(id,text) as (select id, id as text, count(*) from (select unnest("${o.replace(/"/g,``)}") as id from ${p} t ${v})q group by id limit 50) select * from c`,searchQuery:_?b:y,pk:`id`}:{arr:g,original:s?`with c(id,text) as (select "${o.replace(/"/g,``)}" as id, "${o.replace(/"/g,``)}" as text from ${p} t ${v} group by "${o.replace(/"/g,``)}") select id, text from c`:`with c(id,text) as (select "${o.replace(/"/g,``)}" as id, "${o.replace(/"/g,``)}" as text, count(*) from ${p} t ${v} group by "${o.replace(/"/g,``)}" limit 50) select * from c`,searchQuery:_?b:y,pk:`id`}}export{i as default};
|
|
2
|
+
//# sourceMappingURL=getTableColumnMeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTableColumnMeta.js","names":["getFilter"],"sources":["../../../../src/plugins/table/funcs/getTableColumnMeta.ts"],"sourcesContent":["import {\r\n getTemplate,\r\n getMeta,\r\n getSelect,\r\n getFilter,\r\n} from \"../../../utils/index.js\";\r\n\r\nimport { CoreContext } from \"../../../core.js\";\r\n\r\nconst defaultLimit = 50;\r\n\r\nexport default async function getTableColumnMeta(\r\n {\r\n table,\r\n template,\r\n column: queryColumn,\r\n filtered,\r\n startsWith,\r\n key,\r\n }: {\r\n table: string;\r\n template?: string;\r\n column: string;\r\n token?: string;\r\n filtered?: any;\r\n startsWith?: boolean;\r\n key?: string;\r\n },\r\n ctx: CoreContext\r\n) {\r\n if (!table || !queryColumn) {\r\n return null;\r\n }\r\n\r\n const { pg } = ctx;\r\n\r\n const metaColumns = await getMeta(\r\n {\r\n table,\r\n },\r\n ctx\r\n ).then((r) => r?.columns || []);\r\n\r\n const { dataTypeID } =\r\n (metaColumns || []).find((col: any) => col?.name === queryColumn) || {};\r\n\r\n const { table: tableName, sql } = template\r\n ? await getTemplate(\"table\", template)\r\n : { table };\r\n\r\n const filters = template\r\n ? await getFilter({ table: template }, ctx).then((el) => el.list)\r\n : null;\r\n\r\n const { data: clsName } =\r\n (filters || []).find((el: any) => el.name === queryColumn) || {};\r\n const { arr, sql: select } =\r\n (await getSelect({ name: clsName || queryColumn }, ctx)) || // cls name === table:column\r\n (await getSelect({ name: queryColumn }, ctx)) || // cls name === column name\r\n {};\r\n\r\n const sqlTable =\r\n (sql || [])\r\n .filter(\r\n (el: any) =>\r\n !el.disabled && el.sql && el.sql.includes(queryColumn) && false\r\n )\r\n .map(\r\n (el: any, i: number) =>\r\n ` left join lateral (${el.sql}) ${el.name || `t${i}`} on 1=1 `\r\n )\r\n ?.join(\"\") || \"\";\r\n\r\n if (arr?.length && !arr.find((el: any) => el.id === \"null\")) {\r\n arr.push({\r\n color: \"#B8B8B8\",\r\n icon: null,\r\n id: \"null\",\r\n text: \"Показати порожні значення\",\r\n });\r\n }\r\n\r\n // w/out select\r\n const searchQueryDefault =\r\n startsWith && key\r\n ? `(left(lower(\"text\"::text),${key.length}) = $1 )`\r\n : '(lower(\"text\"::text) ~ $1 )';\r\n\r\n // w/ select\r\n const searchQuerySelect =\r\n startsWith && key\r\n ? `id in ( with cc(id, text) as (${select}) select id from cc where (left(lower(\"text\"),${key.length})=$1) )`\r\n : `id in ( with cc(id, text) as (${select}) select id from cc where (lower(\"text\") ~ $1) )`;\r\n\r\n if (pg.pgType?.[dataTypeID]?.includes(\"[]\")) {\r\n const original = filtered\r\n ? `with c(id,text) as (select id, id as text from (select unnest(\"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\") as id from ${tableName} t ${sqlTable})q group by id) select id, text from c`\r\n : `with c(id,text) as (select id, id as text, count(*) from (select unnest(\"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\") as id from ${tableName} t ${sqlTable})q group by id limit ${defaultLimit}) select * from c`;\r\n\r\n return {\r\n arr,\r\n original,\r\n searchQuery: select ? searchQuerySelect : searchQueryDefault,\r\n pk: \"id\",\r\n };\r\n }\r\n\r\n const original = filtered\r\n ? `with c(id,text) as (select \"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\" as id, \"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\" as text from ${tableName} t ${sqlTable} group by \"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\") select id, text from c`\r\n : `with c(id,text) as (select \"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\" as id, \"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\" as text, count(*) from ${tableName} t ${sqlTable} group by \"${queryColumn.replace(\r\n /\"/g,\r\n \"\"\r\n )}\" limit ${defaultLimit}) select * from c`;\r\n\r\n return {\r\n arr,\r\n original,\r\n searchQuery: select ? searchQuerySelect : searchQueryDefault,\r\n pk: \"id\",\r\n };\r\n}\r\n"],"mappings":"6OAWA,eAA8B,EAC5B,CACE,QACA,WACA,OAAQ,EACR,WACA,aACA,OAUF,EACA,CACA,GAAI,CAAC,GAAS,CAAC,EACb,OAAO,KAGT,GAAM,CAAE,MAAO,EAST,CAAE,eACL,MARuB,EACxB,CACE,OACF,EACA,CACF,EAAE,KAAM,GAAM,GAAG,SAAW,CAAC,CAAC,GAGZ,CAAC,GAAG,KAAM,GAAa,GAAK,OAAS,CAAW,GAAK,CAAC,EAElE,CAAE,MAAO,EAAW,OAAQ,EAC9B,MAAM,EAAY,QAAS,CAAQ,EACnC,CAAE,OAAM,EAMN,CAAE,KAAM,KAJE,EACZ,MAAMA,EAAU,CAAE,MAAO,CAAS,EAAG,CAAG,EAAE,KAAM,GAAO,EAAG,IAAI,EAC9D,OAGU,CAAC,GAAG,KAAM,GAAY,EAAG,OAAS,CAAW,GAAK,CAAC,EAC3D,CAAE,MAAK,IAAK,GACf,MAAM,EAAU,CAAE,KAAM,GAAW,CAAY,EAAG,CAAG,GACrD,MAAM,EAAU,CAAE,KAAM,CAAY,EAAG,CAAG,GAC3C,CAAC,EAEG,GACH,GAAO,CAAC,GACN,OACE,GACC,CAAC,EAAG,UAAY,EAAG,KAAO,EAAG,IAAI,SAAS,CAAW,GAAK,EAC9D,EACC,KACE,EAAS,IACR,uBAAuB,EAAG,IAAI,IAAI,EAAG,MAAQ,IAAI,IAAI,SACzD,GACE,KAAK,EAAE,GAAK,GAEd,GAAK,QAAU,CAAC,EAAI,KAAM,GAAY,EAAG,KAAO,MAAM,GACxD,EAAI,KAAK,CACP,MAAO,UACP,KAAM,KACN,GAAI,OACJ,KAAM,2BACR,CAAC,EAIH,IAAM,EACJ,GAAc,EACV,6BAA6B,EAAI,OAAO,UACxC,8BAGA,EACJ,GAAc,EACV,iCAAiC,EAAO,gDAAgD,EAAI,OAAO,SACnG,iCAAiC,EAAO,kDA2C9C,OAzCI,EAAG,SAAS,IAAa,SAAS,IAAI,EAWjC,CACL,MACA,SAZe,EACb,kEAAkE,EAAY,QAC5E,KACA,EACF,EAAE,gBAAgB,EAAU,KAAK,EAAS,wCAC1C,4EAA4E,EAAY,QACtF,KACA,EACF,EAAE,gBAAgB,EAAU,KAAK,EAAS,0CAK5C,YAAa,EAAS,EAAoB,EAC1C,GAAI,IACN,EAyBK,CACL,MACA,SAxBe,EACb,+BAA+B,EAAY,QACzC,KACA,EACF,EAAE,YAAY,EAAY,QACxB,KACA,EACF,EAAE,iBAAiB,EAAU,KAAK,EAAS,aAAa,EAAY,QAClE,KACA,EACF,EAAE,2BACF,+BAA+B,EAAY,QACzC,KACA,EACF,EAAE,aAAa,EAAY,QACzB,KACA,EACF,EAAE,2BAA2B,EAAU,KAAK,EAAS,aAAa,EAAY,QAC5E,KACA,EACF,EAAE,6BAKJ,YAAa,EAAS,EAAoB,EAC1C,GAAI,IACN,CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CoreContext } from "../../../core.js";
|
|
2
|
+
//#region src/plugins/table/funcs/gisIRColumn.d.ts
|
|
3
|
+
declare function gisIRColumn({ layer, column, sql, cls: queryCls, filter, state, search, custom }: {
|
|
4
|
+
layer?: string;
|
|
5
|
+
column?: string;
|
|
6
|
+
sql?: any;
|
|
7
|
+
cls?: string;
|
|
8
|
+
filter?: string;
|
|
9
|
+
state?: string;
|
|
10
|
+
search?: string;
|
|
11
|
+
custom?: string;
|
|
12
|
+
}, { pg, logger, config, redis }: CoreContext): Promise<string | {
|
|
13
|
+
count: any;
|
|
14
|
+
sql: string | undefined;
|
|
15
|
+
rows: any;
|
|
16
|
+
time?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
time: number;
|
|
19
|
+
count: any;
|
|
20
|
+
sql: string | undefined;
|
|
21
|
+
rows: any;
|
|
22
|
+
}>;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { gisIRColumn };
|
|
25
|
+
//# sourceMappingURL=gisIRColumn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gisIRColumn.d.ts","names":[],"sources":["../../../../src/plugins/table/funcs/gisIRColumn.ts"],"mappings":";;iBAQ8B,cAE1B,OACA,QACA,KACA,KAAK,UACL,QACA,OACA,QACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;KAEA,IAAI,QAAQ,QAAQ,SAAS,cAAW"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{BadRequestError as e}from"../../../errors.js";import t from"../../../modules/templates/services/getTemplate.js";import n from"./getSelect.js";import r from"../../crud/funcs/metaFormat/getSelectVal.js";import i from"./getFilterSQL/index.js";async function a({layer:a,column:o,sql:s,cls:c,filter:l,state:u,search:d,custom:f},{pg:p,logger:m,config:h,redis:g}){let _=Date.now(),v=c||o?await n({name:c||o},{pg:p}):void 0,y=await t(`table`,a),b=await i({table:a,filter:l,state:u,search:d,custom:f},{pg:p,logger:m,config:h}),x=await p.query(`select array_agg((select nspname from pg_namespace where oid=relnamespace)||'.'||relname) from pg_class
|
|
2
|
+
where relkind in ('r','v','m')`).then(e=>e.rows?.[0]?.array_agg||[]),S=y?.table||a;if(!x.includes(S))throw e(`table not found: ${S}`);let C=(await p.query(`select * from (${b?.optimizedSQL||`select * from ${S}`})q limit 0`).then(e=>e.fields||[])).find(e=>e.name===o);if(!C)throw e(`column not found: ${o}`);let w=p.pgType?.[C.dataTypeID]?.includes(`[]`)?`unnest(${o})`:o,T=`select ${w} as id, count(*)::int from (
|
|
3
|
+
${b?.optimizedSQL||`select * from ${S} where ${y?.query||`true`}`}
|
|
4
|
+
)t group by ${w} order by count desc limit 15`;if(s&&process.platform===`win32`)return T;if(!y?.columns?.length){let{rows:e}=await p.query(T);return v?.arr?.length&&e.forEach(e=>{let t=v?.find(t=>t.id?.toString()===e.id?.toString());Object.assign(e,t||{})}),{count:e?.reduce((e,t)=>e+t.count,0),sql:h.local?T:void 0,rows:e}}let E=await p.query(T).then(e=>e.rows||[]),D=await r({name:c||y?.columns?.find(e=>e.name===o)?.data,values:E.map(e=>e.id),ar:!0},{pg:p,redis:g});return E.forEach(e=>{Array.isArray(D)?Object.assign(e,D.find(t=>t.id?.toString()===e.id?.toString())||{}):typeof D?.[e.id]==`string`?Object.assign(e,{text:D?.[e.id]}):Object.assign(e,D?.[e.id]||{})}),{time:Date.now()-_,count:E.reduce((e,t)=>e+t.count,0),sql:h.local?T:void 0,rows:E}}export{a as default};
|
|
5
|
+
//# sourceMappingURL=gisIRColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gisIRColumn.js","names":[],"sources":["../../../../src/plugins/table/funcs/gisIRColumn.ts"],"sourcesContent":["import getSelect from \"./getSelect.js\";\r\nimport getFilterSQL from \"./getFilterSQL/index.js\";\r\nimport getTemplate from \"../../../modules/templates/services/getTemplate.js\";\r\nimport getSelectVal from \"../../crud/funcs/metaFormat/getSelectVal.js\";\r\n\r\nimport { BadRequestError } from \"../../../errors.js\";\r\nimport { CoreContext } from \"../../../core.js\";\r\n\r\nexport default async function gisIRColumn(\r\n {\r\n layer,\r\n column,\r\n sql,\r\n cls: queryCls,\r\n filter,\r\n state,\r\n search,\r\n custom,\r\n }: {\r\n layer?: string;\r\n column?: string;\r\n sql?: any;\r\n cls?: string;\r\n filter?: string;\r\n state?: string;\r\n search?: string;\r\n custom?: string;\r\n },\r\n { pg, logger, config, redis }: CoreContext\r\n) {\r\n const time = Date.now();\r\n\r\n const selectName = queryCls || (column as string);\r\n const sel =\r\n !!queryCls || !!column\r\n ? await getSelect({ name: selectName }, { pg })\r\n : undefined;\r\n\r\n const body = await getTemplate(\"table\", layer);\r\n const fData = await getFilterSQL(\r\n {\r\n table: layer,\r\n filter,\r\n state,\r\n search,\r\n custom,\r\n },\r\n { pg, logger, config }\r\n );\r\n\r\n const tlist = await pg\r\n .query(\r\n `select array_agg((select nspname from pg_namespace where oid=relnamespace)||'.'||relname) from pg_class \r\n where relkind in ('r','v','m')`\r\n )\r\n .then((r: any) => r.rows?.[0]?.array_agg || []);\r\n\r\n const tableName = body?.table || layer;\r\n if (!tlist.includes(tableName))\r\n throw BadRequestError(`table not found: ${tableName}`);\r\n\r\n // eslint-disable-next-line max-len\r\n const fields = await pg\r\n .query(\r\n `select * from (${\r\n fData?.optimizedSQL || `select * from ${tableName}`\r\n })q limit 0`\r\n )\r\n .then((r: any) => r.fields || []);\r\n\r\n const col = fields.find((el: any) => el.name === column);\r\n\r\n if (!col) {\r\n throw BadRequestError(`column not found: ${column}`);\r\n }\r\n\r\n const colField = pg.pgType?.[col.dataTypeID]?.includes(\"[]\")\r\n ? `unnest(${column})`\r\n : column;\r\n\r\n const q = `select ${colField} as id, count(*)::int from (\r\n ${\r\n fData?.optimizedSQL ||\r\n `select * from ${tableName} where ${body?.query || \"true\"}`\r\n }\r\n )t group by ${colField} order by count desc limit 15`;\r\n\r\n if (sql && process.platform === \"win32\") {\r\n return q;\r\n }\r\n\r\n if (!body?.columns?.length) {\r\n const { rows } = await pg.query(q);\r\n if (sel?.arr?.length) {\r\n rows.forEach((el: any) => {\r\n const data = sel?.find(\r\n (item: any) => item.id?.toString() === el.id?.toString()\r\n );\r\n Object.assign(el, data || {});\r\n });\r\n }\r\n return {\r\n count: rows?.reduce((acc: any, el: any) => acc + el.count, 0),\r\n sql: config.local ? q : undefined,\r\n rows,\r\n };\r\n }\r\n\r\n const rows = await pg.query(q).then((r: any) => r.rows || []);\r\n const cls =\r\n queryCls || body?.columns?.find((el: any) => el.name === column)?.data;\r\n // || col.data\r\n // || col.option;\r\n\r\n const select = await getSelectVal(\r\n {\r\n name: cls,\r\n values: rows.map((el: any) => el.id),\r\n ar: true,\r\n },\r\n { pg, redis }\r\n );\r\n\r\n rows.forEach((el: any) => {\r\n if (Array.isArray(select)) {\r\n Object.assign(\r\n el,\r\n select.find((item) => item.id?.toString() === el.id?.toString()) || {}\r\n );\r\n } else if (typeof select?.[el.id] === \"string\") {\r\n Object.assign(el, { text: select?.[el.id] });\r\n } else {\r\n Object.assign(el, select?.[el.id] || {});\r\n }\r\n });\r\n\r\n return {\r\n time: Date.now() - time,\r\n count: rows.reduce((acc: any, el: any) => acc + el.count, 0),\r\n sql: config.local ? q : undefined,\r\n rows,\r\n };\r\n}\r\n"],"mappings":"uPAQA,eAA8B,EAC5B,CACE,QACA,SACA,MACA,IAAK,EACL,SACA,QACA,SACA,UAWF,CAAE,KAAI,SAAQ,SAAQ,SACtB,CACA,IAAM,EAAO,KAAK,IAAI,EAGhB,EACF,GAAc,EACZ,MAAM,EAAU,CAAE,KAHL,GAAa,CAGS,EAAG,CAAE,IAAG,CAAC,EAC5C,IAAA,GAEA,EAAO,MAAM,EAAY,QAAS,CAAK,EACvC,EAAQ,MAAM,EAClB,CACE,MAAO,EACP,SACA,QACA,SACA,QACF,EACA,CAAE,KAAI,SAAQ,QAAO,CACvB,EAEM,EAAQ,MAAM,EACjB,MACC;iCAEF,EACC,KAAM,GAAW,EAAE,OAAO,IAAI,WAAa,CAAC,CAAC,EAE1C,EAAY,GAAM,OAAS,EACjC,GAAI,CAAC,EAAM,SAAS,CAAS,EAC3B,MAAM,EAAgB,oBAAoB,GAAW,EAWvD,IAAM,GAAM,MARS,EAClB,MACC,kBACE,GAAO,cAAgB,iBAAiB,IACzC,WACH,EACC,KAAM,GAAW,EAAE,QAAU,CAAC,CAAC,GAEf,KAAM,GAAY,EAAG,OAAS,CAAM,EAEvD,GAAI,CAAC,EACH,MAAM,EAAgB,qBAAqB,GAAQ,EAGrD,IAAM,EAAW,EAAG,SAAS,EAAI,aAAa,SAAS,IAAI,EACvD,UAAU,EAAO,GACjB,EAEE,EAAI,UAAU,EAAS;MAEzB,GAAO,cACP,iBAAiB,EAAU,SAAS,GAAM,OAAS,SACpD;gBACW,EAAS,+BAEvB,GAAI,GAAO,QAAQ,WAAa,QAC9B,OAAO,EAGT,GAAI,CAAC,GAAM,SAAS,OAAQ,CAC1B,GAAM,CAAE,QAAS,MAAM,EAAG,MAAM,CAAC,EASjC,OARI,GAAK,KAAK,QACZ,EAAK,QAAS,GAAY,CACxB,IAAM,EAAO,GAAK,KACf,GAAc,EAAK,IAAI,SAAS,IAAM,EAAG,IAAI,SAAS,CACzD,EACA,OAAO,OAAO,EAAI,GAAQ,CAAC,CAAC,CAC9B,CAAC,EAEI,CACL,MAAO,GAAM,QAAQ,EAAU,IAAY,EAAM,EAAG,MAAO,CAAC,EAC5D,IAAK,EAAO,MAAQ,EAAI,IAAA,GACxB,MACF,CACF,CAEA,IAAM,EAAO,MAAM,EAAG,MAAM,CAAC,EAAE,KAAM,GAAW,EAAE,MAAQ,CAAC,CAAC,EAMtD,EAAS,MAAM,EACnB,CACE,KANF,GAAY,GAAM,SAAS,KAAM,GAAY,EAAG,OAAS,CAAM,GAAG,KAOhE,OAAQ,EAAK,IAAK,GAAY,EAAG,EAAE,EACnC,GAAI,EACN,EACA,CAAE,KAAI,OAAM,CACd,EAeA,OAbA,EAAK,QAAS,GAAY,CACpB,MAAM,QAAQ,CAAM,EACtB,OAAO,OACL,EACA,EAAO,KAAM,GAAS,EAAK,IAAI,SAAS,IAAM,EAAG,IAAI,SAAS,CAAC,GAAK,CAAC,CACvE,EACS,OAAO,IAAS,EAAG,KAAQ,SACpC,OAAO,OAAO,EAAI,CAAE,KAAM,IAAS,EAAG,GAAI,CAAC,EAE3C,OAAO,OAAO,EAAI,IAAS,EAAG,KAAO,CAAC,CAAC,CAE3C,CAAC,EAEM,CACL,KAAM,KAAK,IAAI,EAAI,EACnB,MAAO,EAAK,QAAQ,EAAU,IAAY,EAAM,EAAG,MAAO,CAAC,EAC3D,IAAK,EAAO,MAAQ,EAAI,IAAA,GACxB,MACF,CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "fastify";
|
|
2
|
+
//#region src/plugins/upload/index.d.ts
|
|
3
|
+
declare const prefix = "file/upload2";
|
|
4
|
+
declare const uploadChunkDirectory = "/files/uploads";
|
|
5
|
+
declare const fileDir: string;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { fileDir, prefix, uploadChunkDirectory };
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/plugins/upload/index.ts"],"mappings":";;cAea;cAEA;cAEA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"../../config.js";import t from"../crud/funcs/utils/getFolder.js";import{cleanupNonRedisUploads as n}from"./s3.js";import r from"node:path";e.chunkSize=+(e.chunkSize||5242880);const i=t(e,`local`);+(e.fetchTimeoutMs||(process.platform===`win32`?5e4:5e3));const a=`file/upload2`,o=`/files/uploads`,s=r.join(i,o).replace(/\\/g,`/`);r.join(s,`tmp`);function c(e){e.addHook(`onClose`,async()=>{await n()})}export{c as default,s as fileDir,a as prefix,o as uploadChunkDirectory};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/plugins/upload/index.ts"],"sourcesContent":["import { FastifyInstance } from \"fastify\";\r\n\r\nimport path from \"node:path\";\r\n\r\nimport config from \"../../config.js\";\r\nimport getFolder from \"../crud/funcs/utils/getFolder.js\";\r\n\r\nconfig.chunkSize = +(config.chunkSize || 5242880); // 5 MB per chunk by default\r\n\r\nconst rootDir = getFolder(config, \"local\");\r\n\r\nexport const fetchTimeoutMs = +(\r\n config.fetchTimeoutMs || (process.platform === \"win32\" ? 50000 : 5000)\r\n);\r\n\r\nexport const prefix = \"file/upload2\";\r\n\r\nexport const uploadChunkDirectory = \"/files/uploads\";\r\n\r\nexport const fileDir = path\r\n .join(rootDir, uploadChunkDirectory)\r\n .replace(/\\\\/g, \"/\");\r\n\r\nexport const metaDir = path.join(fileDir, \"tmp\");\r\n\r\n// import { close, cleanupMultipartUploads } from \"./s3minio.js\";\r\nimport { cleanupNonRedisUploads } from \"./s3.js\";\r\n// import addCron from \"../cron/funcs/addCron.js\";\r\n\r\n// w/ out redis - chunked uploads are non-resumable in order to avoid unclosed multiparts (non-discoverable via s3 commands with current version of minio)\r\nfunction chunkedUploadPlugin(app: FastifyInstance) {\r\n // addCron(cleanupMultipartUploads, 60 * 5);\r\n\r\n app.addHook(\"onClose\", async () => {\r\n await cleanupNonRedisUploads();\r\n\r\n // await cleanupMultipartUploads().catch((err) =>\r\n // console.error(\"minio upload plugin onClose cleanUp error\", err.toString())\r\n // );\r\n // close();\r\n });\r\n}\r\n\r\nexport default chunkedUploadPlugin;\r\n"],"mappings":"yJAOA,EAAO,UAAY,EAAE,EAAO,WAAa,SAEzC,MAAM,EAAU,EAAU,EAAQ,OAAO,EAEX,EAC5B,EAAO,iBAAmB,QAAQ,WAAa,QAAU,IAAQ,MAGnE,MAAa,EAAS,eAET,EAAuB,iBAEvB,EAAU,EACpB,KAAK,EAAS,CAAoB,EAClC,QAAQ,MAAO,GAAG,EAEE,EAAK,KAAK,EAAS,KAAK,EAO/C,SAAS,EAAoB,EAAsB,CAGjD,EAAI,QAAQ,UAAW,SAAY,CACjC,MAAM,EAAuB,CAM/B,CAAC,CACH"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{GetContext as e}from"../../core.js";import t from"../file/providers/s3/client.js";import"../../errors.js";import"../file/utils/inspectContent.js";import"node:path";import{AbortMultipartUploadCommand as n}from"@aws-sdk/client-s3";const r=new Map,i=new Map,a=new Map;function o(e){let t=a.get(e);t&&(clearTimeout(t),a.delete(e))}async function s(a=t){if(!a)throw Error(`No S3 client`);let{redis:s,logger:c}=e();if(s)return;console.log(`cleanupNonRedisUploads start`);let l=[...r.entries()];for(let[e,t]of l){try{await a.send(new n({Bucket:t.Bucket,Key:t.Key,UploadId:e}))}catch(n){console.error(`AbortMultipartUpload failed`,{uploadId:e,Bucket:t.Bucket,Key:t.Key,error:n?.message}),c.file(`upload/abort/error`,{uploadId:e,Bucket:t.Bucket,Key:t.Key,error:n?.message})}o(e),r.delete(e),i.get(t.Key)===e&&i.delete(t.Key)}console.log(`open unfinished multipart uploads closed`,l.length)}export{s as cleanupNonRedisUploads};
|
|
2
|
+
//# sourceMappingURL=s3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.js","names":[],"sources":["../../../src/plugins/upload/s3.ts"],"sourcesContent":["import path from \"node:path\";\r\n\r\nimport {\r\n CreateMultipartUploadCommand,\r\n UploadPartCommand,\r\n CompleteMultipartUploadCommand,\r\n HeadObjectCommand,\r\n ListPartsCommand,\r\n AbortMultipartUploadCommand,\r\n} from \"@aws-sdk/client-s3\";\r\n\r\nimport s3Client from \"../file/providers/s3/client.js\";\r\nimport inspectContent from \"../file/utils/inspectContent.js\";\r\nimport { ConflictError } from \"../../errors.js\";\r\nimport { GetContext } from \"../../core.js\";\r\n\r\nconst uploads = new Map();\r\nconst resumableUploads = new Map();\r\n\r\n// non-redis upload timeout handlers\r\nconst uploadTimeouts = new Map<string, NodeJS.Timeout>();\r\n\r\nconst UPLOAD_TTL_SECONDS = 60 * 60;\r\n\r\n// expire gracefully to give cleanup worker time to abort stale uploads\r\nconst CLEANUP_GRACE_SECONDS = 60 * 60 * 24;\r\n\r\nconst REDIS_TTL = UPLOAD_TTL_SECONDS + CLEANUP_GRACE_SECONDS;\r\n\r\nconst uploadMetaKey = (id: string) => `upload:${id}:meta`;\r\nconst uploadExpireKey = (id: string) => `upload:${id}:expires`;\r\nconst resumableKey = (key: string) => `resumable:${key}`;\r\n\r\nfunction clearUploadTimeout(id: string) {\r\n const timeout = uploadTimeouts.get(id);\r\n\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n uploadTimeouts.delete(id);\r\n }\r\n}\r\n\r\nasync function scheduleNonRedisCleanup(id: string, s3 = s3Client) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const { redis, logger } = GetContext();\r\n if (redis) return;\r\n\r\n clearUploadTimeout(id);\r\n\r\n const timeout = setTimeout(async () => {\r\n try {\r\n const meta = uploads.get(id);\r\n\r\n if (!meta) return;\r\n\r\n try {\r\n await s3.send(\r\n new AbortMultipartUploadCommand({\r\n Bucket: meta.Bucket,\r\n Key: meta.Key,\r\n UploadId: id,\r\n })\r\n );\r\n } catch (err: any) {\r\n console.error(\"AbortMultipartUpload failed\", {\r\n uploadId: id,\r\n Bucket: meta.Bucket,\r\n Key: meta.Key,\r\n error: err?.message,\r\n });\r\n logger.file(\"upload/abort/error\", {\r\n uploadId: id,\r\n Bucket: meta.Bucket,\r\n Key: meta.Key,\r\n error: err?.message,\r\n });\r\n }\r\n\r\n uploads.delete(id);\r\n\r\n if (resumableUploads.get(meta.Key) === id) {\r\n resumableUploads.delete(meta.Key);\r\n }\r\n } catch (err) {\r\n console.error(err);\r\n logger.error(err);\r\n } finally {\r\n clearUploadTimeout(id);\r\n }\r\n }, UPLOAD_TTL_SECONDS * 1000);\r\n\r\n // don't keep node process alive\r\n timeout.unref?.();\r\n\r\n uploadTimeouts.set(id, timeout);\r\n}\r\n\r\n// used via onClose hook to avoid memory leaks\r\nexport async function cleanupNonRedisUploads(s3 = s3Client) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const { redis, logger } = GetContext();\r\n if (redis) return;\r\n console.log(\"cleanupNonRedisUploads start\");\r\n\r\n const entries = [...uploads.entries()];\r\n\r\n for (const [id, meta] of entries) {\r\n try {\r\n await s3.send(\r\n new AbortMultipartUploadCommand({\r\n Bucket: meta.Bucket,\r\n Key: meta.Key,\r\n UploadId: id,\r\n })\r\n );\r\n } catch (err: any) {\r\n console.error(\"AbortMultipartUpload failed\", {\r\n uploadId: id,\r\n Bucket: meta.Bucket,\r\n Key: meta.Key,\r\n error: err?.message,\r\n });\r\n logger.file(\"upload/abort/error\", {\r\n uploadId: id,\r\n Bucket: meta.Bucket,\r\n Key: meta.Key,\r\n error: err?.message,\r\n });\r\n }\r\n\r\n clearUploadTimeout(id);\r\n\r\n uploads.delete(id);\r\n\r\n if (resumableUploads.get(meta.Key) === id) {\r\n resumableUploads.delete(meta.Key);\r\n }\r\n }\r\n console.log(\"open unfinished multipart uploads closed\", entries.length);\r\n}\r\n\r\nexport async function saveUploadMeta(\r\n id: string,\r\n meta: any,\r\n ttl = UPLOAD_TTL_SECONDS\r\n) {\r\n const { redis } = GetContext();\r\n if (!redis) return;\r\n\r\n const expiresAt = Date.now() + UPLOAD_TTL_SECONDS * 1000;\r\n\r\n await Promise.all([\r\n redis.set(uploadMetaKey(id), JSON.stringify(meta), \"EX\", REDIS_TTL),\r\n\r\n redis.set(uploadExpireKey(id), String(expiresAt), \"EX\", ttl),\r\n\r\n redis.set(resumableKey(meta.Key), id, \"EX\", ttl),\r\n ]);\r\n}\r\n\r\nexport async function refreshUploadTTL(\r\n id: string,\r\n ttl = UPLOAD_TTL_SECONDS,\r\n s3 = s3Client\r\n) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n\r\n const { redis } = GetContext();\r\n\r\n if (!redis) {\r\n await scheduleNonRedisCleanup(id, s3);\r\n\r\n return;\r\n }\r\n\r\n const meta = await getUploadMeta(id);\r\n\r\n if (!meta) return;\r\n\r\n const expiresAt = Date.now() + ttl * 1000;\r\n\r\n await Promise.all([\r\n redis.expire(uploadMetaKey(id), ttl),\r\n\r\n redis.set(uploadExpireKey(id), String(expiresAt), \"EX\", ttl),\r\n\r\n redis.expire(resumableKey(meta.Key), ttl),\r\n ]);\r\n}\r\n\r\nexport async function deleteUploadMeta(id: string, key?: string) {\r\n clearUploadTimeout(id);\r\n await deleteUploadParts(id);\r\n\r\n const { redis } = GetContext();\r\n\r\n if (!redis) {\r\n const meta = uploads.get(id);\r\n\r\n uploads.delete(id);\r\n\r\n const redisKey = key || meta?.Key;\r\n\r\n if (redisKey && resumableUploads.get(redisKey) === id) {\r\n resumableUploads.delete(redisKey);\r\n }\r\n\r\n return;\r\n }\r\n\r\n const redisKey = key || (await getUploadMeta(id))?.Key;\r\n\r\n const keys = [uploadMetaKey(id), uploadExpireKey(id)];\r\n\r\n if (redisKey) {\r\n keys.push(resumableKey(redisKey));\r\n }\r\n\r\n await redis.del(keys);\r\n}\r\n\r\nexport async function getUploadMeta(id: string) {\r\n const { redis } = GetContext();\r\n\r\n if (!redis) {\r\n return uploads.get(id);\r\n }\r\n\r\n const raw = await redis.get(uploadMetaKey(id));\r\n\r\n return raw ? JSON.parse(raw) : undefined;\r\n}\r\n\r\nexport async function getResumableUploadId(key: string) {\r\n const { redis } = GetContext();\r\n\r\n if (!redis) {\r\n return resumableUploads.get(key);\r\n }\r\n\r\n return redis.get(resumableKey(key));\r\n}\r\n\r\nexport async function cleanupStaleUploads(s3 = s3Client) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n\r\n const { redis, logger } = GetContext();\r\n\r\n if (!redis) {\r\n await cleanupNonRedisUploads(s3);\r\n\r\n return;\r\n }\r\n\r\n let cursor = \"0\";\r\n\r\n do {\r\n const [nextCursor, keys] = await redis.scan(\r\n cursor,\r\n \"MATCH\",\r\n \"upload:*:expires\",\r\n \"COUNT\",\r\n 100\r\n );\r\n\r\n cursor = nextCursor;\r\n\r\n for (const expireKey of keys) {\r\n try {\r\n const expiresAt = Number(await redis.get(expireKey));\r\n\r\n if (!expiresAt || expiresAt > Date.now()) {\r\n continue;\r\n }\r\n\r\n const uploadId = expireKey\r\n .replace(\"upload:\", \"\")\r\n .replace(\":expires\", \"\");\r\n\r\n const meta = await getUploadMeta(uploadId);\r\n\r\n if (!meta) {\r\n await redis.del(expireKey);\r\n\r\n continue;\r\n }\r\n\r\n const { Bucket, Key } = meta;\r\n\r\n try {\r\n await s3.send(\r\n new AbortMultipartUploadCommand({\r\n Bucket,\r\n Key,\r\n UploadId: uploadId,\r\n })\r\n );\r\n } catch (err: any) {\r\n console.error(\"AbortMultipartUpload failed\", {\r\n uploadId,\r\n Bucket,\r\n Key,\r\n error: err?.message,\r\n });\r\n logger.file(\"upload/abort/error\", {\r\n uploadId,\r\n Bucket,\r\n Key,\r\n error: err?.message,\r\n });\r\n }\r\n\r\n await deleteUploadMeta(uploadId, Key);\r\n } catch (err) {\r\n console.error(err);\r\n logger.error(err);\r\n }\r\n }\r\n } while (cursor !== \"0\");\r\n}\r\n\r\nexport async function findUpload({ id }: { id: string }, s3 = s3Client) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const cachedInfo = await getUploadMeta(id);\r\n\r\n const {\r\n Key,\r\n Bucket,\r\n fileSize: cacheSize,\r\n ContentType: cacheContentType,\r\n } = cachedInfo || {};\r\n\r\n const parts = await s3\r\n .send(\r\n new ListPartsCommand({\r\n Bucket,\r\n Key,\r\n UploadId: id,\r\n })\r\n )\r\n .catch(() => null);\r\n\r\n return {\r\n UploadId: parts ? id : undefined,\r\n Key,\r\n Bucket,\r\n fileSize: cacheSize,\r\n ContentType: cacheContentType,\r\n uploaded:\r\n parts?.Parts?.reduce(\r\n (sum: number, part: any) => sum + (part.Size || 0),\r\n 0\r\n ) || 0,\r\n parts:\r\n parts?.Parts?.map((p: any) => ({\r\n ETag: p.ETag!,\r\n PartNumber: p.PartNumber!,\r\n })) || [],\r\n };\r\n}\r\n\r\n// todo: optional - keep originalFileName, else - id + extension\r\n// + implement rotateFilenameS3 logic, like const filename = await rotateFilenameS3({ Name: originalFilename, Bucket, Prefix }, s3Client);\r\n// ! if originalFileName - check names with spaces - s3 mights throw error - encode request or at upload?\r\nexport async function startUpload(\r\n {\r\n Bucket,\r\n Key,\r\n ContentType,\r\n fileSize,\r\n }: {\r\n Bucket: string;\r\n Key: string;\r\n ContentType: string;\r\n fileSize: number;\r\n },\r\n s3 = s3Client\r\n) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const cachedUploadId = await getResumableUploadId(Key);\r\n\r\n const { redis } = GetContext();\r\n\r\n const cachedMeta = cachedUploadId\r\n ? await getUploadMeta(cachedUploadId)\r\n : undefined;\r\n\r\n if (cachedUploadId && cachedMeta) {\r\n await refreshUploadTTL(cachedUploadId, UPLOAD_TTL_SECONDS, s3);\r\n\r\n return {\r\n Key,\r\n Bucket: cachedMeta.Bucket,\r\n UploadId: cachedUploadId,\r\n fileSize: cachedMeta.fileSize,\r\n extension: cachedMeta.extension,\r\n ContentType: cachedMeta.ContentType,\r\n cache: true,\r\n };\r\n }\r\n\r\n const res = await s3.send(\r\n new CreateMultipartUploadCommand({\r\n Bucket,\r\n Key,\r\n ContentType,\r\n })\r\n );\r\n\r\n const extension = path.extname(Key).substring(1);\r\n\r\n const meta = {\r\n Key,\r\n Bucket,\r\n fileSize,\r\n extension,\r\n ContentType,\r\n };\r\n\r\n if (redis) {\r\n await saveUploadMeta(res.UploadId!, meta);\r\n } else {\r\n uploads.set(res.UploadId, meta);\r\n\r\n resumableUploads.set(Key, res.UploadId);\r\n\r\n await scheduleNonRedisCleanup(res.UploadId!, s3);\r\n }\r\n\r\n return {\r\n UploadId: res.UploadId,\r\n };\r\n}\r\n\r\nconst uploadPartsKey = (id: string) => `upload:${id}:parts`;\r\n// non-redis in-memory parts cache\r\nconst uploadParts = new Map<\r\n string,\r\n Array<{ ETag: string; PartNumber: number }>\r\n>();\r\n\r\nexport async function savePart(\r\n id: string,\r\n part: {\r\n ETag: string;\r\n PartNumber: number;\r\n }\r\n) {\r\n const { redis } = GetContext();\r\n\r\n if (!redis) {\r\n const existing = uploadParts.get(id) || [];\r\n\r\n // overwrite existing part number (S3 semantics)\r\n const filtered = existing.filter((p) => p.PartNumber !== part.PartNumber);\r\n\r\n filtered.push(part);\r\n\r\n uploadParts.set(id, filtered);\r\n\r\n return;\r\n }\r\n\r\n // use redis hash keyed by part number\r\n await redis.hset(\r\n uploadPartsKey(id),\r\n String(part.PartNumber),\r\n JSON.stringify(part)\r\n );\r\n\r\n // keep ttl aligned with upload meta\r\n await redis.expire(uploadPartsKey(id), REDIS_TTL);\r\n}\r\n\r\nexport async function getStoredParts(id: string) {\r\n const { redis } = GetContext();\r\n\r\n if (!redis) {\r\n return (uploadParts.get(id) || []).sort(\r\n (a, b) => a.PartNumber - b.PartNumber\r\n );\r\n }\r\n\r\n const parts = await redis.hgetall(uploadPartsKey(id));\r\n\r\n return Object.values(parts)\r\n .map((v: any) => JSON.parse(v))\r\n .sort((a: any, b: any) => a.PartNumber - b.PartNumber);\r\n}\r\n\r\nexport async function deleteUploadParts(id: string) {\r\n const { redis } = GetContext();\r\n\r\n if (!redis) {\r\n uploadParts.delete(id);\r\n\r\n return;\r\n }\r\n\r\n await redis.del(uploadPartsKey(id));\r\n}\r\n\r\nexport async function uploadChunk(\r\n {\r\n id,\r\n chunk,\r\n partNumber,\r\n }: {\r\n id: string;\r\n chunk: any;\r\n partNumber: number;\r\n },\r\n s3 = s3Client\r\n) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const upload = await findUpload({ id }, s3);\r\n\r\n if (!upload?.UploadId) {\r\n throw new Error(\"upload not found\");\r\n }\r\n\r\n if (upload.parts.some((p: any) => p.PartNumber === partNumber)) {\r\n throw new Error(`Part ${partNumber} already uploaded`);\r\n }\r\n\r\n if (partNumber === 1) {\r\n const { isValid } = await inspectContent(\r\n chunk,\r\n path.extname(upload.Key).substring(1)\r\n );\r\n if (!isValid) {\r\n throw ConflictError(\"file type spoofing attempt detected\");\r\n }\r\n }\r\n\r\n const res = await s3.send(\r\n new UploadPartCommand({\r\n Bucket: upload.Bucket,\r\n Key: upload.Key,\r\n UploadId: upload.UploadId,\r\n PartNumber: partNumber,\r\n Body: chunk,\r\n })\r\n );\r\n\r\n await savePart(id, {\r\n ETag: res.ETag!,\r\n PartNumber: partNumber,\r\n });\r\n\r\n await refreshUploadTTL(id, UPLOAD_TTL_SECONDS, s3);\r\n\r\n return upload;\r\n}\r\n\r\nexport async function finishUpload(\r\n {\r\n id,\r\n }: {\r\n id: string;\r\n },\r\n s3 = s3Client\r\n) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const redisCache = await getUploadMeta(id);\r\n\r\n const { fileSize: cachedSize, Key, Bucket } = redisCache || {};\r\n\r\n const size = cachedSize ? Number(cachedSize) : undefined;\r\n\r\n // const upload = await findUpload({ id }, s3);\r\n\r\n // if (!upload?.uploaded) {\r\n // throw new Error(\"File not uploaded\");\r\n // }\r\n\r\n // if (size && size !== upload.uploaded) {\r\n // throw new Error(\"File size mismatch\");\r\n // }\r\n\r\n const parts = await getStoredParts(id);\r\n\r\n await s3.send(\r\n new CompleteMultipartUploadCommand({\r\n Bucket,\r\n Key,\r\n UploadId: id,\r\n MultipartUpload: {\r\n Parts: parts.sort((a: any, b: any) => a.PartNumber - b.PartNumber),\r\n // Parts: upload.parts.sort(\r\n // (a: any, b: any) => a.PartNumber - b.PartNumber\r\n // ),\r\n },\r\n })\r\n );\r\n\r\n await deleteUploadMeta(id, Key);\r\n\r\n return {\r\n finished: true,\r\n // uploaded: upload.uploaded,\r\n uploaded: size,\r\n filepath: Key.replace(process.env.folder, \"\"),\r\n };\r\n}\r\n\r\nexport async function abortUpload(\r\n {\r\n id,\r\n }: {\r\n id: string;\r\n },\r\n s3 = s3Client\r\n) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const meta = await getUploadMeta(id);\r\n\r\n if (!meta) {\r\n return {\r\n aborted: false,\r\n };\r\n }\r\n\r\n await s3.send(\r\n new AbortMultipartUploadCommand({\r\n Bucket: meta.Bucket,\r\n Key: meta.Key,\r\n UploadId: id,\r\n })\r\n );\r\n\r\n await deleteUploadMeta(id, meta.Key);\r\n\r\n return {\r\n aborted: true,\r\n };\r\n}\r\n\r\nexport async function getUploadStatus(\r\n {\r\n id,\r\n Key,\r\n Bucket,\r\n }: {\r\n id: string;\r\n Key?: string;\r\n Bucket?: string;\r\n },\r\n s3 = s3Client\r\n) {\r\n if (!s3) throw new Error(\"No S3 client\");\r\n const redisCache = id ? await getUploadMeta(id) : undefined;\r\n\r\n const {\r\n fileSize: cachedSize,\r\n Key: redisKey,\r\n Bucket: redisBucket,\r\n } = redisCache || {};\r\n\r\n if (!redisKey && Key && Bucket) {\r\n const res = await s3\r\n .send(\r\n new HeadObjectCommand({\r\n Bucket,\r\n Key,\r\n })\r\n )\r\n .catch(() => false);\r\n\r\n return {\r\n exists: !!res,\r\n uploaded: res?.ContentLength,\r\n };\r\n }\r\n\r\n // const parts = id ? await getStoredParts(id) : { Parts: [] };\r\n const parts = await s3\r\n .send(\r\n new ListPartsCommand({\r\n Bucket: redisBucket,\r\n Key: redisKey,\r\n UploadId: id,\r\n })\r\n )\r\n .catch(() => ({\r\n Parts: [],\r\n }));\r\n\r\n const res =\r\n id && !parts.Parts?.length\r\n ? await s3\r\n .send(\r\n new HeadObjectCommand({\r\n Bucket: redisBucket,\r\n Key: redisKey,\r\n })\r\n )\r\n .catch(() => false)\r\n : false;\r\n\r\n return {\r\n exists: !!res || !!parts?.Parts?.length,\r\n finished: !!res,\r\n uploaded: res\r\n ? res.ContentLength\r\n : parts?.Parts?.reduce(\r\n (acc: number, curr: any) => acc + (curr.Size || 0),\r\n 0\r\n ) || 0,\r\n id,\r\n size: cachedSize ? Number(cachedSize) : undefined,\r\n parts:\r\n parts?.Parts?.map((p: any) => ({\r\n ETag: p.ETag!,\r\n PartNumber: p.PartNumber!,\r\n })) || [],\r\n };\r\n}\r\n"],"mappings":"4OAgBA,MAAM,EAAU,IAAI,IACd,EAAmB,IAAI,IAGvB,EAAiB,IAAI,IAa3B,SAAS,EAAmB,EAAY,CACtC,IAAM,EAAU,EAAe,IAAI,CAAE,EAEjC,IACF,aAAa,CAAO,EACpB,EAAe,OAAO,CAAE,EAE5B,CA0DA,eAAsB,EAAuB,EAAK,EAAU,CAC1D,GAAI,CAAC,EAAI,MAAU,MAAM,cAAc,EACvC,GAAM,CAAE,QAAO,UAAW,EAAW,EACrC,GAAI,EAAO,OACX,QAAQ,IAAI,8BAA8B,EAE1C,IAAM,EAAU,CAAC,GAAG,EAAQ,QAAQ,CAAC,EAErC,IAAK,GAAM,CAAC,EAAI,KAAS,EAAS,CAChC,GAAI,CACF,MAAM,EAAG,KACP,IAAI,EAA4B,CAC9B,OAAQ,EAAK,OACb,IAAK,EAAK,IACV,SAAU,CACZ,CAAC,CACH,CACF,OAAS,EAAU,CACjB,QAAQ,MAAM,8BAA+B,CAC3C,SAAU,EACV,OAAQ,EAAK,OACb,IAAK,EAAK,IACV,MAAO,GAAK,OACd,CAAC,EACD,EAAO,KAAK,qBAAsB,CAChC,SAAU,EACV,OAAQ,EAAK,OACb,IAAK,EAAK,IACV,MAAO,GAAK,OACd,CAAC,CACH,CAEA,EAAmB,CAAE,EAErB,EAAQ,OAAO,CAAE,EAEb,EAAiB,IAAI,EAAK,GAAG,IAAM,GACrC,EAAiB,OAAO,EAAK,GAAG,CAEpC,CACA,QAAQ,IAAI,2CAA4C,EAAQ,MAAM,CACxE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CoreContext } from "../../core.js";
|
|
2
|
+
//#region src/plugins/usercls/index.d.ts
|
|
3
|
+
declare function deleteUserCls({ name, code }: {
|
|
4
|
+
name: string;
|
|
5
|
+
code?: string;
|
|
6
|
+
}, { pg }: CoreContext): Promise<string>;
|
|
7
|
+
type UserClsPayload = {
|
|
8
|
+
name: string;
|
|
9
|
+
alias?: string[];
|
|
10
|
+
description?: string;
|
|
11
|
+
data: string | Record<string, any>[];
|
|
12
|
+
};
|
|
13
|
+
declare function addUserCls({ name, alias, data, description }: UserClsPayload, { pg, redis, logger }: CoreContext): Promise<string>;
|
|
14
|
+
declare function editUserCls({ name, alias, description, data }: UserClsPayload, { pg, redis, logger }: CoreContext): Promise<string>;
|
|
15
|
+
declare function getUserClsList({ name, search, sql, custom }: {
|
|
16
|
+
name?: string;
|
|
17
|
+
search?: string;
|
|
18
|
+
sql?: any;
|
|
19
|
+
custom?: string;
|
|
20
|
+
}, { pg }: CoreContext): Promise<any>;
|
|
21
|
+
declare function getUserCls(name: string, { pg }: CoreContext): Promise<{
|
|
22
|
+
type: any;
|
|
23
|
+
data: any;
|
|
24
|
+
description: any;
|
|
25
|
+
alias: any;
|
|
26
|
+
} | null>;
|
|
27
|
+
//#endregion
|
|
28
|
+
export { addUserCls, deleteUserCls, editUserCls, getUserCls, getUserClsList };
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/plugins/usercls/index.ts"],"mappings":";;iBAmHsB,gBAClB,MAAM;EAAU;EAAc;KAC9B,MAAM,cAAW;KAkBhB;EACH;EACA;EACA;EACA,eAAe;;iBA0DK,aAClB,MAAM,OAAO,MAAM,eAAe,kBAClC,IAAI,OAAO,UAAU,cAAW;iBAmBd,cAClB,MAAM,OAAO,aAAa,QAAQ,kBAClC,IAAI,OAAO,UAAU,cAAW;iBAwBd,iBAElB,MACA,QACA,KACA;EAEA;EACA;EACA;EACA;KAGA,MAAM,cAAW;iBA4DC,WAAW,gBAAgB,MAAM,cAAW"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{ForbiddenError as e,NotFoundError as t}from"../../errors.js";import n from"../crud/funcs/dataInsert.js";import"../crud/funcs/dataUpdate.js";async function r({name:e,code:n},{pg:r}){if(!e)throw Error(`not enough params: name`);if(!await c(e,{pg:r}))throw new t(`user classifier not found`);return await r.query(`delete from admin.user_cls where ((name=$1 and parent is null) or parent=$1) and ${n?`code=$2`:`true`}`,[e,n].filter(Boolean)),`ok`}async function i({name:t,alias:r,data:i,description:a},{pg:o,redis:s,logger:c}){let l=typeof i==`string`?`sql`:`json`;if(l===`json`&&i&&!Array.isArray(i))throw Error(`param data must be an array`);if(l===`json`&&Array.isArray(i)&&i.length&&!i.find(e=>e.id&&e.text))throw Error(`param data must have items`);if(l===`sql`)throw e(`access restricted: creation of custom selects is not allowed`);l===`json`&&(await n({table:`admin.user_cls`,data:{name:t,alias:r,description:a,type:l}},{pg:o,logger:c,redis:s}),Array.isArray(i)&&i.length&&await Promise.all(i.map(async e=>{await n({table:`admin.user_cls`,data:{...e,code:e.id,name:e.text,parent:t}},{pg:o,logger:c,redis:s})})))}async function a({name:e,alias:t,data:n,description:r},{pg:a,redis:o,logger:s}){let c=await a.connect();try{return await c.query(`begin`),await i({name:e,alias:t,data:n,description:r},{pg:c,redis:o,logger:s}),await c.query(`commit`),`ok`}catch(e){throw await c.query(`rollback`),e}finally{c.release()}}async function o({name:e,alias:t,description:n,data:a},{pg:o,redis:s,logger:c}){let l=await o.connect();try{return await l.query(`begin`),await r({name:e},{pg:l}),await i({name:e,alias:t,description:n,data:a},{pg:l,redis:s,logger:c}),await l.query(`commit`),`ok`}catch(e){throw await l.query(`rollback`),e}finally{l.release()}}async function s({name:e,search:t,sql:n,custom:r},{pg:i}){let a=[],o=[];e&&(a.push(e.split(`,`)),o.push(`name=any($${a.length}::text[])`)),t&&(a.push(`%${t}%`),o.push(`( name ilike $${a.length} or name in (select parent from admin.user_cls where name ilike $${a.length}) )`)),a.push(`json`),o.push(`type=$${a.length}`);let s=o.join(` and `)||`1=1`;console.log(e,t,s);let c=`select true as custom, name, type, description, alias, case when type = 'sql' then 1 else (select count(*) from admin.user_cls where parent=t.name limit 1) end as count
|
|
2
|
+
from admin.user_cls t where parent is null and ${s}`,l=`select false as custom, name, type, null as description, null as alias, case when type = 'sql' then 1 else (select count(*) from admin.cls where parent=t.name limit 1) end as count
|
|
3
|
+
from admin.cls t where parent is null and ${s.replace(/admin.user_cls/g,`admin.cls`)}`,u=[r===`0`?null:c,r===`1`?null:l].filter(Boolean).join(` union all `).concat(` order by name`);if(n)return u;let d=await i.query(u,a).then(e=>e.rows||[]),f=d.filter(e=>e.custom),p=f.map(e=>e.name),m=d.filter(e=>!p.includes(e.name));return f.concat(m)}async function c(t,{pg:n}){let{type:r,data:i,description:a,alias:o}=await n.query(`select type, data, description, alias from admin.user_cls where parent is null and name=$1`,[t]).then(e=>e.rows?.[0]||{});if(r===`sql`)throw e(`custom selects not allowed`);return r===`json`?{type:r,data:await n.query(`select json_agg(json_build_object('id', code, 'text', name, 'icon', icon, 'color', color)) from admin.user_cls where parent=$1`,[t]).then(e=>e.rows?.[0]?.json_agg||[]),description:a,alias:o}:null}export{a as addUserCls,r as deleteUserCls,o as editUserCls,c as getUserCls,s as getUserClsList};
|
|
4
|
+
//# sourceMappingURL=index.js.map
|