@resolveio/server-lib 22.2.34 → 22.2.35

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 (649) hide show
  1. package/ai/assistant-core-heuristics.d.ts +11 -0
  2. package/ai/assistant-core-heuristics.js +531 -0
  3. package/ai/assistant-core-heuristics.js.map +1 -0
  4. package/client-server-app.d.ts +1 -0
  5. package/client-server-app.js +68 -0
  6. package/client-server-app.js.map +1 -0
  7. package/collections/ai-terminal-conversation.collection.d.ts +2 -0
  8. package/collections/ai-terminal-conversation.collection.js +140 -0
  9. package/collections/ai-terminal-conversation.collection.js.map +1 -0
  10. package/collections/ai-terminal-issue-report.collection.d.ts +2 -0
  11. package/collections/ai-terminal-issue-report.collection.js +148 -0
  12. package/collections/ai-terminal-issue-report.collection.js.map +1 -0
  13. package/collections/ai-terminal-message.collection.d.ts +2 -0
  14. package/collections/ai-terminal-message.collection.js +121 -0
  15. package/collections/ai-terminal-message.collection.js.map +1 -0
  16. package/collections/app-setting.collection.d.ts +3 -0
  17. package/collections/app-setting.collection.js +103 -0
  18. package/collections/app-setting.collection.js.map +1 -0
  19. package/collections/app-status.collection.d.ts +3 -0
  20. package/collections/app-status.collection.js +57 -0
  21. package/collections/app-status.collection.js.map +1 -0
  22. package/collections/communication-metric.collection.d.ts +2 -0
  23. package/collections/communication-metric.collection.js +133 -0
  24. package/collections/communication-metric.collection.js.map +1 -0
  25. package/collections/counter.collection.d.ts +3 -0
  26. package/collections/counter.collection.js +56 -0
  27. package/collections/counter.collection.js.map +1 -0
  28. package/collections/cron-job-history.collection.d.ts +3 -0
  29. package/collections/cron-job-history.collection.js +137 -0
  30. package/collections/cron-job-history.collection.js.map +1 -0
  31. package/collections/cron-job.collection.d.ts +3 -0
  32. package/collections/cron-job.collection.js +92 -0
  33. package/collections/cron-job.collection.js.map +1 -0
  34. package/collections/customer-notification.collection.d.ts +3 -0
  35. package/collections/customer-notification.collection.js +130 -0
  36. package/collections/customer-notification.collection.js.map +1 -0
  37. package/collections/customer-portal-password.collection.d.ts +3 -0
  38. package/collections/customer-portal-password.collection.js +75 -0
  39. package/collections/customer-portal-password.collection.js.map +1 -0
  40. package/collections/email-history.collection.d.ts +3 -0
  41. package/collections/email-history.collection.js +121 -0
  42. package/collections/email-history.collection.js.map +1 -0
  43. package/collections/email-verified.collection.d.ts +3 -0
  44. package/collections/email-verified.collection.js +61 -0
  45. package/collections/email-verified.collection.js.map +1 -0
  46. package/collections/file.collection.d.ts +3 -0
  47. package/collections/file.collection.js +74 -0
  48. package/collections/file.collection.js.map +1 -0
  49. package/collections/flag-update.collection.d.ts +3 -0
  50. package/collections/flag-update.collection.js +57 -0
  51. package/collections/flag-update.collection.js.map +1 -0
  52. package/collections/flag.collection.d.ts +3 -0
  53. package/collections/flag.collection.js +57 -0
  54. package/collections/flag.collection.js.map +1 -0
  55. package/collections/log-method-latency.collection.d.ts +3 -0
  56. package/collections/log-method-latency.collection.js +77 -0
  57. package/collections/log-method-latency.collection.js.map +1 -0
  58. package/collections/log-subscription.collection.d.ts +3 -0
  59. package/collections/log-subscription.collection.js +80 -0
  60. package/collections/log-subscription.collection.js.map +1 -0
  61. package/collections/log.collection.d.ts +3 -0
  62. package/collections/log.collection.js +93 -0
  63. package/collections/log.collection.js.map +1 -0
  64. package/collections/logged-in-users.collection.d.ts +3 -0
  65. package/collections/logged-in-users.collection.js +67 -0
  66. package/collections/logged-in-users.collection.js.map +1 -0
  67. package/collections/monitor-cpu.collection.d.ts +3 -0
  68. package/collections/monitor-cpu.collection.js +65 -0
  69. package/collections/monitor-cpu.collection.js.map +1 -0
  70. package/collections/monitor-function.collection.d.ts +3 -0
  71. package/collections/monitor-function.collection.js +74 -0
  72. package/collections/monitor-function.collection.js.map +1 -0
  73. package/collections/monitor-memory.collection.d.ts +3 -0
  74. package/collections/monitor-memory.collection.js +77 -0
  75. package/collections/monitor-memory.collection.js.map +1 -0
  76. package/collections/monitor-mongo.collection.d.ts +3 -0
  77. package/collections/monitor-mongo.collection.js +71 -0
  78. package/collections/monitor-mongo.collection.js.map +1 -0
  79. package/collections/notification.collection.d.ts +3 -0
  80. package/collections/notification.collection.js +57 -0
  81. package/collections/notification.collection.js.map +1 -0
  82. package/collections/openai-usage-ledger.collection.d.ts +2 -0
  83. package/collections/openai-usage-ledger.collection.js +124 -0
  84. package/collections/openai-usage-ledger.collection.js.map +1 -0
  85. package/collections/report-builder-dashboard-builder.collection.d.ts +3 -0
  86. package/collections/report-builder-dashboard-builder.collection.js +109 -0
  87. package/collections/report-builder-dashboard-builder.collection.js.map +1 -0
  88. package/collections/report-builder-library.collection.d.ts +3 -0
  89. package/collections/report-builder-library.collection.js +87 -0
  90. package/collections/report-builder-library.collection.js.map +1 -0
  91. package/collections/report-builder-report.collection.d.ts +4 -0
  92. package/collections/report-builder-report.collection.js +180 -0
  93. package/collections/report-builder-report.collection.js.map +1 -0
  94. package/collections/user-group.collection.d.ts +4 -0
  95. package/collections/user-group.collection.js +89 -0
  96. package/collections/user-group.collection.js.map +1 -0
  97. package/collections/user-guide.collection.d.ts +3 -0
  98. package/collections/user-guide.collection.js +57 -0
  99. package/collections/user-guide.collection.js.map +1 -0
  100. package/collections/user.collection.d.ts +4 -0
  101. package/collections/user.collection.js +180 -0
  102. package/collections/user.collection.js.map +1 -0
  103. package/cron/cron.d.ts +14 -0
  104. package/cron/cron.js +216 -0
  105. package/cron/cron.js.map +1 -0
  106. package/fixtures/cron-jobs.d.ts +1 -0
  107. package/fixtures/cron-jobs.js +150 -0
  108. package/fixtures/cron-jobs.js.map +1 -0
  109. package/fixtures/init.d.ts +1 -0
  110. package/fixtures/init.js +91 -0
  111. package/fixtures/init.js.map +1 -0
  112. package/http/auth.d.ts +2 -0
  113. package/http/auth.js +903 -0
  114. package/http/auth.js.map +1 -0
  115. package/http/health.d.ts +1 -0
  116. package/http/health.js +11 -0
  117. package/http/health.js.map +1 -0
  118. package/http/home.d.ts +1 -0
  119. package/http/home.js +134 -0
  120. package/http/home.js.map +1 -0
  121. package/http/slow-query-publication.d.ts +2 -0
  122. package/http/slow-query-publication.js +99 -0
  123. package/http/slow-query-publication.js.map +1 -0
  124. package/index.d.ts +1 -0
  125. package/index.js +19 -0
  126. package/index.js.map +1 -0
  127. package/managers/communication-metric.manager.d.ts +16 -0
  128. package/managers/communication-metric.manager.js +134 -0
  129. package/managers/communication-metric.manager.js.map +1 -0
  130. package/managers/cron.manager.d.ts +20 -0
  131. package/managers/cron.manager.js +534 -0
  132. package/managers/cron.manager.js.map +1 -0
  133. package/managers/customer-notification-content.manager.d.ts +55 -0
  134. package/managers/customer-notification-content.manager.js +158 -0
  135. package/managers/customer-notification-content.manager.js.map +1 -0
  136. package/managers/diagnostic-manager-bootstrap.d.ts +9 -0
  137. package/managers/diagnostic-manager-bootstrap.js +260 -0
  138. package/managers/diagnostic-manager-bootstrap.js.map +1 -0
  139. package/managers/error-auto-fix.manager.d.ts +149 -0
  140. package/managers/error-auto-fix.manager.js +3064 -0
  141. package/managers/error-auto-fix.manager.js.map +1 -0
  142. package/managers/local-log.manager.d.ts +18 -0
  143. package/managers/local-log.manager.js +88 -0
  144. package/managers/local-log.manager.js.map +1 -0
  145. package/managers/method.manager.d.ts +77 -0
  146. package/managers/method.manager.js +1701 -0
  147. package/managers/method.manager.js.map +1 -0
  148. package/managers/mongo.manager.d.ts +222 -0
  149. package/managers/mongo.manager.js +4984 -0
  150. package/managers/mongo.manager.js.map +1 -0
  151. package/managers/monitor.manager.d.ts +69 -0
  152. package/managers/monitor.manager.js +534 -0
  153. package/managers/monitor.manager.js.map +1 -0
  154. package/managers/openai-usage-ledger.manager.d.ts +15 -0
  155. package/managers/openai-usage-ledger.manager.js +144 -0
  156. package/managers/openai-usage-ledger.manager.js.map +1 -0
  157. package/managers/slow-query-verifier.manager.d.ts +144 -0
  158. package/managers/slow-query-verifier.manager.js +3857 -0
  159. package/managers/slow-query-verifier.manager.js.map +1 -0
  160. package/managers/slow-query.manager.d.ts +28 -0
  161. package/managers/slow-query.manager.js +468 -0
  162. package/managers/slow-query.manager.js.map +1 -0
  163. package/managers/subscription.manager.d.ts +169 -0
  164. package/managers/subscription.manager.js +3422 -0
  165. package/managers/subscription.manager.js.map +1 -0
  166. package/managers/websocket.manager.d.ts +73 -0
  167. package/managers/websocket.manager.js +673 -0
  168. package/managers/websocket.manager.js.map +1 -0
  169. package/managers/worker-dispatcher.manager.d.ts +117 -0
  170. package/managers/worker-dispatcher.manager.js +1210 -0
  171. package/managers/worker-dispatcher.manager.js.map +1 -0
  172. package/managers/worker-server.manager.d.ts +16 -0
  173. package/managers/worker-server.manager.js +530 -0
  174. package/managers/worker-server.manager.js.map +1 -0
  175. package/methods/accounts.d.ts +2 -0
  176. package/methods/accounts.js +624 -0
  177. package/methods/accounts.js.map +1 -0
  178. package/methods/ai-terminal.d.ts +304 -0
  179. package/methods/ai-terminal.js +25096 -0
  180. package/methods/ai-terminal.js.map +1 -0
  181. package/methods/app-settings.d.ts +2 -0
  182. package/methods/app-settings.js +169 -0
  183. package/methods/app-settings.js.map +1 -0
  184. package/methods/aws.d.ts +2 -0
  185. package/methods/aws.js +874 -0
  186. package/methods/aws.js.map +1 -0
  187. package/methods/collections.d.ts +2 -0
  188. package/methods/collections.js +626 -0
  189. package/methods/collections.js.map +1 -0
  190. package/methods/counters.d.ts +2 -0
  191. package/methods/counters.js +111 -0
  192. package/methods/counters.js.map +1 -0
  193. package/methods/cron-jobs.d.ts +2 -0
  194. package/methods/cron-jobs.js +2471 -0
  195. package/methods/cron-jobs.js.map +1 -0
  196. package/methods/customer-notifications.d.ts +2 -0
  197. package/methods/customer-notifications.js +528 -0
  198. package/methods/customer-notifications.js.map +1 -0
  199. package/methods/diagnostics.d.ts +2 -0
  200. package/methods/diagnostics.js +514 -0
  201. package/methods/diagnostics.js.map +1 -0
  202. package/methods/flag-updates.d.ts +2 -0
  203. package/methods/flag-updates.js +8 -0
  204. package/methods/flag-updates.js.map +1 -0
  205. package/methods/flags.d.ts +2 -0
  206. package/methods/flags.js +8 -0
  207. package/methods/flags.js.map +1 -0
  208. package/methods/logs.d.ts +2 -0
  209. package/methods/logs.js +750 -0
  210. package/methods/logs.js.map +1 -0
  211. package/methods/mongo-explorer.d.ts +2 -0
  212. package/methods/mongo-explorer.js +1811 -0
  213. package/methods/mongo-explorer.js.map +1 -0
  214. package/methods/monitor.d.ts +2 -0
  215. package/methods/monitor.js +543 -0
  216. package/methods/monitor.js.map +1 -0
  217. package/methods/pdf.d.ts +2 -0
  218. package/methods/pdf.js +1195 -0
  219. package/methods/pdf.js.map +1 -0
  220. package/methods/publications.d.ts +1 -0
  221. package/methods/publications.js +183 -0
  222. package/methods/publications.js.map +1 -0
  223. package/methods/report-builder.d.ts +2 -0
  224. package/methods/report-builder.js +3099 -0
  225. package/methods/report-builder.js.map +1 -0
  226. package/methods/support.d.ts +2 -0
  227. package/methods/support.js +313 -0
  228. package/methods/support.js.map +1 -0
  229. package/models/ai-terminal-conversation.model.d.ts +17 -0
  230. package/models/ai-terminal-conversation.model.js +4 -0
  231. package/models/ai-terminal-conversation.model.js.map +1 -0
  232. package/models/ai-terminal-issue-report.model.d.ts +19 -0
  233. package/models/ai-terminal-issue-report.model.js +4 -0
  234. package/models/ai-terminal-issue-report.model.js.map +1 -0
  235. package/models/ai-terminal-message.model.d.ts +22 -0
  236. package/models/ai-terminal-message.model.js +4 -0
  237. package/models/ai-terminal-message.model.js.map +1 -0
  238. package/models/app-setting.model.d.ts +16 -0
  239. package/models/app-setting.model.js +4 -0
  240. package/models/app-setting.model.js.map +1 -0
  241. package/{src/models/app-status.model.ts → models/app-status.model.d.ts} +2 -3
  242. package/models/app-status.model.js +4 -0
  243. package/models/app-status.model.js.map +1 -0
  244. package/{src/models/billing-logged-in-users.model.ts → models/billing-logged-in-users.model.d.ts} +4 -5
  245. package/models/billing-logged-in-users.model.js +4 -0
  246. package/models/billing-logged-in-users.model.js.map +1 -0
  247. package/models/collection-document.model.d.ts +21 -0
  248. package/models/collection-document.model.js +4 -0
  249. package/models/collection-document.model.js.map +1 -0
  250. package/models/communication-metric.model.d.ts +20 -0
  251. package/models/communication-metric.model.js +4 -0
  252. package/models/communication-metric.model.js.map +1 -0
  253. package/{src/models/counter.model.ts → models/counter.model.d.ts} +3 -4
  254. package/models/counter.model.js +4 -0
  255. package/models/counter.model.js.map +1 -0
  256. package/models/cron-job-history.model.d.ts +15 -0
  257. package/models/cron-job-history.model.js +4 -0
  258. package/models/cron-job-history.model.js.map +1 -0
  259. package/models/cron-job.model.d.ts +14 -0
  260. package/models/cron-job.model.js +4 -0
  261. package/models/cron-job.model.js.map +1 -0
  262. package/models/customer-notification.model.d.ts +26 -0
  263. package/models/customer-notification.model.js +4 -0
  264. package/models/customer-notification.model.js.map +1 -0
  265. package/models/customer-portal-password.model.d.ts +11 -0
  266. package/models/customer-portal-password.model.js +4 -0
  267. package/models/customer-portal-password.model.js.map +1 -0
  268. package/models/dialog.model.d.ts +23 -0
  269. package/models/dialog.model.js +4 -0
  270. package/models/dialog.model.js.map +1 -0
  271. package/models/email-history.model.d.ts +30 -0
  272. package/{src/models/email-history.model.ts → models/email-history.model.js} +4 -34
  273. package/models/email-history.model.js.map +1 -0
  274. package/{src/models/email-verified.model.ts → models/email-verified.model.d.ts} +5 -6
  275. package/models/email-verified.model.js +4 -0
  276. package/models/email-verified.model.js.map +1 -0
  277. package/{src/models/file.model.ts → models/file.model.d.ts} +7 -8
  278. package/models/file.model.js +4 -0
  279. package/models/file.model.js.map +1 -0
  280. package/{src/models/flag-update.model.ts → models/flag-update.model.d.ts} +3 -4
  281. package/models/flag-update.model.js +4 -0
  282. package/models/flag-update.model.js.map +1 -0
  283. package/{src/models/flag.model.ts → models/flag.model.d.ts} +3 -4
  284. package/models/flag.model.js +4 -0
  285. package/models/flag.model.js.map +1 -0
  286. package/models/log-method-latency.model.d.ts +10 -0
  287. package/models/log-method-latency.model.js +4 -0
  288. package/models/log-method-latency.model.js.map +1 -0
  289. package/{src/models/log-subscription.model.ts → models/log-subscription.model.d.ts} +9 -11
  290. package/models/log-subscription.model.js +4 -0
  291. package/models/log-subscription.model.js.map +1 -0
  292. package/models/log.model.d.ts +17 -0
  293. package/models/log.model.js +4 -0
  294. package/models/log.model.js.map +1 -0
  295. package/{src/models/logged-in-users.model.ts → models/logged-in-users.model.d.ts} +5 -6
  296. package/models/logged-in-users.model.js +4 -0
  297. package/models/logged-in-users.model.js.map +1 -0
  298. package/{src/models/method-response.model.ts → models/method-response.model.d.ts} +6 -7
  299. package/models/method-response.model.js +4 -0
  300. package/models/method-response.model.js.map +1 -0
  301. package/models/method.model.d.ts +24 -0
  302. package/models/method.model.js +4 -0
  303. package/models/method.model.js.map +1 -0
  304. package/{src/models/monitor-cpu.model.ts → models/monitor-cpu.model.d.ts} +7 -9
  305. package/models/monitor-cpu.model.js +4 -0
  306. package/models/monitor-cpu.model.js.map +1 -0
  307. package/models/monitor-function.model.d.ts +14 -0
  308. package/models/monitor-function.model.js +4 -0
  309. package/models/monitor-function.model.js.map +1 -0
  310. package/models/monitor-memory.model.d.ts +15 -0
  311. package/models/monitor-memory.model.js +4 -0
  312. package/models/monitor-memory.model.js.map +1 -0
  313. package/models/monitor-mongo.model.d.ts +13 -0
  314. package/models/monitor-mongo.model.js +4 -0
  315. package/models/monitor-mongo.model.js.map +1 -0
  316. package/{src/models/notification.model.ts → models/notification.model.d.ts} +4 -6
  317. package/models/notification.model.js +4 -0
  318. package/models/notification.model.js.map +1 -0
  319. package/models/openai-usage-ledger.model.d.ts +15 -0
  320. package/models/openai-usage-ledger.model.js +4 -0
  321. package/models/openai-usage-ledger.model.js.map +1 -0
  322. package/models/pagination.model.d.ts +11 -0
  323. package/models/pagination.model.js +28 -0
  324. package/models/pagination.model.js.map +1 -0
  325. package/models/permission.model.d.ts +12 -0
  326. package/models/permission.model.js +4 -0
  327. package/models/permission.model.js.map +1 -0
  328. package/models/report-builder-dashboard-builder.model.d.ts +25 -0
  329. package/models/report-builder-dashboard-builder.model.js +4 -0
  330. package/models/report-builder-dashboard-builder.model.js.map +1 -0
  331. package/models/report-builder-library.model.d.ts +17 -0
  332. package/models/report-builder-library.model.js +4 -0
  333. package/models/report-builder-library.model.js.map +1 -0
  334. package/models/report-builder-report.model.d.ts +120 -0
  335. package/models/report-builder-report.model.js +4 -0
  336. package/models/report-builder-report.model.js.map +1 -0
  337. package/models/report-builder.model.d.ts +61 -0
  338. package/models/report-builder.model.js +4 -0
  339. package/models/report-builder.model.js.map +1 -0
  340. package/models/select-data-label.model.d.ts +9 -0
  341. package/models/select-data-label.model.js +4 -0
  342. package/models/select-data-label.model.js.map +1 -0
  343. package/models/server-message.model.d.ts +32 -0
  344. package/models/server-message.model.js +4 -0
  345. package/models/server-message.model.js.map +1 -0
  346. package/models/slow-query-report.model.d.ts +23 -0
  347. package/models/slow-query-report.model.js +4 -0
  348. package/models/slow-query-report.model.js.map +1 -0
  349. package/models/subscription.model.d.ts +31 -0
  350. package/models/subscription.model.js +4 -0
  351. package/models/subscription.model.js.map +1 -0
  352. package/models/support-ticket.model.d.ts +86 -0
  353. package/models/support-ticket.model.js +4 -0
  354. package/models/support-ticket.model.js.map +1 -0
  355. package/models/user-group.model.d.ts +20 -0
  356. package/models/user-group.model.js +4 -0
  357. package/models/user-group.model.js.map +1 -0
  358. package/{src/models/user-guide.model.ts → models/user-guide.model.d.ts} +4 -5
  359. package/models/user-guide.model.js +4 -0
  360. package/models/user-guide.model.js.map +1 -0
  361. package/models/user.model.d.ts +84 -0
  362. package/models/user.model.js +4 -0
  363. package/models/user.model.js.map +1 -0
  364. package/package.json +1 -1
  365. package/private/images/ResolveIO.png +0 -0
  366. package/public_api.js +107 -0
  367. package/public_api.js.map +1 -0
  368. package/publications/ai-terminal.d.ts +1 -0
  369. package/publications/ai-terminal.js +122 -0
  370. package/publications/ai-terminal.js.map +1 -0
  371. package/publications/app-settings.d.ts +2 -0
  372. package/publications/app-settings.js +28 -0
  373. package/publications/app-settings.js.map +1 -0
  374. package/publications/app-status.d.ts +2 -0
  375. package/publications/app-status.js +16 -0
  376. package/publications/app-status.js.map +1 -0
  377. package/publications/cron-jobs.d.ts +2 -0
  378. package/publications/cron-jobs.js +32 -0
  379. package/publications/cron-jobs.js.map +1 -0
  380. package/publications/customer-notifications.d.ts +2 -0
  381. package/publications/customer-notifications.js +161 -0
  382. package/publications/customer-notifications.js.map +1 -0
  383. package/publications/files.d.ts +2 -0
  384. package/publications/files.js +36 -0
  385. package/publications/files.js.map +1 -0
  386. package/publications/flags-update.d.ts +2 -0
  387. package/publications/flags-update.js +22 -0
  388. package/publications/flags-update.js.map +1 -0
  389. package/publications/flags.d.ts +2 -0
  390. package/publications/flags.js +22 -0
  391. package/publications/flags.js.map +1 -0
  392. package/publications/logs.d.ts +2 -0
  393. package/publications/logs.js +164 -0
  394. package/publications/logs.js.map +1 -0
  395. package/publications/notifications.d.ts +2 -0
  396. package/publications/notifications.js +16 -0
  397. package/publications/notifications.js.map +1 -0
  398. package/publications/report-builder-dashboard-builders.d.ts +2 -0
  399. package/publications/report-builder-dashboard-builders.js +42 -0
  400. package/publications/report-builder-dashboard-builders.js.map +1 -0
  401. package/publications/report-builder-libraries.d.ts +2 -0
  402. package/publications/report-builder-libraries.js +90 -0
  403. package/publications/report-builder-libraries.js.map +1 -0
  404. package/publications/report-builder-reports.d.ts +2 -0
  405. package/publications/report-builder-reports.js +50 -0
  406. package/publications/report-builder-reports.js.map +1 -0
  407. package/publications/super-admin.d.ts +2 -0
  408. package/publications/super-admin.js +16 -0
  409. package/publications/super-admin.js.map +1 -0
  410. package/publications/user-groups.d.ts +1 -0
  411. package/publications/user-groups.js +16 -0
  412. package/publications/user-groups.js.map +1 -0
  413. package/publications/user-guides.d.ts +1 -0
  414. package/publications/user-guides.js +16 -0
  415. package/publications/user-guides.js.map +1 -0
  416. package/resolveio-server-app.d.ts +70 -0
  417. package/resolveio-server-app.js +801 -0
  418. package/resolveio-server-app.js.map +1 -0
  419. package/server-app.d.ts +167 -0
  420. package/server-app.js +2784 -0
  421. package/server-app.js.map +1 -0
  422. package/services/codex-client.d.ts +119 -0
  423. package/services/codex-client.js +1470 -0
  424. package/services/codex-client.js.map +1 -0
  425. package/services/openai-client.d.ts +46 -0
  426. package/services/openai-client.js +318 -0
  427. package/services/openai-client.js.map +1 -0
  428. package/types/error-report.d.ts +25 -0
  429. package/types/error-report.js +4 -0
  430. package/types/error-report.js.map +1 -0
  431. package/types/slow-query-report.d.ts +27 -0
  432. package/types/slow-query-report.js +6 -0
  433. package/types/slow-query-report.js.map +1 -0
  434. package/util/common.d.ts +31 -0
  435. package/util/common.js +683 -0
  436. package/util/common.js.map +1 -0
  437. package/util/customer-portal-password.d.ts +13 -0
  438. package/util/customer-portal-password.js +209 -0
  439. package/util/customer-portal-password.js.map +1 -0
  440. package/util/error-reporter.d.ts +52 -0
  441. package/util/error-reporter.js +326 -0
  442. package/util/error-reporter.js.map +1 -0
  443. package/util/error-tracking.d.ts +13 -0
  444. package/util/error-tracking.js +120 -0
  445. package/util/error-tracking.js.map +1 -0
  446. package/util/report-builder-unwinds.d.ts +15 -0
  447. package/util/report-builder-unwinds.js +156 -0
  448. package/util/report-builder-unwinds.js.map +1 -0
  449. package/util/schema-report-builder.d.ts +6 -0
  450. package/util/schema-report-builder.js +481 -0
  451. package/util/schema-report-builder.js.map +1 -0
  452. package/util/slow-query-reporter.d.ts +28 -0
  453. package/util/slow-query-reporter.js +226 -0
  454. package/util/slow-query-reporter.js.map +1 -0
  455. package/util/subscription-dependency-context.d.ts +34 -0
  456. package/util/subscription-dependency-context.js +1283 -0
  457. package/util/subscription-dependency-context.js.map +1 -0
  458. package/util/tokenizer.d.ts +5 -0
  459. package/util/tokenizer.js +41 -0
  460. package/util/tokenizer.js.map +1 -0
  461. package/workers/codex-runner.worker.d.ts +1 -0
  462. package/workers/codex-runner.worker.js +192 -0
  463. package/workers/codex-runner.worker.js.map +1 -0
  464. package/.github/workflows/ai-assistant-nightly-eval.yml +0 -224
  465. package/.github/workflows/ai-assistant-pr-guardrails.yml +0 -60
  466. package/.nodemon.json +0 -5
  467. package/.vscode/settings.json +0 -21
  468. package/AGENTS.md +0 -179
  469. package/README.md +0 -22
  470. package/build_package.sh +0 -5
  471. package/compileDTS.pl +0 -64
  472. package/docs/ai-assistant-nightly-eval.md +0 -65
  473. package/docs/ai-assistant-preflight-checklist.md +0 -23
  474. package/docs/ai-assistant-report-builder-bridge-playbook.md +0 -115
  475. package/eslint-plugin-custom/index.js +0 -7
  476. package/eslint-plugin-custom/rules/no-filter-zero-index.js +0 -44
  477. package/eslint.config.js +0 -103
  478. package/gulpfile.js +0 -216
  479. package/methodAndPublicationListGenerator.py +0 -319
  480. package/mongodbensurers.js +0 -2
  481. package/mongostop.js +0 -3
  482. package/settings.development.json +0 -25
  483. package/settings.development.redacted.json +0 -25
  484. package/src/.env +0 -12
  485. package/src/ai/assistant-core-heuristics.ts +0 -577
  486. package/src/client-server-app.ts +0 -12
  487. package/src/collections/ai-terminal-conversation.collection.ts +0 -91
  488. package/src/collections/ai-terminal-issue-report.collection.ts +0 -99
  489. package/src/collections/ai-terminal-message.collection.ts +0 -77
  490. package/src/collections/app-setting.collection.ts +0 -104
  491. package/src/collections/app-status.collection.ts +0 -58
  492. package/src/collections/communication-metric.collection.ts +0 -84
  493. package/src/collections/counter.collection.ts +0 -56
  494. package/src/collections/cron-job-history.collection.ts +0 -94
  495. package/src/collections/cron-job.collection.ts +0 -92
  496. package/src/collections/customer-notification.collection.ts +0 -131
  497. package/src/collections/customer-portal-password.collection.ts +0 -76
  498. package/src/collections/email-history.collection.ts +0 -121
  499. package/src/collections/email-verified.collection.ts +0 -61
  500. package/src/collections/file.collection.ts +0 -74
  501. package/src/collections/flag-update.collection.ts +0 -57
  502. package/src/collections/flag.collection.ts +0 -57
  503. package/src/collections/log-method-latency.collection.ts +0 -77
  504. package/src/collections/log-subscription.collection.ts +0 -80
  505. package/src/collections/log.collection.ts +0 -93
  506. package/src/collections/logged-in-users.collection.ts +0 -67
  507. package/src/collections/monitor-cpu.collection.ts +0 -65
  508. package/src/collections/monitor-function.collection.ts +0 -74
  509. package/src/collections/monitor-memory.collection.ts +0 -77
  510. package/src/collections/monitor-mongo.collection.ts +0 -71
  511. package/src/collections/notification.collection.ts +0 -57
  512. package/src/collections/openai-usage-ledger.collection.ts +0 -77
  513. package/src/collections/report-builder-dashboard-builder.collection.ts +0 -109
  514. package/src/collections/report-builder-library.collection.ts +0 -89
  515. package/src/collections/report-builder-report.collection.ts +0 -180
  516. package/src/collections/user-group.collection.ts +0 -89
  517. package/src/collections/user-guide.collection.ts +0 -57
  518. package/src/collections/user.collection.ts +0 -181
  519. package/src/cron/cron.ts +0 -117
  520. package/src/fixtures/cron-jobs.ts +0 -95
  521. package/src/fixtures/init.ts +0 -35
  522. package/src/http/auth.ts +0 -764
  523. package/src/http/health.ts +0 -7
  524. package/src/http/home.ts +0 -90
  525. package/src/http/slow-query-publication.ts +0 -49
  526. package/src/index.ts +0 -1
  527. package/src/managers/communication-metric.manager.ts +0 -82
  528. package/src/managers/cron.manager.ts +0 -333
  529. package/src/managers/customer-notification-content.manager.ts +0 -236
  530. package/src/managers/diagnostic-manager-bootstrap.ts +0 -165
  531. package/src/managers/error-auto-fix.manager.ts +0 -2767
  532. package/src/managers/local-log.manager.ts +0 -113
  533. package/src/managers/method.manager.ts +0 -1557
  534. package/src/managers/mongo.manager.ts +0 -4566
  535. package/src/managers/monitor.manager.ts +0 -489
  536. package/src/managers/openai-usage-ledger.manager.ts +0 -116
  537. package/src/managers/slow-query-verifier.manager.ts +0 -3590
  538. package/src/managers/slow-query.manager.ts +0 -519
  539. package/src/managers/subscription.manager.ts +0 -3120
  540. package/src/managers/websocket.manager.ts +0 -746
  541. package/src/managers/worker-dispatcher.manager.ts +0 -1318
  542. package/src/managers/worker-server.manager.ts +0 -468
  543. package/src/methods/accounts.ts +0 -532
  544. package/src/methods/ai-terminal.ts +0 -25505
  545. package/src/methods/app-settings.ts +0 -114
  546. package/src/methods/aws.ts +0 -646
  547. package/src/methods/collections.ts +0 -544
  548. package/src/methods/counters.ts +0 -67
  549. package/src/methods/cron-jobs.ts +0 -2610
  550. package/src/methods/customer-notifications.ts +0 -458
  551. package/src/methods/diagnostics.ts +0 -447
  552. package/src/methods/flag-updates.ts +0 -7
  553. package/src/methods/flags.ts +0 -7
  554. package/src/methods/logs.ts +0 -656
  555. package/src/methods/mongo-explorer.ts +0 -1883
  556. package/src/methods/monitor.ts +0 -540
  557. package/src/methods/pdf.ts +0 -1210
  558. package/src/methods/publications.ts +0 -128
  559. package/src/methods/report-builder.ts +0 -3305
  560. package/src/methods/support.ts +0 -210
  561. package/src/models/ai-terminal-conversation.model.ts +0 -19
  562. package/src/models/ai-terminal-issue-report.model.ts +0 -21
  563. package/src/models/ai-terminal-message.model.ts +0 -24
  564. package/src/models/app-setting.model.ts +0 -17
  565. package/src/models/collection-document.model.ts +0 -24
  566. package/src/models/communication-metric.model.ts +0 -23
  567. package/src/models/cron-job-history.model.ts +0 -16
  568. package/src/models/cron-job.model.ts +0 -15
  569. package/src/models/customer-notification.model.ts +0 -28
  570. package/src/models/customer-portal-password.model.ts +0 -12
  571. package/src/models/dialog.model.ts +0 -25
  572. package/src/models/log-method-latency.model.ts +0 -11
  573. package/src/models/log.model.ts +0 -19
  574. package/src/models/method.model.ts +0 -23
  575. package/src/models/monitor-function.model.ts +0 -16
  576. package/src/models/monitor-memory.model.ts +0 -17
  577. package/src/models/monitor-mongo.model.ts +0 -15
  578. package/src/models/openai-usage-ledger.model.ts +0 -16
  579. package/src/models/pagination.model.ts +0 -35
  580. package/src/models/permission.model.ts +0 -14
  581. package/src/models/report-builder-dashboard-builder.model.ts +0 -29
  582. package/src/models/report-builder-library.model.ts +0 -20
  583. package/src/models/report-builder-report.model.ts +0 -135
  584. package/src/models/report-builder.model.ts +0 -68
  585. package/src/models/select-data-label.model.ts +0 -9
  586. package/src/models/server-message.model.ts +0 -31
  587. package/src/models/slow-query-report.model.ts +0 -23
  588. package/src/models/subscription.model.ts +0 -73
  589. package/src/models/support-ticket.model.ts +0 -96
  590. package/src/models/user-group.model.ts +0 -24
  591. package/src/models/user.model.ts +0 -96
  592. package/src/private/images/ResolveIO.png +0 -0
  593. package/src/publications/ai-terminal.ts +0 -73
  594. package/src/publications/app-settings.ts +0 -25
  595. package/src/publications/app-status.ts +0 -13
  596. package/src/publications/cron-jobs.ts +0 -29
  597. package/src/publications/customer-notifications.ts +0 -101
  598. package/src/publications/files.ts +0 -33
  599. package/src/publications/flags-update.ts +0 -19
  600. package/src/publications/flags.ts +0 -19
  601. package/src/publications/logs.ts +0 -163
  602. package/src/publications/notifications.ts +0 -13
  603. package/src/publications/report-builder-dashboard-builders.ts +0 -39
  604. package/src/publications/report-builder-libraries.ts +0 -41
  605. package/src/publications/report-builder-reports.ts +0 -47
  606. package/src/publications/super-admin.ts +0 -13
  607. package/src/publications/user-groups.ts +0 -12
  608. package/src/publications/user-guides.ts +0 -12
  609. package/src/resolveio-server-app.ts +0 -617
  610. package/src/server-app.ts +0 -2616
  611. package/src/services/codex-client.ts +0 -1117
  612. package/src/services/openai-client.ts +0 -265
  613. package/src/types/error-report.ts +0 -26
  614. package/src/types/js-tiktoken.d.ts +0 -11
  615. package/src/types/slow-query-report.ts +0 -28
  616. package/src/util/common.ts +0 -649
  617. package/src/util/customer-portal-password.ts +0 -183
  618. package/src/util/error-reporter.ts +0 -332
  619. package/src/util/error-tracking.ts +0 -79
  620. package/src/util/report-builder-unwinds.ts +0 -180
  621. package/src/util/schema-report-builder.ts +0 -448
  622. package/src/util/slow-query-reporter.ts +0 -216
  623. package/src/util/subscription-dependency-context.ts +0 -1096
  624. package/src/util/tokenizer.ts +0 -38
  625. package/src/workers/codex-runner.worker.ts +0 -142
  626. package/start_server.sh +0 -5
  627. package/tests/ai-assistant-corpus-build.ts +0 -484
  628. package/tests/ai-assistant-corpus-replay-e2e.ts +0 -773
  629. package/tests/ai-assistant-data-parity-e2e.ts +0 -2018
  630. package/tests/ai-assistant-eval-triage.ts +0 -831
  631. package/tests/ai-assistant-openai-e2e.ts +0 -1061
  632. package/tests/ai-assistant-openai-git-e2e.ts +0 -155
  633. package/tests/ai-assistant-preflight-matrix.ts +0 -215
  634. package/tests/ai-assistant-routing-eval.test.ts +0 -560
  635. package/tests/ai-assistant-snf-live-eval.ts +0 -921
  636. package/tests/ai-assistant-utils.test.ts +0 -2165
  637. package/tests/error-reporter.test.ts +0 -145
  638. package/tests/report-builder-linking.test.ts +0 -79
  639. package/tests/subscription-connect-race.test.ts +0 -157
  640. package/tests/subscription-dependency-context.test.ts +0 -324
  641. package/tests/subscription-manager-collection-tracking.test.ts +0 -86
  642. package/tests/subscription-manager-invalidation.test.ts +0 -85
  643. package/tsconfig.json +0 -34
  644. /package/{src/private → private}/email-templates/enrollment.html +0 -0
  645. /package/{src/private → private}/email-templates/forgot-password.html +0 -0
  646. /package/{src/private → private}/email-templates/support-ticket-deleted.html +0 -0
  647. /package/{src/private → private}/email-templates/support-ticket-modified.html +0 -0
  648. /package/{src/private → private}/email-templates/support-ticket.html +0 -0
  649. /package/{src/public_api.ts → public_api.d.ts} +0 -0
