@resolveio/server-lib 12.5.53 → 12.5.54

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 (400) hide show
  1. package/.nodemon.json +5 -0
  2. package/.vscode/settings.json +3 -0
  3. package/README.md +22 -0
  4. package/compileDTS.pl +64 -0
  5. package/gulpfile.js +127 -0
  6. package/mongodbensurers.js +2 -0
  7. package/mongostop.js +3 -0
  8. package/package.json +1 -1
  9. package/settings.development.json +13 -0
  10. package/src/client-server-app.ts +7 -0
  11. package/src/collections/app-status.collection.ts +51 -0
  12. package/src/collections/counter.collection.ts +54 -0
  13. package/src/collections/cron-job-history.collection.ts +82 -0
  14. package/src/collections/cron-job.collection.ts +85 -0
  15. package/src/collections/email-history.collection.ts +66 -0
  16. package/src/collections/email-verified.collection.ts +61 -0
  17. package/src/collections/file.collection.ts +73 -0
  18. package/src/collections/flag.collection.ts +56 -0
  19. package/src/collections/log-method-latency.collection.ts +64 -0
  20. package/src/collections/log-subscription.collection.ts +68 -0
  21. package/src/collections/log-ts.collection.ts +78 -0
  22. package/src/collections/log.collection.ts +77 -0
  23. package/src/collections/logged-in-users.collection.ts +65 -0
  24. package/src/collections/method-response.collection.ts +66 -0
  25. package/src/collections/monitor-cpu.collection.ts +63 -0
  26. package/src/collections/monitor-memory.collection.ts +75 -0
  27. package/src/collections/monitor-mongo.collection.ts +69 -0
  28. package/src/collections/notification.collection.ts +51 -0
  29. package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
  30. package/src/collections/report-builder-library.collection.ts +89 -0
  31. package/src/collections/report-builder-report.collection.ts +149 -0
  32. package/src/collections/user-group.collection.ts +90 -0
  33. package/src/collections/user-guide.collection.ts +57 -0
  34. package/src/collections/user.collection.ts +259 -0
  35. package/src/cron/cron.ts +188 -0
  36. package/src/fixtures/cron-jobs.ts +25 -0
  37. package/src/fixtures/init.ts +10 -0
  38. package/src/http/auth.ts +732 -0
  39. package/src/http/health.ts +7 -0
  40. package/src/http/home.ts +71 -0
  41. package/src/index.ts +71 -0
  42. package/src/managers/cron.manager.ts +208 -0
  43. package/src/managers/method.manager.ts +607 -0
  44. package/src/managers/mongo.manager.ts +2282 -0
  45. package/src/managers/monitor.manager.ts +323 -0
  46. package/src/managers/subscription.manager.ts +1196 -0
  47. package/{managers/subscription.performance.js → src/managers/subscription.performance.ts} +68 -33
  48. package/src/methods/accounts.ts +202 -0
  49. package/src/methods/aws.ts +507 -0
  50. package/src/methods/collections.ts +512 -0
  51. package/src/methods/counters.ts +75 -0
  52. package/src/methods/cron-jobs.ts +1454 -0
  53. package/src/methods/flags.ts +7 -0
  54. package/src/methods/logs.ts +327 -0
  55. package/src/methods/monitor.ts +548 -0
  56. package/src/methods/pdf.ts +615 -0
  57. package/src/methods/report-builder.ts +876 -0
  58. package/src/methods/support.ts +146 -0
  59. package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
  60. package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
  61. package/src/models/collection-document.model.ts +22 -0
  62. package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
  63. package/src/models/cron-job-history.model.ts +13 -0
  64. package/src/models/cron-job.model.ts +14 -0
  65. package/src/models/dialog.model.ts +25 -0
  66. package/{models/email-history.model.d.ts → src/models/email-history.model.ts} +8 -7
  67. package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
  68. package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
  69. package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
  70. package/{models/log-method-latency.model.d.ts → src/models/log-method-latency.model.ts} +5 -4
  71. package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +8 -6
  72. package/{models/log.model.d.ts → src/models/log.model.ts} +12 -10
  73. package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
  74. package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
  75. package/src/models/method.model.ts +11 -0
  76. package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
  77. package/src/models/monitor-memory.model.ts +17 -0
  78. package/src/models/monitor-mongo.model.ts +15 -0
  79. package/{models/notification.model.d.ts → src/models/notification.model.ts} +3 -2
  80. package/src/models/pagination.model.ts +30 -0
  81. package/src/models/permission.model.ts +14 -0
  82. package/src/models/report-builder-dashboard-builder.model.ts +29 -0
  83. package/src/models/report-builder-library.model.ts +20 -0
  84. package/src/models/report-builder-report.model.ts +110 -0
  85. package/src/models/report-builder.model.ts +68 -0
  86. package/src/models/select-data-label.model.ts +9 -0
  87. package/src/models/server-response.model.ts +5 -0
  88. package/src/models/subscription.model.ts +64 -0
  89. package/src/models/support-ticket.model.ts +81 -0
  90. package/src/models/user-group.model.ts +23 -0
  91. package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
  92. package/src/models/user.model.ts +79 -0
  93. package/{public_api.d.ts → src/public_api.ts} +1 -1
  94. package/src/publications/app-status.ts +13 -0
  95. package/src/publications/cron-jobs.ts +30 -0
  96. package/src/publications/files.ts +34 -0
  97. package/src/publications/flags.ts +20 -0
  98. package/src/publications/logs.ts +164 -0
  99. package/src/publications/method-responses.ts +13 -0
  100. package/src/publications/notifications.ts +13 -0
  101. package/src/publications/report-builder-dashboard-builders.ts +39 -0
  102. package/src/publications/report-builder-libraries.ts +41 -0
  103. package/src/publications/report-builder-reports.ts +48 -0
  104. package/src/publications/super-admin.ts +13 -0
  105. package/src/publications/user-groups.ts +12 -0
  106. package/src/publications/user-guides.ts +12 -0
  107. package/src/server-app.ts +769 -0
  108. package/src/util/common.ts +519 -0
  109. package/src/util/schema-report-builder.ts +413 -0
  110. package/tsconfig.json +30 -0
  111. package/tslint.json +143 -0
  112. package/client-server-app.d.ts +0 -1
  113. package/client-server-app.js +0 -48
  114. package/client-server-app.js.map +0 -1
  115. package/collections/app-status.collection.d.ts +0 -3
  116. package/collections/app-status.collection.js +0 -51
  117. package/collections/app-status.collection.js.map +0 -1
  118. package/collections/counter.collection.d.ts +0 -3
  119. package/collections/counter.collection.js +0 -54
  120. package/collections/counter.collection.js.map +0 -1
  121. package/collections/cron-job-history.collection.d.ts +0 -3
  122. package/collections/cron-job-history.collection.js +0 -82
  123. package/collections/cron-job-history.collection.js.map +0 -1
  124. package/collections/cron-job.collection.d.ts +0 -3
  125. package/collections/cron-job.collection.js +0 -85
  126. package/collections/cron-job.collection.js.map +0 -1
  127. package/collections/email-history.collection.d.ts +0 -3
  128. package/collections/email-history.collection.js +0 -66
  129. package/collections/email-history.collection.js.map +0 -1
  130. package/collections/email-verified.collection.d.ts +0 -3
  131. package/collections/email-verified.collection.js +0 -61
  132. package/collections/email-verified.collection.js.map +0 -1
  133. package/collections/file.collection.d.ts +0 -3
  134. package/collections/file.collection.js +0 -73
  135. package/collections/file.collection.js.map +0 -1
  136. package/collections/flag.collection.d.ts +0 -3
  137. package/collections/flag.collection.js +0 -56
  138. package/collections/flag.collection.js.map +0 -1
  139. package/collections/log-method-latency.collection.d.ts +0 -3
  140. package/collections/log-method-latency.collection.js +0 -64
  141. package/collections/log-method-latency.collection.js.map +0 -1
  142. package/collections/log-subscription.collection.d.ts +0 -3
  143. package/collections/log-subscription.collection.js +0 -68
  144. package/collections/log-subscription.collection.js.map +0 -1
  145. package/collections/log-ts.collection.d.ts +0 -3
  146. package/collections/log-ts.collection.js +0 -78
  147. package/collections/log-ts.collection.js.map +0 -1
  148. package/collections/log.collection.d.ts +0 -3
  149. package/collections/log.collection.js +0 -77
  150. package/collections/log.collection.js.map +0 -1
  151. package/collections/logged-in-users.collection.d.ts +0 -3
  152. package/collections/logged-in-users.collection.js +0 -65
  153. package/collections/logged-in-users.collection.js.map +0 -1
  154. package/collections/method-response.collection.d.ts +0 -3
  155. package/collections/method-response.collection.js +0 -66
  156. package/collections/method-response.collection.js.map +0 -1
  157. package/collections/monitor-cpu.collection.d.ts +0 -3
  158. package/collections/monitor-cpu.collection.js +0 -63
  159. package/collections/monitor-cpu.collection.js.map +0 -1
  160. package/collections/monitor-memory.collection.d.ts +0 -3
  161. package/collections/monitor-memory.collection.js +0 -75
  162. package/collections/monitor-memory.collection.js.map +0 -1
  163. package/collections/monitor-mongo.collection.d.ts +0 -3
  164. package/collections/monitor-mongo.collection.js +0 -69
  165. package/collections/monitor-mongo.collection.js.map +0 -1
  166. package/collections/notification.collection.d.ts +0 -3
  167. package/collections/notification.collection.js +0 -51
  168. package/collections/notification.collection.js.map +0 -1
  169. package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
  170. package/collections/report-builder-dashboard-builder.collection.js +0 -109
  171. package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
  172. package/collections/report-builder-library.collection.d.ts +0 -3
  173. package/collections/report-builder-library.collection.js +0 -87
  174. package/collections/report-builder-library.collection.js.map +0 -1
  175. package/collections/report-builder-report.collection.d.ts +0 -4
  176. package/collections/report-builder-report.collection.js +0 -149
  177. package/collections/report-builder-report.collection.js.map +0 -1
  178. package/collections/user-group.collection.d.ts +0 -4
  179. package/collections/user-group.collection.js +0 -90
  180. package/collections/user-group.collection.js.map +0 -1
  181. package/collections/user-guide.collection.d.ts +0 -3
  182. package/collections/user-guide.collection.js +0 -57
  183. package/collections/user-guide.collection.js.map +0 -1
  184. package/collections/user.collection.d.ts +0 -4
  185. package/collections/user.collection.js +0 -259
  186. package/collections/user.collection.js.map +0 -1
  187. package/cron/cron.d.ts +0 -5
  188. package/cron/cron.js +0 -162
  189. package/cron/cron.js.map +0 -1
  190. package/fixtures/cron-jobs.d.ts +0 -1
  191. package/fixtures/cron-jobs.js +0 -73
  192. package/fixtures/cron-jobs.js.map +0 -1
  193. package/fixtures/init.d.ts +0 -1
  194. package/fixtures/init.js +0 -59
  195. package/fixtures/init.js.map +0 -1
  196. package/http/auth.d.ts +0 -2
  197. package/http/auth.js +0 -763
  198. package/http/auth.js.map +0 -1
  199. package/http/health.d.ts +0 -1
  200. package/http/health.js +0 -12
  201. package/http/health.js.map +0 -1
  202. package/http/home.d.ts +0 -2
  203. package/http/home.js +0 -66
  204. package/http/home.js.map +0 -1
  205. package/index.d.ts +0 -23
  206. package/index.js +0 -127
  207. package/index.js.map +0 -1
  208. package/managers/cron.manager.d.ts +0 -17
  209. package/managers/cron.manager.js +0 -242
  210. package/managers/cron.manager.js.map +0 -1
  211. package/managers/method.manager.d.ts +0 -38
  212. package/managers/method.manager.js +0 -595
  213. package/managers/method.manager.js.map +0 -1
  214. package/managers/mongo.manager.d.ts +0 -178
  215. package/managers/mongo.manager.js +0 -2221
  216. package/managers/mongo.manager.js.map +0 -1
  217. package/managers/monitor.manager.d.ts +0 -59
  218. package/managers/monitor.manager.js +0 -351
  219. package/managers/monitor.manager.js.map +0 -1
  220. package/managers/subscription.manager.d.ts +0 -50
  221. package/managers/subscription.manager.js +0 -1091
  222. package/managers/subscription.manager.js.map +0 -1
  223. package/managers/subscription.performance.d.ts +0 -1
  224. package/managers/subscription.performance.js.map +0 -1
  225. package/methods/accounts.d.ts +0 -2
  226. package/methods/accounts.js +0 -274
  227. package/methods/accounts.js.map +0 -1
  228. package/methods/aws.d.ts +0 -2
  229. package/methods/aws.js +0 -617
  230. package/methods/aws.js.map +0 -1
  231. package/methods/collections.d.ts +0 -2
  232. package/methods/collections.js +0 -499
  233. package/methods/collections.js.map +0 -1
  234. package/methods/counters.d.ts +0 -2
  235. package/methods/counters.js +0 -122
  236. package/methods/counters.js.map +0 -1
  237. package/methods/cron-jobs.d.ts +0 -2
  238. package/methods/cron-jobs.js +0 -1315
  239. package/methods/cron-jobs.js.map +0 -1
  240. package/methods/flags.d.ts +0 -2
  241. package/methods/flags.js +0 -9
  242. package/methods/flags.js.map +0 -1
  243. package/methods/logs.d.ts +0 -2
  244. package/methods/logs.js +0 -371
  245. package/methods/logs.js.map +0 -1
  246. package/methods/monitor.d.ts +0 -2
  247. package/methods/monitor.js +0 -565
  248. package/methods/monitor.js.map +0 -1
  249. package/methods/pdf.d.ts +0 -2
  250. package/methods/pdf.js +0 -468
  251. package/methods/pdf.js.map +0 -1
  252. package/methods/report-builder.d.ts +0 -2
  253. package/methods/report-builder.js +0 -858
  254. package/methods/report-builder.js.map +0 -1
  255. package/methods/support.d.ts +0 -2
  256. package/methods/support.js +0 -246
  257. package/methods/support.js.map +0 -1
  258. package/models/app-status.model.js +0 -4
  259. package/models/app-status.model.js.map +0 -1
  260. package/models/billing-logged-in-users.model.js +0 -4
  261. package/models/billing-logged-in-users.model.js.map +0 -1
  262. package/models/collection-document.model.d.ts +0 -19
  263. package/models/collection-document.model.js +0 -4
  264. package/models/collection-document.model.js.map +0 -1
  265. package/models/counter.model.js +0 -4
  266. package/models/counter.model.js.map +0 -1
  267. package/models/cron-job-history.model.d.ts +0 -12
  268. package/models/cron-job-history.model.js +0 -4
  269. package/models/cron-job-history.model.js.map +0 -1
  270. package/models/cron-job.model.d.ts +0 -13
  271. package/models/cron-job.model.js +0 -4
  272. package/models/cron-job.model.js.map +0 -1
  273. package/models/dialog.model.d.ts +0 -23
  274. package/models/dialog.model.js +0 -4
  275. package/models/dialog.model.js.map +0 -1
  276. package/models/email-history.model.js +0 -4
  277. package/models/email-history.model.js.map +0 -1
  278. package/models/email-verified.model.js +0 -4
  279. package/models/email-verified.model.js.map +0 -1
  280. package/models/file.model.js +0 -4
  281. package/models/file.model.js.map +0 -1
  282. package/models/flag.model.js +0 -4
  283. package/models/flag.model.js.map +0 -1
  284. package/models/log-method-latency.model.js +0 -4
  285. package/models/log-method-latency.model.js.map +0 -1
  286. package/models/log-subscription.model.js +0 -4
  287. package/models/log-subscription.model.js.map +0 -1
  288. package/models/log.model.js +0 -4
  289. package/models/log.model.js.map +0 -1
  290. package/models/logged-in-users.model.js +0 -4
  291. package/models/logged-in-users.model.js.map +0 -1
  292. package/models/method-response.model.js +0 -4
  293. package/models/method-response.model.js.map +0 -1
  294. package/models/method.model.d.ts +0 -9
  295. package/models/method.model.js +0 -4
  296. package/models/method.model.js.map +0 -1
  297. package/models/monitor-cpu.model.js +0 -4
  298. package/models/monitor-cpu.model.js.map +0 -1
  299. package/models/monitor-memory.model.d.ts +0 -15
  300. package/models/monitor-memory.model.js +0 -4
  301. package/models/monitor-memory.model.js.map +0 -1
  302. package/models/monitor-mongo.model.d.ts +0 -13
  303. package/models/monitor-mongo.model.js +0 -4
  304. package/models/monitor-mongo.model.js.map +0 -1
  305. package/models/notification.model.js +0 -4
  306. package/models/notification.model.js.map +0 -1
  307. package/models/pagination.model.d.ts +0 -10
  308. package/models/pagination.model.js +0 -24
  309. package/models/pagination.model.js.map +0 -1
  310. package/models/permission.model.d.ts +0 -12
  311. package/models/permission.model.js +0 -4
  312. package/models/permission.model.js.map +0 -1
  313. package/models/report-builder-dashboard-builder.model.d.ts +0 -25
  314. package/models/report-builder-dashboard-builder.model.js +0 -4
  315. package/models/report-builder-dashboard-builder.model.js.map +0 -1
  316. package/models/report-builder-library.model.d.ts +0 -17
  317. package/models/report-builder-library.model.js +0 -4
  318. package/models/report-builder-library.model.js.map +0 -1
  319. package/models/report-builder-report.model.d.ts +0 -98
  320. package/models/report-builder-report.model.js +0 -4
  321. package/models/report-builder-report.model.js.map +0 -1
  322. package/models/report-builder.model.d.ts +0 -61
  323. package/models/report-builder.model.js +0 -4
  324. package/models/report-builder.model.js.map +0 -1
  325. package/models/select-data-label.model.d.ts +0 -9
  326. package/models/select-data-label.model.js +0 -4
  327. package/models/select-data-label.model.js.map +0 -1
  328. package/models/server-response.model.d.ts +0 -5
  329. package/models/server-response.model.js +0 -4
  330. package/models/server-response.model.js.map +0 -1
  331. package/models/subscription.model.d.ts +0 -23
  332. package/models/subscription.model.js +0 -4
  333. package/models/subscription.model.js.map +0 -1
  334. package/models/support-ticket.model.d.ts +0 -72
  335. package/models/support-ticket.model.js +0 -4
  336. package/models/support-ticket.model.js.map +0 -1
  337. package/models/user-group.model.d.ts +0 -19
  338. package/models/user-group.model.js +0 -4
  339. package/models/user-group.model.js.map +0 -1
  340. package/models/user-guide.model.js +0 -4
  341. package/models/user-guide.model.js.map +0 -1
  342. package/models/user.model.d.ts +0 -70
  343. package/models/user.model.js +0 -4
  344. package/models/user.model.js.map +0 -1
  345. package/public_api.js +0 -75
  346. package/public_api.js.map +0 -1
  347. package/publications/app-status.d.ts +0 -2
  348. package/publications/app-status.js +0 -17
  349. package/publications/app-status.js.map +0 -1
  350. package/publications/cron-jobs.d.ts +0 -2
  351. package/publications/cron-jobs.js +0 -33
  352. package/publications/cron-jobs.js.map +0 -1
  353. package/publications/files.d.ts +0 -2
  354. package/publications/files.js +0 -37
  355. package/publications/files.js.map +0 -1
  356. package/publications/flags.d.ts +0 -2
  357. package/publications/flags.js +0 -23
  358. package/publications/flags.js.map +0 -1
  359. package/publications/logs.d.ts +0 -2
  360. package/publications/logs.js +0 -165
  361. package/publications/logs.js.map +0 -1
  362. package/publications/method-responses.d.ts +0 -2
  363. package/publications/method-responses.js +0 -17
  364. package/publications/method-responses.js.map +0 -1
  365. package/publications/notifications.d.ts +0 -2
  366. package/publications/notifications.js +0 -17
  367. package/publications/notifications.js.map +0 -1
  368. package/publications/report-builder-dashboard-builders.d.ts +0 -2
  369. package/publications/report-builder-dashboard-builders.js +0 -43
  370. package/publications/report-builder-dashboard-builders.js.map +0 -1
  371. package/publications/report-builder-libraries.d.ts +0 -2
  372. package/publications/report-builder-libraries.js +0 -90
  373. package/publications/report-builder-libraries.js.map +0 -1
  374. package/publications/report-builder-reports.d.ts +0 -2
  375. package/publications/report-builder-reports.js +0 -51
  376. package/publications/report-builder-reports.js.map +0 -1
  377. package/publications/super-admin.d.ts +0 -2
  378. package/publications/super-admin.js +0 -17
  379. package/publications/super-admin.js.map +0 -1
  380. package/publications/user-groups.d.ts +0 -1
  381. package/publications/user-groups.js +0 -17
  382. package/publications/user-groups.js.map +0 -1
  383. package/publications/user-guides.d.ts +0 -1
  384. package/publications/user-guides.js +0 -17
  385. package/publications/user-guides.js.map +0 -1
  386. package/server-app.d.ts +0 -52
  387. package/server-app.js +0 -739
  388. package/server-app.js.map +0 -1
  389. package/util/common.d.ts +0 -24
  390. package/util/common.js +0 -511
  391. package/util/common.js.map +0 -1
  392. package/util/schema-report-builder.d.ts +0 -6
  393. package/util/schema-report-builder.js +0 -453
  394. package/util/schema-report-builder.js.map +0 -1
  395. /package/{private → src/private}/email-templates/enrollment.html +0 -0
  396. /package/{private → src/private}/email-templates/forgot-password.html +0 -0
  397. /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
  398. /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
  399. /package/{private → src/private}/email-templates/support-ticket.html +0 -0
  400. /package/{private → src/private}/images/ResolveIO.png +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/common.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAI,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAClC,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;AAEzC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7B,SAAgB,aAAa,CAAC,QAAa;IAC1C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;QAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YAClC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;SAChC;aACI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE;YACtC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;YAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;SAC/B;aACI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YACvC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;SAChC;aACI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;YACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;YAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;SAC9B;aACI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YACvC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;SAChC;aACI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YACxC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;YACjC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;SAC/B;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;QAChC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACjB,CAAC;AAjCD,sCAiCC;AAED,SAAgB,cAAc,CAAC,SAAyB,EAAE,aAAqB,EAAE,qBAAoC;IACpH,yEAAyE;IADO,sCAAA,EAAA,0BAAoC;IAGpH,SAAS,CAAC,OAAO,CAAC,UAAA,GAAG;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,QAAQ,EAAE,eAAe,CAAC;QAC9B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC;QAE9M,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC9B,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9C,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC3D,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAChD;aACI;YACJ,iCAAiC;YACjC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;SACzB;QACD,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC;QAEnD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAClC,SAAS,IAAI,iBAAiB,GAAG,GAAG,CAAC,SAAS,GAAG,kCAAkC,CAAC;SACpF;aACI,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YACtD,SAAS,IAAI,iBAAiB,GAAG,GAAG,CAAC,SAAS,GAAG,uBAAuB,CAAC;SACzE;QACD,IAAI,UAAU,GAAG;YAChB,iBAAiB,EAAE,GAAG,CAAC,MAAM;YAC7B,uBAAuB,EAAE,eAAe;YACxC,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,WAAW;YACvB,SAAS,EAAE,eAAe;YAC1B,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,QAAQ;SACd,CAAC;QAEF,aAAa,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;QAE5C,IAAI,SAAS,EAAE;YACd,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;SACtD;IACF,CAAC,CAAC,CAAC;IAEH,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACzD,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9C,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC1G;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAnDD,wCAmDC;AAED,SAAgB,QAAQ,CAAC,GAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,eAAoB;IAApB,gCAAA,EAAA,oBAAoB;IACvE,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,eAAe,GAAG,OAAO,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AATD,4BASC;AAED,SAAgB,cAAc,CAAC,KAAa,EAAE,SAAa;IAAb,0BAAA,EAAA,aAAa;IAC1D,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAEnC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC9B,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC3B,SAAS,IAAI,CAAC,CAAC;SACf;QAED,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACtC;IAED,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAClE,CAAC;AAbD,wCAaC;AAED,SAAgB,QAAQ,CAAC,KAAK;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AAED,SAAgB,WAAW,CAAC,GAAG,EAAE,KAAK;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,IAAI,CAAC,GAAG,8DAA8D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnF,IAAI,CAAC,EAAE;YACN,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3G;KACD;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AARD,kCAQC;AAED,SAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU;IAC/D,IAAI,OAAO,CAAC,SAAS,EAAE;QACtB,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;KAC1C;IAED,IAAI,OAAO,CAAC,SAAS,EAAE;QACtB,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;KAC1C;IAED,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAEjD,IAAI,OAAO,EAAE;QACZ,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACtD,OAAO,OAAO,CAAC,IAAI,CAAC;SACpB;QAED,IAAI,UAAU,EAAE;YACf,OAAO,CAAC,IAAI,GAAG,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC;SACxB;KACD;SACI;QACJ,IAAI,UAAU,EAAE;YACf,OAAO,GAAG;gBACT,IAAI,EAAE,EAAC,GAAG,EAAE,CAAC,EAAC;aACd,CAAC;SACF;KACD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AA7BD,0CA6BC;AAED,SAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM;IAChE,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC3B,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACd,CAAC;AARD,0DAQC;AAED,SAAgB,YAAY;IAAC,wBAAiB;SAAjB,UAAiB,EAAjB,qBAAiB,EAAjB,IAAiB;QAAjB,mCAAiB;;IAC7C,IAAI,MAAM,GAAG;QACZ,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACT,CAAC;IAEF,cAAc,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAAC,CAAC,OAAO,CAAC,UAAA,QAAQ;QAC7C,QAAQ,CAAC,OAAO,CAAC,UAAA,MAAM;YACtB,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC7B;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;gBACxB,IAAI,OAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACjE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;qBAC7C;yBACI;wBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;qBAC5C;iBACD;qBACI;oBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;iBAC/B;aACD;iBACI,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;gBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;oBAE7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAClG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;4BACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;yBACxB;wBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAArD,CAAqD,CAAC,CAAC,MAAM,EAAE;4BAClG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACzC;qBACD;iBACD;qBACI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAClG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;4BACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;yBACxB;wBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAArD,CAAqD,CAAC,CAAC,MAAM,EAAE;4BAClG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACzC;qBACD;iBACD;qBACI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;oBAClC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;oBAC1C,uGAAuG;oBACvG,yCAAyC;oBACzC,IAAI;iBACJ;aACD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAjED,oCAiEC;AAED,SAAgB,WAAW,CAAC,IAAI,EAAE,IAAI;IACrC,OAAO,IAAI,CAAC,GAAG,CAAC;IAChB,OAAO,IAAI,CAAC,GAAG,CAAC;IAEhB,IAAI,IAAI,CAAC,SAAS,EAAE;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IAED,IAAI,IAAI,CAAC,SAAS,EAAE;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IAED,OAAO,IAAI,CAAC,GAAG,CAAC;IAChB,OAAO,IAAI,CAAC,GAAG,CAAC;IAEhB,IAAI,IAAI,CAAC,SAAS,EAAE;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IAED,IAAI,IAAI,CAAC,SAAS,EAAE;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAxBD,kCAwBC;AAED,SAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK;IAC3C,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9J,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtB,IAAI,KAAK,IAAI,IAAI,EAAE;QAClB,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE;YAC1B,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;YACpB,iCAAiC;YACjC,KAAK,CAAC,IAAI,GAAG,EAAE;gBACd,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACX,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;wBACpC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtB,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;qBACjB;yBACI;wBACJ,uFAAuF;wBACvF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,iCAAiC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;qBACzF;iBACD;qBACI;oBACJ,wFAAwF;oBACxF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,kCAAkC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;iBAC1F;aACD;SACD;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE;YACvB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAClB,iCAAiC;YACjC,KAAK,CAAC,IAAI,IAAI,EAAE;gBACf,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACZ,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;oBACvB,KAAK,EAAE,IAAI;iBACX,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBACZ;qBACI;oBACJ,2EAA2E;oBAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,uBAAuB,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;iBAC7E;aACD;SACD;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE;YACvB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAClB,iCAAiC;YACjC,KAAK,CAAC,IAAI,IAAI,EAAE;gBACf,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACZ,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;oBACxB,KAAK,EAAE,IAAI;iBACV,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;wBAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACZ;oBACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACb;qBACI;oBACJ,2EAA2E;oBAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,uBAAuB,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;iBAC7E;aACD;SACD;QACD,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;YACzB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YACpB,iCAAiC;YACjC,KAAK,CAAC,IAAI,IAAI,EAAE;gBACf,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACZ,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACf;qBACI;oBACJ,6EAA6E;oBAC7E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,yBAAyB,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;iBAC/E;aACD;SACD;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,iCAAiC;YACjC,KAAK,KAAK,IAAI,KAAK,EAAE,EAAE,0BAA0B;gBAChD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;oBAChD,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;oBAEf,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzD,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC3D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;wBAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAxC,CAAwC,CAAC,EAAE,CAAC,CAAC,CAAC;qBACpG;yBACI;wBACJ,iFAAiF;wBACjF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,yBAAyB,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;qBACnF;iBACD;aACD;SACD;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACxB,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YACrB,iCAAiC;YACjC,KAAK,KAAK,IAAI,MAAM,EAAE,EAAE,0BAA0B;gBACjD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvB,+CAA+C;gBAC/C,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;oBAChD,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;oBAEjB,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;wBAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACjB;yBACI;wBACJ,iFAAiF;wBACjF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,yBAAyB,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;qBACnF;iBACD;aACD;SACD;KACD;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AA3HD,4CA2HC;AAED,SAAS,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAQ;IACjC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;IACtB,IAAI,OAAO,IAAI,IAAI,EAAE;QACpB,OAAO,GAAG,EAAE,CAAC;KACb;IACD,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;KAC1B;IACD,CAAC,GAAG,CAAC,CAAC;IACN,IAAI,CAAC,KAAK,IAAI,EAAE;QACf,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE;YACtC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;gBACrB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACR;iBAAM;gBACP,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM;aACL;SACD;KACD;IACD,IAAI,OAAO,CAAC,KAAK,EAAE;QAClB,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE;YACtC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE;gBAC/F,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACT;iBAAM;gBACP,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACT;YACD,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACT;KACD;SACI;QACJ,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAChB;KACD;IACD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,MAAM,CAAC,IAAI,EAAE,IAAK;IAC1B,IAAI,IAAI,IAAI,IAAI,EAAE;QACjB,IAAI,GAAG,GAAG,CAAC;KACX;IACD,OAAO,CAAC,CAAC;QACR,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACrB;aACI;YACJ,QAAQ,IAAI,EAAE;gBACd,KAAK,KAAK,CAAC,CAAC;gBACZ,KAAK,IAAI,CAAC;gBACV,KAAK,KAAK,CAAC;gBACX,KAAK,EAAE;oBACN,OAAO,EAAE,CAAC;gBACX;oBACC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACnC;SACD;IACF,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAS,CAAC;QACnB,QAAQ,CAAC,EAAE;YACV,KAAK,KAAK,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,KAAK,CAAC;YACX,KAAK,EAAE;gBACP,OAAO,IAAI,CAAC;YACZ;gBACA,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;SACpB;IACF,CAAC,CAAC,CAAC,MAAM,CAAC,UAAS,CAAC;QACnB,OAAO,CAAC,IAAI,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;AACJ,CAAC;AAGD,SAAgB,aAAa,CAAC,MAAM;IACnC,IAAI,MAAM,EAAE;QACX,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC;SACI;QACJ,OAAO,CAAC,CAAC;KACT;AACF,CAAC;AAPD,sCAOC;AAED,SAAgB,GAAG,CAAC,GAAG,EAAE,IAAI;IAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;IACjB,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE;QAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;KAAE;IACxC,OAAO,CAAC,CAAC;AACV,CAAC;AAJD,kBAIC;AAED,SAAgB,YAAY,CAAC,MAAM,EAAE,KAAK;IACzC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KAAE;IAC/F,OAAO,MAAM,CAAC;AACf,CAAC;AAJD,oCAIC;AAED,SAAgB,WAAW,CAAC,GAAG;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAS,GAAG;QACxC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACJ,CAAC;AAJD,kCAIC;AAED,SAAgB,QAAQ,CAAC,IAAI;IAC5B,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,4BAEC;AAED,SAAgB,SAAS,CAAC,MAAM;;IAAE,iBAAU;SAAV,UAAU,EAAV,qBAAU,EAAV,IAAU;QAAV,gCAAU;;IAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACpB,OAAO,MAAM,CAAC;KACd;IACD,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACzC,KAAK,IAAM,GAAG,IAAI,MAAM,EAAE;YACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBACjB,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,EAAE,MAAG,CAAC;iBACrC;gBACD,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aACpC;iBACI;gBACJ,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAG,CAAC;aAC9C;SACD;KACD;IAED,OAAO,SAAS,8BAAC,MAAM,GAAK,OAAO,UAAE;AACtC,CAAC;AArBD,8BAqBC","file":"common.js","sourcesContent":["let rusDiff = require('rus-diff');\nlet deepDiff = require('deep-diff').diff;\nimport { LookupTables } from '../models/report-builder.model';\nlet clone = require('clone');\n\nexport function buildRbSchema(rbSchema: any) {\n\tObject.keys(rbSchema).forEach(key => {\n\t\tif (rbSchema[key].type === Object) {\n\t\t\trbSchema[key].type = 'Object';\n\t\t\trbSchema[key].rbType = 'Object';\n\t\t}\n\t\telse if (rbSchema[key].type === Array) {\n\t\t\trbSchema[key].type = 'Array';\n\t\t\trbSchema[key].rbType = 'Array';\n\t\t}\n\t\telse if (rbSchema[key].type === String) {\n\t\t\trbSchema[key].type = 'String';\n\t\t\trbSchema[key].rbType = 'String';\n\t\t}\n\t\telse if (rbSchema[key].type === Date) {\n\t\t\trbSchema[key].type = 'Date';\n\t\t\trbSchema[key].rbType = 'Date';\n\t\t}\n\t\telse if (rbSchema[key].type === Number) {\n\t\t\trbSchema[key].type = 'Number';\n\t\t\trbSchema[key].rbType = 'Number';\n\t\t}\n\t\telse if (rbSchema[key].type === Boolean) {\n\t\t\trbSchema[key].rbType = 'Boolean';\n\t\t\trbSchema[key].type = 'Boolean';\n\t\t}\n\t});\n\n\tObject.keys(rbSchema).forEach(key => {\n\t\tdelete rbSchema[key].type;\n\t});\n\n\treturn rbSchema;\n}\n\nexport function buildRbLookups(rbLookups: LookupTables[], defaultSchema: object, default_checked_array: string[] = []) {\n\t// Remember: lkp.local_key will be removed later on, because it has 'id_'\n\t\n\trbLookups.forEach(lkp => {\n\t\tlet errString = '';\n\t\tlet localKey, newPropertyName;\n\t\tlet localKeyDir = '';\n\t\tlet localKeyDirDot = '';\n\t\tlet collectionAlias = toTitleCase(lkp.lookup.replace(/\\_/g, ' ')) + ' (' + toTitleCase(lkp.local_key.replace('id_', '').replace(/\\_/g, ' ').replace(/\\.\\$\\./g, ' -> ').replace(/\\./g, ' -> ')) + ') (Lookup)';\n\n\t\tif (lkp.local_key.match(/\\./)) {\n\t\t\tlocalKey = lkp.local_key.replace(/\\.\\$/g, '');\n\t\t\tlocalKeyDirDot = lkp.local_key.replace(/^(.+\\.).*$/, '$1');\n\t\t\tlocalKeyDir = localKeyDirDot.replace(/\\.$/, '');\n\t\t}\n\t\telse {\n\t\t\t// local_key is a root leaf node.\n\t\t\tlocalKey = lkp.local_key;\n\t\t}\n\t\tnewPropertyName = localKeyDirDot + collectionAlias;\n\t\t\n\t\tif (!defaultSchema[lkp.local_key]) {\n\t\t\terrString += '--local_key: \\'' + lkp.local_key + '\\' MUST be a valid schema path! ';\n\t\t}\n\t\telse if (defaultSchema[lkp.local_key].type !== String) {\n\t\t\terrString += '--local_key: \\'' + lkp.local_key + '\\' MUST be a String! ';\n\t\t}\n\t\tlet lookupNode = {\n\t\t\tlookup_collection: lkp.lookup,\n\t\t\tlookup_collection_alias: collectionAlias,\n\t\t\tlocal_key: localKey,\n\t\t\tfield_path: localKeyDir,\n\t\t\tlookup_as: newPropertyName,\n\t\t\tlookup_key: '_id',\n\t\t\ttype: 'Object',\n\t\t};\n\n\t\tdefaultSchema[newPropertyName] = lookupNode;\n\n\t\tif (errString) {\n\t\t\tthrowErr(errString, lkp, lookupNode, newPropertyName);\n\t\t}\n\t});\n\n\tfor (let ii = 0; ii < default_checked_array.length; ii++) {\n\t\tdefaultSchema[default_checked_array[ii]] = {};\n\t\tdefaultSchema[default_checked_array[ii]]['default_checked'] = true;\n\t\tObject.assign(defaultSchema[default_checked_array[ii]], defaultSchema['tree'][default_checked_array[ii]]);\n\t}\n\n\treturn defaultSchema;\n}\n\nexport function throwErr(err: any, lkp, lookupNode, newPropertyName = '') {\n\t// err could be from a try/throw/catch\n\tconsole.log('------- ERROR thrown by rbLookups: ');\n\tconsole.log(err);\n\tconsole.log('---item: ');\n\tconsole.log(lkp);\n\tconsole.log('---Attempted to create rbSchema[\\'' + newPropertyName + '\\']: ');\n\tconsole.log(lookupNode);\n\tprocess.exit(1);\n}\n\nexport function roundPrecision(value: number, precision = 0) {\n\tlet stringValue = value.toString();\n\t\n\tif (stringValue.includes('.')) {\n\t\tif (stringValue[0] === '0') {\n\t\t\tprecision += 1;\n\t\t}\n\t\t\n\t\tprecision -= stringValue.indexOf('.');\n\t}\n\n\tconst exponent = Math.pow(10, precision);\n\treturn Math.round(parseFloat(stringValue) * exponent) / exponent;\n}\n\nexport function deepCopy(value) {\n\treturn clone(value);\n}\n\nexport function dateReviver(key, value) {\n\tif (typeof value === 'string') {\n\t\tlet a = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n\t\tif (a) {\n\t\t\treturn new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6].split('.')[0], +a[6].split('.')[1]));\n\t\t}\n\t}\n\treturn value;\n}\n\nexport function getMongoUpdates(currDoc, modifiedDoc, incVersion) {\n\tif (currDoc.createdAt) {\n\t\tmodifiedDoc.createdAt = currDoc.createdAt;\n\t}\n\n\tif (currDoc.updatedAt) {\n\t\tmodifiedDoc.updatedAt = currDoc.updatedAt;\n\t}\n\n\tlet updates = rusDiff.diff(currDoc, modifiedDoc);\n\n\tif (updates) {\n\t\tif (updates.$set && !Object.keys(updates.$set).length) {\n\t\t\tdelete updates.$set;\n\t\t}\n\n\t\tif (incVersion) {\n\t\t\tupdates.$inc = {__v: 1};\n\t\t}\n\t}\n\telse {\n\t\tif (incVersion) {\n\t\t\tupdates = {\n\t\t\t\t$inc: {__v: 1}\n\t\t\t};\n\t\t}\n\t}\n\n\treturn updates;\n}\n\nexport function getMongoMergeUpdatedDoc(f_doc, currentDoc, oldDoc) {\n\tlet upDoc = deepCopy(oldDoc);\n\tupDoc.__v = currentDoc.__v;\n\tlet diff_1 = getDeepDiff(oldDoc, currentDoc);\n\tlet diff_2 = getDeepDiff(oldDoc, f_doc);\n\tlet updates = mergeUpdates(diff_2, diff_1);\n\tapplyMongoUpdate(upDoc, updates);\n\treturn upDoc;\n}\n\nexport function mergeUpdates(...updatesToMerge) {\n\tlet merged = {\n\t\t$set: {},\n\t\t$unset: {},\n\t\t$inc: {},\n\t\t$push: {},\n\t\t$pull: {}\n\t};\n\n\tupdatesToMerge.filter(a => a).forEach(anUpdate => {\n\t\tanUpdate.forEach(change => {\n\t\t\tlet path = change.path[0];\n\n\t\t\tfor (let i = 1; i < change.path.length; i++) {\n\t\t\t\tpath += '.' + change.path[i];\n\t\t\t}\n\n\t\t\tif (change.kind === 'E') {\n\t\t\t\tif (typeof(change.rhs) === 'number' && path.endsWith('quantity')) {\n\t\t\t\t\tif (merged.$inc[path]) {\n\t\t\t\t\t\tmerged.$inc[path] += change.rhs - change.lhs;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tmerged.$inc[path] = change.rhs - change.lhs;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmerged.$set[path] = change.rhs;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (change.kind === 'A') {\n\t\t\t\tif (change.item.kind === 'N') {\n\t\t\t\t\t\n\t\t\t\t\tif (!merged.$push[path] || JSON.stringify(merged.$push[path]) !== JSON.stringify(change.item.rhs)) {\n\t\t\t\t\t\tif (!merged.$push[path]) {\n\t\t\t\t\t\t\tmerged.$push[path] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!merged.$push[path].filter(a => JSON.stringify(a) === JSON.stringify(change.item.rhs)).length) {\n\t\t\t\t\t\t\tmerged.$push[path].push(change.item.rhs);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (change.item.kind === 'D') {\n\t\t\t\t\tif (!merged.$pull[path] || JSON.stringify(merged.$pull[path]) !== JSON.stringify(change.item.lhs)) {\n\t\t\t\t\t\tif (!merged.$pull[path]) {\n\t\t\t\t\t\t\tmerged.$pull[path] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!merged.$pull[path].filter(a => JSON.stringify(a) === JSON.stringify(change.item.lhs)).length) {\n\t\t\t\t\t\t\tmerged.$pull[path].push(change.item.lhs);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (change.item.kind === 'E') {\n\t\t\t\t\tconsole.log('Condition E not satisfied.');\n\t\t\t\t\t// if (!merged.$pull[path] || JSON.stringify(merged.$pull[path]) !== JSON.stringify(change.item.lhs)) {\n\t\t\t\t\t// \tmerged.$pull[path] = change.item.lhs;\n\t\t\t\t\t// }\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\treturn merged;\n}\n\nexport function getDeepDiff(doc1, doc2) {\n\tdelete doc1._id;\n\tdelete doc1.__v;\n\n\tif (doc1.updatedAt) {\n\t\tdelete doc1.updatedAt;\n\t}\n\n\tif (doc1.createdAt) {\n\t\tdelete doc1.createdAt;\n\t}\n\n\tdelete doc2._id;\n\tdelete doc2.__v;\n\n\tif (doc2.updatedAt) {\n\t\tdelete doc2.updatedAt;\n\t}\n\n\tif (doc2.createdAt) {\n\t\tdelete doc2.createdAt;\n\t}\n\n\treturn deepDiff(doc1, doc2);\n}\n\nexport function applyMongoUpdate(uDoc, delta) {\n\tlet orig, k, pathk, vk, n, n1, n2, name, o, o1, o2, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9a, ref9b, ref10, ref11, ref12a, ref12b, ref13, v;\n\n\torig = deepCopy(uDoc);\n\n\tif (delta != null) {\n\t\tif (delta.$rename != null) {\n\t\t\tref = delta.$rename;\n\t\t\t// tslint:disable-next-line:forin\n\t\t\tfor (k in ref) {\n\t\t\t\tv = ref[k];\n\t\t\t\tref1 = resolve(uDoc, k), o1 = ref1[0], n1 = ref1[1];\n\t\t\t\tref2 = resolve(uDoc, v), o2 = ref2[0], n2 = ref2[1];\n\t\t\t\tif ((o1 != null) && n1.length === 1) {\n\t\t\t\t\tif ((o2 != null) && n2.length === 1) {\n\t\t\t\t\t\to2[n2[0]] = o1[n1[0]];\n\t\t\t\t\t\tdelete o1[n1[0]];\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// throw new Error(o2 + '/' + n2 + ' - couldn\\'t resolve first for ' + uDoc + ' ' + v);\n\t\t\t\t\t\tconsole.log('Error', o2 + '/' + n2 + ' - couldn\\'t resolve first for ' + uDoc + ' ' + v);\n\t\t\t\t\t}\n\t\t\t\t} \n\t\t\t\telse {\n\t\t\t\t\t// throw new Error(o1 + '/' + n1 + ' - couldn\\'t resolve second for ' + uDoc + ' ' + k);\n\t\t\t\t\tconsole.log('Error', o1 + '/' + n1 + ' - couldn\\'t resolve second for ' + uDoc + ' ' + k);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (delta.$set != null) {\n\t\t\tref3 = delta.$set;\n\t\t\t// tslint:disable-next-line:forin\n\t\t\tfor (k in ref3) {\n\t\t\t\tv = ref3[k];\n\t\t\t\tref4 = resolve(uDoc, k, {\n\t\t\t\t\tforce: true\n\t\t\t\t}), o = ref4[0], n = ref4[1];\n\t\t\t\tif ((o != null) && n.length === 1) {\n\t\t\t\t\to[n[0]] = v;\n\t\t\t\t} \n\t\t\t\telse {\n\t\t\t\t\t// throw new Error(o + '/' + n + ' - couldn\\'t set for ' + uDoc + ' ' + k);\n\t\t\t\t\tconsole.log('Error', o + '/' + n + ' - couldn\\'t set for ' + uDoc + ' ' + k);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (delta.$inc != null) {\n\t\t\tref5 = delta.$inc;\n\t\t\t// tslint:disable-next-line:forin\n\t\t\tfor (k in ref5) {\n\t\t\t\tv = ref5[k];\n\t\t\t\tref6 = resolve(uDoc, k, {\n\t\t\t\tforce: true\n\t\t\t\t}), o = ref6[0], n = ref6[1];\n\t\t\t\tif ((o != null) && n.length === 1) {\n\t\t\t\t\tif (o[name = n[0]] == null) {\n\t\t\t\t\t\to[name] = 0;\n\t\t\t\t\t}\n\t\t\t\t\to[n[0]] += v;\n\t\t\t\t} \n\t\t\t\telse {\n\t\t\t\t\t// throw new Error(o + '/' + n + ' - couldn\\'t set for ' + uDoc + ' ' + k);\n\t\t\t\t\tconsole.log('Error', o + '/' + n + ' - couldn\\'t set for ' + uDoc + ' ' + k);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (delta.$unset != null) {\n\t\t\tref7 = delta.$unset;\n\t\t\t// tslint:disable-next-line:forin\n\t\t\tfor (k in ref7) {\n\t\t\t\tv = ref7[k];\n\t\t\t\tref8 = resolve(uDoc, k), o = ref8[0], n = ref8[1];\n\t\t\t\tif ((o != null) && n.length === 1) {\n\t\t\t\t\tdelete o[n[0]];\n\t\t\t\t} \n\t\t\t\telse {\n\t\t\t\t\t// throw new Error(o + '/' + n + ' - couldn\\'t unset for ' + uDoc + ' ' + k);\n\t\t\t\t\tconsole.log('Error', o + '/' + n + ' - couldn\\'t unset for ' + uDoc + ' ' + k);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (delta.$pull != null) {\n\t\t\tref9a = delta.$pull;\n\t\t\t// tslint:disable-next-line:forin\n\t\t\tfor (pathk in ref9a) { // should only loop 1 time\n\t\t\t\tref9b = ref9a[pathk];\n\t\t\t\tfor (let kk = (ref9b.length - 1); kk >= 0; kk--) {\n\t\t\t\t\tvk = ref9b[kk];\n\t\t\t\t\t\n\t\t\t\t\tref10 = resolve(uDoc, pathk), o = ref10[0], n = ref10[1];\n\t\t\t\t\tref11 = resolve(orig, pathk), o2 = ref11[0], n2 = ref11[1];\n\t\t\t\t\tif ((o != null) && n.length === 1) {\n\t\t\t\t\t\to[n[0]].splice((<Array<any>>o2[n2[0]]).findIndex(z => JSON.stringify(z) === JSON.stringify(vk)), 1);\n\t\t\t\t\t} \n\t\t\t\t\telse {\n\t\t\t\t\t\t// throw new Error(o + '/' + n + ' - couldn\\'t unset for ' + uDoc + ' ' + pathk);\n\t\t\t\t\t\tconsole.log('Error', o + '/' + n + ' - couldn\\'t unset for ' + uDoc + ' ' + pathk);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (delta.$push != null) {\n\t\t\tref12a = delta.$push;\n\t\t\t// tslint:disable-next-line:forin\n\t\t\tfor (pathk in ref12a) { // should only loop 1 time\n\t\t\t\tref12b = ref12a[pathk];\n\t\t\t\t// for (let kk = 0; kk < ref12b.length; kk++) {\n\t\t\t\tfor (let kk = (ref12b.length - 1); kk >= 0; kk--) {\n\t\t\t\t\t\tvk = ref12b[kk];\n\n\t\t\t\t\tref13 = resolve(uDoc, pathk), o = ref13[0], n = ref13[1];\n\t\t\t\t\tif ((o != null) && n.length === 1) {\n\t\t\t\t\t\to[n[0]].push(vk);\n\t\t\t\t\t} \n\t\t\t\t\telse {\n\t\t\t\t\t\t// throw new Error(o + '/' + n + ' - couldn\\'t unset for ' + uDoc + ' ' + pathk);\n\t\t\t\t\t\tconsole.log('Error', o + '/' + n + ' - couldn\\'t unset for ' + uDoc + ' ' + pathk);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn uDoc;\n}\n\nfunction resolve(a, path, options?) {\n\tlet e, k, last, stack;\n\tif (options == null) {\n\t\toptions = {};\n\t}\n\tstack = arrize(path);\n\tlast = [];\n\tif (stack.length > 0) {\n\t\tlast.unshift(stack.pop());\n\t}\n\te = a;\n\tif (e !== null) {\n\t\twhile ((k = stack.shift()) !== void 0) {\n\t\t\tif (e[k] !== void 0) {\n\t\t\te = e[k];\n\t\t\t} else {\n\t\t\tstack.unshift(k);\n\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (options.force) {\n\t\twhile ((k = stack.shift()) !== void 0) {\n\t\t\tif ((typeof stack[0] === 'number') || ((stack.length === 0) && (typeof last[0] === 'number'))) {\n\t\t\te[k] = [];\n\t\t\t} else {\n\t\t\te[k] = {};\n\t\t\t}\n\t\t\te = e[k];\n\t\t}\n\t} \n\telse {\n\t\twhile ((k = stack.pop()) !== void 0) {\n\t\t\tlast.unshift(k);\n\t\t}\n\t}\n\treturn [e, last];\n}\n\nfunction arrize(path, glue?) {\n\tif (glue == null) {\n\t\tglue = '.';\n\t}\n\treturn ((function() {\n\t\tif (Array.isArray(path)) {\n\t\t\treturn path.slice(0);\n\t\t} \n\t\telse {\n\t\t\tswitch (path) {\n\t\t\tcase void 0:\n\t\t\tcase null:\n\t\t\tcase false:\n\t\t\tcase '':\n\t\t\t\treturn [];\n\t\t\tdefault:\n\t\t\t\treturn path.toString().split(glue);\n\t\t\t}\n\t\t}\n\t})()).map(function(e) {\n\t\tswitch (e) {\n\t\t\tcase void 0:\n\t\t\tcase null:\n\t\t\tcase false:\n\t\t\tcase '':\n\t\t\treturn null;\n\t\t\tdefault:\n\t\t\treturn e.toString();\n\t\t}\n\t}).filter(function(e) {\n\t\treturn e != null;\n\t});\n}\n\n\nexport function getBinarySize(string) {\n\tif (string) {\n\t\treturn Buffer.byteLength(string, 'utf8');\n\t}\n\telse {\n\t\treturn 0;\n\t}\n}\n\nexport function pad(num, size) {\n\tlet s = num + '';\n\twhile (s.length < size) { s = '0' + s; }\n\treturn s;\n}\n\nexport function randomString(length, chars) {\n\tlet result = '';\n\tfor (let i = length; i > 0; --i) { result += chars[Math.floor(Math.random() * chars.length)]; }\n\treturn result;\n}\n\nexport function toTitleCase(str) {\n\treturn str.replace(/\\w\\S*/g, function(txt){\n\t\treturn txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n\t});\n}\n\nexport function isObject(item) {\n\treturn (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, ...sources) {\n\tif (!sources.length) {\n\t\treturn target;\n\t}\n\tconst source = sources.shift();\n\n\tif (isObject(target) && isObject(source)) {\n\t\tfor (const key in source) {\n\t\t\tif (isObject(source[key])) {\n\t\t\t\tif (!target[key]) {\n\t\t\t\t\tObject.assign(target, { [key]: {} });\n\t\t\t\t}\n\t\t\t\tmergeDeep(target[key], source[key]);\n\t\t\t} \n\t\t\telse {\n\t\t\t\tObject.assign(target, { [key]: source[key] });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn mergeDeep(target, ...sources);\n}"]}
@@ -1,6 +0,0 @@
1
- import { CollectionTree } from '../models/report-builder.model';
2
- export declare function getReportLookupSchemas(collection_root: string): CollectionTree[];
3
- export declare function buildTree(current_root: any, schemaTree: any, lookup?: any): any[];
4
- export declare function getLeafValueTypes(schemaTree: any, fieldPath: any): any[];
5
- export declare function getLeafFormatTypes(schemaTree: any, fieldPath: any): any[];
6
- export declare function mongoCommand(commandstr: string, collection: string, field?: any): Promise<any>;
@@ -1,453 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.mongoCommand = exports.getLeafFormatTypes = exports.getLeafValueTypes = exports.buildTree = exports.getReportLookupSchemas = void 0;
40
- var index_1 = require("../index");
41
- var common_1 = require("./common");
42
- function getReportLookupSchemas(collection_root) {
43
- var lookupTrees = [];
44
- lookupTrees.push({ collection_name: collection_root, tree: index_1.ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'], is_root: true });
45
- var schemaObj = index_1.ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'];
46
- var modelKeys = Object.keys(schemaObj);
47
- modelKeys.forEach(function (field) {
48
- if (schemaObj[field].lookup_collection) {
49
- var collectionName_1 = schemaObj[field].lookup_collection;
50
- var collectionModel = index_1.ResolveIOServer.getMongoManager().collection(collectionName_1);
51
- if (!lookupTrees.filter(function (a) { return a.collection_name === collectionName_1; }).length) {
52
- lookupTrees.push({ collection_name: collectionName_1, tree: collectionModel['rbSchema'], is_root: false });
53
- }
54
- }
55
- });
56
- return lookupTrees;
57
- }
58
- exports.getReportLookupSchemas = getReportLookupSchemas;
59
- function buildTree(current_root, schemaTree, lookup) {
60
- var res = [];
61
- Object.keys(schemaTree).filter(function (a) { return a !== '_id' && a !== 'id' && a !== '__v'; }).forEach(function (key) {
62
- // Object.keys(schemaTree).filter(a => a !== '__v').forEach(key => {
63
- if (!lookup || (lookup && !schemaTree[key].lookup_collection)) {
64
- var treeItemSplit = key.split('.');
65
- // debugger;
66
- if (treeItemSplit.length === 1) {
67
- if (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {
68
- res.push({
69
- collection_name: current_root,
70
- columnName: (0, common_1.toTitleCase)(key.replace(/\_/g, ' ')),
71
- fieldName: key,
72
- fieldType: schemaTree[key].rbType,
73
- fieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),
74
- distinctFieldValues: [],
75
- fieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,
76
- fieldPathName: lookup ? ((0, common_1.toTitleCase)(lookup.lookup_as.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) + ' (List) -> ' + ((0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) : (0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> ')),
77
- lookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),
78
- lookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),
79
- lookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),
80
- lookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),
81
- text: (0, common_1.toTitleCase)(key.replace(/\_/g, ' ')),
82
- value: key,
83
- isLeaf: true,
84
- isActive: false,
85
- isSelected: false,
86
- depth: 0,
87
- leafValueType: '',
88
- leafValueTypes: getLeafValueTypes(schemaTree[key], key),
89
- leafFormatType: '',
90
- leafFormatTypes: getLeafFormatTypes(schemaTree[key], key)
91
- });
92
- }
93
- else {
94
- res.push({
95
- collection_name: current_root,
96
- columnName: (0, common_1.toTitleCase)(key.replace(/\_/g, ' ')),
97
- fieldName: key,
98
- fieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,
99
- fieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),
100
- distinctFieldValues: [],
101
- fieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,
102
- fieldPathName: lookup ? ((0, common_1.toTitleCase)(lookup.lookup_as.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) + ' (List) -> ' + ((0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) : (0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> ')),
103
- lookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),
104
- lookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),
105
- lookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),
106
- lookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),
107
- text: (0, common_1.toTitleCase)(key.replace(/\_/g, ' ')),
108
- value: key,
109
- isLeaf: false,
110
- isActive: false,
111
- isSelected: false,
112
- depth: 0,
113
- leafValueType: '',
114
- leafFormatType: '',
115
- children: []
116
- });
117
- }
118
- res = res.sort(function (a, b) { return a.fieldName.localeCompare(b.fieldName); });
119
- }
120
- else {
121
- var child_1 = null;
122
- treeItemSplit.forEach(function (layer, index) {
123
- if (!child_1) {
124
- child_1 = res.filter(function (a) { return a.fieldName === layer; })[0];
125
- }
126
- else {
127
- if (child_1.children.filter(function (a) { return a.fieldName === layer; })[0]) {
128
- child_1 = child_1.children.filter(function (a) { return a.fieldName === layer; })[0];
129
- }
130
- else {
131
- if (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {
132
- child_1.children.push({
133
- collection_name: current_root,
134
- columnName: (0, common_1.toTitleCase)(key.replace(/\_/g, ' ')),
135
- fieldName: layer,
136
- fieldType: schemaTree[key].rbType,
137
- fieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),
138
- distinctFieldValues: [],
139
- fieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,
140
- fieldPathName: lookup ? ((0, common_1.toTitleCase)(lookup.lookup_as.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) + ' (List) -> ' + ((0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) : (0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> ')),
141
- lookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),
142
- lookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),
143
- lookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),
144
- lookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),
145
- text: (0, common_1.toTitleCase)(layer.replace(/\_/g, ' ')),
146
- value: layer,
147
- isLeaf: true,
148
- isActive: false,
149
- isSelected: false,
150
- depth: index,
151
- leafValueType: '',
152
- leafValueTypes: getLeafValueTypes(schemaTree[key], key),
153
- leafFormatType: '',
154
- leafFormatTypes: getLeafFormatTypes(schemaTree[key], key)
155
- });
156
- }
157
- else {
158
- child_1.children.push({
159
- collection_name: current_root,
160
- columnName: (0, common_1.toTitleCase)(key.replace(/\_/g, ' ')),
161
- fieldName: layer,
162
- fieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,
163
- fieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),
164
- distinctFieldValues: [],
165
- fieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,
166
- fieldPathName: lookup ? ((0, common_1.toTitleCase)(lookup.lookup_as.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) + ' (List) -> ' + ((0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> '))) : (0, common_1.toTitleCase)(key.replace(/\.\$\./g, ' (List) -> ').replace(/\./g, ' (Group) -> ')),
167
- lookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),
168
- lookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),
169
- lookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),
170
- lookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),
171
- text: (0, common_1.toTitleCase)(layer.replace(/\_/g, ' ')),
172
- value: layer,
173
- isLeaf: false,
174
- isActive: false,
175
- isSelected: false,
176
- depth: index,
177
- leafValueType: '',
178
- leafFormatType: '',
179
- children: []
180
- });
181
- }
182
- child_1.children = child_1.children.sort(function (a, b) { return a.fieldName.localeCompare(b.fieldName); });
183
- }
184
- }
185
- });
186
- }
187
- }
188
- });
189
- return res;
190
- }
191
- exports.buildTree = buildTree;
192
- function getLeafValueTypes(schemaTree, fieldPath) {
193
- var leafTypes = [];
194
- if (schemaTree.rbType === 'String') {
195
- leafTypes = [
196
- {
197
- text: 'As Value',
198
- value: 'Value'
199
- },
200
- {
201
- text: 'Unique',
202
- value: 'Unique'
203
- },
204
- {
205
- text: 'As Count',
206
- value: 'Count'
207
- },
208
- {
209
- text: 'First',
210
- value: 'First'
211
- },
212
- {
213
- text: 'Last',
214
- value: 'Last'
215
- }
216
- ];
217
- }
218
- else if (schemaTree.rbType === 'Number') {
219
- leafTypes = [
220
- {
221
- text: 'As Value',
222
- value: 'Value'
223
- },
224
- {
225
- text: 'Unique',
226
- value: 'Unique'
227
- },
228
- {
229
- text: 'As Average',
230
- value: 'Average'
231
- },
232
- {
233
- text: 'As Count',
234
- value: 'Count'
235
- },
236
- {
237
- text: 'As Sum',
238
- value: 'Sum'
239
- },
240
- {
241
- text: 'Minimum',
242
- value: 'Minimum'
243
- },
244
- {
245
- text: 'Maximum',
246
- value: 'Maximum'
247
- },
248
- {
249
- text: 'First',
250
- value: 'First'
251
- },
252
- {
253
- text: 'Last',
254
- value: 'Last'
255
- }
256
- ];
257
- }
258
- else if (schemaTree.rbType === 'Boolean') {
259
- leafTypes = [
260
- {
261
- text: 'As Value',
262
- value: 'Value'
263
- },
264
- {
265
- text: 'Unique',
266
- value: 'Unique'
267
- },
268
- {
269
- text: 'As Count',
270
- value: 'Count'
271
- },
272
- {
273
- text: 'First',
274
- value: 'First'
275
- },
276
- {
277
- text: 'Last',
278
- value: 'Last'
279
- }
280
- ];
281
- }
282
- else if (schemaTree.rbType === 'Date') {
283
- leafTypes = [
284
- {
285
- text: 'As Value',
286
- value: 'Value'
287
- },
288
- {
289
- text: 'Unique',
290
- value: 'Unique'
291
- },
292
- {
293
- text: 'As Count',
294
- value: 'Count'
295
- },
296
- {
297
- text: 'Minimum',
298
- value: 'Minimum'
299
- },
300
- {
301
- text: 'Maximum',
302
- value: 'Maximum'
303
- },
304
- {
305
- text: 'First',
306
- value: 'First'
307
- },
308
- {
309
- text: 'Last',
310
- value: 'Last'
311
- }
312
- ];
313
- }
314
- return leafTypes;
315
- }
316
- exports.getLeafValueTypes = getLeafValueTypes;
317
- function getLeafFormatTypes(schemaTree, fieldPath) {
318
- var leafTypes = [];
319
- if (schemaTree.rbType === 'String') {
320
- leafTypes = [
321
- {
322
- text: 'As Text',
323
- value: 'String'
324
- },
325
- {
326
- text: 'As Number',
327
- value: 'Number'
328
- }
329
- ];
330
- }
331
- else if (schemaTree.rbType === 'Number') {
332
- leafTypes = [
333
- {
334
- text: 'As Number',
335
- value: 'Number'
336
- },
337
- {
338
- text: 'As Currency',
339
- value: 'Currency'
340
- },
341
- {
342
- text: 'As Text',
343
- value: 'String'
344
- }
345
- ];
346
- }
347
- else if (schemaTree.rbType === 'Boolean') {
348
- leafTypes = [
349
- {
350
- text: 'As Number',
351
- value: 'Number'
352
- },
353
- {
354
- text: 'As Boolean (True/False)',
355
- value: 'Boolean'
356
- },
357
- {
358
- text: 'As Text (Yes/No)',
359
- value: 'String'
360
- },
361
- {
362
- text: 'As Number (1/0)',
363
- value: 'Boolean_Number'
364
- }
365
- ];
366
- }
367
- else if (schemaTree.rbType === 'Date') {
368
- leafTypes = [
369
- {
370
- text: 'As Number',
371
- value: 'Number'
372
- },
373
- {
374
- text: 'As Date (Short Format)',
375
- value: 'Date'
376
- },
377
- {
378
- text: 'As Time (Short Format)',
379
- value: 'Time'
380
- },
381
- {
382
- text: 'As Date/Time (Short Format)',
383
- value: 'DateTime'
384
- },
385
- {
386
- text: 'As Date (Long Format)',
387
- value: 'Date_long'
388
- },
389
- {
390
- text: 'As Date/Time (Long Format)',
391
- value: 'DateTime_long'
392
- },
393
- {
394
- text: 'As Timestamp (MS since 1970)',
395
- value: 'Timestamp'
396
- }
397
- ];
398
- }
399
- return leafTypes;
400
- }
401
- exports.getLeafFormatTypes = getLeafFormatTypes;
402
- function mongoCommand(commandstr, collection, field) {
403
- return __awaiter(this, void 0, void 0, function () {
404
- var tmpObj, obj, obj, err_1;
405
- return __generator(this, function (_a) {
406
- switch (_a.label) {
407
- case 0:
408
- _a.trys.push([0, 6, , 7]);
409
- if (!(commandstr === 'count')) return [3 /*break*/, 2];
410
- obj = {
411
- count: collection,
412
- query: {}
413
- };
414
- obj.query[field] = { $ne: null };
415
- return [4 /*yield*/, index_1.ResolveIOServer.getMainDB().command(obj)];
416
- case 1:
417
- tmpObj = _a.sent();
418
- return [3 /*break*/, 5];
419
- case 2:
420
- if (!(commandstr === 'distinct')) return [3 /*break*/, 4];
421
- obj = {
422
- distinct: collection,
423
- query: {},
424
- key: field,
425
- };
426
- return [4 /*yield*/, index_1.ResolveIOServer.getMainDB().command(obj)];
427
- case 3:
428
- tmpObj = _a.sent();
429
- return [3 /*break*/, 5];
430
- case 4:
431
- if (commandstr === 'listIndexes') {
432
- // tmpObj = await this.mainDb.db[collection].getIndexes();
433
- // let obj = { 'listIndexes': collection };
434
- // tmpObj = await this.mainDb.db.getIndexes(obj);
435
- }
436
- _a.label = 5;
437
- case 5: return [3 /*break*/, 7];
438
- case 6:
439
- err_1 = _a.sent();
440
- // console.log('----------- mongoCommand err: ', err);
441
- return [2 /*return*/, -1];
442
- case 7:
443
- if (tmpObj) {
444
- return [2 /*return*/, tmpObj.values];
445
- }
446
- return [2 /*return*/];
447
- }
448
- });
449
- });
450
- }
451
- exports.mongoCommand = mongoCommand;
452
-
453
- //# sourceMappingURL=schema-report-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/schema-report-builder.ts"],"names":[],"mappings":"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","file":"schema-report-builder.js","sourcesContent":["import { ResolveIOServer } from '../index';\nimport { CollectionTree } from '../models/report-builder.model';\nimport { toTitleCase } from './common';\n\nexport function getReportLookupSchemas(collection_root: string) {\n\tlet lookupTrees: CollectionTree[] = [];\n\tlookupTrees.push({ collection_name: collection_root, tree: ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'], is_root: true });\n\tlet schemaObj = ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'];\n\tlet modelKeys = Object.keys(schemaObj);\n\tmodelKeys.forEach(field => {\n\t\tif (schemaObj[field].lookup_collection) {\n\t\t\tlet collectionName = schemaObj[field].lookup_collection;\n\t\t\tlet collectionModel = ResolveIOServer.getMongoManager().collection(collectionName);\n\n\t\t\tif (!lookupTrees.filter(a => a.collection_name === collectionName).length) {\n\t\t\t\tlookupTrees.push({ collection_name: collectionName, tree: collectionModel['rbSchema'], is_root: false });\n\t\t\t}\n\t\t}\n\t});\n\n\treturn lookupTrees;\n}\n\nexport function buildTree(current_root, schemaTree, lookup?) {\n\tlet res = [];\n\n\tObject.keys(schemaTree).filter(a => a !== '_id' && a !== 'id' && a !== '__v').forEach(key => {\n\t// Object.keys(schemaTree).filter(a => a !== '__v').forEach(key => {\n\t\tif (!lookup || (lookup && !schemaTree[key].lookup_collection)) {\n\t\t\tlet treeItemSplit = key.split('.');\n\t\t\n\t\t\t// debugger;\n\n\t\t\tif (treeItemSplit.length === 1) {\n\t\t\t\tif (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {\n\t\t\t\t\tres.push({\n\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tfieldName: key,\n\t\t\t\t\t\tfieldType: schemaTree[key].rbType,\n\t\t\t\t\t\tfieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),\n\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\ttext: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\tisLeaf: true,\n\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\tdepth: 0,\n\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\tleafValueTypes: getLeafValueTypes(schemaTree[key], key),\n\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\tleafFormatTypes: getLeafFormatTypes(schemaTree[key], key)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tres.push({\n\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tfieldName: key,\n\t\t\t\t\t\tfieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,\n\t\t\t\t\t\tfieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),\n\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\ttext: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\tisLeaf: false,\n\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\tdepth: 0,\n\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\tchildren: []\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tres = res.sort((a, b) => a.fieldName.localeCompare(b.fieldName));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet child = null;\n\n\t\t\t\ttreeItemSplit.forEach((layer, index) => {\n\t\t\t\t\tif (!child) {\n\t\t\t\t\t\tchild = res.filter(a => a.fieldName === layer)[0];\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (child.children.filter(a => a.fieldName === layer)[0]) {\n\t\t\t\t\t\t\tchild = child.children.filter(a => a.fieldName === layer)[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tchild.children.push({\n\t\t\t\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tfieldName: layer,\n\t\t\t\t\t\t\t\t\tfieldType: schemaTree[key].rbType,\n\t\t\t\t\t\t\t\t\tfieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),\n\t\t\t\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\t\t\t\ttext: toTitleCase(layer.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tvalue: layer,\n\t\t\t\t\t\t\t\t\tisLeaf: true,\n\t\t\t\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\t\t\t\tdepth: index,\n\t\t\t\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\t\t\t\tleafValueTypes: getLeafValueTypes(schemaTree[key], key),\n\t\t\t\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\t\t\t\tleafFormatTypes: getLeafFormatTypes(schemaTree[key], key)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tchild.children.push({\n\t\t\t\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tfieldName: layer,\n\t\t\t\t\t\t\t\t\tfieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,\n\t\t\t\t\t\t\t\t\tfieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),\n\t\t\t\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\t\t\t\ttext: toTitleCase(layer.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tvalue: layer,\n\t\t\t\t\t\t\t\t\tisLeaf: false,\n\t\t\t\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\t\t\t\tdepth: index,\n\t\t\t\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\t\t\t\tchildren: []\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tchild.children = child.children.sort((a, b) => a.fieldName.localeCompare(b.fieldName));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\treturn res;\n}\n\nexport function getLeafValueTypes(schemaTree, fieldPath) {\n\tlet leafTypes = [];\n\n\tif (schemaTree.rbType === 'String') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Number') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Average',\n\t\t\t\tvalue: 'Average'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Sum',\n\t\t\t\tvalue: 'Sum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Minimum',\n\t\t\t\tvalue: 'Minimum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Maximum',\n\t\t\t\tvalue: 'Maximum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Boolean') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Date') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Minimum',\n\t\t\t\tvalue: 'Minimum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Maximum',\n\t\t\t\tvalue: 'Maximum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\treturn leafTypes;\n}\n\nexport function getLeafFormatTypes(schemaTree, fieldPath) {\n\tlet leafTypes = [];\n\n\tif (schemaTree.rbType === 'String') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Text',\n\t\t\t\tvalue: 'String'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Number') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Currency',\n\t\t\t\tvalue: 'Currency'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Text',\n\t\t\t\tvalue: 'String'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Boolean') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Boolean (True/False)',\n\t\t\t\tvalue: 'Boolean'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Text (Yes/No)',\n\t\t\t\tvalue: 'String'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Number (1/0)',\n\t\t\t\tvalue: 'Boolean_Number'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Date') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Date (Short Format)',\n\t\t\t\tvalue: 'Date'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Time (Short Format)',\n\t\t\t\tvalue: 'Time'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Date/Time (Short Format)',\n\t\t\t\tvalue: 'DateTime'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Date (Long Format)',\n\t\t\t\tvalue: 'Date_long'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Date/Time (Long Format)',\n\t\t\t\tvalue: 'DateTime_long'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Timestamp (MS since 1970)',\n\t\t\t\tvalue: 'Timestamp'\n\t\t\t}\n\t\t];\n\t}\n\treturn leafTypes;\n}\n\n\n\n\n\nexport async function mongoCommand(commandstr: string, collection: string, field?: any) {\n\tlet tmpObj;\n\ttry {\n\t\t// Count the number of non-empty fields in a given collection:\n\t\tif (commandstr === 'count') {\n\t\t\tlet obj = {\n\t\t\t\tcount: collection,\n\t\t\t\tquery: {}\n\t\t\t};\n\t\t\tobj.query[field] = {$ne: null};\n\t\t\ttmpObj = await ResolveIOServer.getMainDB().command(obj);\n\t\t}\n\t\t// Get all distinct values in a given field.\n\t\telse if (commandstr === 'distinct') {\n\t\t\tlet obj = {\n\t\t\t\tdistinct: collection,\n\t\t\t\tquery: {},\n\t\t\t\tkey: field,\n\t\t\t};\n\t\t\ttmpObj = await ResolveIOServer.getMainDB().command(obj);\n\t\t}\n\t\telse if (commandstr === 'listIndexes') {\n\t\t\t// tmpObj = await this.mainDb.db[collection].getIndexes();\n\t\t\t// let obj = { 'listIndexes': collection };\n\t\t\t// tmpObj = await this.mainDb.db.getIndexes(obj);\n\t\t}\n\t} catch (err) {\n\t\t// console.log('----------- mongoCommand err: ', err);\n\t\treturn -1;\n\t}\n\tif (tmpObj) {\n\t\treturn tmpObj.values;\n\t}\n}"]}
File without changes