@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.
Files changed (496) hide show
  1. package/.env +22 -0
  2. package/.nvmrc +1 -0
  3. package/3rdpartylicenses.txt +18 -0
  4. package/README.md +30 -0
  5. package/assets-deployment/.env +41 -0
  6. package/assets-deployment/config/keyfile +16 -0
  7. package/assets-deployment/config/mongodb_api_maker.yml +33 -0
  8. package/assets-deployment/config/redis_api_maker.yml +26 -0
  9. package/assets-deployment/installation_steps.sh +184 -0
  10. package/assets-deployment/mongo_script.js +33 -0
  11. package/dist/1025.js +1 -0
  12. package/dist/1464.js +1 -0
  13. package/dist/148.js +1 -0
  14. package/dist/1558.js +1 -0
  15. package/dist/1617.js +1 -0
  16. package/dist/1678.js +1 -0
  17. package/dist/1754.js +1 -0
  18. package/dist/1840.js +1 -0
  19. package/dist/1928.js +1 -0
  20. package/dist/1957.js +1 -0
  21. package/dist/2140.js +1 -0
  22. package/dist/2295.js +1 -0
  23. package/dist/2443.js +1 -0
  24. package/dist/2473.js +1 -0
  25. package/dist/2714.js +1 -0
  26. package/dist/2908.js +1 -0
  27. package/dist/3139.js +1 -0
  28. package/dist/3450.js +1 -0
  29. package/dist/3rdpartylicenses.txt +395 -0
  30. package/dist/4110.js +1 -0
  31. package/dist/4181.js +1 -0
  32. package/dist/4186.js +1 -0
  33. package/dist/4211.js +1 -0
  34. package/dist/4575.js +1 -0
  35. package/dist/4842.js +1 -0
  36. package/dist/485.js +1 -0
  37. package/dist/4895.js +1 -0
  38. package/dist/5334.js +1 -0
  39. package/dist/5421.js +1 -0
  40. package/dist/5679.js +1 -0
  41. package/dist/5761.js +1 -0
  42. package/dist/6236.js +1 -0
  43. package/dist/6393.js +1 -0
  44. package/dist/6401.js +1 -0
  45. package/dist/6925.js +1 -0
  46. package/dist/7368.js +1 -0
  47. package/dist/7436.js +1 -0
  48. package/dist/7470.js +1 -0
  49. package/dist/7649.js +1 -0
  50. package/dist/7975.js +1 -0
  51. package/dist/7987.js +1 -0
  52. package/dist/8125.js +1 -0
  53. package/dist/8266.js +1 -0
  54. package/dist/8296.js +1 -0
  55. package/dist/8374.js +1 -0
  56. package/dist/8682.js +1 -0
  57. package/dist/8841.js +1 -0
  58. package/dist/885.js +1 -0
  59. package/dist/891.js +1 -0
  60. package/dist/913.js +1 -0
  61. package/dist/9208.js +1 -0
  62. package/dist/9243.js +1 -0
  63. package/dist/9939.js +1 -0
  64. package/dist/assets/images/banner/default_package_banner.jpg +0 -0
  65. package/dist/assets/images/bg/world.svg +3 -0
  66. package/dist/assets/images/cloud/setup-on-server.svg +51 -0
  67. package/dist/assets/images/icons/adminuser.png +0 -0
  68. package/dist/assets/images/icons/api-group.svg +10 -0
  69. package/dist/assets/images/icons/api-user.svg +9 -0
  70. package/dist/assets/images/icons/aws.svg +5 -0
  71. package/dist/assets/images/icons/bug.svg +1 -0
  72. package/dist/assets/images/icons/bulkschema.svg +5 -0
  73. package/dist/assets/images/icons/comparator.svg +5 -0
  74. package/dist/assets/images/icons/custom.svg +9 -0
  75. package/dist/assets/images/icons/database.svg +12 -0
  76. package/dist/assets/images/icons/db-m.svg +28 -0
  77. package/dist/assets/images/icons/default_package_icon.svg +41 -0
  78. package/dist/assets/images/icons/deployset.png +0 -0
  79. package/dist/assets/images/icons/dev.svg +9 -0
  80. package/dist/assets/images/icons/diagram.svg +7 -0
  81. package/dist/assets/images/icons/event.png +0 -0
  82. package/dist/assets/images/icons/film-movies-icon.svg +14 -0
  83. package/dist/assets/images/icons/finder.svg +11 -0
  84. package/dist/assets/images/icons/git.svg +1 -0
  85. package/dist/assets/images/icons/house.svg +50 -0
  86. package/dist/assets/images/icons/i18n.svg +9 -0
  87. package/dist/assets/images/icons/increment.svg +4 -0
  88. package/dist/assets/images/icons/license.png +0 -0
  89. package/dist/assets/images/icons/log-profile.svg +9 -0
  90. package/dist/assets/images/icons/log.svg +9 -0
  91. package/dist/assets/images/icons/masters.png +0 -0
  92. package/dist/assets/images/icons/nodes.svg +3 -0
  93. package/dist/assets/images/icons/notes.svg +23 -0
  94. package/dist/assets/images/icons/npm.svg +1 -0
  95. package/dist/assets/images/icons/process_initializers.svg +13 -0
  96. package/dist/assets/images/icons/redis.png +0 -0
  97. package/dist/assets/images/icons/redis.svg +9 -0
  98. package/dist/assets/images/icons/sandbox.svg +4 -0
  99. package/dist/assets/images/icons/schedulers.svg +12 -0
  100. package/dist/assets/images/icons/secret.svg +9 -0
  101. package/dist/assets/images/icons/systems.svg +9 -0
  102. package/dist/assets/images/icons/testing.svg +4 -0
  103. package/dist/assets/images/icons/third-party.svg +9 -0
  104. package/dist/assets/images/icons/typescript.svg +11 -0
  105. package/dist/assets/images/icons/utility.svg +7 -0
  106. package/dist/assets/images/icons/vulnerability.svg +12 -0
  107. package/dist/assets/images/icons/web.svg +10 -0
  108. package/dist/assets/images/instancesIcon/mariadb.png +0 -0
  109. package/dist/assets/images/instancesIcon/microsoft-sql-server.png +0 -0
  110. package/dist/assets/images/instancesIcon/mongodb.png +0 -0
  111. package/dist/assets/images/instancesIcon/my-sql.svg +159 -0
  112. package/dist/assets/images/instancesIcon/oracle.png +0 -0
  113. package/dist/assets/images/instancesIcon/postgresql.png +0 -0
  114. package/dist/assets/images/logo/API Maker Logo 2021 black.svg +47 -0
  115. package/dist/assets/images/logo/API Maker Logo 2021.svg +49 -0
  116. package/dist/assets/images/logo/discord-icon.svg +8 -0
  117. package/dist/assets/images/logo/dollar.svg +7 -0
  118. package/dist/assets/images/logo/logo.svg +41 -0
  119. package/dist/assets/images/logo/logo_cloud.svg +15 -0
  120. package/dist/assets/images/logo/logo_docs.svg +15 -0
  121. package/dist/assets/images/logo/logo_store.svg +17 -0
  122. package/dist/assets/images/logo/logo_store_new.svg +33 -0
  123. package/dist/assets/images/logo/rupee.svg +7 -0
  124. package/dist/assets/images/logo/sava-logo.png +0 -0
  125. package/dist/assets/images/logo/store_logo.svg +11 -0
  126. package/dist/assets/images/payment/failed.svg +3 -0
  127. package/dist/assets/images/payment/success.svg +3 -0
  128. package/dist/assets/images/svg/MARIA_DB.svg +3 -0
  129. package/dist/assets/images/svg/MONGO_DB.svg +5 -0
  130. package/dist/assets/images/svg/MYSQL_DB.svg +3 -0
  131. package/dist/assets/images/svg/Microsoft_SQL_Server_DB_No_Logo.svg +6 -0
  132. package/dist/assets/images/svg/Oracle_DB_No_Logo.svg +6 -0
  133. package/dist/assets/images/svg/POSTGRE_SQL_DB.svg +9 -0
  134. package/dist/assets/images/svg/Ti_DB.svg +5 -0
  135. package/dist/assets/images/svg/Xtra_DB.svg +19 -0
  136. package/dist/assets/images/svg/placeholder_thumbnail_json.svg +3 -0
  137. package/dist/assets/images/svg/serve_static_website_icon.svg +37 -0
  138. package/dist/assets/images/svg/single_obj.svg +3 -0
  139. package/dist/assets/json/am_docs.json +203 -0
  140. package/dist/assets/lib/svg-pan-zoom.d.ts +261 -0
  141. package/dist/assets/lib/svg-pan-zoom.min.js +3 -0
  142. package/dist/assets/monaco-assets/configurations/cpp.json +34 -0
  143. package/dist/assets/monaco-assets/configurations/csharp.json +32 -0
  144. package/dist/assets/monaco-assets/configurations/dart.json +29 -0
  145. package/dist/assets/monaco-assets/configurations/go.json +37 -0
  146. package/dist/assets/monaco-assets/configurations/java.json +33 -0
  147. package/dist/assets/monaco-assets/configurations/javascript.json +140 -0
  148. package/dist/assets/monaco-assets/configurations/json.json +22 -0
  149. package/dist/assets/monaco-assets/configurations/python.json +56 -0
  150. package/dist/assets/monaco-assets/configurations/ruby.json +31 -0
  151. package/dist/assets/monaco-assets/configurations/rust.json +34 -0
  152. package/dist/assets/monaco-assets/configurations/swift.json +27 -0
  153. package/dist/assets/monaco-assets/configurations/typescript.json +140 -0
  154. package/dist/assets/monaco-assets/configurations/xml.json +39 -0
  155. package/dist/assets/monaco-assets/configurations/yaml.json +35 -0
  156. package/dist/assets/monaco-assets/grammars/cpp.tmLanguage.json +16309 -0
  157. package/dist/assets/monaco-assets/grammars/csharp.tmLanguage.json +4984 -0
  158. package/dist/assets/monaco-assets/grammars/dart.tmLanguage.json +521 -0
  159. package/dist/assets/monaco-assets/grammars/go.tmLanguage.json +1017 -0
  160. package/dist/assets/monaco-assets/grammars/java.tmLanguage.json +1855 -0
  161. package/dist/assets/monaco-assets/grammars/javascript.tmLanguage.json +5914 -0
  162. package/dist/assets/monaco-assets/grammars/json.tmLanguage.json +213 -0
  163. package/dist/assets/monaco-assets/grammars/magicpython.tmLanguage.json +4213 -0
  164. package/dist/assets/monaco-assets/grammars/ruby.tmLanguage.json +2775 -0
  165. package/dist/assets/monaco-assets/grammars/rust.tmLanguage.json +1170 -0
  166. package/dist/assets/monaco-assets/grammars/swift.tmLanguage.json +3303 -0
  167. package/dist/assets/monaco-assets/grammars/typescript.tmLanguage.json +5665 -0
  168. package/dist/assets/monaco-assets/grammars/xml.tmLanguage.json +387 -0
  169. package/dist/assets/monaco-assets/grammars/yaml.tmLanguage.json +621 -0
  170. package/dist/assets/monaco-assets/onig.wasm +0 -0
  171. package/dist/assets/music/notification.mp3 +0 -0
  172. package/dist/assets/primeng-theme/primeng-theme-overrides.scss +130 -0
  173. package/dist/assets/primeng-theme/theme.css +1 -0
  174. package/dist/assets/schema-types/InterfaceProps.ts +509 -0
  175. package/dist/assets/schema-types/store-types.ts +170 -0
  176. package/dist/assets/schema-types/types.ts +1529 -0
  177. package/dist/assets/styles/bootstrap-overrides.scss +94 -0
  178. package/dist/assets/styles/colors-dark.scss +128 -0
  179. package/dist/assets/styles/colors-light.scss +22 -0
  180. package/dist/assets/styles/fonts/JetBrainsMonoRegular.ttf +0 -0
  181. package/dist/assets/styles/fonts/Verdana.ttf +0 -0
  182. package/dist/assets/styles/monaco-editor-overrides.scss +0 -0
  183. package/dist/assets/styles/out/bootstrap-overrides.css +2 -0
  184. package/dist/assets/styles/out/bootstrap-overrides.css.map +1 -0
  185. package/dist/assets/styles/out/colors-dark.css +2 -0
  186. package/dist/assets/styles/out/colors-dark.css.map +1 -0
  187. package/dist/assets/styles/out/colors-light.css +2 -0
  188. package/dist/assets/styles/out/colors-light.css.map +1 -0
  189. package/dist/assets/styles/out/monaco-editor-overrides.css +2 -0
  190. package/dist/assets/styles/out/monaco-editor-overrides.css.map +1 -0
  191. package/dist/assets/styles/out/styles.css +2 -0
  192. package/dist/assets/styles/out/styles.css.map +1 -0
  193. package/dist/assets/styles/out/variables.css +2 -0
  194. package/dist/assets/styles/out/variables.css.map +1 -0
  195. package/dist/assets/styles/root-styles.css +118 -0
  196. package/dist/assets/styles/styles.scss +356 -0
  197. package/dist/assets/styles/variables.scss +18 -0
  198. package/dist/color.png +0 -0
  199. package/dist/common.js +1 -0
  200. package/dist/favicon.ico +0 -0
  201. package/dist/hue.png +0 -0
  202. package/dist/index.html +147 -0
  203. package/dist/main.js +1 -0
  204. package/dist/polyfills.js +1 -0
  205. package/dist/primeicons.eot +0 -0
  206. package/dist/primeicons.svg +292 -0
  207. package/dist/primeicons.ttf +0 -0
  208. package/dist/primeicons.woff +0 -0
  209. package/dist/primeicons.woff2 +0 -0
  210. package/dist/runtime.js +1 -0
  211. package/dist/styles.css +1 -0
  212. package/license.txt +2 -0
  213. package/local.env +23 -0
  214. package/main.js +1 -0
  215. package/package.json +198 -0
  216. package/sandbox/.dockerignore +2 -0
  217. package/sandbox/Dockerfile +32 -0
  218. package/sandbox/assets/schema-types/store-types.js +165 -0
  219. package/sandbox/assets/schema-types/types.js +331 -0
  220. package/sandbox/package.json +28 -0
  221. package/sandbox/sandbox.js +1 -0
  222. package/sandbox/src/utils/VmInit.js +11 -0
  223. package/src/assets/schema-types/store-types.ts +170 -0
  224. package/src/assets/schema-types/types.ts +1529 -0
  225. package/src/json/DefaultUsers.json +18 -0
  226. package/src/public/css/bootstrap-slate.min.css +12 -0
  227. package/src/public/css/styles.css +4 -0
  228. package/src/public/dist-db-masters/3rdpartylicenses.txt +312 -0
  229. package/src/public/dist-db-masters/browser/assets/themes/arya-blue/fonts/Inter-italic.var.woff2 +0 -0
  230. package/src/public/dist-db-masters/browser/assets/themes/arya-blue/fonts/Inter-roman.var.woff2 +0 -0
  231. package/src/public/dist-db-masters/browser/assets/themes/arya-blue/theme.css +6310 -0
  232. package/src/public/dist-db-masters/browser/assets/themes/arya-green/fonts/Inter-italic.var.woff2 +0 -0
  233. package/src/public/dist-db-masters/browser/assets/themes/arya-green/fonts/Inter-roman.var.woff2 +0 -0
  234. package/src/public/dist-db-masters/browser/assets/themes/arya-green/theme.css +6310 -0
  235. package/src/public/dist-db-masters/browser/assets/themes/arya-orange/fonts/Inter-italic.var.woff2 +0 -0
  236. package/src/public/dist-db-masters/browser/assets/themes/arya-orange/fonts/Inter-roman.var.woff2 +0 -0
  237. package/src/public/dist-db-masters/browser/assets/themes/arya-orange/theme.css +6310 -0
  238. package/src/public/dist-db-masters/browser/assets/themes/arya-purple/fonts/Inter-italic.var.woff2 +0 -0
  239. package/src/public/dist-db-masters/browser/assets/themes/arya-purple/fonts/Inter-roman.var.woff2 +0 -0
  240. package/src/public/dist-db-masters/browser/assets/themes/arya-purple/theme.css +6310 -0
  241. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
  242. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
  243. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-amber/theme.css +7722 -0
  244. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
  245. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
  246. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-blue/theme.css +7722 -0
  247. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
  248. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
  249. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-cyan/theme.css +7722 -0
  250. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-green/fonts/Inter-italic.var.woff2 +0 -0
  251. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-green/fonts/Inter-roman.var.woff2 +0 -0
  252. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-green/theme.css +7722 -0
  253. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
  254. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
  255. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-indigo/theme.css +7722 -0
  256. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-lime/fonts/Inter-italic.var.woff2 +0 -0
  257. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-lime/fonts/Inter-roman.var.woff2 +0 -0
  258. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-lime/theme.css +7722 -0
  259. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-noir/fonts/Inter-italic.var.woff2 +0 -0
  260. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-noir/fonts/Inter-roman.var.woff2 +0 -0
  261. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-noir/theme.css +7722 -0
  262. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
  263. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
  264. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-pink/theme.css +7722 -0
  265. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
  266. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
  267. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-purple/theme.css +7722 -0
  268. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
  269. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
  270. package/src/public/dist-db-masters/browser/assets/themes/aura-dark-teal/theme.css +7722 -0
  271. package/src/public/dist-db-masters/browser/assets/themes/aura-light-amber/fonts/Inter-italic.var.woff2 +0 -0
  272. package/src/public/dist-db-masters/browser/assets/themes/aura-light-amber/fonts/Inter-roman.var.woff2 +0 -0
  273. package/src/public/dist-db-masters/browser/assets/themes/aura-light-amber/theme.css +7723 -0
  274. package/src/public/dist-db-masters/browser/assets/themes/aura-light-blue/fonts/Inter-italic.var.woff2 +0 -0
  275. package/src/public/dist-db-masters/browser/assets/themes/aura-light-blue/fonts/Inter-roman.var.woff2 +0 -0
  276. package/src/public/dist-db-masters/browser/assets/themes/aura-light-blue/theme.css +7723 -0
  277. package/src/public/dist-db-masters/browser/assets/themes/aura-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
  278. package/src/public/dist-db-masters/browser/assets/themes/aura-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
  279. package/src/public/dist-db-masters/browser/assets/themes/aura-light-cyan/theme.css +7723 -0
  280. package/src/public/dist-db-masters/browser/assets/themes/aura-light-green/fonts/Inter-italic.var.woff2 +0 -0
  281. package/src/public/dist-db-masters/browser/assets/themes/aura-light-green/fonts/Inter-roman.var.woff2 +0 -0
  282. package/src/public/dist-db-masters/browser/assets/themes/aura-light-green/theme.css +7723 -0
  283. package/src/public/dist-db-masters/browser/assets/themes/aura-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
  284. package/src/public/dist-db-masters/browser/assets/themes/aura-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
  285. package/src/public/dist-db-masters/browser/assets/themes/aura-light-indigo/theme.css +7723 -0
  286. package/src/public/dist-db-masters/browser/assets/themes/aura-light-lime/fonts/Inter-italic.var.woff2 +0 -0
  287. package/src/public/dist-db-masters/browser/assets/themes/aura-light-lime/fonts/Inter-roman.var.woff2 +0 -0
  288. package/src/public/dist-db-masters/browser/assets/themes/aura-light-lime/theme.css +7723 -0
  289. package/src/public/dist-db-masters/browser/assets/themes/aura-light-noir/fonts/Inter-italic.var.woff2 +0 -0
  290. package/src/public/dist-db-masters/browser/assets/themes/aura-light-noir/fonts/Inter-roman.var.woff2 +0 -0
  291. package/src/public/dist-db-masters/browser/assets/themes/aura-light-noir/theme.css +7731 -0
  292. package/src/public/dist-db-masters/browser/assets/themes/aura-light-pink/fonts/Inter-italic.var.woff2 +0 -0
  293. package/src/public/dist-db-masters/browser/assets/themes/aura-light-pink/fonts/Inter-roman.var.woff2 +0 -0
  294. package/src/public/dist-db-masters/browser/assets/themes/aura-light-pink/theme.css +7723 -0
  295. package/src/public/dist-db-masters/browser/assets/themes/aura-light-purple/fonts/Inter-italic.var.woff2 +0 -0
  296. package/src/public/dist-db-masters/browser/assets/themes/aura-light-purple/fonts/Inter-roman.var.woff2 +0 -0
  297. package/src/public/dist-db-masters/browser/assets/themes/aura-light-purple/theme.css +7723 -0
  298. package/src/public/dist-db-masters/browser/assets/themes/aura-light-teal/fonts/Inter-italic.var.woff2 +0 -0
  299. package/src/public/dist-db-masters/browser/assets/themes/aura-light-teal/fonts/Inter-roman.var.woff2 +0 -0
  300. package/src/public/dist-db-masters/browser/assets/themes/aura-light-teal/theme.css +7723 -0
  301. package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-dark-blue/theme.css +6304 -0
  302. package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-dark-purple/theme.css +6304 -0
  303. package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-light-blue/theme.css +6304 -0
  304. package/src/public/dist-db-masters/browser/assets/themes/bootstrap4-light-purple/theme.css +6304 -0
  305. package/src/public/dist-db-masters/browser/assets/themes/fluent-light/theme.css +6439 -0
  306. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
  307. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
  308. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-amber/theme.css +6404 -0
  309. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
  310. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
  311. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-blue/theme.css +6404 -0
  312. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
  313. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
  314. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-cyan/theme.css +6404 -0
  315. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-green/fonts/Inter-italic.var.woff2 +0 -0
  316. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-green/fonts/Inter-roman.var.woff2 +0 -0
  317. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-green/theme.css +6404 -0
  318. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
  319. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
  320. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-indigo/theme.css +6404 -0
  321. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
  322. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
  323. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-pink/theme.css +6404 -0
  324. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
  325. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
  326. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-purple/theme.css +6404 -0
  327. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
  328. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
  329. package/src/public/dist-db-masters/browser/assets/themes/lara-dark-teal/theme.css +6404 -0
  330. package/src/public/dist-db-masters/browser/assets/themes/lara-light-amber/fonts/Inter-italic.var.woff2 +0 -0
  331. package/src/public/dist-db-masters/browser/assets/themes/lara-light-amber/fonts/Inter-roman.var.woff2 +0 -0
  332. package/src/public/dist-db-masters/browser/assets/themes/lara-light-amber/theme.css +6340 -0
  333. package/src/public/dist-db-masters/browser/assets/themes/lara-light-blue/fonts/Inter-italic.var.woff2 +0 -0
  334. package/src/public/dist-db-masters/browser/assets/themes/lara-light-blue/fonts/Inter-roman.var.woff2 +0 -0
  335. package/src/public/dist-db-masters/browser/assets/themes/lara-light-blue/theme.css +6340 -0
  336. package/src/public/dist-db-masters/browser/assets/themes/lara-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
  337. package/src/public/dist-db-masters/browser/assets/themes/lara-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
  338. package/src/public/dist-db-masters/browser/assets/themes/lara-light-cyan/theme.css +6340 -0
  339. package/src/public/dist-db-masters/browser/assets/themes/lara-light-green/fonts/Inter-italic.var.woff2 +0 -0
  340. package/src/public/dist-db-masters/browser/assets/themes/lara-light-green/fonts/Inter-roman.var.woff2 +0 -0
  341. package/src/public/dist-db-masters/browser/assets/themes/lara-light-green/theme.css +6340 -0
  342. package/src/public/dist-db-masters/browser/assets/themes/lara-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
  343. package/src/public/dist-db-masters/browser/assets/themes/lara-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
  344. package/src/public/dist-db-masters/browser/assets/themes/lara-light-indigo/theme.css +6340 -0
  345. package/src/public/dist-db-masters/browser/assets/themes/lara-light-pink/fonts/Inter-italic.var.woff2 +0 -0
  346. package/src/public/dist-db-masters/browser/assets/themes/lara-light-pink/fonts/Inter-roman.var.woff2 +0 -0
  347. package/src/public/dist-db-masters/browser/assets/themes/lara-light-pink/theme.css +6340 -0
  348. package/src/public/dist-db-masters/browser/assets/themes/lara-light-purple/fonts/Inter-italic.var.woff2 +0 -0
  349. package/src/public/dist-db-masters/browser/assets/themes/lara-light-purple/fonts/Inter-roman.var.woff2 +0 -0
  350. package/src/public/dist-db-masters/browser/assets/themes/lara-light-purple/theme.css +6340 -0
  351. package/src/public/dist-db-masters/browser/assets/themes/lara-light-teal/fonts/Inter-italic.var.woff2 +0 -0
  352. package/src/public/dist-db-masters/browser/assets/themes/lara-light-teal/fonts/Inter-roman.var.woff2 +0 -0
  353. package/src/public/dist-db-masters/browser/assets/themes/lara-light-teal/theme.css +6340 -0
  354. package/src/public/dist-db-masters/browser/assets/themes/luna-amber/theme.css +6255 -0
  355. package/src/public/dist-db-masters/browser/assets/themes/luna-blue/theme.css +6255 -0
  356. package/src/public/dist-db-masters/browser/assets/themes/luna-green/theme.css +6255 -0
  357. package/src/public/dist-db-masters/browser/assets/themes/luna-pink/theme.css +6255 -0
  358. package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  359. package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  360. package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  361. package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  362. package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  363. package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  364. package/src/public/dist-db-masters/browser/assets/themes/md-dark-deeppurple/theme.css +7915 -0
  365. package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  366. package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  367. package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  368. package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  369. package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  370. package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  371. package/src/public/dist-db-masters/browser/assets/themes/md-dark-indigo/theme.css +7915 -0
  372. package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  373. package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  374. package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  375. package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  376. package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  377. package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  378. package/src/public/dist-db-masters/browser/assets/themes/md-light-deeppurple/theme.css +7915 -0
  379. package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  380. package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  381. package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  382. package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  383. package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  384. package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  385. package/src/public/dist-db-masters/browser/assets/themes/md-light-indigo/theme.css +7915 -0
  386. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  387. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  388. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  389. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  390. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  391. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  392. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-deeppurple/theme.css +7915 -0
  393. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  394. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  395. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  396. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  397. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  398. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  399. package/src/public/dist-db-masters/browser/assets/themes/mdc-dark-indigo/theme.css +7915 -0
  400. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  401. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  402. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  403. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  404. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  405. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  406. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-deeppurple/theme.css +7915 -0
  407. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  408. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  409. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  410. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  411. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  412. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  413. package/src/public/dist-db-masters/browser/assets/themes/mdc-light-indigo/theme.css +7915 -0
  414. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Bold.woff +0 -0
  415. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Bold.woff2 +0 -0
  416. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Medium.woff +0 -0
  417. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Medium.woff2 +0 -0
  418. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Regular.woff +0 -0
  419. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-Regular.woff2 +0 -0
  420. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-SemiBold.woff +0 -0
  421. package/src/public/dist-db-masters/browser/assets/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
  422. package/src/public/dist-db-masters/browser/assets/themes/mira/theme.css +6517 -0
  423. package/src/public/dist-db-masters/browser/assets/themes/nano/theme.css +6290 -0
  424. package/src/public/dist-db-masters/browser/assets/themes/nova/theme.css +6270 -0
  425. package/src/public/dist-db-masters/browser/assets/themes/nova-accent/theme.css +6280 -0
  426. package/src/public/dist-db-masters/browser/assets/themes/nova-alt/theme.css +6282 -0
  427. package/src/public/dist-db-masters/browser/assets/themes/rhea/theme.css +6258 -0
  428. package/src/public/dist-db-masters/browser/assets/themes/saga-blue/theme.css +6307 -0
  429. package/src/public/dist-db-masters/browser/assets/themes/saga-green/theme.css +6307 -0
  430. package/src/public/dist-db-masters/browser/assets/themes/saga-orange/theme.css +6307 -0
  431. package/src/public/dist-db-masters/browser/assets/themes/saga-purple/theme.css +6307 -0
  432. package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  433. package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  434. package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  435. package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  436. package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  437. package/src/public/dist-db-masters/browser/assets/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  438. package/src/public/dist-db-masters/browser/assets/themes/soho-dark/theme.css +6283 -0
  439. package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  440. package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  441. package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  442. package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  443. package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  444. package/src/public/dist-db-masters/browser/assets/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  445. package/src/public/dist-db-masters/browser/assets/themes/soho-light/theme.css +6337 -0
  446. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
  447. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
  448. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
  449. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
  450. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
  451. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
  452. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
  453. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
  454. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
  455. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
  456. package/src/public/dist-db-masters/browser/assets/themes/tailwind-light/theme.css +6403 -0
  457. package/src/public/dist-db-masters/browser/assets/themes/vela-blue/theme.css +6310 -0
  458. package/src/public/dist-db-masters/browser/assets/themes/vela-green/theme.css +6310 -0
  459. package/src/public/dist-db-masters/browser/assets/themes/vela-orange/theme.css +6310 -0
  460. package/src/public/dist-db-masters/browser/assets/themes/vela-purple/theme.css +6310 -0
  461. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  462. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  463. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  464. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  465. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  466. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  467. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  468. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  469. package/src/public/dist-db-masters/browser/assets/themes/viva-dark/theme.css +6444 -0
  470. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  471. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  472. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  473. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  474. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  475. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  476. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  477. package/src/public/dist-db-masters/browser/assets/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  478. package/src/public/dist-db-masters/browser/assets/themes/viva-light/theme.css +6445 -0
  479. package/src/public/dist-db-masters/browser/favicon.ico +0 -0
  480. package/src/public/dist-db-masters/browser/index.html +23 -0
  481. package/src/public/dist-db-masters/browser/main.js +116 -0
  482. package/src/public/dist-db-masters/browser/media/color.png +0 -0
  483. package/src/public/dist-db-masters/browser/media/hue.png +0 -0
  484. package/src/public/dist-db-masters/browser/media/primeicons.eot +0 -0
  485. package/src/public/dist-db-masters/browser/media/primeicons.svg +345 -0
  486. package/src/public/dist-db-masters/browser/media/primeicons.ttf +0 -0
  487. package/src/public/dist-db-masters/browser/media/primeicons.woff +0 -0
  488. package/src/public/dist-db-masters/browser/media/primeicons.woff2 +0 -0
  489. package/src/public/dist-db-masters/browser/polyfills.js +2 -0
  490. package/src/public/dist-db-masters/browser/styles.css +1 -0
  491. package/src/public/index.hbs +174 -0
  492. package/src/tools/install.js +37 -0
  493. package/src/tools/install_utils/InstallFromWeb.js +1636 -0
  494. package/src/tools/install_utils/SetEnvInFrontend.js +76 -0
  495. package/src/tools/install_utils/TSUtils.js +33 -0
  496. 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 ====