@@ -1,646 +0,0 @@
1
- import { GetObjectCommand } from '@aws-sdk/client-s3';
2
- import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
3
- import axios from 'axios';
4
- import SimpleSchema from 'simpl-schema';
5
- import { Files } from '../collections/file.collection';
6
- import { AWS, MethodManager } from '../managers/method.manager';
7
- import { ResolveIOServer } from '../resolveio-server-app';
8
- import { objectIdHexString } from '../util/common';
9
- let fs = require('fs');
10
- let path = require('path');
11
- let pdfCnt = 1000000;
12
-
13
- const NON_PDF_CONTENT_TYPES = {
14
- '.csv': 'text/csv; charset=utf-8',
15
- '.css': 'text/css; charset=utf-8',
16
- '.env': 'text/plain; charset=utf-8',
17
- '.gz': 'application/gzip',
18
- '.html': 'text/html; charset=utf-8',
19
- '.json': 'application/json',
20
- '.js': 'application/javascript',
21
- '.md': 'text/markdown; charset=utf-8',
22
- '.tar': 'application/x-tar',
23
- '.tgz': 'application/gzip',
24
- '.ts': 'application/typescript',
25
- '.txt': 'text/plain; charset=utf-8',
26
- '.xml': 'application/xml',
27
- '.yaml': 'application/yaml',
28
- '.yml': 'application/yaml',
29
- '.zip': 'application/zip'
30
- };
31
-
32
- function inferNonPDFContentType(fileName: string): string {
33
- if (!fileName) {
34
- return 'application/octet-stream';
35
- }
36
-
37
- const normalized = fileName.toLowerCase();
38
- if (normalized.endsWith('.tar.gz')) {
39
- return 'application/gzip';
40
- }
41
-
42
- const extension = path.extname(normalized);
43
- return NON_PDF_CONTENT_TYPES[extension] || 'application/octet-stream';
44
- }
45
-
46
- export function loadAWSMethods(methodManager: MethodManager) {
47
- methodManager.methods({
48
- uploadFileAndSave: {
49
- check: new SimpleSchema({
50
- fileName: {
51
- type: String
52
- },
53
- fileData: {
54
- type: String
55
- },
56
- fileSize: {
57
- type: Number
58
- },
59
- fileOrder: {
60
- type: Number
61
- },
62
- fileType: {
63
- type: String
64
- },
65
- compress: {
66
- type: Boolean
67
- }
68
- }),
69
- // eslint-disable-next-line no-unused-vars
70
- function: async function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {
71
- if (!fileName) {
72
- throw new Error("Invalid File Name provided");
73
- }
74
-
75
- let key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;
76
- let s3 = (<AWS>this.getAWS()).s3();
77
- const maxRetries = 3;
78
- let attempt = 0;
79
-
80
- while (attempt <= maxRetries) {
81
- try {
82
- let res = await s3.putObject({
83
- Bucket: process.env.AWS_S3_BUCKET,
84
- Key: key,
85
- Body: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'),
86
- ACL: 'private',
87
- ContentType: fileData.split(',')[0].split(':')[1].split(';')[0],
88
- ContentDisposition: 'inline'
89
- });
90
-
91
- if (res) {
92
- return Files.create({
93
- _id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType
94
- });
95
- }
96
- else {
97
- return null;
98
- }
99
- }
100
- catch (err) {
101
- attempt++;
102
- if (attempt <= maxRetries) {
103
- const backoff = Math.pow(2, attempt) * 1000;
104
- console.warn(`Attempt ${attempt} failed. Retrying in ${backoff / 1000} seconds...`);
105
- // eslint-disable-next-line no-restricted-syntax
106
- await new Promise(resolve => setTimeout(resolve, backoff));
107
- }
108
- else {
109
- throw new Error(`Error in AWS Upload File And Save: Failed to upload after ${maxRetries} attempts: ${err.message}`);
110
- }
111
- }
112
- }
113
-
114
- return null;
115
- }
116
- },
117
- uploadPDFBufferAndSave: {
118
- check: new SimpleSchema({
119
- fileName: {
120
- type: String
121
- },
122
- fileDataBuffer: {
123
- type: Buffer
124
- },
125
- fileSize: {
126
- type: Number
127
- },
128
- fileOrder: {
129
- type: Number
130
- },
131
- fileType: {
132
- type: String
133
- }
134
- }),
135
- function: async function(fileName: string, fileDataBuffer: any, fileSize: number, fileOrder: number, fileType: string) {
136
- if (!fileName) {
137
- throw new Error("Invalid File Name provided");
138
- }
139
-
140
- let key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;
141
- let s3 = (<AWS>this.getAWS()).s3();
142
- const maxRetries = 3;
143
- let attempt = 0;
144
-
145
- while (attempt <= maxRetries) {
146
- try {
147
- let res = await s3.putObject({
148
- Bucket: process.env.AWS_S3_BUCKET,
149
- Key: key,
150
- Body: fileDataBuffer,
151
- ACL: 'private',
152
- ContentType: 'application/pdf',
153
- ContentDisposition: 'inline'
154
- });
155
-
156
- if (res) {
157
- return Files.create({
158
- _id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType
159
- });
160
- }
161
- else {
162
- return null;
163
- }
164
- }
165
- catch (err) {
166
- attempt++;
167
- if (attempt <= maxRetries) {
168
- const backoff = Math.pow(2, attempt) * 1000;
169
- console.warn(`Attempt ${attempt} failed. Retrying in ${backoff / 1000} seconds...`);
170
- // eslint-disable-next-line no-restricted-syntax
171
- await new Promise(resolve => setTimeout(resolve, backoff));
172
- }
173
- else {
174
- throw new Error(`Error in AWS Upload PDF Buffer And Save: Failed to upload after ${maxRetries} attempts: ${err.message}`);
175
- }
176
- }
177
- }
178
-
179
- return null;
180
- }
181
- },
182
- uploadNonPDFFileAndSave: {
183
- check: new SimpleSchema({
184
- fileName: {
185
- type: String
186
- },
187
- fileData: {
188
- type: String
189
- },
190
- fileSize: {
191
- type: Number
192
- },
193
- fileOrder: {
194
- type: Number
195
- },
196
- fileType: {
197
- type: String
198
- }
199
- }),
200
- function: async function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string) {
201
- if (!fileName) {
202
- throw new Error("Invalid File Name provided");
203
- }
204
-
205
- let key = 'uploads/' + Date.now() + '-' + fileName;
206
-
207
- let s3 = (<AWS>this.getAWS()).s3();
208
-
209
- try {
210
- const contentType = inferNonPDFContentType(fileName);
211
- let res = await s3.putObject({
212
- Bucket: process.env.AWS_S3_BUCKET,
213
- Key: key,
214
- Body: Buffer.from(fileData),
215
- ACL: 'private',
216
- ContentType: contentType,
217
- ContentDisposition: 'inline'
218
- });
219
-
220
- if (res) {
221
- return Files.create({
222
- _id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType
223
- });
224
- }
225
- else {
226
- return null;
227
- }
228
- }
229
- catch (err) {
230
- err.mesage = 'Error In AWS Upload Non PDF File And Save: ' + err.mesage;
231
- throw err;
232
- }
233
- }
234
- },
235
- uploadNonPDFBufferAndSave: {
236
- check: new SimpleSchema({
237
- fileName: {
238
- type: String
239
- },
240
- fileDataBuffer: {
241
- type: Buffer
242
- },
243
- fileSize: {
244
- type: Number
245
- },
246
- fileOrder: {
247
- type: Number
248
- },
249
- fileType: {
250
- type: String
251
- }
252
- }),
253
- function: async function(fileName: string, fileDataBuffer, fileSize: number, fileOrder: number, fileType: string) {
254
- if (!fileName) {
255
- throw new Error("Invalid File Name provided");
256
- }
257
-
258
- let key = 'uploads/' + Date.now() + '-' + fileName;
259
-
260
- let s3 = (<AWS>this.getAWS()).s3();
261
-
262
- try {
263
- const contentType = inferNonPDFContentType(fileName);
264
- let res = await s3.putObject({
265
- Bucket: process.env.AWS_S3_BUCKET,
266
- Key: key,
267
- Body: fileDataBuffer,
268
- ACL: 'private',
269
- ContentType: contentType,
270
- ContentDisposition: 'inline'
271
- });
272
-
273
- if (res) {
274
- return Files.create({
275
- _id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType
276
- });
277
- }
278
- else {
279
- return null;
280
- }
281
- }
282
- catch (err) {
283
- err.mesage = 'Error In AWS Upload Non PDF Buffer And Save: ' + err.mesage;
284
- throw err;
285
- }
286
- }
287
- },
288
- uploadNonPDFStreamAndSave: {
289
- check: new SimpleSchema({
290
- fileName: {
291
- type: String
292
- },
293
- fileData: {
294
- type: String
295
- },
296
- fileOrder: {
297
- type: Number
298
- },
299
- fileType: {
300
- type: String
301
- }
302
- }),
303
- function: async function(fileName: string, fileData: string, fileOrder: number, fileType: string) {
304
- if (!fileName) {
305
- throw new Error("Invalid File Name provided");
306
- }
307
-
308
- let key = 'uploads/' + Date.now() + '-' + fileName;
309
-
310
- let s3 = (<AWS>this.getAWS()).s3();
311
-
312
- try {
313
- const contentType = inferNonPDFContentType(fileName);
314
- let res = await s3.putObject({
315
- Bucket: process.env.AWS_S3_BUCKET,
316
- Key: key,
317
- Body: fs.createReadStream(fileData),
318
- ACL: 'private',
319
- ContentType: contentType,
320
- ContentDisposition: 'inline'
321
- });
322
-
323
- if (res) {
324
- return Files.create({
325
- _id: objectIdHexString(), __v: 0, name: fileName, size: 1, key: key, order: fileOrder, type: fileType
326
- });
327
- }
328
- else {
329
- return null;
330
- }
331
- }
332
- catch (err) {
333
- err.mesage = 'Error In AWS Upload Non PDF Stream And Save: ' + err.mesage;
334
- throw err;
335
- }
336
- }
337
- },
338
- deleteFiles: {
339
- check: new SimpleSchema({
340
- keys: {
341
- type: Array
342
- },
343
- 'keys.$': {
344
- type: String
345
- }
346
- }),
347
- function: async function(keys: string[]) {
348
- if (!Array.isArray(keys) || keys.length === 0) {
349
- return 0;
350
- }
351
-
352
- let files = await Files.find({key: {$in: keys}});
353
-
354
- let deleteCnt = files.length;
355
-
356
- for (let file of files) {
357
- await Files.deleteOne({_id: file._id});
358
-
359
- let s3 = (<AWS>this.getAWS()).s3();
360
-
361
- try {
362
- let res = await s3.deleteObject({
363
- Bucket: process.env.AWS_S3_BUCKET,
364
- Key: file.key
365
- });
366
-
367
- if (res) {
368
- deleteCnt--;
369
- if (!deleteCnt) {
370
- return files.length;
371
- }
372
- }
373
- }
374
- catch (err) {
375
- err.mesage = 'Error In AWS Delete Files: ' + err.mesage;
376
- throw err;
377
- }
378
- }
379
-
380
- return 0;
381
- }
382
- },
383
- deleteFile: {
384
- check: new SimpleSchema({
385
- key: {
386
- type: String
387
- }
388
- }),
389
- function: async function(key: string) {
390
- let file = await Files.findOne({key: key});
391
-
392
- if (file) {
393
- try {
394
- await Files.deleteOne({_id: file._id});
395
- }
396
- catch (err) {
397
- err.mesage = 'Error In AWS Delete File (Resolve Side): ' + err.mesage;
398
- throw err;
399
- }
400
- }
401
-
402
- let s3 = (<AWS>this.getAWS()).s3();
403
-
404
- try {
405
- let res = await s3.deleteObject({
406
- Bucket: process.env.AWS_S3_BUCKET,
407
- Key: key
408
- });
409
-
410
- return res;
411
- }
412
- catch (err) {
413
- err.mesage = 'Error In AWS Delete File (AWS Side): ' + err.mesage;
414
- throw err;
415
- }
416
- }
417
- },
418
- deleteFileWithId: {
419
- check: new SimpleSchema({
420
- id_file: {
421
- type: String
422
- }
423
- }),
424
- function: async function(id_file: string) {
425
- let file = await Files.findOne({_id: id_file});
426
-
427
- if (!file) {
428
- throw new Error('Error in AWS Delete File With ID: Could not find file');
429
- }
430
-
431
- try {
432
- await Files.deleteOne({_id: file._id});
433
- }
434
- catch (err) {
435
- err.mesage = 'Error In AWS Delete File With ID (Resolve Side): ' + err.mesage;
436
- throw err;
437
- }
438
-
439
- let s3 = (<AWS>this.getAWS()).s3();
440
-
441
- try {
442
- let res = await s3.deleteObject({
443
- Bucket: process.env.AWS_S3_BUCKET,
444
- Key: file.key
445
- });
446
-
447
- return res;
448
- }
449
- catch (err) {
450
- err.mesage = 'Error In AWS Delete File With ID (AWS Side): ' + err.mesage;
451
- throw err;
452
- }
453
- }
454
- },
455
- getSignedUrlsAndFilesWithId: {
456
- check: new SimpleSchema({
457
- ids: {
458
- type: Array
459
- },
460
- 'ids.$': {
461
- type: String
462
- },
463
- expires: {
464
- type: Number
465
- }
466
- }),
467
- function: async function(ids: string[], expires: number) {
468
- let res = [];
469
-
470
- let files = await Files.find({_id: {$in: ids}});
471
-
472
- for (let i = 0; i < files.length; i++) {
473
- let file = files[i];
474
- let s3 = (<AWS>this.getAWS()).s3();
475
- let getCommand = new GetObjectCommand({
476
- Bucket: process.env.AWS_S3_BUCKET,
477
- Key: file.key
478
- });
479
- res.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));
480
- }
481
-
482
- return {res: res, fileArray: files.map(a => a.name)};
483
- }
484
- },
485
- getSignedUrlWithId: {
486
- check: new SimpleSchema({
487
- id_file: {
488
- type: String
489
- },
490
- expires: {
491
- type: Number
492
- }
493
- }),
494
- function: async function(id_file: string, expires: number) {
495
- let file = await Files.findOne({_id: id_file});
496
-
497
- let s3 = (<AWS>this.getAWS()).s3();
498
- let getCommand = new GetObjectCommand({
499
- Bucket: process.env.AWS_S3_BUCKET,
500
- Key: file.key
501
- });
502
-
503
- return getSignedUrl(s3, getCommand, {expiresIn: expires});
504
- }
505
- },
506
- getSignedUrlUSEast1BucketAndKey: {
507
- check: new SimpleSchema({
508
- bucket: {
509
- type: String
510
- },
511
- key: {
512
- type: String
513
- },
514
- expires: {
515
- type: Number
516
- }
517
- }),
518
- function: function(bucket: string, key: string, expires: number) {
519
- let s3 = (<AWS>this.getAWS()).s3USEast1();
520
- let getCommand = new GetObjectCommand({
521
- Bucket: bucket,
522
- Key: key
523
- });
524
-
525
- return getSignedUrl(s3, getCommand, {expiresIn: expires});
526
- }
527
- },
528
- getSignedUrl: {
529
- check: new SimpleSchema({
530
- key: {
531
- type: String
532
- },
533
- expires: {
534
- type: Number
535
- }
536
- }),
537
- function: function(key: string, expires: number) {
538
- let s3 = (<AWS>this.getAWS()).s3();
539
- let getCommand = new GetObjectCommand({
540
- Bucket: process.env.AWS_S3_BUCKET,
541
- Key: key
542
- });
543
-
544
- return getSignedUrl(s3, getCommand, {expiresIn: expires});
545
- }
546
- },
547
- getSignedUrls: {
548
- check: new SimpleSchema({
549
- keys: {
550
- type: Array
551
- },
552
- 'keys.$': {
553
- type: String
554
- },
555
- expires: {
556
- type: Number
557
- }
558
- }),
559
- function: async function(keys: string[], expires: number) {
560
- let res = [];
561
-
562
- for (let i = 0; i < keys.length; i++) {
563
- let key = keys[i];
564
- let s3 = (<AWS>this.getAWS()).s3();
565
- let getCommand = new GetObjectCommand({
566
- Bucket: process.env.AWS_S3_BUCKET,
567
- Key: key
568
- });
569
-
570
- res.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));
571
- }
572
-
573
- return res;
574
- }
575
- },
576
- getDataURIfromURL: {
577
- check: new SimpleSchema({
578
- url: {
579
- type: String
580
- }
581
- }),
582
- function: async function(url: string) {
583
- const response = await axios.get(url, {
584
- responseType: 'arraybuffer'
585
- });
586
-
587
- if (response.status !== 200) {
588
- throw new Error(`Error in Get Data URI From URL: Failed to fetch URL, status: ${response.status}`);
589
- }
590
-
591
- const contentType = response.headers['content-type'];
592
- const dataBase64 = Buffer.from(response.data).toString('base64');
593
- return `data:${contentType};base64,${dataBase64}`;
594
- }
595
- },
596
- emailFile: {
597
- check: new SimpleSchema({
598
- id_file: {
599
- type: String
600
- },
601
- email: {
602
- type: String
603
- },
604
- additional_message: {
605
- type: String
606
- }
607
- }),
608
- function: async function(id_file: string, email: string, additional_message) {
609
- let file = await Files.findById(id_file);
610
-
611
- if (!file) {
612
- throw new Error('Error in AWS Email File: Could not find file');
613
- }
614
-
615
- try {
616
- let resPDF = await this.callMethod('getSignedUrl', file.key, 259200);
617
-
618
- if (resPDF) {
619
- if (file.size < 5000000) {
620
- let emailMessage = 'Attached is the file requested for email.\n' + (additional_message !== '' ? '\nAdditional Message:\n' + additional_message + '\n' : '') ;
621
-
622
- await this.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{
623
- filename: file.name,
624
- path: resPDF
625
- }], null, '');
626
- }
627
- else {
628
- let emailMessage = 'Please click the link to the requested file.\n' + (additional_message !== '' ? '\nAdditional Message:\n' + additional_message + '\n' : '') ;
629
-
630
- await this.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '', null, null, '');
631
- }
632
-
633
- return true;
634
- }
635
- else {
636
- throw new Error('Error in AWS Email File: Could not get file URL');
637
- }
638
- }
639
- catch (err) {
640
- err.mesage = 'Error In AWS Email File: ' + err.mesage;
641
- throw err;
642
- }
643
- }
644
- }
645
- });
646
- }