@sava-info-systems/api-maker-with-extensions 1.0.0-alpha
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/.env +22 -0
- package/.nvmrc +1 -0
- package/3rdpartylicenses.txt +18 -0
- package/README.md +30 -0
- package/assets-deployment/.env +41 -0
- package/assets-deployment/config/keyfile +16 -0
- package/assets-deployment/config/mongodb_api_maker.yml +33 -0
- package/assets-deployment/config/redis_api_maker.yml +26 -0
- package/assets-deployment/installation_steps.sh +184 -0
- package/assets-deployment/mongo_script.js +33 -0
- package/dist/1025.js +1 -0
- package/dist/1464.js +1 -0
- package/dist/148.js +1 -0
- package/dist/1558.js +1 -0
- package/dist/1617.js +1 -0
- package/dist/1678.js +1 -0
- package/dist/1754.js +1 -0
- package/dist/1840.js +1 -0
- package/dist/1928.js +1 -0
- package/dist/1957.js +1 -0
- package/dist/2140.js +1 -0
- package/dist/2295.js +1 -0
- package/dist/2443.js +1 -0
- package/dist/2473.js +1 -0
- package/dist/2714.js +1 -0
- package/dist/2908.js +1 -0
- package/dist/3139.js +1 -0
- package/dist/3450.js +1 -0
- package/dist/3rdpartylicenses.txt +395 -0
- package/dist/4110.js +1 -0
- package/dist/4181.js +1 -0
- package/dist/4186.js +1 -0
- package/dist/4211.js +1 -0
- package/dist/4575.js +1 -0
- package/dist/4842.js +1 -0
- package/dist/485.js +1 -0
- package/dist/4895.js +1 -0
- package/dist/5334.js +1 -0
- package/dist/5421.js +1 -0
- package/dist/5679.js +1 -0
- package/dist/5761.js +1 -0
- package/dist/6236.js +1 -0
- package/dist/6393.js +1 -0
- package/dist/6401.js +1 -0
- package/dist/6925.js +1 -0
- package/dist/7368.js +1 -0
- package/dist/7436.js +1 -0
- package/dist/7470.js +1 -0
- package/dist/7649.js +1 -0
- package/dist/7975.js +1 -0
- package/dist/7987.js +1 -0
- package/dist/8125.js +1 -0
- package/dist/8266.js +1 -0
- package/dist/8296.js +1 -0
- package/dist/8374.js +1 -0
- package/dist/8682.js +1 -0
- package/dist/8841.js +1 -0
- package/dist/885.js +1 -0
- package/dist/891.js +1 -0
- package/dist/913.js +1 -0
- package/dist/9208.js +1 -0
- package/dist/9243.js +1 -0
- package/dist/9939.js +1 -0
- package/dist/assets/images/banner/default_package_banner.jpg +0 -0
- package/dist/assets/images/bg/world.svg +3 -0
- package/dist/assets/images/cloud/setup-on-server.svg +51 -0
- package/dist/assets/images/icons/adminuser.png +0 -0
- package/dist/assets/images/icons/api-group.svg +10 -0
- package/dist/assets/images/icons/api-user.svg +9 -0
- package/dist/assets/images/icons/aws.svg +5 -0
- package/dist/assets/images/icons/bug.svg +1 -0
- package/dist/assets/images/icons/bulkschema.svg +5 -0
- package/dist/assets/images/icons/comparator.svg +5 -0
- package/dist/assets/images/icons/custom.svg +9 -0
- package/dist/assets/images/icons/database.svg +12 -0
- package/dist/assets/images/icons/db-m.svg +28 -0
- package/dist/assets/images/icons/default_package_icon.svg +41 -0
- package/dist/assets/images/icons/deployset.png +0 -0
- package/dist/assets/images/icons/dev.svg +9 -0
- package/dist/assets/images/icons/diagram.svg +7 -0
- package/dist/assets/images/icons/event.png +0 -0
- package/dist/assets/images/icons/film-movies-icon.svg +14 -0
- package/dist/assets/images/icons/finder.svg +11 -0
- package/dist/assets/images/icons/git.svg +1 -0
- package/dist/assets/images/icons/house.svg +50 -0
- package/dist/assets/images/icons/i18n.svg +9 -0
- package/dist/assets/images/icons/increment.svg +4 -0
- package/dist/assets/images/icons/license.png +0 -0
- package/dist/assets/images/icons/log-profile.svg +9 -0
- package/dist/assets/images/icons/log.svg +9 -0
- package/dist/assets/images/icons/masters.png +0 -0
- package/dist/assets/images/icons/nodes.svg +3 -0
- package/dist/assets/images/icons/notes.svg +23 -0
- package/dist/assets/images/icons/npm.svg +1 -0
- package/dist/assets/images/icons/process_initializers.svg +13 -0
- package/dist/assets/images/icons/redis.png +0 -0
- package/dist/assets/images/icons/redis.svg +9 -0
- package/dist/assets/images/icons/sandbox.svg +4 -0
- package/dist/assets/images/icons/schedulers.svg +12 -0
- package/dist/assets/images/icons/secret.svg +9 -0
- package/dist/assets/images/icons/systems.svg +9 -0
- package/dist/assets/images/icons/testing.svg +4 -0
- package/dist/assets/images/icons/third-party.svg +9 -0
- package/dist/assets/images/icons/typescript.svg +11 -0
- package/dist/assets/images/icons/utility.svg +7 -0
- package/dist/assets/images/icons/vulnerability.svg +12 -0
- package/dist/assets/images/icons/web.svg +10 -0
- package/dist/assets/images/instancesIcon/mariadb.png +0 -0
- package/dist/assets/images/instancesIcon/microsoft-sql-server.png +0 -0
- package/dist/assets/images/instancesIcon/mongodb.png +0 -0
- package/dist/assets/images/instancesIcon/my-sql.svg +159 -0
- package/dist/assets/images/instancesIcon/oracle.png +0 -0
- package/dist/assets/images/instancesIcon/postgresql.png +0 -0
- package/dist/assets/images/logo/API Maker Logo 2021 black.svg +47 -0
- package/dist/assets/images/logo/API Maker Logo 2021.svg +49 -0
- package/dist/assets/images/logo/discord-icon.svg +8 -0
- package/dist/assets/images/logo/dollar.svg +7 -0
- package/dist/assets/images/logo/logo.svg +41 -0
- package/dist/assets/images/logo/logo_cloud.svg +15 -0
- package/dist/assets/images/logo/logo_docs.svg +15 -0
- package/dist/assets/images/logo/logo_store.svg +17 -0
- package/dist/assets/images/logo/logo_store_new.svg +33 -0
- package/dist/assets/images/logo/rupee.svg +7 -0
- package/dist/assets/images/logo/sava-logo.png +0 -0
- package/dist/assets/images/logo/store_logo.svg +11 -0
- package/dist/assets/images/payment/failed.svg +3 -0
- package/dist/assets/images/payment/success.svg +3 -0
- package/dist/assets/images/svg/MARIA_DB.svg +3 -0
- package/dist/assets/images/svg/MONGO_DB.svg +5 -0
- package/dist/assets/images/svg/MYSQL_DB.svg +3 -0
- package/dist/assets/images/svg/Microsoft_SQL_Server_DB_No_Logo.svg +6 -0
- package/dist/assets/images/svg/Oracle_DB_No_Logo.svg +6 -0
- package/dist/assets/images/svg/POSTGRE_SQL_DB.svg +9 -0
- package/dist/assets/images/svg/Ti_DB.svg +5 -0
- package/dist/assets/images/svg/Xtra_DB.svg +19 -0
- package/dist/assets/images/svg/placeholder_thumbnail_json.svg +3 -0
- package/dist/assets/images/svg/serve_static_website_icon.svg +37 -0
- package/dist/assets/images/svg/single_obj.svg +3 -0
- package/dist/assets/json/am_docs.json +203 -0
- package/dist/assets/lib/svg-pan-zoom.d.ts +261 -0
- package/dist/assets/lib/svg-pan-zoom.min.js +3 -0
- package/dist/assets/monaco-assets/configurations/cpp.json +34 -0
- package/dist/assets/monaco-assets/configurations/csharp.json +32 -0
- package/dist/assets/monaco-assets/configurations/dart.json +29 -0
- package/dist/assets/monaco-assets/configurations/go.json +37 -0
- package/dist/assets/monaco-assets/configurations/java.json +33 -0
- package/dist/assets/monaco-assets/configurations/javascript.json +140 -0
- package/dist/assets/monaco-assets/configurations/json.json +22 -0
- package/dist/assets/monaco-assets/configurations/python.json +56 -0
- package/dist/assets/monaco-assets/configurations/ruby.json +31 -0
- package/dist/assets/monaco-assets/configurations/rust.json +34 -0
- package/dist/assets/monaco-assets/configurations/swift.json +27 -0
- package/dist/assets/monaco-assets/configurations/typescript.json +140 -0
- package/dist/assets/monaco-assets/configurations/xml.json +39 -0
- package/dist/assets/monaco-assets/configurations/yaml.json +35 -0
- package/dist/assets/monaco-assets/grammars/cpp.tmLanguage.json +16309 -0
- package/dist/assets/monaco-assets/grammars/csharp.tmLanguage.json +4984 -0
- package/dist/assets/monaco-assets/grammars/dart.tmLanguage.json +521 -0
- package/dist/assets/monaco-assets/grammars/go.tmLanguage.json +1017 -0
- package/dist/assets/monaco-assets/grammars/java.tmLanguage.json +1855 -0
- package/dist/assets/monaco-assets/grammars/javascript.tmLanguage.json +5914 -0
- package/dist/assets/monaco-assets/grammars/json.tmLanguage.json +213 -0
- package/dist/assets/monaco-assets/grammars/magicpython.tmLanguage.json +4213 -0
- package/dist/assets/monaco-assets/grammars/ruby.tmLanguage.json +2775 -0
- package/dist/assets/monaco-assets/grammars/rust.tmLanguage.json +1170 -0
- package/dist/assets/monaco-assets/grammars/swift.tmLanguage.json +3303 -0
- package/dist/assets/monaco-assets/grammars/typescript.tmLanguage.json +5665 -0
- package/dist/assets/monaco-assets/grammars/xml.tmLanguage.json +387 -0
- package/dist/assets/monaco-assets/grammars/yaml.tmLanguage.json +621 -0
- package/dist/assets/monaco-assets/onig.wasm +0 -0
- package/dist/assets/music/notification.mp3 +0 -0
- package/dist/assets/primeng-theme/primeng-theme-overrides.scss +130 -0
- package/dist/assets/primeng-theme/theme.css +1 -0
- package/dist/assets/schema-types/InterfaceProps.ts +509 -0
- package/dist/assets/schema-types/store-types.ts +170 -0
- package/dist/assets/schema-types/types.ts +1529 -0
- package/dist/assets/styles/bootstrap-overrides.scss +94 -0
- package/dist/assets/styles/colors-dark.scss +128 -0
- package/dist/assets/styles/colors-light.scss +22 -0
- package/dist/assets/styles/fonts/JetBrainsMonoRegular.ttf +0 -0
- package/dist/assets/styles/fonts/Verdana.ttf +0 -0
- package/dist/assets/styles/monaco-editor-overrides.scss +0 -0
- package/dist/assets/styles/out/bootstrap-overrides.css +2 -0
- package/dist/assets/styles/out/bootstrap-overrides.css.map +1 -0
- package/dist/assets/styles/out/colors-dark.css +2 -0
- package/dist/assets/styles/out/colors-dark.css.map +1 -0
- package/dist/assets/styles/out/colors-light.css +2 -0
- package/dist/assets/styles/out/colors-light.css.map +1 -0
- package/dist/assets/styles/out/monaco-editor-overrides.css +2 -0
- package/dist/assets/styles/out/monaco-editor-overrides.css.map +1 -0
- package/dist/assets/styles/out/styles.css +2 -0
- package/dist/assets/styles/out/styles.css.map +1 -0
- package/dist/assets/styles/out/variables.css +2 -0
- package/dist/assets/styles/out/variables.css.map +1 -0
- package/dist/assets/styles/root-styles.css +118 -0
- package/dist/assets/styles/styles.scss +356 -0
- package/dist/assets/styles/variables.scss +18 -0
- package/dist/color.png +0 -0
- package/dist/common.js +1 -0
- package/dist/favicon.ico +0 -0
- package/dist/hue.png +0 -0
- package/dist/index.html +147 -0
- package/dist/main.js +1 -0
- package/dist/polyfills.js +1 -0
- package/dist/primeicons.eot +0 -0
- package/dist/primeicons.svg +292 -0
- package/dist/primeicons.ttf +0 -0
- package/dist/primeicons.woff +0 -0
- package/dist/primeicons.woff2 +0 -0
- package/dist/runtime.js +1 -0
- package/dist/styles.css +1 -0
- package/license.txt +2 -0
- package/local.env +23 -0
- package/main.js +1 -0
- package/package.json +198 -0
- package/sandbox/.dockerignore +2 -0
- package/sandbox/Dockerfile +32 -0
- package/sandbox/assets/schema-types/store-types.js +165 -0
- package/sandbox/assets/schema-types/types.js +331 -0
- package/sandbox/package.json +28 -0
- package/sandbox/sandbox.js +1 -0
- package/sandbox/src/utils/VmInit.js +11 -0
- package/src/assets/schema-types/store-types.ts +170 -0
- package/src/assets/schema-types/types.ts +1529 -0
- package/src/json/DefaultUsers.json +18 -0
- package/src/public/css/bootstrap-slate.min.css +12 -0
- package/src/public/css/styles.css +4 -0
- package/src/public/dist-db-masters/3rdpartylicenses.txt +312 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-blue/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-blue/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-blue/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-green/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-green/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-green/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-orange/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-orange/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-orange/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-purple/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-purple/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/arya-purple/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-amber/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-blue/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-cyan/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-green/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-green/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-green/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-indigo/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-lime/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-lime/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-lime/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-noir/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-noir/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-noir/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-pink/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-purple/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-dark-teal/theme.css +7722 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-amber/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-amber/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-amber/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-blue/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-blue/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-blue/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-cyan/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-green/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-green/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-green/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-indigo/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-lime/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-lime/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-lime/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-noir/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-noir/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-noir/theme.css +7731 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-pink/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-pink/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-pink/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-purple/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-purple/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-purple/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-teal/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-teal/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/aura-light-teal/theme.css +7723 -0
- package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-dark-blue/theme.css +6304 -0
- package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-dark-purple/theme.css +6304 -0
- package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-light-blue/theme.css +6304 -0
- package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-light-purple/theme.css +6304 -0
- package/src/public/dist-db-masters/browser/assets/themes/fluent-light/theme.css +6439 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-amber/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-blue/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-cyan/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-green/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-green/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-green/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-indigo/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-pink/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-purple/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-dark-teal/theme.css +6404 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-amber/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-amber/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-amber/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-blue/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-blue/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-blue/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-cyan/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-green/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-green/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-green/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-indigo/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-pink/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-pink/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-pink/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-purple/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-purple/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-purple/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-teal/fonts/Inter-italic.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-teal/fonts/Inter-roman.var.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/lara-light-teal/theme.css +6340 -0
- package/src/public/dist-db-masters/browser/assets/themes/luna-amber/theme.css +6255 -0
- package/src/public/dist-db-masters/browser/assets/themes/luna-blue/theme.css +6255 -0
- package/src/public/dist-db-masters/browser/assets/themes/luna-green/theme.css +6255 -0
- package/src/public/dist-db-masters/browser/assets/themes/luna-pink/theme.css +6255 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/theme.css +7915 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Bold.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Bold.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Medium.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Medium.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-SemiBold.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/mira/theme.css +6517 -0
- package/src/public/dist-db-masters/browser/assets/themes/nano/theme.css +6290 -0
- package/src/public/dist-db-masters/browser/assets/themes/nova/theme.css +6270 -0
- package/src/public/dist-db-masters/browser/assets/themes/nova-accent/theme.css +6280 -0
- package/src/public/dist-db-masters/browser/assets/themes/nova-alt/theme.css +6282 -0
- package/src/public/dist-db-masters/browser/assets/themes/rhea/theme.css +6258 -0
- package/src/public/dist-db-masters/browser/assets/themes/saga-blue/theme.css +6307 -0
- package/src/public/dist-db-masters/browser/assets/themes/saga-green/theme.css +6307 -0
- package/src/public/dist-db-masters/browser/assets/themes/saga-orange/theme.css +6307 -0
- package/src/public/dist-db-masters/browser/assets/themes/saga-purple/theme.css +6307 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-dark/theme.css +6283 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/soho-light/theme.css +6337 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/theme.css +6403 -0
- package/src/public/dist-db-masters/browser/assets/themes/vela-blue/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/vela-green/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/vela-orange/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/vela-purple/theme.css +6310 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-dark/theme.css +6444 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
- package/src/public/dist-db-masters/browser/assets/themes/viva-light/theme.css +6445 -0
- package/src/public/dist-db-masters/browser/favicon.ico +0 -0
- package/src/public/dist-db-masters/browser/index.html +23 -0
- package/src/public/dist-db-masters/browser/main.js +116 -0
- package/src/public/dist-db-masters/browser/media/color.png +0 -0
- package/src/public/dist-db-masters/browser/media/hue.png +0 -0
- package/src/public/dist-db-masters/browser/media/primeicons.eot +0 -0
- package/src/public/dist-db-masters/browser/media/primeicons.svg +345 -0
- package/src/public/dist-db-masters/browser/media/primeicons.ttf +0 -0
- package/src/public/dist-db-masters/browser/media/primeicons.woff +0 -0
- package/src/public/dist-db-masters/browser/media/primeicons.woff2 +0 -0
- package/src/public/dist-db-masters/browser/polyfills.js +2 -0
- package/src/public/dist-db-masters/browser/styles.css +1 -0
- package/src/public/index.hbs +174 -0
- package/src/tools/install.js +37 -0
- package/src/tools/install_utils/InstallFromWeb.js +1636 -0
- package/src/tools/install_utils/SetEnvInFrontend.js +76 -0
- package/src/tools/install_utils/TSUtils.js +33 -0
- package/src/tools/set-env-in-frontend.js +11 -0
|
@@ -0,0 +1,1529 @@
|
|
|
1
|
+
export interface IAMGlobal {
|
|
2
|
+
req: IAMGlobalRequest;
|
|
3
|
+
res: IAMGlobalResponse;
|
|
4
|
+
sys: IAMGlobalSys;
|
|
5
|
+
logger: IAMGlobalLogger;
|
|
6
|
+
shared: any;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface IAMGlobalLogger {
|
|
10
|
+
debug(...data: any[]): void;
|
|
11
|
+
log(...data: any[]): void;
|
|
12
|
+
info(...data: any[]): void;
|
|
13
|
+
warn(...data: any[]): void;
|
|
14
|
+
error(...data: any[]): void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface IAMGlobalRequest {
|
|
18
|
+
headers: any;
|
|
19
|
+
params: any;
|
|
20
|
+
query: any;
|
|
21
|
+
body: any;
|
|
22
|
+
eventData: any;
|
|
23
|
+
auth: ISandboxReqAuthObj;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface ISandboxReqAuthObj {
|
|
27
|
+
authAMUser?: any;
|
|
28
|
+
authAMDB?: any;
|
|
29
|
+
|
|
30
|
+
authGoogle?: any;
|
|
31
|
+
authAWS?: any;
|
|
32
|
+
authAzure?: any;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface IAuthInfoObjects {
|
|
36
|
+
authAMDBInfo?: IAuthTokenAMDB; //
|
|
37
|
+
authAMDBGroups?: any[]; // IGroup[]
|
|
38
|
+
|
|
39
|
+
authGoogleInfo?: IAuthTokenGoogle;
|
|
40
|
+
authGoogleGroups?: any[]; // IGroup[]
|
|
41
|
+
authAWSInfo?: IAuthTokenAWS;
|
|
42
|
+
authAWSGroups?: any[]; // IGroup[]
|
|
43
|
+
authAzureInfo?: IAuthTokenAzureAD;
|
|
44
|
+
authAzureGroups?: any[]; // IGroup[]
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// duplicate with store-types
|
|
48
|
+
export enum EContentType {
|
|
49
|
+
JSON = 'application/json',
|
|
50
|
+
XML = 'text/xml',
|
|
51
|
+
YAML = 'text/yaml',
|
|
52
|
+
TEXT = 'text/plain',
|
|
53
|
+
HTML = 'text/html',
|
|
54
|
+
OCTET_STREAM = 'application/octet-stream',
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// duplicate with store-types
|
|
58
|
+
export enum ERequestMethod {
|
|
59
|
+
GET = 'GET',
|
|
60
|
+
POST = 'POST',
|
|
61
|
+
PUT = 'PUT',
|
|
62
|
+
DELETE = 'DELETE',
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface IAMGlobalResponse {
|
|
66
|
+
/** Status code of response. ex: 401, 500 */
|
|
67
|
+
statusCode?: EStatusCode;
|
|
68
|
+
|
|
69
|
+
/** Change content-type header of response. default is 'application/json' */
|
|
70
|
+
contentType?: EContentType;
|
|
71
|
+
|
|
72
|
+
/** It will be sent to user as response of api call. */
|
|
73
|
+
output?: any;
|
|
74
|
+
|
|
75
|
+
/** Shared object for user to use. */
|
|
76
|
+
shared?: any;
|
|
77
|
+
|
|
78
|
+
/** * List of errors. If any error occurs. It will be returned to user. */
|
|
79
|
+
errors?: IResponseError[];
|
|
80
|
+
|
|
81
|
+
/** List of errors. If any error occurs. It will be returned to user. */
|
|
82
|
+
warnings?: IResponseError[];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export enum EType {
|
|
86
|
+
string = 'string',
|
|
87
|
+
number = 'number',
|
|
88
|
+
boolean = 'boolean',
|
|
89
|
+
date = 'date',
|
|
90
|
+
objectId = 'objectId',
|
|
91
|
+
|
|
92
|
+
// below are added because of third party request body
|
|
93
|
+
file = 'file',
|
|
94
|
+
files = 'files'
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export enum EErrorType {
|
|
98
|
+
required = 'required',
|
|
99
|
+
min = 'min',
|
|
100
|
+
max = 'max',
|
|
101
|
+
minLength = 'minLength',
|
|
102
|
+
maxLength = 'maxLength',
|
|
103
|
+
unique = 'unique',
|
|
104
|
+
uniqueCombination = 'uniqueCombination', // multiple keys unique violated
|
|
105
|
+
invalidValue = 'invalidValue',
|
|
106
|
+
schemaKeyNotFound = 'schemaKeyNotFound',
|
|
107
|
+
schemaNotFound = 'schemaNotFound',
|
|
108
|
+
emailNotValid = 'emailNotValid',
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Main interfaces
|
|
112
|
+
export interface ISchemaType {
|
|
113
|
+
[key: string]: IAnySchemaPropertyType;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export type IAnySchemaPropertyType = EType | [EType] | ISchemaProperty | [ISchemaProperty] | ISchemaType | [ISchemaType];
|
|
117
|
+
|
|
118
|
+
export interface ISchemaProperty { // Add new schema property in ValidateDBSchema too
|
|
119
|
+
__type?: EType;
|
|
120
|
+
conversions?: IPropertyConversion;
|
|
121
|
+
validations?: IPropertyValidation;
|
|
122
|
+
|
|
123
|
+
instance?: string; // used as strings in _.get
|
|
124
|
+
database?: string; // used as strings in _.get
|
|
125
|
+
collection?: string; // used as strings in _.get
|
|
126
|
+
table?: string;
|
|
127
|
+
|
|
128
|
+
// this column value will be return after nested save.
|
|
129
|
+
column?: string; // user can define column of target collection here. so no need to define t_key in deep property. Used in getDataForDeep // used as strings in _.get
|
|
130
|
+
isPrimaryKey?: boolean;
|
|
131
|
+
|
|
132
|
+
/** Database will take care of assigning incremental value for this field. */
|
|
133
|
+
isAutoIncrementByDB?: boolean;
|
|
134
|
+
|
|
135
|
+
/** API Maker will take care of assigning incremental value for this field. */
|
|
136
|
+
isAutoIncrementByAM?: boolean | IIsAutoIncrementByAM;
|
|
137
|
+
// defaultValue?: any; it can be very dynamic so skipping it right now.
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export interface IIsAutoIncrementByAM {
|
|
141
|
+
start: number;
|
|
142
|
+
step?: number; // default value will be 1
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface IPropertyValidation {
|
|
146
|
+
required?: boolean; // Allowed Types : *
|
|
147
|
+
min?: number; // Allowed Types : number | date
|
|
148
|
+
max?: number; // Allowed Types : number | date
|
|
149
|
+
minLength?: number; // Allowed Types : string
|
|
150
|
+
maxLength?: number; // Allowed Types : string
|
|
151
|
+
unique?: boolean;
|
|
152
|
+
email?: boolean; // Allowed Types : string
|
|
153
|
+
validatorFun?: Function;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface IPropertyConversion {
|
|
157
|
+
trimStart?: boolean;
|
|
158
|
+
trimEnd?: boolean;
|
|
159
|
+
trim?: boolean;
|
|
160
|
+
toLowerCase?: boolean;
|
|
161
|
+
toUpperCase?: boolean;
|
|
162
|
+
conversionFun?: Function;
|
|
163
|
+
|
|
164
|
+
/** enable encryption for this property */
|
|
165
|
+
encryption?: boolean | IEncryptionDescription;
|
|
166
|
+
|
|
167
|
+
/** enable description for this property */
|
|
168
|
+
// decryption?: boolean | IEncryptionDescription;
|
|
169
|
+
|
|
170
|
+
/** enable hashing for this property */
|
|
171
|
+
hashing?: boolean | IPropertyHashing;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface IEncryptionDescription {
|
|
175
|
+
/** by default is DB for encryption and User for decryption. value will be encrypted while sending to DB | User */
|
|
176
|
+
sendingTo?: ESendingToSchema;
|
|
177
|
+
|
|
178
|
+
/** algorithm path within secret object. default: common.encryptionAlgorithm */
|
|
179
|
+
encryptionAlgorithm?: string;
|
|
180
|
+
|
|
181
|
+
/** secret path within secret object. default: common.secret */
|
|
182
|
+
secret?: string;
|
|
183
|
+
|
|
184
|
+
/** nonce path within secret object. default: common.nonce, common.secret */
|
|
185
|
+
nonce?: string;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export interface IPropertyHashing {
|
|
189
|
+
|
|
190
|
+
/** by default is DB for encryption and User for decryption. value will be encrypted while sending to DB | User */
|
|
191
|
+
sendingTo?: ESendingToSchema;
|
|
192
|
+
|
|
193
|
+
/** algorithm path within secret object. default: common.hashingAlgorithm */
|
|
194
|
+
hashingAlgorithm?: string;
|
|
195
|
+
|
|
196
|
+
/** secret path within secret object. default: common.secret */
|
|
197
|
+
secret?: string;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export enum ESendingToSchema {
|
|
201
|
+
DB = 'DB',
|
|
202
|
+
USER = 'USER',
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export interface IDownloadResponse {
|
|
206
|
+
__am__downloadFolderFileName?: string; // ex: hello.txt // override file name for download
|
|
207
|
+
__am__downloadFilePath?: string; // my.zip | hello.txt // mostly it should be random number // give original file name which we created in uploads folder.
|
|
208
|
+
__am__downloadFileOrFolderPaths?: string | string[] | { fsSource: string; archiveDestination: string }[];
|
|
209
|
+
__am__cleanupFileOrFolderPaths?: string | string[]; // once file or zip sent to user, remove these files/folders from uploads directory.
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export enum ESpecialParamKeyNames {
|
|
213
|
+
path = 'path', // it will be used in file upload or download in ftp/s3/azure and engine will try to fetch file name with extension to throw for download with name & extension
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// Below interface is used in Secret Management.
|
|
217
|
+
export interface ISecretType {
|
|
218
|
+
common?: ISecretTypeCommon; // it is general purpose secret key section.
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export interface ISecretTypeCommon extends Pick<IAuthTokenInfoCommon, 'authTokenInfo'> {
|
|
222
|
+
hashingAlgorithm?: 'SHA256'; // change in IPropertyHashing also
|
|
223
|
+
nonce?: string; // if it is available, it will be used for hashing, if not available secret will be used for hashing
|
|
224
|
+
|
|
225
|
+
encryptionAlgorithm?: 'AES' | 'RC4' | 'TRIPLEDES'; // encryptionAlgorithm // encryptionAlgorithmDBPersist
|
|
226
|
+
secret?: string; // secret // secretDBPersist
|
|
227
|
+
|
|
228
|
+
encryptionAlgorithmFETransfer?: 'AES' | 'RC4' | 'TRIPLEDES'; // encryption algo used to decrypt data sent by FE.
|
|
229
|
+
secretFETransfer?: string; // secret used to decrypt data sent by FE.
|
|
230
|
+
feTransferDataValidityInSeconds?: number; // to validate value of createdAt // to (now - createdAt) > this value, means payload is invalid.
|
|
231
|
+
|
|
232
|
+
connectionString: {
|
|
233
|
+
mongodb?: string;
|
|
234
|
+
mysql?: string;
|
|
235
|
+
mariadb?: string;
|
|
236
|
+
sqlServer?: string;
|
|
237
|
+
postgreSQL?: string;
|
|
238
|
+
oracle?: string;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export interface IAuthTokenInfo {
|
|
243
|
+
authTokenType?: EAuthTokenType;
|
|
244
|
+
authTokenAM?: IAuthTokenAM | IRefreshTokenAM;
|
|
245
|
+
authTokenAMDB?: IAuthTokenAMDB | IRefreshTokenAM;
|
|
246
|
+
|
|
247
|
+
authTokenAWS?: IAuthTokenAWS;
|
|
248
|
+
authTokenAzureAD?: IAuthTokenAzureAD;
|
|
249
|
+
authTokenGoogle?: IAuthTokenGoogle;
|
|
250
|
+
testObj?: any;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
export interface IAuthTokenAM {
|
|
254
|
+
u: string;
|
|
255
|
+
p: string;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export interface IRefreshTokenAM {
|
|
259
|
+
refresh_token: string;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export interface IAuthTokenAMDB extends Partial<IAuthTokenAM> {
|
|
263
|
+
instance?: string; // it will be instance name
|
|
264
|
+
database?: string;
|
|
265
|
+
collection?: string;
|
|
266
|
+
table?: string;
|
|
267
|
+
usernameColumn?: string;
|
|
268
|
+
passwordColumn?: string;
|
|
269
|
+
/** column name which holds values of, comma separated groups assigned to this db user. * = means all groups of api user. DB user can hit API if he/she has access in any of these groups. */
|
|
270
|
+
groupsColumn?: string;
|
|
271
|
+
countOfUsersForTesting?: number; // load these much users in dropdown.
|
|
272
|
+
|
|
273
|
+
condition?: any;
|
|
274
|
+
sortUsersForTesting?: any; // sorting condition for dropdown
|
|
275
|
+
select?: any;
|
|
276
|
+
|
|
277
|
+
__amDBRequestData?: string; // we will stringify request JSON and set in this field.
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export interface IAuthTokenAWS extends IAuthTokenGroupsProperties {
|
|
281
|
+
cognitoUserPoolId: string;
|
|
282
|
+
region: string;
|
|
283
|
+
tokenUse: 'access' | 'id'; // Possible Values: access | id
|
|
284
|
+
tokenExpiration: number; // Up to default expiration of 1 hour (3600000 ms)
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export interface IAuthTokenAzureAD extends IAuthTokenGroupsProperties{
|
|
288
|
+
/** client_id */
|
|
289
|
+
appId: string;
|
|
290
|
+
tenant: string;
|
|
291
|
+
|
|
292
|
+
audience: string;
|
|
293
|
+
issuer: string;
|
|
294
|
+
maxRetries: number;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
export interface IAuthTokenGroupsProperties {
|
|
298
|
+
sourceFieldOfUniqueId?: string;
|
|
299
|
+
groupsDataSource?: {
|
|
300
|
+
instance: string;
|
|
301
|
+
database: string;
|
|
302
|
+
collection?: string;
|
|
303
|
+
table?: string;
|
|
304
|
+
targetFieldForUniqueId: string;
|
|
305
|
+
groupsColumn: string;
|
|
306
|
+
select?: any;
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export interface IAuthTokenGoogle extends IAuthTokenGroupsProperties {
|
|
311
|
+
clientId: string;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export interface IConnectionOptions {
|
|
315
|
+
title: '', // title of the option
|
|
316
|
+
text?: '', // description of the connection option
|
|
317
|
+
sample?: '' // sample connection string of that option
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
export interface IResponseError {
|
|
321
|
+
type?: EErrorType;
|
|
322
|
+
field?: string;
|
|
323
|
+
message?: string;
|
|
324
|
+
action?: string; // we can give message in this to solve this error or issue.
|
|
325
|
+
value?: any;
|
|
326
|
+
code?: EStatusCode;
|
|
327
|
+
systemMessage?: string;
|
|
328
|
+
dataIndex?: number;
|
|
329
|
+
stack?: any; // it might be present.
|
|
330
|
+
apiCallSequence?: string[];
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export enum EApiPaths {
|
|
334
|
+
API = '/api',
|
|
335
|
+
GEN = '/gen',
|
|
336
|
+
SCHEMA = '/schema',
|
|
337
|
+
THIRD_PARTY = '/third-party',
|
|
338
|
+
THIRD_PARTY_STORE = '/third-party-store',
|
|
339
|
+
CUSTOM_API = '/custom-api',
|
|
340
|
+
SYSTEM_API = '/system-api',
|
|
341
|
+
SITES = '/sites',
|
|
342
|
+
|
|
343
|
+
// test--hook is hard coded in eval utils so please change that also if changing.
|
|
344
|
+
TEST_HOOK = '/test--hook', // it is special url for custom api for hook to test hook code.
|
|
345
|
+
ENCRYPT_DATA = '/encrypt-data',
|
|
346
|
+
DECRYPT_DATA = '/decrypt-data',
|
|
347
|
+
HASH_DATA = '/hash-data',
|
|
348
|
+
GET_TOKEN = '/token',
|
|
349
|
+
CALL_EXTERNAL_API = '/call-external-api',
|
|
350
|
+
EXECUTE_PLAIN_QUERY = '/execute-plain-query', // it is special url for executing
|
|
351
|
+
GET_SECRET_BY_NAME = '/get-secret-by-name', // it is special url for executing
|
|
352
|
+
GET_REDIS_KEY = '/get-redis-key',
|
|
353
|
+
SET_REDIS_KEY = '/set-redis-key',
|
|
354
|
+
REMOVE_REDIS_KEY = '/remove-redis-key',
|
|
355
|
+
RESET_REDIS_CACHE_DB = '/reset-redis-cache-db',
|
|
356
|
+
RESET_REDIS_CACHE_CUSTOM_APIS = '/reset-redis-cache-custom-apis',
|
|
357
|
+
RESET_REDIS_CACHE_SYSTEM_APIS = '/reset-redis-cache-system-apis',
|
|
358
|
+
RESET_REDIS_CACHE_TP_APIS = '/reset-redis-cache-third-party-apis',
|
|
359
|
+
|
|
360
|
+
GET_TABLE_META = '/get-table-meta', // get table meta data for sql databases in some common format.
|
|
361
|
+
EMIT_EVENT = '/emit-event',
|
|
362
|
+
EMIT_EVENT_WS = '/emit-event-ws',
|
|
363
|
+
|
|
364
|
+
// validations
|
|
365
|
+
IS_VALID_DATA_FOR_TABLE = '/is-valid-data-for-table',
|
|
366
|
+
IS_VALID_DATA_FOR_CUSTOM_API = '/is-valid-data-for-custom-api',
|
|
367
|
+
IS_VALID_DATA_FOR_THIRD_PARTY_API = '/is-valid-data-for-third-party-api',
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export interface IQueryFormat {
|
|
371
|
+
find?: any;
|
|
372
|
+
find_join?: IFindJoinFormat[];
|
|
373
|
+
sort?: any;
|
|
374
|
+
skip?: number;
|
|
375
|
+
limit?: number;
|
|
376
|
+
select?: any;
|
|
377
|
+
deep?: IApiParamsDeepFormat[] | string[] | string; // do not use it, it will return old cached obj because of caching so do not use it.
|
|
378
|
+
set?: any; // It will be used for bulk update.
|
|
379
|
+
groupBy?: any; // it is used in mysql query
|
|
380
|
+
updateData?: any; // it is used in updateMany API
|
|
381
|
+
getTotalCount?: boolean; // return total count if it's value is true.
|
|
382
|
+
[key: string]: any;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
export interface IApiParamsDeepFormat {
|
|
386
|
+
s_key: string;
|
|
387
|
+
// t_apiPath?: string;
|
|
388
|
+
t_instance?: string;
|
|
389
|
+
t_db?: string;
|
|
390
|
+
t_col?: string;
|
|
391
|
+
t_key?: string;
|
|
392
|
+
deep?: IApiParamsDeepFormat[] | string[] | string;
|
|
393
|
+
select?: any;
|
|
394
|
+
|
|
395
|
+
// below are additional feature properties newly added to give more flexibility in populate.
|
|
396
|
+
isMultiple?: boolean;
|
|
397
|
+
find?: any;
|
|
398
|
+
sort?: any;
|
|
399
|
+
|
|
400
|
+
// skip & limit can not be supported directly in query, because query is in query with all the ids of array.
|
|
401
|
+
// We process skip & limit while setting multiple data.
|
|
402
|
+
skip?: number;
|
|
403
|
+
limit?: number;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
export interface IDeepFormat extends IApiParamsDeepFormat {
|
|
407
|
+
// below is used in deep
|
|
408
|
+
selectFromNextDeep?: any;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export interface IFindJoinFormat {
|
|
412
|
+
t_instance?: string;
|
|
413
|
+
t_db?: string;
|
|
414
|
+
t_col: string;
|
|
415
|
+
find: any;
|
|
416
|
+
|
|
417
|
+
find_key_target?: string; // after find, put list of ids in this key of find // ex: address.country, address
|
|
418
|
+
find_id_source?: string; // get ids from this source key instead of find property // ex: address.country
|
|
419
|
+
sourceTablePrimaryKey?: string; // it will be present when user defines column in source/parent table schema. We will use it instead of child table primary key.
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
// It is used internally & for users also.
|
|
423
|
+
/**
|
|
424
|
+
* Create array of this interface in schema.
|
|
425
|
+
* It will be validated on every update/save
|
|
426
|
+
*/
|
|
427
|
+
export interface IDataValidation {
|
|
428
|
+
name?: string;
|
|
429
|
+
paths: string[];
|
|
430
|
+
type: EDataValidationType;
|
|
431
|
+
errorMessage?: string | any; // This string will be return to user if it is available.
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
export enum EDataValidationType {
|
|
435
|
+
SUPER_KEY = 'SUPER_KEY', // this combination of keys should be unique, Make sure they are required field.
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
export enum EStatusCode {
|
|
439
|
+
OK = 200,
|
|
440
|
+
NO_CONTENT = 204, // do not use this because it will not send our data with null.
|
|
441
|
+
CREATED = 201,
|
|
442
|
+
BAD_REQUEST = 400,
|
|
443
|
+
UNAUTHORIZED = 401,
|
|
444
|
+
FORBIDDEN = 403, // client is authenticated but doesn't have access plus CORS error
|
|
445
|
+
RESOURCE_NOT_FOUND = 404, // convert 405(Method not allowed) in this 404.
|
|
446
|
+
INTERNAL_SERVER_ERROR = 500,
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
export interface ICallApiFromBackend {
|
|
450
|
+
url: string;
|
|
451
|
+
method?: 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
|
|
452
|
+
timeout?: number;
|
|
453
|
+
body?: any;
|
|
454
|
+
queryParams?: any;
|
|
455
|
+
headers?: any;
|
|
456
|
+
id?: string;
|
|
457
|
+
preProcess?: ICallApiFromBackendDataProcess[];
|
|
458
|
+
postProcess?: ICallApiFromBackendDataProcess[];
|
|
459
|
+
output?: any;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
export interface ICallApiFromBackendDataProcess {
|
|
463
|
+
from?: string; // '1.resp.id'
|
|
464
|
+
to?: string; // 'body.orderId'
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
export interface ICallApiFromBackendProcess {
|
|
468
|
+
type: EApiCallType,
|
|
469
|
+
data: ICallApiFromBackendProcess | ICallApiFromBackend[];
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
export enum EApiCallType {
|
|
473
|
+
parallel = 'parallel',
|
|
474
|
+
sequential = 'sequential',
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
export interface IArrayOperationBody {
|
|
478
|
+
find: any;
|
|
479
|
+
select?: any;
|
|
480
|
+
operations: IArrayOperation[];
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
export interface IArrayOperation {
|
|
484
|
+
operation?: EArrayOperation;
|
|
485
|
+
path?: string;
|
|
486
|
+
dataToPush?: any[]; // $push, used for push operation. Array/Object of data to pushe in array.
|
|
487
|
+
queryToRemove?: any; // $pull, query to remove docs from array.
|
|
488
|
+
dataToPull?: any[]; // $pullAll, array of items which will be removed from array.
|
|
489
|
+
direction?: -1 | 1; // $pop, -1 remove first, 1 remove last.
|
|
490
|
+
position?: number; // $push, used in push. If dataToPush is array we can use it with $each operator.
|
|
491
|
+
slice?: number; // $push, must use with $each, used in push. positive = remove that much elements from front of array. negative = remove items from end of array
|
|
492
|
+
sort?: number; // $push, must use with $each, used in push.
|
|
493
|
+
dataToSet?: any; // object to be passed in $set operator
|
|
494
|
+
arrayFilters?: any[]; // array of objects, to be used to filter array items and set values of $set operator.
|
|
495
|
+
upsert?: boolean; // if value not found in $set operation it will insert new value there.
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
export interface IGetTokenResponse {
|
|
499
|
+
token: string;
|
|
500
|
+
refresh_token: string;
|
|
501
|
+
expires_in: number; // in seconds
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
export interface IAuthTokenInfoCommon {
|
|
505
|
+
apiAccessType?: EAPIAccessType; // api level setting
|
|
506
|
+
authTokenInfo?: IAuthTokenInfo[] | string; // string will point to secret path.
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
export interface IInstanceApiSettingsTypes extends IAuthTokenInfoCommon {
|
|
510
|
+
enableCaching?: boolean; // collection level setting
|
|
511
|
+
acceptOnlyEncryptedData?: boolean; // database & collection & api level setting
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
export type IInstanceApiSettingsTypesForAPI = Omit<IInstanceApiSettingsTypes, 'enableCaching'>;
|
|
515
|
+
|
|
516
|
+
export interface ITPApiSettingsTypes extends IAuthTokenInfoCommon {
|
|
517
|
+
enableCaching?: boolean; // collection level setting
|
|
518
|
+
resetCacheOnModificationOf?: string[]; // ins.db.col | api_bundle.version
|
|
519
|
+
acceptOnlyEncryptedData?: boolean; // database & collection & api level setting
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
export type ITPApiSettingsTypesAPILevel = Omit<ITPApiSettingsTypes, 'enableCaching' | 'resetCacheOnModificationOf'>;
|
|
523
|
+
|
|
524
|
+
export interface ICustomApiSettingsTypes extends IAuthTokenInfoCommon {
|
|
525
|
+
name: string;
|
|
526
|
+
// label: string;
|
|
527
|
+
path: string;
|
|
528
|
+
requestMethod: ERequestMethod;
|
|
529
|
+
enableCaching?: boolean; // collection level setting
|
|
530
|
+
resetCacheOnModificationOf?: string[]; // ins.db.col | api_bundle.version
|
|
531
|
+
acceptOnlyEncryptedData?: boolean; // database & collection & api level setting
|
|
532
|
+
|
|
533
|
+
reqBodySchema?: ISchemaType;
|
|
534
|
+
reqQueryParametersSchema?: ISchemaType;
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* 👉 If true, code will execute on original Node.js process and not in sandbox.<br/>
|
|
538
|
+
* 👉 It makes code execution fast, Do not use it if you don't know what you are doing.<br/>
|
|
539
|
+
* 👉 Bad code can make entire server freeze and give weird behaviour.<br/>
|
|
540
|
+
* 👉 So, it can not use sandbox packages.<br/>
|
|
541
|
+
* 👉 It can use Node.js inbuilt packages.<br/>
|
|
542
|
+
* 👉 It can use packages from package.json of api_maker_be.<br/>
|
|
543
|
+
* 👉 You can use all features of global variable 'g'.<br/>
|
|
544
|
+
*/
|
|
545
|
+
runOnNativeProcess?: boolean;
|
|
546
|
+
|
|
547
|
+
// calculated property
|
|
548
|
+
errorList: string[]; // list of all errors thrown by this API.
|
|
549
|
+
pathAndRequestMethod?: string;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
export interface ISystemApiSettingsTypes extends IAuthTokenInfoCommon {
|
|
553
|
+
enableCaching?: boolean; // collection level setting
|
|
554
|
+
acceptOnlyEncryptedData?: boolean; // database & collection & api level setting
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
export enum EAuthTokenType {
|
|
558
|
+
AM = 'AM', // API Maker user token
|
|
559
|
+
AM_DB = 'AM_DB', // User database entry
|
|
560
|
+
GOOGLE = 'GOOGLE',
|
|
561
|
+
AWS = 'AWS',
|
|
562
|
+
AZURE = 'AZURE',
|
|
563
|
+
// GITHUB = 'GITHUB',
|
|
564
|
+
// FACEBOOK = 'FACEBOOK',
|
|
565
|
+
// TWITTER = 'TWITTER',
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
export enum EArrayOperation {
|
|
569
|
+
push = 'push',
|
|
570
|
+
addToSet = 'addToSet',
|
|
571
|
+
pull = 'pull',
|
|
572
|
+
pullAll = 'pullAll',
|
|
573
|
+
pop = 'pop',
|
|
574
|
+
set = 'set',
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export enum EAPIAccessType {
|
|
578
|
+
IS_PUBLIC = 'IS_PUBLIC',
|
|
579
|
+
TOKEN_ACCESS = 'TOKEN_ACCESS',
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
export interface IAMGlobalSys {
|
|
583
|
+
db: ICommonApisSchema;
|
|
584
|
+
system: IAMGlobalSysSystem;
|
|
585
|
+
cache: IAMGlobalSysCache;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
export interface ICommonApisSchema {
|
|
589
|
+
gen: ICommonApisGen;
|
|
590
|
+
/**
|
|
591
|
+
* => Returns [an array of objects].
|
|
592
|
+
*/
|
|
593
|
+
getAll<T>(query: IApiParamsGetAll): Promise<T[] | null>;
|
|
594
|
+
getAll<T>(query: IApiParamsGetAll, getFullResponse: boolean): Promise<IAPIResponse<T[] | null>>;
|
|
595
|
+
|
|
596
|
+
getAllByStream<T>(query: IApiParamsGetAll, callback: (data: T) => void): Promise<void>;
|
|
597
|
+
/**
|
|
598
|
+
* => Returns [a single object].
|
|
599
|
+
*/
|
|
600
|
+
getById<T>(query: IApiParamsGetById): Promise<T>;
|
|
601
|
+
getById<T>(query: IApiParamsGetById, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
602
|
+
/**
|
|
603
|
+
* => Returns [a object] or [an array of objects].
|
|
604
|
+
*/
|
|
605
|
+
saveSingleOrMultiple<T>(query: IApiParamsSave): Promise<T | T[]>;
|
|
606
|
+
saveSingleOrMultiple<T>(query: IApiParamsSave, getFullResponse: boolean): Promise<IAPIResponse<T | T[]>>;
|
|
607
|
+
/**
|
|
608
|
+
* => Returns [a object] or [an array of objects].
|
|
609
|
+
*/
|
|
610
|
+
masterSave<T>(query: IApiParamsSave): Promise<T | T[]>;
|
|
611
|
+
masterSave<T>(query: IApiParamsSave, getFullResponse: boolean): Promise<IAPIResponse<T | T[]>>;
|
|
612
|
+
|
|
613
|
+
arrayOperations<T>(query: IArrayOperationBody & IAMGlobalBaseParams): Promise<T>;
|
|
614
|
+
arrayOperations<T>(query: IArrayOperationBody & IAMGlobalBaseParams, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
615
|
+
/**
|
|
616
|
+
* => Returns [a single object].
|
|
617
|
+
*/
|
|
618
|
+
updateById<T>(query: IApiParamsUpdate): Promise<T>;
|
|
619
|
+
updateById<T>(query: IApiParamsUpdate, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
620
|
+
/**
|
|
621
|
+
* => Returns [updatedRowsCount].
|
|
622
|
+
*/
|
|
623
|
+
updateMany(query: IApiParamsUpdateMany): Promise<IUpdateManyAPIResponse>;
|
|
624
|
+
updateMany(query: IApiParamsUpdateMany, getFullResponse: boolean): Promise<IAPIResponse<IUpdateManyAPIResponse>>;
|
|
625
|
+
/**
|
|
626
|
+
* => Returns [a single object].
|
|
627
|
+
*/
|
|
628
|
+
replaceById<T>(query: IApiParamsUpdate): Promise<T>;
|
|
629
|
+
replaceById<T>(query: IApiParamsUpdate, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
630
|
+
/**
|
|
631
|
+
* => Returns [a single object].
|
|
632
|
+
*/
|
|
633
|
+
removeById<T>(query: IApiParamsRemove): Promise<T>;
|
|
634
|
+
removeById<T>(query: IApiParamsRemove, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
635
|
+
removeByQuery<T>(query: Pick<IApiParamsQuery, 'instance' | 'database' | 'collection' | 'find' | 'headers'>): Promise<T>;
|
|
636
|
+
removeByQuery<T>(query: Pick<IApiParamsQuery, 'instance' | 'database' | 'collection' | 'find' | 'headers'>, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
637
|
+
/**
|
|
638
|
+
* => Returns [an array of objects].
|
|
639
|
+
*/
|
|
640
|
+
query<T>(query: IApiParamsQuery): Promise<T[]>;
|
|
641
|
+
query<T>(query: IApiParamsQuery, getFullResponse: boolean): Promise<IAPIResponse<T[]>>;
|
|
642
|
+
|
|
643
|
+
queryByStream<T>(query: IApiParamsQueryStream, callback: (data: T) => void): Promise<void>;
|
|
644
|
+
|
|
645
|
+
aggregate(query: IApiParamsAggregate): Promise<any>;
|
|
646
|
+
aggregate(query: IApiParamsAggregate, getFullResponse: boolean): Promise<IAPIResponse<any>>;
|
|
647
|
+
|
|
648
|
+
count(query: IApiParamsCount): Promise<number>;
|
|
649
|
+
count(query: IApiParamsCount, getFullResponse: boolean): IAPIResponse<number>;
|
|
650
|
+
|
|
651
|
+
distinct(query: Omit<IApiParamsDistinct, 'find'>): Promise<any[]>;
|
|
652
|
+
distinct(query: Omit<IApiParamsDistinct, 'find'>, getFullResponse: boolean): Promise<IAPIResponse<any[]>>;
|
|
653
|
+
|
|
654
|
+
distinctQuery(query: IApiParamsDistinct): Promise<any[]>;
|
|
655
|
+
distinctQuery(query: IApiParamsDistinct, getFullResponse: boolean): Promise<IAPIResponse<any[]>>;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
export interface ICommonApisGen {
|
|
659
|
+
/**
|
|
660
|
+
* => Returns [an array of objects].
|
|
661
|
+
*/
|
|
662
|
+
getAllGen<T>(query: IApiParamsGetAll): Promise<T[] | null>;
|
|
663
|
+
getAllGen<T>(query: IApiParamsGetAll, getFullResponse: boolean): Promise<IAPIResponse<T[] | null>>;
|
|
664
|
+
|
|
665
|
+
getAllByStreamGen<T>(query: IApiParamsGetAll, callback: (data: T) => void): Promise<void>;
|
|
666
|
+
/**
|
|
667
|
+
* => Returns [a single object].
|
|
668
|
+
*/
|
|
669
|
+
getByIdGen<T>(query: IApiParamsGetById): Promise<T>;
|
|
670
|
+
getByIdGen<T>(query: IApiParamsGetById, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
671
|
+
/**
|
|
672
|
+
* => Returns [a object] or [an array of objects].
|
|
673
|
+
*/
|
|
674
|
+
saveSingleOrMultipleGen<T>(query: IApiParamsSave): Promise<T | T[]>;
|
|
675
|
+
saveSingleOrMultipleGen<T>(query: IApiParamsSave, getFullResponse: boolean): Promise<IAPIResponse<T | T[]>>;
|
|
676
|
+
/**
|
|
677
|
+
* => Returns [a object] or [an array of objects].
|
|
678
|
+
*/
|
|
679
|
+
masterSaveGen<T>(query: IApiParamsSave): Promise<T | T[]>;
|
|
680
|
+
masterSaveGen<T>(query: IApiParamsSave, getFullResponse: boolean): Promise<IAPIResponse<T | T[]>>;
|
|
681
|
+
|
|
682
|
+
arrayOperationsGen<T>(query: IArrayOperationBody & IAMGlobalBaseParams): Promise<T>;
|
|
683
|
+
arrayOperationsGen<T>(query: IArrayOperationBody & IAMGlobalBaseParams, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
684
|
+
/**
|
|
685
|
+
* => Returns [a single object].
|
|
686
|
+
*/
|
|
687
|
+
updateByIdGen<T>(query: IApiParamsUpdate): Promise<T>;
|
|
688
|
+
updateByIdGen<T>(query: IApiParamsUpdate, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
689
|
+
/**
|
|
690
|
+
* => Returns [updatedRowsCount].
|
|
691
|
+
*/
|
|
692
|
+
updateManyGen(query: IApiParamsUpdateMany): Promise<IUpdateManyAPIResponse>;
|
|
693
|
+
updateManyGen(query: IApiParamsUpdateMany, getFullResponse: boolean): Promise<IAPIResponse<IUpdateManyAPIResponse>>;
|
|
694
|
+
/**
|
|
695
|
+
* => Returns [a single object].
|
|
696
|
+
*/
|
|
697
|
+
replaceByIdGen<T>(query: IApiParamsUpdate): Promise<T>;
|
|
698
|
+
replaceByIdGen<T>(query: IApiParamsUpdate, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
699
|
+
/**
|
|
700
|
+
* => Returns [a single object].
|
|
701
|
+
*/
|
|
702
|
+
removeByIdGen<T>(query: IApiParamsRemove): Promise<T>;
|
|
703
|
+
removeByIdGen<T>(query: IApiParamsRemove, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
704
|
+
removeByQueryGen<T>(query: Pick<IApiParamsQuery, 'instance' | 'database' | 'collection' | 'find'>): Promise<T>;
|
|
705
|
+
removeByQueryGen<T>(query: Pick<IApiParamsQuery, 'instance' | 'database' | 'collection' | 'find'>, getFullResponse: boolean): Promise<IAPIResponse<T>>;
|
|
706
|
+
/**
|
|
707
|
+
* => Returns [an array of objects].
|
|
708
|
+
*/
|
|
709
|
+
queryGen<T>(query: IApiParamsQuery): Promise<T[]>;
|
|
710
|
+
queryGen<T>(query: IApiParamsQuery, getFullResponse: boolean): Promise<IAPIResponse<T[]>>;
|
|
711
|
+
|
|
712
|
+
queryByStreamGen<T>(query: IApiParamsQueryStream, callback: (data: T) => void): Promise<void>;
|
|
713
|
+
|
|
714
|
+
aggregateGen(query: IApiParamsAggregate): Promise<any>;
|
|
715
|
+
aggregateGen(query: IApiParamsAggregate, getFullResponse: boolean): Promise<IAPIResponse<any>>;
|
|
716
|
+
|
|
717
|
+
countGen(query: IApiParamsCount): Promise<number>;
|
|
718
|
+
countGen(query: IApiParamsCount, getFullResponse: boolean): IAPIResponse<number>;
|
|
719
|
+
|
|
720
|
+
distinctGen(query: Omit<IApiParamsDistinct, 'find'>): Promise<any[]>;
|
|
721
|
+
distinctGen(query: Omit<IApiParamsDistinct, 'find'>, getFullResponse: boolean): Promise<IAPIResponse<any[]>>;
|
|
722
|
+
|
|
723
|
+
distinctQueryGen(query: IApiParamsDistinct): Promise<any[]>;
|
|
724
|
+
distinctQueryGen(query: IApiParamsDistinct, getFullResponse: boolean): Promise<IAPIResponse<any[]>>;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
export interface IAMGlobalSysSystem {
|
|
728
|
+
encrypt(body: any): Promise<string>;
|
|
729
|
+
encrypt(body: any, getFullResponse: boolean): Promise<string>;
|
|
730
|
+
encrypt(body: any, algorithm: EEncryptionAlgorithm, pass: string): Promise<string>;
|
|
731
|
+
encrypt(body: any, algorithm: EEncryptionAlgorithm, pass: string, getFullResponse: boolean): Promise<string>;
|
|
732
|
+
|
|
733
|
+
decrypt(body: string): Promise<any>;
|
|
734
|
+
decrypt(body: string, getFullResponse: boolean): Promise<string>;
|
|
735
|
+
decrypt(body: string, algorithm: EEncryptionAlgorithm, pass: string): Promise<any>;
|
|
736
|
+
decrypt(body: string, algorithm: EEncryptionAlgorithm, pass: string, getFullResponse: boolean): Promise<string>;
|
|
737
|
+
|
|
738
|
+
hash(body: any): any;
|
|
739
|
+
getSecret(name: string | string[], fromSecretName: string, getFullResponse: boolean): any;
|
|
740
|
+
getSecret(name: string | string[], fromSecretName: string): any;
|
|
741
|
+
getSecret(name: string | string[], getFullResponse: boolean): any;
|
|
742
|
+
getSecret(name: string | string[]): any;
|
|
743
|
+
getSecret(): any; // we can call it without any param also, in store and in tp it will return object of that part.
|
|
744
|
+
callExternalApi<T>(data: ICallApiFromBackend | ICallApiFromBackend[] | ICallApiFromBackendProcess | ICallApiFromBackendProcess[] | (ICallApiFromBackend | ICallApiFromBackendProcess)[]): Promise<ICallExternalApiResp<T>>;
|
|
745
|
+
callExternalApi(data: ICallApiFromBackend | ICallApiFromBackend[] | ICallApiFromBackendProcess | ICallApiFromBackendProcess[] | (ICallApiFromBackend | ICallApiFromBackendProcess)[]): Promise<ICallExternalApiResp<any>>;
|
|
746
|
+
getToken(data: IAuthTokenInfo | IAuthTokenInfo[]): any;
|
|
747
|
+
executeQuery(query: IExecuteQuery): any;
|
|
748
|
+
/**
|
|
749
|
+
* It should be used SQL based databases only.
|
|
750
|
+
* In MongoDB You can just modify schema. but we can use for mongo also.
|
|
751
|
+
*/
|
|
752
|
+
getTableMeta(data: Omit<IAMGlobalBaseParams, 'headers'>): any;
|
|
753
|
+
emitEvent<D>(eventName: string, eventData?: D, executeListeners?: string[]): Promise<IEmitEvent<D>>;
|
|
754
|
+
emitEventWS<D>(eventName: string, eventData?: D): Promise<void>;
|
|
755
|
+
|
|
756
|
+
// data validation
|
|
757
|
+
isValidDataForTable(data: IIsValidDataForTable): Promise<IResponseError[]>;
|
|
758
|
+
isValidDataForTable(data: IIsValidDataForTable[]): Promise<IResponseError[][]>;
|
|
759
|
+
isValidDataForTable(data: IIsValidDataForTable, getFullResponse: boolean): Promise<IResponseError[]>;
|
|
760
|
+
isValidDataForTable(data: IIsValidDataForTable[], getFullResponse: boolean): Promise<IResponseError[][]>;
|
|
761
|
+
|
|
762
|
+
isValidDataForCustomAPI(data: IIsValidDataForCustomAPI): Promise<IResponseError[]>;
|
|
763
|
+
isValidDataForCustomAPI(data: IIsValidDataForCustomAPI[]): Promise<IResponseError[][]>;
|
|
764
|
+
isValidDataForCustomAPI(data: IIsValidDataForCustomAPI, getFullResponse: boolean): Promise<IResponseError[]>;
|
|
765
|
+
isValidDataForCustomAPI(data: IIsValidDataForCustomAPI[], getFullResponse: boolean): Promise<IResponseError[][]>;
|
|
766
|
+
|
|
767
|
+
isValidDataForThirdPartyAPI(data: IIsValidDataForThirdPartyAPI): Promise<IResponseError[]>;
|
|
768
|
+
isValidDataForThirdPartyAPI(data: IIsValidDataForThirdPartyAPI[]): Promise<IResponseError[][]>;
|
|
769
|
+
isValidDataForThirdPartyAPI(data: IIsValidDataForThirdPartyAPI, getFullResponse: boolean): Promise<IResponseError[]>;
|
|
770
|
+
isValidDataForThirdPartyAPI(data: IIsValidDataForThirdPartyAPI[], getFullResponse: boolean): Promise<IResponseError[][]>;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
export interface ICallExternalApiResp<T> {
|
|
774
|
+
statusCode: number;
|
|
775
|
+
headers: any;
|
|
776
|
+
body: T;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
export interface IAMGlobalSysCache {
|
|
780
|
+
getKey(name: string | string[]): any;
|
|
781
|
+
setKey(name: string | ISetRedisInternalRequestObj[], value?: string, ttlSeconds?: number): any;
|
|
782
|
+
removeKey(name: string | string[]): any;
|
|
783
|
+
resetCacheDB(params: IResetRedisCacheDB): any;
|
|
784
|
+
resetCacheCustomApis(name: string): any;
|
|
785
|
+
resetCacheSystemApis(name: string): any;
|
|
786
|
+
resetCacheThirdPartyApis(params: IResetRedisCacheTP): any;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
export enum EEncryptionAlgorithm {
|
|
790
|
+
AES = 'AES',
|
|
791
|
+
RC4 = 'RC4',
|
|
792
|
+
TRIPLEDES = 'TRIPLEDES',
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
export enum EHashingAlgorithms {
|
|
796
|
+
SHA256 = 'SHA256',
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
export interface IThirdPartyAPIIdentity {
|
|
800
|
+
apiBundleName: string; // npmPackageName // apiBundleName
|
|
801
|
+
// developedByUsername: string;
|
|
802
|
+
apiVersionName: string;
|
|
803
|
+
name: string;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
export interface ICollectionIdentity {
|
|
807
|
+
instance: string;
|
|
808
|
+
database?: string;
|
|
809
|
+
collection?: string;
|
|
810
|
+
table?: string;
|
|
811
|
+
/**
|
|
812
|
+
* If true, it will not throw cycle error.<br/>
|
|
813
|
+
* true = Default in custom APIs, schedulers, third party APIs, migration scripts, test cases, because they can not call themselves.<br/>
|
|
814
|
+
* false = Default in Events & pre hooks & post hooks.<br/>
|
|
815
|
+
* If utility class is called from default true category like custom API, it is true, otherwise false.<br/>
|
|
816
|
+
*/
|
|
817
|
+
noCycle?: boolean;
|
|
818
|
+
|
|
819
|
+
/**
|
|
820
|
+
* If true, it will skip pre hook & post hook running.
|
|
821
|
+
*/
|
|
822
|
+
skipHookRunning?: boolean;
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
export interface IAMGlobalBaseParams extends ICollectionIdentity {
|
|
826
|
+
headers?: any;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
export interface IApiParamsGetAll extends IAMGlobalBaseParams {
|
|
830
|
+
queryParams?: IGetAllQueryParams;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
export interface IGetAllQueryParams {
|
|
834
|
+
find?: any;
|
|
835
|
+
skip?: number;
|
|
836
|
+
limit?: number;
|
|
837
|
+
sort?: any;
|
|
838
|
+
select?: any;
|
|
839
|
+
deep?: IApiParamsDeepFormat[] | string[] | string;
|
|
840
|
+
getTotalCount?: boolean;
|
|
841
|
+
[key: string]: any;
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
export interface IApiParamsGetById extends IAMGlobalBaseParams {
|
|
845
|
+
id: any;
|
|
846
|
+
primaryKey?: string;
|
|
847
|
+
select?: any;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
export interface IApiParamsSave extends IAMGlobalBaseParams {
|
|
851
|
+
saveData?: any; // used to save data in db.
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
export interface IApiParamsQueryStream extends IAMGlobalBaseParams {
|
|
855
|
+
find?: any;
|
|
856
|
+
sort?: any;
|
|
857
|
+
skip?: number;
|
|
858
|
+
limit?: number;
|
|
859
|
+
select?: any;
|
|
860
|
+
deep?: IApiParamsDeepFormat[] | string[] | string; // do not use it, it will return old cached obj because of caching so do not use it.
|
|
861
|
+
groupBy?: any; // it is used in mysql query
|
|
862
|
+
updateData?: any;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
export interface IApiParamsQuery extends IApiParamsQueryStream {
|
|
866
|
+
getTotalCount?: boolean;
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
export interface IApiParamsCount extends IAMGlobalBaseParams {
|
|
870
|
+
find?: any;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
export interface IApiParamsUpdate extends IAMGlobalBaseParams {
|
|
874
|
+
id?: any;
|
|
875
|
+
updateData?: any; // It will be used for bulk update.
|
|
876
|
+
primaryKey?: string;
|
|
877
|
+
upsert?: boolean; // insert if item not available.
|
|
878
|
+
returnDocument?: string; // return old doc if 'before', 'before' | 'after'
|
|
879
|
+
select?: any; // to select which rows will return in response.
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
export interface IApiParamsUpdateMany extends IAMGlobalBaseParams {
|
|
883
|
+
find: any;
|
|
884
|
+
updateData: any;
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
export interface IApiParamsAggregate extends IAMGlobalBaseParams {
|
|
888
|
+
aggregateQuery?: any; // It will be used for aggregate body
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
export interface IApiParamsRemove extends IAMGlobalBaseParams {
|
|
892
|
+
id?: any;
|
|
893
|
+
primaryKey?: string;
|
|
894
|
+
select?: any;
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
export interface IApiParamsDistinct extends IAMGlobalBaseParams {
|
|
898
|
+
distinctField: string;
|
|
899
|
+
order?: 'asc' | 'desc' | any; // asc/desc/dsc , true/false, yes/no, 1/0
|
|
900
|
+
find?: any; // not supported by mongoDB, and supported in SQL dbs.
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
export interface IExecuteQuery {
|
|
904
|
+
instance: string;
|
|
905
|
+
database?: string; // required for postgresql, mongodb only
|
|
906
|
+
collection?: string; // required for mongodb only
|
|
907
|
+
query: string | {
|
|
908
|
+
find: any;
|
|
909
|
+
sort?: any;
|
|
910
|
+
skip?: number;
|
|
911
|
+
limit?: number;
|
|
912
|
+
select?: any;
|
|
913
|
+
};
|
|
914
|
+
headers?: any;
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
export interface IEncryptDecryptDataRequest {
|
|
918
|
+
data: string;
|
|
919
|
+
algorithm?: EEncryptionAlgorithm;
|
|
920
|
+
pass?: string;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
export interface IDecryptDataFETransfer {
|
|
924
|
+
dataEncFE: string;
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
export interface IDecryptDataFETransferPayload {
|
|
928
|
+
data: any;
|
|
929
|
+
createdAt: Date;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
// it can be value or TTL
|
|
933
|
+
export interface ISetRedisInternalRequestObj {
|
|
934
|
+
key: string;
|
|
935
|
+
value?: string;
|
|
936
|
+
ttl?: number; // in seconds
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
export interface IResetRedisCacheDB extends ICollectionIdentity {
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
export interface IResetRedisCacheTP {
|
|
943
|
+
apiBundleName: string;
|
|
944
|
+
apiVersionName?: string;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
export interface IGetSecretInternalRequestBody {
|
|
948
|
+
keys: string | string[];
|
|
949
|
+
fromSecretName?: string;
|
|
950
|
+
parentParams?: IAMGlobalBaseParams; // it will be present
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
export interface IEmitEvent<D> {
|
|
954
|
+
name: string;
|
|
955
|
+
eventData?: D;
|
|
956
|
+
executeListeners?: string[];
|
|
957
|
+
outputArr?: [{ listenerName: string; output: any; }];
|
|
958
|
+
executedEvents?: IExecutedEvents;
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
export interface IEmitEventWS<D> {
|
|
962
|
+
name: string;
|
|
963
|
+
eventData?: D;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
export interface IUpdateManyAPIResponse {
|
|
967
|
+
/** When actual update operation happens, it has value greater than 0 */
|
|
968
|
+
updatedRowsCount: number;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
export interface IAPIResponse<T> {
|
|
972
|
+
data?: T;
|
|
973
|
+
totalCount?: number;
|
|
974
|
+
encryptedData?: string;
|
|
975
|
+
errors?: IResponseError[];
|
|
976
|
+
logs?: any[];
|
|
977
|
+
meta?: IAPIResponseMeta;
|
|
978
|
+
stackTraceErrors?: any[];
|
|
979
|
+
statusCode: EStatusCode;
|
|
980
|
+
success: boolean;
|
|
981
|
+
warnings?: IResponseError[];
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
// WebSocket connection response format.
|
|
985
|
+
export interface IWSResponse {
|
|
986
|
+
type: EWSObjectType;
|
|
987
|
+
response?: IWSRegisterResponse | IWSConnectedResponse | IWSUnregisterResponse | IWSNotificationResponse;
|
|
988
|
+
errors?: IResponseError[];
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
export interface IWSRegisterResponse {
|
|
992
|
+
validOnEvents: IWSRegisterOnEvent[];
|
|
993
|
+
invalidOnEvents: IWSRegisterOnEvent[];
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
export interface IWSConnectedResponse {
|
|
997
|
+
connected?: boolean;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
export type IWSUnregisterResponse = IWSObject;
|
|
1001
|
+
|
|
1002
|
+
export interface IWSNotificationResponse {
|
|
1003
|
+
eventId: string;
|
|
1004
|
+
eventData: any;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
export interface IAPIResponseMeta {
|
|
1008
|
+
executionTime?: string;
|
|
1009
|
+
executionPlan?: any[]; // IMongodbExplainPlan[];
|
|
1010
|
+
apiAccessGroups?: IAPIAccessGroupMeta[];
|
|
1011
|
+
runBy?: ICodeRunByResponse[];
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
export interface ICodeRunByResponse {
|
|
1015
|
+
apiCategory: any; // EAPICategory enum value.
|
|
1016
|
+
serverId: string;
|
|
1017
|
+
processId: string;
|
|
1018
|
+
workerId: string;
|
|
1019
|
+
port: number;
|
|
1020
|
+
publishToRedis?: boolean; // true = if request received by redis.
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
export interface IAPIAccessGroupMeta {
|
|
1024
|
+
groupId?: string;
|
|
1025
|
+
groupName?: string;
|
|
1026
|
+
hasAccess?: boolean;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
export interface IDeleteAPIResponse {
|
|
1030
|
+
deletedRows: any[];
|
|
1031
|
+
deletedRowsCount: number;
|
|
1032
|
+
ids: any[];
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
export interface IExecutedEvents {
|
|
1036
|
+
eventNameArr: string[];
|
|
1037
|
+
eventNameMap: any;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
export interface IIsValidDataForTable extends ICollectionIdentity {
|
|
1041
|
+
data: any;
|
|
1042
|
+
sendingTo?: 'SAVE' | 'UPDATE';
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
export type IIsValidDataForTable_KA = (keyof IIsValidDataForTable)[];
|
|
1046
|
+
|
|
1047
|
+
export enum ECustomAPIDataValidationType {
|
|
1048
|
+
BODY = 'BODY',
|
|
1049
|
+
QUERY_PARAMS = 'QUERY_PARAMS',
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
export interface IIsValidDataForCustomAPI {
|
|
1053
|
+
name: string;
|
|
1054
|
+
data: any;
|
|
1055
|
+
type: ECustomAPIDataValidationType;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
export interface IIsValidDataForThirdPartyAPI extends IThirdPartyAPIIdentity {
|
|
1059
|
+
data: any;
|
|
1060
|
+
type: ECustomAPIDataValidationType;
|
|
1061
|
+
isArray?: boolean;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
export enum EWSEventType {
|
|
1065
|
+
INSTANCES = 'INSTANCES',
|
|
1066
|
+
THIRD_PARTY_APIS = 'THIRD_PARTY_APIS',
|
|
1067
|
+
CUSTOM_APIS = 'CUSTOM_APIS',
|
|
1068
|
+
SYSTEM_APIS = 'SYSTEM_APIS',
|
|
1069
|
+
CUSTOM_WS_EVENTS = 'CUSTOM_WS_EVENTS',
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
export enum EWSObjectType {
|
|
1073
|
+
REGISTER = 'REGISTER',
|
|
1074
|
+
UNREGISTER = 'UNREGISTER',
|
|
1075
|
+
CONNECTED = 'CONNECTED',
|
|
1076
|
+
UNKNOWN = 'UNKNOWN',
|
|
1077
|
+
TOKEN_VALIDATION = 'TOKEN_VALIDATION',
|
|
1078
|
+
NOTIFICATION = 'NOTIFICATION',
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
export interface IWSObject {
|
|
1082
|
+
guid: string;
|
|
1083
|
+
objType: EWSObjectType;
|
|
1084
|
+
onEvents: IWSRegisterOnEvent[];
|
|
1085
|
+
validatedTokens: {
|
|
1086
|
+
apiUser?: any; // IApiUser
|
|
1087
|
+
amUser?: any; // IUser
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
export type IWSObject_P = Partial<IWSObject>;
|
|
1092
|
+
|
|
1093
|
+
export interface IWSRegisterOnEvent {
|
|
1094
|
+
eventId?: string; // it will be generated by BE and it is useful to unregister that specific event.
|
|
1095
|
+
wsEventId?: string; // used in log saving. _id of IWebSocketEvents
|
|
1096
|
+
eventType: EWSEventType;
|
|
1097
|
+
|
|
1098
|
+
// instance apis
|
|
1099
|
+
instance?: string;
|
|
1100
|
+
database?: string;
|
|
1101
|
+
collection?: string;
|
|
1102
|
+
table?: string;
|
|
1103
|
+
|
|
1104
|
+
// third party apis
|
|
1105
|
+
apiBundleName?: string;
|
|
1106
|
+
apiVersion?: string;
|
|
1107
|
+
|
|
1108
|
+
apiName: string;
|
|
1109
|
+
|
|
1110
|
+
condition?: IWSCondition; // receive event when this condition match.
|
|
1111
|
+
select?: any; // select fields from objects after condition matched.
|
|
1112
|
+
getEventData?: boolean; // if true we will send eventData based on select, otherwise we will not send eventData field in WS notifications
|
|
1113
|
+
|
|
1114
|
+
// calculated field. // user will not provide it.
|
|
1115
|
+
eventData?: any;
|
|
1116
|
+
apiPath: string; // user will not send it. We will set it from api user token. and user hit that get token system api to get token of specific admin.
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
export type IWSRegisterOnEvent_P = Partial<IWSRegisterOnEvent>;
|
|
1120
|
+
|
|
1121
|
+
export interface IWSCondition {
|
|
1122
|
+
conditionType: EWSConditionType;
|
|
1123
|
+
criteria: any;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
export enum EWSConditionType {
|
|
1127
|
+
RESPONSE = 'RESPONSE',
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
export interface ITestCaseSuccess {
|
|
1131
|
+
name?: string;
|
|
1132
|
+
testCasePass: true;
|
|
1133
|
+
smallTestCases?: ITestCaseResult[];
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
export interface ITestCaseFail {
|
|
1137
|
+
name?: string;
|
|
1138
|
+
testCasePass: false;
|
|
1139
|
+
message?: string;
|
|
1140
|
+
actual?: any; // variable value.
|
|
1141
|
+
expected?: any; // variable value should be this expected value.
|
|
1142
|
+
smallTestCases?: ITestCaseResult[];
|
|
1143
|
+
stack?: any;
|
|
1144
|
+
errors?: any;
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
export type ITestCaseResult = ITestCaseSuccess | ITestCaseFail; // _id is test case _id.
|
|
1148
|
+
|
|
1149
|
+
export interface ITestCaseSandboxCode {
|
|
1150
|
+
name: string;
|
|
1151
|
+
code: Function;
|
|
1152
|
+
|
|
1153
|
+
// calculated fields while running
|
|
1154
|
+
smallTestCasePass?: boolean;
|
|
1155
|
+
error?: any; // it can be array of errors or single error. When coming from system API calls, it can be array.
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
export type ITestCaseSandboxCode_P = Partial<ITestCaseSandboxCode>;
|
|
1159
|
+
|
|
1160
|
+
// ==== DB Master configurations Start ====
|
|
1161
|
+
|
|
1162
|
+
export enum EDBMasterTheme {
|
|
1163
|
+
BOOTSTRAP4_LIGHT_BLUE = 'bootstrap4-light-blue',
|
|
1164
|
+
BOOTSTRAP4_LIGHT_PURPLE = 'bootstrap4-light-purple',
|
|
1165
|
+
BOOTSTRAP4_DARK_BLUE = 'bootstrap4-dark-blue',
|
|
1166
|
+
BOOTSTRAP4_DARK_PURPLE = 'bootstrap4-dark-purple',
|
|
1167
|
+
MD_LIGHT_INDIGO = 'md-light-indigo',
|
|
1168
|
+
MD_LIGHT_DEEPPURPLE = 'md-light-deeppurple',
|
|
1169
|
+
MD_DARK_INDIGO = 'md-dark-indigo',
|
|
1170
|
+
MD_DARK_DEEPPURPLE = 'md-dark-deeppurple',
|
|
1171
|
+
MDC_LIGHT_INDIGO = 'mdc-light-indigo',
|
|
1172
|
+
MDC_LIGHT_DEEPPURPLE = 'mdc-light-deeppurple',
|
|
1173
|
+
MDC_DARK_INDIGO = 'mdc-dark-indigo',
|
|
1174
|
+
MDC_DARK_DEEPPURPLE = 'mdc-dark-deeppurple',
|
|
1175
|
+
FLUENT_LIGHT = 'fluent-light',
|
|
1176
|
+
LARA_LIGHT_BLUE = 'lara-light-blue',
|
|
1177
|
+
LARA_LIGHT_INDIGO = 'lara-light-indigo',
|
|
1178
|
+
LARA_LIGHT_PURPLE = 'lara-light-purple',
|
|
1179
|
+
LARA_LIGHT_TEAL = 'lara-light-teal',
|
|
1180
|
+
LARA_DARK_BLUE = 'lara-dark-blue',
|
|
1181
|
+
LARA_DARK_INDIGO = 'lara-dark-indigo',
|
|
1182
|
+
LARA_DARK_PURPLE = 'lara-dark-purple',
|
|
1183
|
+
LARA_DARK_TEAL = 'lara-dark-teal',
|
|
1184
|
+
SOHO_LIGHT = 'soho-light',
|
|
1185
|
+
SOHO_DARK = 'soho-dark',
|
|
1186
|
+
VIVA_LIGHT = 'viva-light',
|
|
1187
|
+
VIVA_DARK = 'viva-dark',
|
|
1188
|
+
MIRA = 'mira',
|
|
1189
|
+
NANO = 'nano',
|
|
1190
|
+
SAGA_BLUE = 'saga-blue',
|
|
1191
|
+
SAGA_GREEN = 'saga-green',
|
|
1192
|
+
SAGA_ORANGE = 'saga-orange',
|
|
1193
|
+
SAGA_PURPLE = 'saga-purple',
|
|
1194
|
+
VELA_BLUE = 'vela-blue',
|
|
1195
|
+
VELA_GREEN = 'vela-green',
|
|
1196
|
+
VELA_ORANGE = 'vela-orange',
|
|
1197
|
+
VELA_PURPLE = 'vela-purple',
|
|
1198
|
+
ARYA_BLUE = 'arya-blue',
|
|
1199
|
+
ARYA_GREEN = 'arya-green',
|
|
1200
|
+
ARYA_ORANGE = 'arya-orange',
|
|
1201
|
+
ARYA_PURPLE = 'arya-purple',
|
|
1202
|
+
NOVA = 'nova',
|
|
1203
|
+
NOVA_ALT = 'nova-alt',
|
|
1204
|
+
NOVA_ACCENT = 'nova-accent',
|
|
1205
|
+
LUNA_AMBER = 'luna-amber',
|
|
1206
|
+
LUNA_BLUE = 'luna-blue',
|
|
1207
|
+
LUNA_GREEN = 'luna-green',
|
|
1208
|
+
LUNA_PINK = 'luna-pink',
|
|
1209
|
+
RHEA = 'rhea',
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
export enum EDBMasterGridExport {
|
|
1213
|
+
CSV = 'CSV',
|
|
1214
|
+
CSV_SELECTED = 'CSV Selected',
|
|
1215
|
+
// PDF = 'PDF',
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
export interface IDBMasterConfig {
|
|
1219
|
+
theme?: EDBMasterTheme;
|
|
1220
|
+
|
|
1221
|
+
/** Default : false */
|
|
1222
|
+
showThemeSelector?: boolean;
|
|
1223
|
+
|
|
1224
|
+
/**
|
|
1225
|
+
* Default : browser timezone.
|
|
1226
|
+
* Dates will be converted into this timezone before display in grid and sending to database query.
|
|
1227
|
+
*/
|
|
1228
|
+
dateTimeZone?: string;
|
|
1229
|
+
|
|
1230
|
+
/**
|
|
1231
|
+
* Default : 'dd-MM-yyyy hh:mm:ss a'
|
|
1232
|
+
* System is using date-fns formats to format date object in grid cells.
|
|
1233
|
+
* This format will be converted automatically for primeNG calendar control.
|
|
1234
|
+
* It will not work when unsupported format options of primeNg calendar control are used.
|
|
1235
|
+
*
|
|
1236
|
+
* PrimeNG calendar does not support time format but it will be automatically appended.
|
|
1237
|
+
* This format will be applicable to all Calendar control in UI.
|
|
1238
|
+
*/
|
|
1239
|
+
dateTimeFormat?: string;
|
|
1240
|
+
|
|
1241
|
+
operations?: {
|
|
1242
|
+
delete?: boolean;
|
|
1243
|
+
edit?: boolean;
|
|
1244
|
+
add?: boolean;
|
|
1245
|
+
|
|
1246
|
+
hideDeleteConfirmation?: boolean;
|
|
1247
|
+
hideDeleteAllConfirmation?: boolean;
|
|
1248
|
+
hideEditConfirmation?: boolean;
|
|
1249
|
+
hideAddConfirmation?: boolean;
|
|
1250
|
+
};
|
|
1251
|
+
externalLibs?: {
|
|
1252
|
+
css?: string[],
|
|
1253
|
+
js?: string[],
|
|
1254
|
+
},
|
|
1255
|
+
cssCode?: {
|
|
1256
|
+
runOn: 'header',
|
|
1257
|
+
code: string,
|
|
1258
|
+
}[],
|
|
1259
|
+
jsCode?: {
|
|
1260
|
+
appendTo: 'oncePageLoad' | 'gridRender' | 'modifyGridRequest',
|
|
1261
|
+
/**
|
|
1262
|
+
* // gridEvent, gridData are available to use.
|
|
1263
|
+
*
|
|
1264
|
+
* // Return promise for long awaiting tasks.
|
|
1265
|
+
* new Promise(async (resolve, reject) => {
|
|
1266
|
+
* await new Promise(r => setTimeout(r, 3000));
|
|
1267
|
+
* gridData[0].name = 'Sample data';
|
|
1268
|
+
* resolve();
|
|
1269
|
+
* });
|
|
1270
|
+
*
|
|
1271
|
+
* // Directly modify data of grid
|
|
1272
|
+
* gridData[0].name = 'Sample data';
|
|
1273
|
+
*
|
|
1274
|
+
* // Return function
|
|
1275
|
+
* (function setData() { gridData[0].name = 'Sample data'; } );
|
|
1276
|
+
*
|
|
1277
|
+
*/
|
|
1278
|
+
code: string,
|
|
1279
|
+
}[],
|
|
1280
|
+
grid?: {
|
|
1281
|
+
header?: string;
|
|
1282
|
+
|
|
1283
|
+
/** Default : false */
|
|
1284
|
+
showColumnSelector?: boolean;
|
|
1285
|
+
|
|
1286
|
+
/** Default : 50rem */
|
|
1287
|
+
minWidth?: string;
|
|
1288
|
+
|
|
1289
|
+
/**
|
|
1290
|
+
* If empty, it will generate grid for all fields of schema in schema order.
|
|
1291
|
+
* It will not generate _id for Mongo DB.
|
|
1292
|
+
*/
|
|
1293
|
+
fields?: IDBMasterConfigGridField[],
|
|
1294
|
+
|
|
1295
|
+
/**
|
|
1296
|
+
* Ex1 : { name: 1 }
|
|
1297
|
+
* Ex2 : { password : -1 }
|
|
1298
|
+
* It supports syntax of select object in API Maker's query API.
|
|
1299
|
+
* By default, all fields of database table will be selected.
|
|
1300
|
+
*/
|
|
1301
|
+
selectFieldsForQuery?: {
|
|
1302
|
+
[field: string]: 1 | -1
|
|
1303
|
+
};
|
|
1304
|
+
|
|
1305
|
+
/**
|
|
1306
|
+
* Default : 'single'. Default sorting is executed on a single column, in order to enable multiple field sorting,
|
|
1307
|
+
* set sortMode property to "multiple" and use metakey(ctrl | cmd) when clicking on another column.
|
|
1308
|
+
*/
|
|
1309
|
+
sortMode?: 'single' | 'multiple';
|
|
1310
|
+
|
|
1311
|
+
/**
|
|
1312
|
+
* Ex : [{ field: 'name', order: 1 }]
|
|
1313
|
+
* Useful to have columns sorted by default.
|
|
1314
|
+
* To make it work, field should have enableSorting true.
|
|
1315
|
+
*/
|
|
1316
|
+
multiSortMeta?: { field: string; order: -1 | 1 }[];
|
|
1317
|
+
|
|
1318
|
+
pagination?: {
|
|
1319
|
+
/** Default : false */
|
|
1320
|
+
showPagination?: boolean;
|
|
1321
|
+
|
|
1322
|
+
/** Default : false */
|
|
1323
|
+
serverSidePagination?: boolean;
|
|
1324
|
+
|
|
1325
|
+
/** Default : 10 */
|
|
1326
|
+
rowsPerPage?: number;
|
|
1327
|
+
|
|
1328
|
+
/** Default : [10, 20, 50, 100, 500, 1000] */
|
|
1329
|
+
rowsPerPageOptions?: number[];
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
selection?: {
|
|
1333
|
+
mode: 'single' | 'multiple';
|
|
1334
|
+
|
|
1335
|
+
/** name of primary key field. Default : it will be automatically pickup from schema. */
|
|
1336
|
+
dataKey?: string;
|
|
1337
|
+
|
|
1338
|
+
/** Default : true, If true we need Ctrl | Cmd to select row. */
|
|
1339
|
+
metaKeySelection?: boolean;
|
|
1340
|
+
|
|
1341
|
+
/** Default : false, Works only with mode=multiple. If true it will show checkbox column for selection. */
|
|
1342
|
+
checkboxSelection?: boolean;
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
filter?: {
|
|
1346
|
+
/** Default : false, if true you can filter in all fields */
|
|
1347
|
+
showGlobalSearch?: boolean;
|
|
1348
|
+
|
|
1349
|
+
// country.name is supported by primeNG table.
|
|
1350
|
+
/**
|
|
1351
|
+
* Ex: ['name', 'first_name', 'country.name']
|
|
1352
|
+
* It will work only for string & number fields.
|
|
1353
|
+
* For string, it will check for contains and for number type, will be exact match query.
|
|
1354
|
+
*/
|
|
1355
|
+
globalSearchFields?: string[];
|
|
1356
|
+
|
|
1357
|
+
/** Default : false, if true it will show filter for each column */
|
|
1358
|
+
rowFilter?: boolean;
|
|
1359
|
+
}
|
|
1360
|
+
};
|
|
1361
|
+
form?: {
|
|
1362
|
+
/** Ex : 90vw */
|
|
1363
|
+
width?: string;
|
|
1364
|
+
|
|
1365
|
+
/** If it is empty, and operation.add is true, then it will generate form based on schema with all fields. */
|
|
1366
|
+
fields?: IDBMasterConfigFormField[][];
|
|
1367
|
+
};
|
|
1368
|
+
|
|
1369
|
+
export?: {
|
|
1370
|
+
csv?: boolean;
|
|
1371
|
+
// pdf?: boolean;
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
export interface IDBMasterConfigGridFilterOfField {
|
|
1376
|
+
matchMode: EDBMasterMatchMode;
|
|
1377
|
+
value: string;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
export enum EDBMasterMatchMode {
|
|
1381
|
+
contains = 'contains',
|
|
1382
|
+
notContains = 'notContains',
|
|
1383
|
+
startsWith = 'startsWith',
|
|
1384
|
+
endsWith = 'endsWith',
|
|
1385
|
+
equals = 'equals',
|
|
1386
|
+
notEquals = 'notEquals',
|
|
1387
|
+
|
|
1388
|
+
lt = 'lt',
|
|
1389
|
+
lte = 'lte',
|
|
1390
|
+
gt = 'gt',
|
|
1391
|
+
gte = 'gte',
|
|
1392
|
+
|
|
1393
|
+
dateIs = 'dateIs',
|
|
1394
|
+
dateIsNot = 'dateIsNot',
|
|
1395
|
+
dateBefore = 'dateBefore',
|
|
1396
|
+
dateAfter = 'dateAfter',
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
export interface IDBMasterConfigGridField {
|
|
1400
|
+
header: string;
|
|
1401
|
+
/** Database field name or path for nested objects. */
|
|
1402
|
+
path?: string; // nested fields like 'country.name' is supported by primeNG grid
|
|
1403
|
+
|
|
1404
|
+
/** Default false, it will format dates in 'dd-MM-yyyy hh:mm:ss a' automatically if 'dateTimeFormat' is not provided. */
|
|
1405
|
+
autoFormatDate?: boolean;
|
|
1406
|
+
|
|
1407
|
+
/** Default : browser timezone. Dates will be converted into this timezone before sending to database query. */
|
|
1408
|
+
dateTimeZone?: string;
|
|
1409
|
+
|
|
1410
|
+
/** Default : 'dd-MM-yyyy hh:mm:ss a' . System is using date-fns formats to format date object. */
|
|
1411
|
+
dateTimeFormat?: string;
|
|
1412
|
+
|
|
1413
|
+
/** Default : false, if true sorting will be enabled for this field. */
|
|
1414
|
+
enableSorting?: boolean;
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
/** For internal use only. */
|
|
1418
|
+
export interface IDBMasterConfigGridFieldExport extends IDBMasterConfigGridField {
|
|
1419
|
+
type: EType;
|
|
1420
|
+
|
|
1421
|
+
/** PrimeNG needs it for export purpose from grid. It should be present in [columns] */
|
|
1422
|
+
field?: string;
|
|
1423
|
+
|
|
1424
|
+
/** Calculated property based on schema. Used to give type to <p-columnFilter>. */
|
|
1425
|
+
filterType?: EDBMasterConfigFilterType;
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1428
|
+
export enum EDBMasterConfigFilterType {
|
|
1429
|
+
text = 'text',
|
|
1430
|
+
numeric = 'numeric',
|
|
1431
|
+
boolean = 'boolean',
|
|
1432
|
+
date = 'date',
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
export interface IDBMasterConfigFormField {
|
|
1436
|
+
label: string;
|
|
1437
|
+
path: string;
|
|
1438
|
+
control: EDBMasterFormControl;
|
|
1439
|
+
|
|
1440
|
+
textAreaSettings?: {
|
|
1441
|
+
rows?: number;
|
|
1442
|
+
autoResize?: boolean;
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
datePickerSettings?: {
|
|
1446
|
+
showSeconds?: boolean;
|
|
1447
|
+
showTime?: boolean;
|
|
1448
|
+
/** Default : 24 */
|
|
1449
|
+
hourFormat?: '12' | '24';
|
|
1450
|
+
dateTimeFormat?: string;
|
|
1451
|
+
|
|
1452
|
+
/**
|
|
1453
|
+
* Default : date
|
|
1454
|
+
* Update dateTimeFormat for 'month'(MM-yyyy) & 'year'(yyyy) values.
|
|
1455
|
+
*/
|
|
1456
|
+
view?: 'date' | 'month' | 'year';
|
|
1457
|
+
};
|
|
1458
|
+
|
|
1459
|
+
colorPickerSettings?: {
|
|
1460
|
+
format?: 'hex' | 'rgb' | 'hsb';
|
|
1461
|
+
};
|
|
1462
|
+
|
|
1463
|
+
dropdownSettings?: {
|
|
1464
|
+
showClear?: boolean;
|
|
1465
|
+
dataSource: 'static_data' | 'db_data'; // custom_code = We can call any API in that.
|
|
1466
|
+
|
|
1467
|
+
/** it will use used when dataSource is 'static_data'. */
|
|
1468
|
+
staticData?: any[]; // { label: string; value: any; }[] works default.
|
|
1469
|
+
|
|
1470
|
+
dbData?: Partial<Pick<ICollectionIdentity, 'instance' | 'database' | 'collection' | 'table'>
|
|
1471
|
+
& Pick<IQueryFormat, 'find' | 'select' | 'limit'>>;
|
|
1472
|
+
|
|
1473
|
+
/** Default : label */
|
|
1474
|
+
optionLabel?: string;
|
|
1475
|
+
|
|
1476
|
+
/** Default : value */
|
|
1477
|
+
optionValue?: string;
|
|
1478
|
+
|
|
1479
|
+
filter?: boolean;
|
|
1480
|
+
|
|
1481
|
+
/** one field or multiple comma separated fields are supported without any space in between. */
|
|
1482
|
+
filterBy?: string;
|
|
1483
|
+
|
|
1484
|
+
filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte';
|
|
1485
|
+
|
|
1486
|
+
/** Default : false, if true it will get latest data when form opens for add/edit operation. */
|
|
1487
|
+
alwaysGetLatestDataOnFormOpen?: boolean;
|
|
1488
|
+
|
|
1489
|
+
/** Default : true, If false it will not be able to handle huge amount of data. */
|
|
1490
|
+
virtualScroll?: boolean;
|
|
1491
|
+
|
|
1492
|
+
jsCode?: {
|
|
1493
|
+
appendTo: 'onceDropdownDataLoaded',
|
|
1494
|
+
/**
|
|
1495
|
+
* // dropdownData is available to use.
|
|
1496
|
+
*
|
|
1497
|
+
* // Return promise for long awaiting tasks.
|
|
1498
|
+
* new Promise(async (resolve, reject) => {
|
|
1499
|
+
* await new Promise(r => setTimeout(r, 3000));
|
|
1500
|
+
* dropdownData[0].name = 'Sample data';
|
|
1501
|
+
* resolve();
|
|
1502
|
+
* });
|
|
1503
|
+
*
|
|
1504
|
+
* // Directly modify data of grid
|
|
1505
|
+
* dropdownData[0].name = 'Sample data';
|
|
1506
|
+
*
|
|
1507
|
+
* // Return function
|
|
1508
|
+
* (function setData() { dropdownData[0].name = 'Sample data'; } );
|
|
1509
|
+
*
|
|
1510
|
+
*/
|
|
1511
|
+
code: string,
|
|
1512
|
+
}[],
|
|
1513
|
+
};
|
|
1514
|
+
|
|
1515
|
+
autocompleteSettings?: {
|
|
1516
|
+
dropdown?: boolean;
|
|
1517
|
+
}
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
export enum EDBMasterFormControl {
|
|
1521
|
+
input = 'input',
|
|
1522
|
+
date_picker = 'date_picker',
|
|
1523
|
+
textarea = 'textarea',
|
|
1524
|
+
checkbox = 'checkbox',
|
|
1525
|
+
color_picker = 'color_picker',
|
|
1526
|
+
dropdown = 'dropdown',
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
// ==== DB Master configurations End ====
|