@solidxai/core 0.1.10-beta.9 → 0.1.10

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 (1020) hide show
  1. package/CHANGELOG.md +415 -0
  2. package/MICROSOFT_ACTIVE_DIRECTORY_OAUTH_FLOW.md +616 -0
  3. package/ai-interaction-cleanup.sql +53 -0
  4. package/dist/commands/info.command.d.ts.map +1 -1
  5. package/dist/commands/info.command.js +0 -2
  6. package/dist/commands/info.command.js.map +1 -1
  7. package/dist/commands/refresh-model.command.d.ts +1 -7
  8. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  9. package/dist/commands/refresh-model.command.js +4 -49
  10. package/dist/commands/refresh-model.command.js.map +1 -1
  11. package/dist/commands/refresh-module.command.d.ts +0 -2
  12. package/dist/commands/refresh-module.command.d.ts.map +1 -1
  13. package/dist/commands/refresh-module.command.js +3 -16
  14. package/dist/commands/refresh-module.command.js.map +1 -1
  15. package/dist/commands/test-data.command.d.ts +2 -0
  16. package/dist/commands/test-data.command.d.ts.map +1 -1
  17. package/dist/commands/test-data.command.js +32 -6
  18. package/dist/commands/test-data.command.js.map +1 -1
  19. package/dist/constants/error-messages.d.ts +1 -0
  20. package/dist/constants/error-messages.d.ts.map +1 -1
  21. package/dist/constants/error-messages.js +1 -0
  22. package/dist/constants/error-messages.js.map +1 -1
  23. package/dist/controllers/action-metadata.controller.d.ts +1 -20
  24. package/dist/controllers/action-metadata.controller.d.ts.map +1 -1
  25. package/dist/controllers/agent-event.controller.d.ts +1 -20
  26. package/dist/controllers/agent-event.controller.d.ts.map +1 -1
  27. package/dist/controllers/agent-session.controller.d.ts +1 -20
  28. package/dist/controllers/agent-session.controller.d.ts.map +1 -1
  29. package/dist/controllers/chatter-message-details.controller.d.ts +1 -20
  30. package/dist/controllers/chatter-message-details.controller.d.ts.map +1 -1
  31. package/dist/controllers/chatter-message.controller.d.ts +3 -20
  32. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  33. package/dist/controllers/chatter-message.controller.js +17 -0
  34. package/dist/controllers/chatter-message.controller.js.map +1 -1
  35. package/dist/controllers/dashboard-user-layout.controller.d.ts +24 -0
  36. package/dist/controllers/dashboard-user-layout.controller.d.ts.map +1 -0
  37. package/dist/controllers/{dashboard-variable.controller.js → dashboard-user-layout.controller.js} +30 -30
  38. package/dist/controllers/dashboard-user-layout.controller.js.map +1 -0
  39. package/dist/controllers/dashboard.controller.d.ts +12 -42
  40. package/dist/controllers/dashboard.controller.d.ts.map +1 -1
  41. package/dist/controllers/dashboard.controller.js +71 -141
  42. package/dist/controllers/dashboard.controller.js.map +1 -1
  43. package/dist/controllers/email-template.controller.d.ts +1 -20
  44. package/dist/controllers/email-template.controller.d.ts.map +1 -1
  45. package/dist/controllers/export-template.controller.d.ts +1 -20
  46. package/dist/controllers/export-template.controller.d.ts.map +1 -1
  47. package/dist/controllers/export-transaction.controller.d.ts +1 -20
  48. package/dist/controllers/export-transaction.controller.d.ts.map +1 -1
  49. package/dist/controllers/gupshup-webhook.controller.d.ts +11 -0
  50. package/dist/controllers/gupshup-webhook.controller.d.ts.map +1 -0
  51. package/dist/controllers/gupshup-webhook.controller.js +87 -0
  52. package/dist/controllers/gupshup-webhook.controller.js.map +1 -0
  53. package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -20
  54. package/dist/controllers/import-transaction-error-log.controller.d.ts.map +1 -1
  55. package/dist/controllers/import-transaction.controller.d.ts +1 -20
  56. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  57. package/dist/controllers/list-of-values.controller.d.ts +1 -20
  58. package/dist/controllers/list-of-values.controller.d.ts.map +1 -1
  59. package/dist/controllers/locale.controller.d.ts +1 -20
  60. package/dist/controllers/locale.controller.d.ts.map +1 -1
  61. package/dist/controllers/mcp-audit-log.controller.d.ts +16 -0
  62. package/dist/controllers/mcp-audit-log.controller.d.ts.map +1 -0
  63. package/dist/controllers/{dashboard-question.controller.js → mcp-audit-log.controller.js} +44 -91
  64. package/dist/controllers/mcp-audit-log.controller.js.map +1 -0
  65. package/dist/controllers/media.controller.d.ts +1 -20
  66. package/dist/controllers/media.controller.d.ts.map +1 -1
  67. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -20
  68. package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
  69. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.d.ts +16 -0
  70. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.d.ts.map +1 -0
  71. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.js +133 -0
  72. package/dist/controllers/meta-cloud-whatsapp-webhook.controller.js.map +1 -0
  73. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts +28 -0
  74. package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts.map +1 -0
  75. package/dist/controllers/microsoft-active-directory-authentication.controller.js +122 -0
  76. package/dist/controllers/microsoft-active-directory-authentication.controller.js.map +1 -0
  77. package/dist/controllers/model-metadata.controller.d.ts +11 -31
  78. package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
  79. package/dist/controllers/model-metadata.controller.js +4 -4
  80. package/dist/controllers/model-metadata.controller.js.map +1 -1
  81. package/dist/controllers/model-sequence.controller.d.ts +1 -20
  82. package/dist/controllers/model-sequence.controller.d.ts.map +1 -1
  83. package/dist/controllers/module-metadata-explorer.controller.d.ts +171 -0
  84. package/dist/controllers/module-metadata-explorer.controller.d.ts.map +1 -0
  85. package/dist/controllers/module-metadata-explorer.controller.js +143 -0
  86. package/dist/controllers/module-metadata-explorer.controller.js.map +1 -0
  87. package/dist/controllers/module-metadata.controller.d.ts +5 -0
  88. package/dist/controllers/module-metadata.controller.d.ts.map +1 -1
  89. package/dist/controllers/module-metadata.controller.js +13 -1
  90. package/dist/controllers/module-metadata.controller.js.map +1 -1
  91. package/dist/controllers/module-package.controller.d.ts +622 -0
  92. package/dist/controllers/module-package.controller.d.ts.map +1 -0
  93. package/dist/controllers/module-package.controller.js +150 -0
  94. package/dist/controllers/module-package.controller.js.map +1 -0
  95. package/dist/controllers/mq-message-queue.controller.d.ts +1 -20
  96. package/dist/controllers/mq-message-queue.controller.d.ts.map +1 -1
  97. package/dist/controllers/mq-message.controller.d.ts +1 -20
  98. package/dist/controllers/mq-message.controller.d.ts.map +1 -1
  99. package/dist/controllers/permission-metadata.controller.d.ts +1 -20
  100. package/dist/controllers/permission-metadata.controller.d.ts.map +1 -1
  101. package/dist/controllers/role-metadata.controller.d.ts +1 -20
  102. package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
  103. package/dist/controllers/saved-filters.controller.d.ts +1 -20
  104. package/dist/controllers/saved-filters.controller.d.ts.map +1 -1
  105. package/dist/controllers/scheduled-job.controller.d.ts +1 -20
  106. package/dist/controllers/scheduled-job.controller.d.ts.map +1 -1
  107. package/dist/controllers/security-rule.controller.d.ts +1 -20
  108. package/dist/controllers/security-rule.controller.d.ts.map +1 -1
  109. package/dist/controllers/service.controller.d.ts +1 -5
  110. package/dist/controllers/service.controller.d.ts.map +1 -1
  111. package/dist/controllers/service.controller.js +6 -11
  112. package/dist/controllers/service.controller.js.map +1 -1
  113. package/dist/controllers/sms-template.controller.d.ts +1 -20
  114. package/dist/controllers/sms-template.controller.d.ts.map +1 -1
  115. package/dist/controllers/test.controller.d.ts +1 -6
  116. package/dist/controllers/test.controller.d.ts.map +1 -1
  117. package/dist/controllers/test.controller.js +2 -20
  118. package/dist/controllers/test.controller.js.map +1 -1
  119. package/dist/controllers/user-activity-history.controller.d.ts +1 -20
  120. package/dist/controllers/user-activity-history.controller.d.ts.map +1 -1
  121. package/dist/controllers/user-view-metadata.controller.d.ts +1 -20
  122. package/dist/controllers/user-view-metadata.controller.d.ts.map +1 -1
  123. package/dist/controllers/user.controller.d.ts +1 -20
  124. package/dist/controllers/user.controller.d.ts.map +1 -1
  125. package/dist/controllers/view-metadata.controller.d.ts +1 -20
  126. package/dist/controllers/view-metadata.controller.d.ts.map +1 -1
  127. package/dist/decorators/dashboard-widget-data-provider.decorator.d.ts +3 -0
  128. package/dist/decorators/dashboard-widget-data-provider.decorator.d.ts.map +1 -0
  129. package/dist/decorators/dashboard-widget-data-provider.decorator.js +8 -0
  130. package/dist/decorators/dashboard-widget-data-provider.decorator.js.map +1 -0
  131. package/dist/dtos/confirm-module-package-import.dto.d.ts +4 -0
  132. package/dist/dtos/confirm-module-package-import.dto.d.ts.map +1 -0
  133. package/dist/dtos/confirm-module-package-import.dto.js +34 -0
  134. package/dist/dtos/confirm-module-package-import.dto.js.map +1 -0
  135. package/dist/dtos/create-dashboard-user-layout.dto.d.ts +10 -0
  136. package/dist/dtos/create-dashboard-user-layout.dto.d.ts.map +1 -0
  137. package/dist/dtos/create-dashboard-user-layout.dto.js +66 -0
  138. package/dist/dtos/create-dashboard-user-layout.dto.js.map +1 -0
  139. package/dist/dtos/create-mcp-audit-log.dto.d.ts +19 -0
  140. package/dist/dtos/create-mcp-audit-log.dto.d.ts.map +1 -0
  141. package/dist/dtos/create-mcp-audit-log.dto.js +118 -0
  142. package/dist/dtos/create-mcp-audit-log.dto.js.map +1 -0
  143. package/dist/dtos/create-model-metadata.dto.d.ts +2 -2
  144. package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
  145. package/dist/dtos/create-model-metadata.dto.js +6 -11
  146. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  147. package/dist/dtos/create-permission-metadata.dto.d.ts.map +1 -1
  148. package/dist/dtos/create-permission-metadata.dto.js +2 -0
  149. package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
  150. package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
  151. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  152. package/dist/dtos/create-role-metadata.dto.js +13 -1
  153. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  154. package/dist/dtos/dashboard-variable-options-query.dto.d.ts +7 -0
  155. package/dist/dtos/dashboard-variable-options-query.dto.d.ts.map +1 -0
  156. package/dist/dtos/dashboard-variable-options-query.dto.js +40 -0
  157. package/dist/dtos/dashboard-variable-options-query.dto.js.map +1 -0
  158. package/dist/dtos/dashboard-widget-data-request.dto.d.ts +12 -0
  159. package/dist/dtos/dashboard-widget-data-request.dto.d.ts.map +1 -0
  160. package/dist/dtos/dashboard-widget-data-request.dto.js +65 -0
  161. package/dist/dtos/dashboard-widget-data-request.dto.js.map +1 -0
  162. package/dist/dtos/import-instructions.dto.d.ts +2 -0
  163. package/dist/dtos/import-instructions.dto.d.ts.map +1 -1
  164. package/dist/dtos/import-instructions.dto.js +15 -1
  165. package/dist/dtos/import-instructions.dto.js.map +1 -1
  166. package/dist/dtos/metadata-explorer-references-query.dto.d.ts +10 -0
  167. package/dist/dtos/metadata-explorer-references-query.dto.d.ts.map +1 -0
  168. package/dist/dtos/metadata-explorer-references-query.dto.js +69 -0
  169. package/dist/dtos/metadata-explorer-references-query.dto.js.map +1 -0
  170. package/dist/dtos/metadata-explorer-search-query.dto.d.ts +8 -0
  171. package/dist/dtos/metadata-explorer-search-query.dto.d.ts.map +1 -0
  172. package/dist/dtos/metadata-explorer-search-query.dto.js +55 -0
  173. package/dist/dtos/metadata-explorer-search-query.dto.js.map +1 -0
  174. package/dist/dtos/metadata-explorer-write.dto.d.ts +4 -0
  175. package/dist/dtos/metadata-explorer-write.dto.d.ts.map +1 -0
  176. package/dist/dtos/{invoke-ai-prompt.dto.js → metadata-explorer-write.dto.js} +12 -12
  177. package/dist/dtos/metadata-explorer-write.dto.js.map +1 -0
  178. package/dist/dtos/run-module-package-build.dto.d.ts +5 -0
  179. package/dist/dtos/run-module-package-build.dto.d.ts.map +1 -0
  180. package/dist/dtos/run-module-package-build.dto.js +38 -0
  181. package/dist/dtos/run-module-package-build.dto.js.map +1 -0
  182. package/dist/dtos/run-module-package-seed.dto.d.ts +4 -0
  183. package/dist/dtos/run-module-package-seed.dto.d.ts.map +1 -0
  184. package/dist/dtos/run-module-package-seed.dto.js +34 -0
  185. package/dist/dtos/run-module-package-seed.dto.js.map +1 -0
  186. package/dist/dtos/update-chatter-note-message.dto.d.ts +5 -0
  187. package/dist/dtos/update-chatter-note-message.dto.d.ts.map +1 -0
  188. package/dist/dtos/update-chatter-note-message.dto.js +34 -0
  189. package/dist/dtos/update-chatter-note-message.dto.js.map +1 -0
  190. package/dist/dtos/update-dashboard-user-layout.dto.d.ts +11 -0
  191. package/dist/dtos/update-dashboard-user-layout.dto.d.ts.map +1 -0
  192. package/dist/dtos/{update-dashboard-layout.dto.js → update-dashboard-user-layout.dto.js} +34 -16
  193. package/dist/dtos/update-dashboard-user-layout.dto.js.map +1 -0
  194. package/dist/dtos/update-mcp-audit-log.dto.d.ts +19 -0
  195. package/dist/dtos/update-mcp-audit-log.dto.d.ts.map +1 -0
  196. package/dist/dtos/update-mcp-audit-log.dto.js +117 -0
  197. package/dist/dtos/update-mcp-audit-log.dto.js.map +1 -0
  198. package/dist/dtos/update-permission-metadata.dto.d.ts.map +1 -1
  199. package/dist/dtos/update-permission-metadata.dto.js +3 -1
  200. package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
  201. package/dist/dtos/update-role-metadata.dto.d.ts +2 -0
  202. package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
  203. package/dist/dtos/update-role-metadata.dto.js +13 -1
  204. package/dist/dtos/update-role-metadata.dto.js.map +1 -1
  205. package/dist/entities/action-metadata.entity.d.ts.map +1 -1
  206. package/dist/entities/action-metadata.entity.js +1 -0
  207. package/dist/entities/action-metadata.entity.js.map +1 -1
  208. package/dist/entities/agent-event.entity.d.ts.map +1 -1
  209. package/dist/entities/agent-event.entity.js +1 -0
  210. package/dist/entities/agent-event.entity.js.map +1 -1
  211. package/dist/entities/agent-session.entity.d.ts.map +1 -1
  212. package/dist/entities/agent-session.entity.js +1 -0
  213. package/dist/entities/agent-session.entity.js.map +1 -1
  214. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  215. package/dist/entities/chatter-message.entity.js +2 -0
  216. package/dist/entities/chatter-message.entity.js.map +1 -1
  217. package/dist/entities/dashboard-user-layout.entity.d.ts +11 -0
  218. package/dist/entities/dashboard-user-layout.entity.d.ts.map +1 -0
  219. package/dist/entities/dashboard-user-layout.entity.js +52 -0
  220. package/dist/entities/dashboard-user-layout.entity.js.map +1 -0
  221. package/dist/entities/email-template.entity.d.ts.map +1 -1
  222. package/dist/entities/email-template.entity.js +1 -0
  223. package/dist/entities/email-template.entity.js.map +1 -1
  224. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  225. package/dist/entities/field-metadata.entity.js +4 -0
  226. package/dist/entities/field-metadata.entity.js.map +1 -1
  227. package/dist/entities/legacy-common-with-id.entity.d.ts +2 -2
  228. package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -1
  229. package/dist/entities/legacy-common-with-id.entity.js +6 -6
  230. package/dist/entities/legacy-common-with-id.entity.js.map +1 -1
  231. package/dist/entities/legacy-common.entity.d.ts +1 -1
  232. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  233. package/dist/entities/legacy-common.entity.js +14 -14
  234. package/dist/entities/legacy-common.entity.js.map +1 -1
  235. package/dist/entities/list-of-values.entity.d.ts.map +1 -1
  236. package/dist/entities/list-of-values.entity.js +4 -0
  237. package/dist/entities/list-of-values.entity.js.map +1 -1
  238. package/dist/entities/locale.entity.d.ts.map +1 -1
  239. package/dist/entities/locale.entity.js +1 -0
  240. package/dist/entities/locale.entity.js.map +1 -1
  241. package/dist/entities/mcp-audit-log.entity.d.ts +19 -0
  242. package/dist/entities/mcp-audit-log.entity.d.ts.map +1 -0
  243. package/dist/entities/mcp-audit-log.entity.js +90 -0
  244. package/dist/entities/mcp-audit-log.entity.js.map +1 -0
  245. package/dist/entities/media.entity.d.ts.map +1 -1
  246. package/dist/entities/media.entity.js +1 -0
  247. package/dist/entities/media.entity.js.map +1 -1
  248. package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
  249. package/dist/entities/menu-item-metadata.entity.js +2 -0
  250. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  251. package/dist/entities/model-metadata.entity.d.ts +2 -2
  252. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  253. package/dist/entities/model-metadata.entity.js +8 -8
  254. package/dist/entities/model-metadata.entity.js.map +1 -1
  255. package/dist/entities/module-metadata.entity.d.ts.map +1 -1
  256. package/dist/entities/module-metadata.entity.js +2 -0
  257. package/dist/entities/module-metadata.entity.js.map +1 -1
  258. package/dist/entities/permission-metadata.entity.d.ts.map +1 -1
  259. package/dist/entities/permission-metadata.entity.js.map +1 -1
  260. package/dist/entities/role-metadata.entity.d.ts +2 -0
  261. package/dist/entities/role-metadata.entity.d.ts.map +1 -1
  262. package/dist/entities/role-metadata.entity.js +10 -2
  263. package/dist/entities/role-metadata.entity.js.map +1 -1
  264. package/dist/entities/saved-filters.entity.d.ts.map +1 -1
  265. package/dist/entities/saved-filters.entity.js +3 -0
  266. package/dist/entities/saved-filters.entity.js.map +1 -1
  267. package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
  268. package/dist/entities/scheduled-job.entity.js +2 -0
  269. package/dist/entities/scheduled-job.entity.js.map +1 -1
  270. package/dist/entities/security-rule.entity.d.ts.map +1 -1
  271. package/dist/entities/security-rule.entity.js +1 -0
  272. package/dist/entities/security-rule.entity.js.map +1 -1
  273. package/dist/entities/sms-template.entity.d.ts.map +1 -1
  274. package/dist/entities/sms-template.entity.js +2 -0
  275. package/dist/entities/sms-template.entity.js.map +1 -1
  276. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  277. package/dist/entities/user-activity-history.entity.js +1 -0
  278. package/dist/entities/user-activity-history.entity.js.map +1 -1
  279. package/dist/entities/user.entity.d.ts +3 -0
  280. package/dist/entities/user.entity.d.ts.map +1 -1
  281. package/dist/entities/user.entity.js +15 -1
  282. package/dist/entities/user.entity.js.map +1 -1
  283. package/dist/entities/view-metadata.entity.d.ts.map +1 -1
  284. package/dist/entities/view-metadata.entity.js +2 -0
  285. package/dist/entities/view-metadata.entity.js.map +1 -1
  286. package/dist/enums/legacy-table-type.enum.d.ts +6 -0
  287. package/dist/enums/legacy-table-type.enum.d.ts.map +1 -0
  288. package/dist/enums/legacy-table-type.enum.js +10 -0
  289. package/dist/enums/legacy-table-type.enum.js.map +1 -0
  290. package/dist/factories/whatsapp.factory.d.ts.map +1 -1
  291. package/dist/factories/whatsapp.factory.js +13 -11
  292. package/dist/factories/whatsapp.factory.js.map +1 -1
  293. package/dist/helpers/bootstrap.helper.d.ts +1 -0
  294. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  295. package/dist/helpers/bootstrap.helper.js +6 -3
  296. package/dist/helpers/bootstrap.helper.js.map +1 -1
  297. package/dist/helpers/command.service.d.ts +1 -0
  298. package/dist/helpers/command.service.d.ts.map +1 -1
  299. package/dist/helpers/command.service.js +2 -1
  300. package/dist/helpers/command.service.js.map +1 -1
  301. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts +34 -0
  302. package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts.map +1 -0
  303. package/dist/helpers/microsoft-active-directory-oauth.helper.js +43 -0
  304. package/dist/helpers/microsoft-active-directory-oauth.helper.js.map +1 -0
  305. package/dist/helpers/model-metadata-helper.service.d.ts +2 -1
  306. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  307. package/dist/helpers/model-metadata-helper.service.js +4 -3
  308. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  309. package/dist/helpers/module-metadata-helper.service.d.ts +2 -0
  310. package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
  311. package/dist/helpers/module-metadata-helper.service.js +23 -10
  312. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  313. package/dist/helpers/module.helper.d.ts.map +1 -1
  314. package/dist/helpers/module.helper.js +6 -6
  315. package/dist/helpers/module.helper.js.map +1 -1
  316. package/dist/helpers/solid-registry.d.ts +5 -9
  317. package/dist/helpers/solid-registry.d.ts.map +1 -1
  318. package/dist/helpers/solid-registry.js +13 -28
  319. package/dist/helpers/solid-registry.js.map +1 -1
  320. package/dist/helpers/typeorm-migration-helpers.d.ts +12 -0
  321. package/dist/helpers/typeorm-migration-helpers.d.ts.map +1 -0
  322. package/dist/helpers/typeorm-migration-helpers.js +119 -0
  323. package/dist/helpers/typeorm-migration-helpers.js.map +1 -0
  324. package/dist/helpers/user-helper.d.ts.map +1 -1
  325. package/dist/helpers/user-helper.js +4 -0
  326. package/dist/helpers/user-helper.js.map +1 -1
  327. package/dist/index.d.ts +37 -10
  328. package/dist/index.d.ts.map +1 -1
  329. package/dist/index.js +37 -10
  330. package/dist/index.js.map +1 -1
  331. package/dist/interfaces.d.ts +23 -21
  332. package/dist/interfaces.d.ts.map +1 -1
  333. package/dist/interfaces.js.map +1 -1
  334. package/dist/listeners/user-registration.listener.d.ts +5 -2
  335. package/dist/listeners/user-registration.listener.d.ts.map +1 -1
  336. package/dist/listeners/user-registration.listener.js +37 -4
  337. package/dist/listeners/user-registration.listener.js.map +1 -1
  338. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts +14 -0
  339. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts.map +1 -0
  340. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js +67 -0
  341. package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js.map +1 -0
  342. package/dist/{repository/dashboard-layout.repository.d.ts → repositories/dashboard-user-layout.repository.d.ts} +5 -5
  343. package/dist/repositories/dashboard-user-layout.repository.d.ts.map +1 -0
  344. package/dist/{repository/dashboard-question-sql-dataset-config.repository.js → repositories/dashboard-user-layout.repository.js} +15 -10
  345. package/dist/repositories/dashboard-user-layout.repository.js.map +1 -0
  346. package/dist/repository/{ai-interaction.repository.d.ts → mcp-audit-log.repository.d.ts} +3 -3
  347. package/dist/repository/mcp-audit-log.repository.d.ts.map +1 -0
  348. package/dist/repository/{ai-interaction.repository.js → mcp-audit-log.repository.js} +8 -8
  349. package/dist/repository/mcp-audit-log.repository.js.map +1 -0
  350. package/dist/seeders/module-metadata-seeder.service.d.ts +2 -6
  351. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  352. package/dist/seeders/module-metadata-seeder.service.js +58 -98
  353. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  354. package/dist/seeders/module-test-data.service.d.ts +2 -0
  355. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  356. package/dist/seeders/module-test-data.service.js +62 -1
  357. package/dist/seeders/module-test-data.service.js.map +1 -1
  358. package/dist/seeders/seed-data/solid-core-metadata.json +4992 -4287
  359. package/dist/seeders/system-fields-seeder.service.js +1 -1
  360. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  361. package/dist/services/authentication.service.d.ts +18 -1
  362. package/dist/services/authentication.service.d.ts.map +1 -1
  363. package/dist/services/authentication.service.js +208 -14
  364. package/dist/services/authentication.service.js.map +1 -1
  365. package/dist/services/chatter-message.service.d.ts +7 -1
  366. package/dist/services/chatter-message.service.d.ts.map +1 -1
  367. package/dist/services/chatter-message.service.js +94 -2
  368. package/dist/services/chatter-message.service.js.map +1 -1
  369. package/dist/services/crud-helper.service.d.ts +18 -0
  370. package/dist/services/crud-helper.service.d.ts.map +1 -1
  371. package/dist/services/crud-helper.service.js +76 -2
  372. package/dist/services/crud-helper.service.js.map +1 -1
  373. package/dist/services/crud.service.d.ts +1 -21
  374. package/dist/services/crud.service.d.ts.map +1 -1
  375. package/dist/services/crud.service.js +23 -87
  376. package/dist/services/crud.service.js.map +1 -1
  377. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.d.ts +13 -0
  378. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.d.ts.map +1 -0
  379. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.js +55 -0
  380. package/dist/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.js.map +1 -0
  381. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.d.ts +13 -0
  382. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.d.ts.map +1 -0
  383. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.js +52 -0
  384. package/dist/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.js.map +1 -0
  385. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.d.ts +13 -0
  386. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.d.ts.map +1 -0
  387. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.js +52 -0
  388. package/dist/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.js.map +1 -0
  389. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.d.ts +10 -0
  390. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.d.ts.map +1 -0
  391. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.js +62 -0
  392. package/dist/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.js.map +1 -0
  393. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.d.ts +10 -0
  394. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.d.ts.map +1 -0
  395. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.js +82 -0
  396. package/dist/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.js.map +1 -0
  397. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.d.ts +17 -0
  398. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.d.ts.map +1 -0
  399. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.js +130 -0
  400. package/dist/services/dashboard-providers/mq-dashboard-provider-utils.js.map +1 -0
  401. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.d.ts +37 -0
  402. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.d.ts.map +1 -0
  403. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.js +112 -0
  404. package/dist/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.js.map +1 -0
  405. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.d.ts +10 -0
  406. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.d.ts.map +1 -0
  407. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.js +57 -0
  408. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.js.map +1 -0
  409. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.d.ts +10 -0
  410. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.d.ts.map +1 -0
  411. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.js +57 -0
  412. package/dist/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.js.map +1 -0
  413. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.d.ts +10 -0
  414. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.d.ts.map +1 -0
  415. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.js +100 -0
  416. package/dist/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.js.map +1 -0
  417. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.d.ts +10 -0
  418. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.d.ts.map +1 -0
  419. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.js +55 -0
  420. package/dist/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.js.map +1 -0
  421. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.d.ts +13 -0
  422. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.d.ts.map +1 -0
  423. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.js +52 -0
  424. package/dist/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.js.map +1 -0
  425. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.d.ts +15 -0
  426. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.d.ts.map +1 -0
  427. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.js +60 -0
  428. package/dist/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.js.map +1 -0
  429. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.d.ts +13 -0
  430. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.d.ts.map +1 -0
  431. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.js +51 -0
  432. package/dist/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.js.map +1 -0
  433. package/dist/services/dashboard-runtime.service.d.ts +31 -0
  434. package/dist/services/dashboard-runtime.service.d.ts.map +1 -0
  435. package/dist/services/dashboard-runtime.service.js +408 -0
  436. package/dist/services/dashboard-runtime.service.js.map +1 -0
  437. package/dist/services/dashboard-user-layout.service.d.ts +12 -0
  438. package/dist/services/dashboard-user-layout.service.d.ts.map +1 -0
  439. package/dist/services/{dashboard-question-sql-dataset-config.service.js → dashboard-user-layout.service.js} +10 -10
  440. package/dist/services/dashboard-user-layout.service.js.map +1 -0
  441. package/dist/services/import-transaction.service.d.ts.map +1 -1
  442. package/dist/services/import-transaction.service.js +6 -0
  443. package/dist/services/import-transaction.service.js.map +1 -1
  444. package/dist/services/mcp-audit-log.service.d.ts +12 -0
  445. package/dist/services/mcp-audit-log.service.d.ts.map +1 -0
  446. package/dist/services/{dashboard-variable.service.js → mcp-audit-log.service.js} +9 -10
  447. package/dist/services/mcp-audit-log.service.js.map +1 -0
  448. package/dist/services/media.service.d.ts +1 -20
  449. package/dist/services/media.service.d.ts.map +1 -1
  450. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +1 -0
  451. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  452. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +51 -11
  453. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  454. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +1 -0
  455. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  456. package/dist/services/mediaStorageProviders/file-storage-provider.js +11 -1
  457. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  458. package/dist/services/model-metadata.service.d.ts +20 -32
  459. package/dist/services/model-metadata.service.d.ts.map +1 -1
  460. package/dist/services/model-metadata.service.js +271 -42
  461. package/dist/services/model-metadata.service.js.map +1 -1
  462. package/dist/services/module-metadata-explorer.service.d.ts +161 -0
  463. package/dist/services/module-metadata-explorer.service.d.ts.map +1 -0
  464. package/dist/services/module-metadata-explorer.service.js +485 -0
  465. package/dist/services/module-metadata-explorer.service.js.map +1 -0
  466. package/dist/services/module-metadata.service.d.ts +11 -1
  467. package/dist/services/module-metadata.service.d.ts.map +1 -1
  468. package/dist/services/module-metadata.service.js +140 -4
  469. package/dist/services/module-metadata.service.js.map +1 -1
  470. package/dist/services/module-package.service.d.ts +266 -0
  471. package/dist/services/module-package.service.d.ts.map +1 -0
  472. package/dist/services/module-package.service.js +980 -0
  473. package/dist/services/module-package.service.js.map +1 -0
  474. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.d.ts +11 -0
  475. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.d.ts.map +1 -0
  476. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.js +59 -0
  477. package/dist/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.js.map +1 -0
  478. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.d.ts +11 -0
  479. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.d.ts.map +1 -0
  480. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.js +60 -0
  481. package/dist/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.js.map +1 -0
  482. package/dist/services/settings/default-settings-provider.service.d.ts +292 -0
  483. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  484. package/dist/services/settings/default-settings-provider.service.js +164 -0
  485. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  486. package/dist/services/solid-introspect.service.d.ts +1 -2
  487. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  488. package/dist/services/solid-introspect.service.js +12 -24
  489. package/dist/services/solid-introspect.service.js.map +1 -1
  490. package/dist/services/user.service.d.ts +2 -0
  491. package/dist/services/user.service.d.ts.map +1 -1
  492. package/dist/services/user.service.js +47 -1
  493. package/dist/services/user.service.js.map +1 -1
  494. package/dist/services/whatsapp/GupshupOtpWhatsappService.d.ts +11 -0
  495. package/dist/services/whatsapp/GupshupOtpWhatsappService.d.ts.map +1 -0
  496. package/dist/services/whatsapp/GupshupOtpWhatsappService.js +127 -0
  497. package/dist/services/whatsapp/GupshupOtpWhatsappService.js.map +1 -0
  498. package/dist/services/whatsapp/MetaCloudWhatsappService.d.ts +17 -0
  499. package/dist/services/whatsapp/MetaCloudWhatsappService.d.ts.map +1 -0
  500. package/dist/services/whatsapp/MetaCloudWhatsappService.js +209 -0
  501. package/dist/services/whatsapp/MetaCloudWhatsappService.js.map +1 -0
  502. package/dist/solid-core.module.d.ts +2 -2
  503. package/dist/solid-core.module.d.ts.map +1 -1
  504. package/dist/solid-core.module.js +79 -103
  505. package/dist/solid-core.module.js.map +1 -1
  506. package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
  507. package/dist/subscribers/model-metadata.subscriber.js +1 -3
  508. package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
  509. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  510. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  511. package/dist/subscribers/security-rule.subscriber.js +1 -1
  512. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  513. package/dist/testing/adapters/ui/playwright-adapter.d.ts +1 -0
  514. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  515. package/dist/testing/adapters/ui/playwright-adapter.js +3 -0
  516. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  517. package/dist/testing/steps/ui/index.d.ts.map +1 -1
  518. package/dist/testing/steps/ui/index.js +2 -0
  519. package/dist/testing/steps/ui/index.js.map +1 -1
  520. package/dist/testing/steps/ui/manual.step.d.ts +3 -0
  521. package/dist/testing/steps/ui/manual.step.d.ts.map +1 -0
  522. package/dist/testing/steps/ui/manual.step.js +56 -0
  523. package/dist/testing/steps/ui/manual.step.js.map +1 -0
  524. package/dist/winston.logger.d.ts +5 -0
  525. package/dist/winston.logger.d.ts.map +1 -1
  526. package/dist/winston.logger.js +6 -4
  527. package/dist/winston.logger.js.map +1 -1
  528. package/package.json +5 -8
  529. package/src/commands/info.command.ts +0 -2
  530. package/src/commands/refresh-model.command.ts +6 -51
  531. package/src/commands/refresh-module.command.ts +3 -16
  532. package/src/commands/test-data.command.ts +29 -6
  533. package/src/constants/error-messages.ts +2 -1
  534. package/src/controllers/chatter-message.controller.ts +12 -0
  535. package/src/controllers/{dashboard-variable.controller.ts → dashboard-user-layout.controller.ts} +10 -10
  536. package/src/controllers/dashboard.controller.ts +70 -89
  537. package/src/controllers/gupshup-webhook.controller.ts +91 -0
  538. package/src/controllers/mcp-audit-log.controller.ts +70 -0
  539. package/src/controllers/meta-cloud-whatsapp-webhook.controller.ts +155 -0
  540. package/src/controllers/microsoft-active-directory-authentication.controller.ts +104 -0
  541. package/src/controllers/model-metadata.controller.ts +1 -1
  542. package/src/controllers/module-metadata-explorer.controller.ts +83 -0
  543. package/src/controllers/module-metadata.controller.ts +7 -1
  544. package/src/controllers/module-package.controller.ts +102 -0
  545. package/src/controllers/service.controller.ts +4 -7
  546. package/src/controllers/test.controller.ts +0 -9
  547. package/src/decorators/dashboard-widget-data-provider.decorator.ts +6 -0
  548. package/src/dtos/confirm-module-package-import.dto.ts +12 -0
  549. package/src/dtos/create-dashboard-user-layout.dto.ts +41 -0
  550. package/src/dtos/create-mcp-audit-log.dto.ts +84 -0
  551. package/src/dtos/create-model-metadata.dto.ts +5 -9
  552. package/src/dtos/create-permission-metadata.dto.ts +3 -0
  553. package/src/dtos/create-role-metadata.dto.ts +11 -1
  554. package/src/dtos/dashboard-variable-options-query.dto.ts +20 -0
  555. package/src/dtos/dashboard-widget-data-request.dto.ts +34 -0
  556. package/src/dtos/import-instructions.dto.ts +11 -1
  557. package/src/dtos/metadata-explorer-references-query.dto.ts +39 -0
  558. package/src/dtos/metadata-explorer-search-query.dto.ts +28 -0
  559. package/src/dtos/metadata-explorer-write.dto.ts +11 -0
  560. package/src/dtos/run-module-package-build.dto.ts +14 -0
  561. package/src/dtos/run-module-package-seed.dto.ts +12 -0
  562. package/src/dtos/update-chatter-note-message.dto.ts +14 -0
  563. package/src/dtos/update-dashboard-user-layout.dto.ts +45 -0
  564. package/src/dtos/update-mcp-audit-log.dto.ts +83 -0
  565. package/src/dtos/update-permission-metadata.dto.ts +4 -1
  566. package/src/dtos/update-role-metadata.dto.ts +21 -1
  567. package/src/entities/action-metadata.entity.ts +1 -0
  568. package/src/entities/agent-event.entity.ts +1 -0
  569. package/src/entities/agent-session.entity.ts +1 -0
  570. package/src/entities/chatter-message.entity.ts +2 -0
  571. package/src/entities/dashboard-user-layout.entity.ts +27 -0
  572. package/src/entities/email-template.entity.ts +1 -0
  573. package/src/entities/field-metadata.entity.ts +4 -1
  574. package/src/entities/legacy-common-with-id.entity.ts +2 -2
  575. package/src/entities/legacy-common.entity.ts +1 -1
  576. package/src/entities/list-of-values.entity.ts +5 -1
  577. package/src/entities/locale.entity.ts +1 -0
  578. package/src/entities/mcp-audit-log.entity.ts +55 -0
  579. package/src/entities/media.entity.ts +1 -0
  580. package/src/entities/menu-item-metadata.entity.ts +2 -0
  581. package/src/entities/model-metadata.entity.ts +6 -5
  582. package/src/entities/module-metadata.entity.ts +2 -0
  583. package/src/entities/permission-metadata.entity.ts +2 -2
  584. package/src/entities/role-metadata.entity.ts +11 -3
  585. package/src/entities/saved-filters.entity.ts +3 -0
  586. package/src/entities/scheduled-job.entity.ts +2 -0
  587. package/src/entities/security-rule.entity.ts +1 -0
  588. package/src/entities/sms-template.entity.ts +2 -0
  589. package/src/entities/user-activity-history.entity.ts +1 -0
  590. package/src/entities/user.entity.ts +15 -1
  591. package/src/entities/view-metadata.entity.ts +2 -0
  592. package/src/enums/legacy-table-type.enum.ts +5 -0
  593. package/src/factories/whatsapp.factory.ts +33 -32
  594. package/src/helpers/bootstrap.helper.ts +13 -6
  595. package/src/helpers/command.service.ts +3 -1
  596. package/src/helpers/field-crud-managers/field-quality-check-fixes.md +208 -0
  597. package/src/helpers/microsoft-active-directory-oauth.helper.ts +83 -0
  598. package/src/helpers/model-metadata-helper.service.ts +4 -3
  599. package/src/helpers/module-metadata-helper.service.ts +33 -20
  600. package/src/helpers/module.helper.ts +12 -9
  601. package/src/helpers/solid-registry.ts +15 -36
  602. package/src/helpers/typeorm-migration-helpers.ts +163 -0
  603. package/src/helpers/user-helper.ts +5 -1
  604. package/src/index.ts +37 -10
  605. package/src/interfaces.ts +32 -29
  606. package/src/listeners/user-registration.listener.ts +49 -6
  607. package/src/passport-strategies/microsoft-active-directory-oauth.strategy.ts +63 -0
  608. package/src/repositories/dashboard-user-layout.repository.ts +19 -0
  609. package/src/repository/mcp-audit-log.repository.ts +17 -0
  610. package/src/seeders/module-metadata-seeder.service.ts +63 -105
  611. package/src/seeders/module-test-data.service.ts +80 -3
  612. package/src/seeders/seed-data/solid-core-metadata.json +4994 -4289
  613. package/src/seeders/system-fields-seeder.service.ts +1 -1
  614. package/src/services/authentication.service.ts +359 -46
  615. package/src/services/chatter-message.service.ts +112 -2
  616. package/src/services/crud-helper.service.ts +86 -2
  617. package/src/services/crud.service.ts +26 -119
  618. package/src/services/dashboard-providers/README.md +603 -0
  619. package/src/services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service.ts +49 -0
  620. package/src/services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service.ts +45 -0
  621. package/src/services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service.ts +45 -0
  622. package/src/services/dashboard-providers/mq-dashboard-latency-trend-provider.service.ts +58 -0
  623. package/src/services/dashboard-providers/mq-dashboard-messages-over-time-provider.service.ts +79 -0
  624. package/src/services/dashboard-providers/mq-dashboard-provider-utils.ts +165 -0
  625. package/src/services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service.ts +155 -0
  626. package/src/services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service.ts +51 -0
  627. package/src/services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service.ts +51 -0
  628. package/src/services/dashboard-providers/mq-dashboard-recent-failures-provider.service.ts +95 -0
  629. package/src/services/dashboard-providers/mq-dashboard-stage-distribution-provider.service.ts +49 -0
  630. package/src/services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service.ts +45 -0
  631. package/src/services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service.ts +55 -0
  632. package/src/services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service.ts +44 -0
  633. package/src/services/dashboard-runtime.service.ts +488 -0
  634. package/src/services/dashboard-user-layout.service.ts +20 -0
  635. package/src/services/import-transaction.service.ts +11 -1
  636. package/src/services/mcp-audit-log.service.ts +19 -0
  637. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +60 -13
  638. package/src/services/mediaStorageProviders/file-storage-provider.ts +13 -2
  639. package/src/services/model-metadata.service.ts +318 -115
  640. package/src/services/module-metadata-explorer.service.ts +670 -0
  641. package/src/services/module-metadata.service.ts +148 -10
  642. package/src/services/module-package.service.ts +1171 -0
  643. package/src/services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service.ts +52 -0
  644. package/src/services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service.ts +51 -0
  645. package/src/services/settings/default-settings-provider.service.ts +167 -0
  646. package/src/services/solid-introspect.service.ts +19 -34
  647. package/src/services/user.service.ts +62 -1
  648. package/src/services/whatsapp/GupshupOtpWhatsappService.ts +174 -0
  649. package/src/services/whatsapp/MetaCloudWhatsappService.ts +253 -0
  650. package/src/solid-core.module.ts +251 -282
  651. package/src/subscribers/model-metadata.subscriber.ts +1 -3
  652. package/src/subscribers/scheduled-job.subscriber.ts +1 -1
  653. package/src/subscribers/security-rule.subscriber.ts +1 -1
  654. package/src/testing/README.md +55 -2
  655. package/src/testing/adapters/ui/playwright-adapter.ts +4 -0
  656. package/src/testing/steps/ui/index.ts +2 -0
  657. package/src/testing/steps/ui/manual.step.ts +80 -0
  658. package/src/winston.logger.ts +5 -7
  659. package/dist/commands/ingest.command.d.ts +0 -16
  660. package/dist/commands/ingest.command.d.ts.map +0 -1
  661. package/dist/commands/ingest.command.js +0 -50
  662. package/dist/commands/ingest.command.js.map +0 -1
  663. package/dist/controllers/ai-interaction.controller.d.ts +0 -48
  664. package/dist/controllers/ai-interaction.controller.d.ts.map +0 -1
  665. package/dist/controllers/ai-interaction.controller.js +0 -218
  666. package/dist/controllers/ai-interaction.controller.js.map +0 -1
  667. package/dist/controllers/dashboard-layout.controller.d.ts +0 -47
  668. package/dist/controllers/dashboard-layout.controller.d.ts.map +0 -1
  669. package/dist/controllers/dashboard-layout.controller.js +0 -204
  670. package/dist/controllers/dashboard-layout.controller.js.map +0 -1
  671. package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts +0 -43
  672. package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts.map +0 -1
  673. package/dist/controllers/dashboard-question-sql-dataset-config.controller.js +0 -179
  674. package/dist/controllers/dashboard-question-sql-dataset-config.controller.js.map +0 -1
  675. package/dist/controllers/dashboard-question.controller.d.ts +0 -45
  676. package/dist/controllers/dashboard-question.controller.d.ts.map +0 -1
  677. package/dist/controllers/dashboard-question.controller.js.map +0 -1
  678. package/dist/controllers/dashboard-variable.controller.d.ts +0 -43
  679. package/dist/controllers/dashboard-variable.controller.d.ts.map +0 -1
  680. package/dist/controllers/dashboard-variable.controller.js.map +0 -1
  681. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts +0 -3
  682. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +0 -1
  683. package/dist/decorators/dashboard-question-data-provider.decorator.js +0 -11
  684. package/dist/decorators/dashboard-question-data-provider.decorator.js.map +0 -1
  685. package/dist/decorators/dashboard-selection-provider.decorator.d.ts +0 -3
  686. package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +0 -1
  687. package/dist/decorators/dashboard-selection-provider.decorator.js +0 -11
  688. package/dist/decorators/dashboard-selection-provider.decorator.js.map +0 -1
  689. package/dist/dtos/create-ai-interaction.dto.d.ts +0 -23
  690. package/dist/dtos/create-ai-interaction.dto.d.ts.map +0 -1
  691. package/dist/dtos/create-ai-interaction.dto.js +0 -149
  692. package/dist/dtos/create-ai-interaction.dto.js.map +0 -1
  693. package/dist/dtos/create-dashboard-layout.dto.d.ts +0 -8
  694. package/dist/dtos/create-dashboard-layout.dto.d.ts.map +0 -1
  695. package/dist/dtos/create-dashboard-layout.dto.js +0 -53
  696. package/dist/dtos/create-dashboard-layout.dto.js.map +0 -1
  697. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts +0 -12
  698. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts.map +0 -1
  699. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js +0 -77
  700. package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js.map +0 -1
  701. package/dist/dtos/create-dashboard-question.dto.d.ts +0 -17
  702. package/dist/dtos/create-dashboard-question.dto.d.ts.map +0 -1
  703. package/dist/dtos/create-dashboard-question.dto.js +0 -105
  704. package/dist/dtos/create-dashboard-question.dto.js.map +0 -1
  705. package/dist/dtos/create-dashboard-variable.dto.d.ts +0 -19
  706. package/dist/dtos/create-dashboard-variable.dto.d.ts.map +0 -1
  707. package/dist/dtos/create-dashboard-variable.dto.js +0 -103
  708. package/dist/dtos/create-dashboard-variable.dto.js.map +0 -1
  709. package/dist/dtos/create-dashboard.dto.d.ts +0 -17
  710. package/dist/dtos/create-dashboard.dto.d.ts.map +0 -1
  711. package/dist/dtos/create-dashboard.dto.js +0 -102
  712. package/dist/dtos/create-dashboard.dto.js.map +0 -1
  713. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +0 -8
  714. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts.map +0 -1
  715. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js +0 -52
  716. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.js.map +0 -1
  717. package/dist/dtos/invoke-ai-prompt.dto.d.ts +0 -5
  718. package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +0 -1
  719. package/dist/dtos/invoke-ai-prompt.dto.js.map +0 -1
  720. package/dist/dtos/update-ai-interaction.dto.d.ts +0 -24
  721. package/dist/dtos/update-ai-interaction.dto.d.ts.map +0 -1
  722. package/dist/dtos/update-ai-interaction.dto.js +0 -150
  723. package/dist/dtos/update-ai-interaction.dto.js.map +0 -1
  724. package/dist/dtos/update-dashboard-layout.dto.d.ts +0 -8
  725. package/dist/dtos/update-dashboard-layout.dto.d.ts.map +0 -1
  726. package/dist/dtos/update-dashboard-layout.dto.js.map +0 -1
  727. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts +0 -13
  728. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts.map +0 -1
  729. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js +0 -86
  730. package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js.map +0 -1
  731. package/dist/dtos/update-dashboard-question.dto.d.ts +0 -18
  732. package/dist/dtos/update-dashboard-question.dto.d.ts.map +0 -1
  733. package/dist/dtos/update-dashboard-question.dto.js +0 -112
  734. package/dist/dtos/update-dashboard-question.dto.js.map +0 -1
  735. package/dist/dtos/update-dashboard-variable.dto.d.ts +0 -16
  736. package/dist/dtos/update-dashboard-variable.dto.d.ts.map +0 -1
  737. package/dist/dtos/update-dashboard-variable.dto.js +0 -101
  738. package/dist/dtos/update-dashboard-variable.dto.js.map +0 -1
  739. package/dist/dtos/update-dashboard.dto.d.ts +0 -18
  740. package/dist/dtos/update-dashboard.dto.d.ts.map +0 -1
  741. package/dist/dtos/update-dashboard.dto.js +0 -108
  742. package/dist/dtos/update-dashboard.dto.js.map +0 -1
  743. package/dist/entities/ai-interaction.entity.d.ts +0 -24
  744. package/dist/entities/ai-interaction.entity.d.ts.map +0 -1
  745. package/dist/entities/ai-interaction.entity.js +0 -116
  746. package/dist/entities/ai-interaction.entity.js.map +0 -1
  747. package/dist/entities/dashboard-layout.entity.d.ts +0 -9
  748. package/dist/entities/dashboard-layout.entity.d.ts.map +0 -1
  749. package/dist/entities/dashboard-layout.entity.js +0 -41
  750. package/dist/entities/dashboard-layout.entity.js.map +0 -1
  751. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +0 -14
  752. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts.map +0 -1
  753. package/dist/entities/dashboard-question-sql-dataset-config.entity.js +0 -66
  754. package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +0 -1
  755. package/dist/entities/dashboard-question.entity.d.ts +0 -17
  756. package/dist/entities/dashboard-question.entity.d.ts.map +0 -1
  757. package/dist/entities/dashboard-question.entity.js +0 -77
  758. package/dist/entities/dashboard-question.entity.js.map +0 -1
  759. package/dist/entities/dashboard-variable.entity.d.ts +0 -16
  760. package/dist/entities/dashboard-variable.entity.d.ts.map +0 -1
  761. package/dist/entities/dashboard-variable.entity.js +0 -79
  762. package/dist/entities/dashboard-variable.entity.js.map +0 -1
  763. package/dist/entities/dashboard.entity.d.ts +0 -16
  764. package/dist/entities/dashboard.entity.d.ts.map +0 -1
  765. package/dist/entities/dashboard.entity.js +0 -64
  766. package/dist/entities/dashboard.entity.js.map +0 -1
  767. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +0 -11
  768. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +0 -1
  769. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +0 -39
  770. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +0 -1
  771. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +0 -8
  772. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +0 -1
  773. package/dist/jobs/database/trigger-mcp-client-queue-options.js +0 -10
  774. package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +0 -1
  775. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +0 -27
  776. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +0 -1
  777. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +0 -245
  778. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +0 -1
  779. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +0 -11
  780. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts.map +0 -1
  781. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js +0 -39
  782. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js.map +0 -1
  783. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts +0 -8
  784. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts.map +0 -1
  785. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js +0 -10
  786. package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js.map +0 -1
  787. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +0 -18
  788. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts.map +0 -1
  789. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js +0 -103
  790. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js.map +0 -1
  791. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +0 -11
  792. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts.map +0 -1
  793. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js +0 -39
  794. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js.map +0 -1
  795. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts +0 -8
  796. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts.map +0 -1
  797. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js +0 -10
  798. package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js.map +0 -1
  799. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +0 -18
  800. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts.map +0 -1
  801. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js +0 -103
  802. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js.map +0 -1
  803. package/dist/mappers/dashboard-mapper.d.ts +0 -6
  804. package/dist/mappers/dashboard-mapper.d.ts.map +0 -1
  805. package/dist/mappers/dashboard-mapper.js +0 -62
  806. package/dist/mappers/dashboard-mapper.js.map +0 -1
  807. package/dist/repository/ai-interaction.repository.d.ts.map +0 -1
  808. package/dist/repository/ai-interaction.repository.js.map +0 -1
  809. package/dist/repository/dashboard-layout.repository.d.ts.map +0 -1
  810. package/dist/repository/dashboard-layout.repository.js +0 -34
  811. package/dist/repository/dashboard-layout.repository.js.map +0 -1
  812. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +0 -12
  813. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +0 -1
  814. package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +0 -1
  815. package/dist/repository/dashboard-question.repository.d.ts +0 -12
  816. package/dist/repository/dashboard-question.repository.d.ts.map +0 -1
  817. package/dist/repository/dashboard-question.repository.js +0 -34
  818. package/dist/repository/dashboard-question.repository.js.map +0 -1
  819. package/dist/repository/dashboard-variable.repository.d.ts +0 -12
  820. package/dist/repository/dashboard-variable.repository.d.ts.map +0 -1
  821. package/dist/repository/dashboard-variable.repository.js +0 -34
  822. package/dist/repository/dashboard-variable.repository.js.map +0 -1
  823. package/dist/repository/dashboard.repository.d.ts +0 -13
  824. package/dist/repository/dashboard.repository.d.ts.map +0 -1
  825. package/dist/repository/dashboard.repository.js +0 -104
  826. package/dist/repository/dashboard.repository.js.map +0 -1
  827. package/dist/services/ai-interaction.service.d.ts +0 -23
  828. package/dist/services/ai-interaction.service.d.ts.map +0 -1
  829. package/dist/services/ai-interaction.service.js +0 -217
  830. package/dist/services/ai-interaction.service.js.map +0 -1
  831. package/dist/services/dashboard-layout.service.d.ts +0 -20
  832. package/dist/services/dashboard-layout.service.d.ts.map +0 -1
  833. package/dist/services/dashboard-layout.service.js +0 -120
  834. package/dist/services/dashboard-layout.service.js.map +0 -1
  835. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +0 -12
  836. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +0 -1
  837. package/dist/services/dashboard-question-sql-dataset-config.service.js.map +0 -1
  838. package/dist/services/dashboard-question.service.d.ts +0 -23
  839. package/dist/services/dashboard-question.service.d.ts.map +0 -1
  840. package/dist/services/dashboard-question.service.js +0 -135
  841. package/dist/services/dashboard-question.service.js.map +0 -1
  842. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts +0 -12
  843. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.d.ts.map +0 -1
  844. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js +0 -55
  845. package/dist/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.js.map +0 -1
  846. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts +0 -11
  847. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.d.ts.map +0 -1
  848. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js +0 -45
  849. package/dist/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.js.map +0 -1
  850. package/dist/services/dashboard-variable.service.d.ts +0 -13
  851. package/dist/services/dashboard-variable.service.d.ts.map +0 -1
  852. package/dist/services/dashboard-variable.service.js.map +0 -1
  853. package/dist/services/dashboard.service.d.ts +0 -29
  854. package/dist/services/dashboard.service.d.ts.map +0 -1
  855. package/dist/services/dashboard.service.js +0 -171
  856. package/dist/services/dashboard.service.js.map +0 -1
  857. package/dist/services/database/database-bootstrap.service.d.ts +0 -12
  858. package/dist/services/database/database-bootstrap.service.d.ts.map +0 -1
  859. package/dist/services/database/database-bootstrap.service.js +0 -115
  860. package/dist/services/database/database-bootstrap.service.js.map +0 -1
  861. package/dist/services/genai/ingest-metadata.service.d.ts +0 -38
  862. package/dist/services/genai/ingest-metadata.service.d.ts.map +0 -1
  863. package/dist/services/genai/ingest-metadata.service.js +0 -542
  864. package/dist/services/genai/ingest-metadata.service.js.map +0 -1
  865. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +0 -9
  866. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +0 -1
  867. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +0 -39
  868. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +0 -1
  869. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +0 -12
  870. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts.map +0 -1
  871. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js +0 -41
  872. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js.map +0 -1
  873. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +0 -12
  874. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts.map +0 -1
  875. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js +0 -42
  876. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js.map +0 -1
  877. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +0 -25
  878. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts.map +0 -1
  879. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js +0 -116
  880. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js.map +0 -1
  881. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +0 -12
  882. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts.map +0 -1
  883. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js +0 -37
  884. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.js.map +0 -1
  885. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +0 -12
  886. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts.map +0 -1
  887. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js +0 -38
  888. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.js.map +0 -1
  889. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +0 -12
  890. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts.map +0 -1
  891. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js +0 -38
  892. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.js.map +0 -1
  893. package/dist/services/genai/r2r-helper.service.d.ts +0 -9
  894. package/dist/services/genai/r2r-helper.service.d.ts.map +0 -1
  895. package/dist/services/genai/r2r-helper.service.js +0 -40
  896. package/dist/services/genai/r2r-helper.service.js.map +0 -1
  897. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +0 -34
  898. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts.map +0 -1
  899. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js +0 -90
  900. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js.map +0 -1
  901. package/dist/services/question-data-providers/helpers.d.ts +0 -7
  902. package/dist/services/question-data-providers/helpers.d.ts.map +0 -1
  903. package/dist/services/question-data-providers/helpers.js +0 -25
  904. package/dist/services/question-data-providers/helpers.js.map +0 -1
  905. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +0 -14
  906. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts.map +0 -1
  907. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js +0 -71
  908. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js.map +0 -1
  909. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +0 -16
  910. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts.map +0 -1
  911. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js +0 -93
  912. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js.map +0 -1
  913. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +0 -11
  914. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts.map +0 -1
  915. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js +0 -49
  916. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js.map +0 -1
  917. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +0 -11
  918. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts.map +0 -1
  919. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js +0 -47
  920. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.js.map +0 -1
  921. package/dist/services/sql-expression-resolver.service.d.ts +0 -12
  922. package/dist/services/sql-expression-resolver.service.d.ts.map +0 -1
  923. package/dist/services/sql-expression-resolver.service.js +0 -121
  924. package/dist/services/sql-expression-resolver.service.js.map +0 -1
  925. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +0 -16
  926. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts.map +0 -1
  927. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js +0 -72
  928. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js.map +0 -1
  929. package/dist/subscribers/dashboard-question.subscriber.d.ts +0 -16
  930. package/dist/subscribers/dashboard-question.subscriber.d.ts.map +0 -1
  931. package/dist/subscribers/dashboard-question.subscriber.js +0 -72
  932. package/dist/subscribers/dashboard-question.subscriber.js.map +0 -1
  933. package/dist/subscribers/dashboard-variable.subscriber.d.ts +0 -16
  934. package/dist/subscribers/dashboard-variable.subscriber.d.ts.map +0 -1
  935. package/dist/subscribers/dashboard-variable.subscriber.js +0 -72
  936. package/dist/subscribers/dashboard-variable.subscriber.js.map +0 -1
  937. package/dist/subscribers/dashboard.subscriber.d.ts +0 -16
  938. package/dist/subscribers/dashboard.subscriber.d.ts.map +0 -1
  939. package/dist/subscribers/dashboard.subscriber.js +0 -71
  940. package/dist/subscribers/dashboard.subscriber.js.map +0 -1
  941. package/sql/default/mariadb/proc_CleanupModelMetadata.sql +0 -153
  942. package/sql/default/mariadb/proc_CleanupModuleMetadata.sql +0 -56
  943. package/sql/default/mssql/proc_CleanupModuleMetadata.sql +0 -78
  944. package/sql/default/mysql/proc_CleanupModelMetadata.sql +0 -153
  945. package/sql/default/mysql/proc_CleanupModuleMetadata.sql +0 -56
  946. package/sql/default/postgres/proc_CleanupModelMetadata.sql +0 -148
  947. package/sql/default/postgres/proc_CleanupModuleMetadata.sql +0 -50
  948. package/sql/default/postgres/scratchpad.sql.txt +0 -12
  949. package/src/commands/ingest.command.ts +0 -36
  950. package/src/controllers/ai-interaction.controller.ts +0 -112
  951. package/src/controllers/dashboard-layout.controller.ts +0 -106
  952. package/src/controllers/dashboard-question-sql-dataset-config.controller.ts +0 -93
  953. package/src/controllers/dashboard-question.controller.ts +0 -104
  954. package/src/decorators/dashboard-question-data-provider.decorator.ts +0 -7
  955. package/src/decorators/dashboard-selection-provider.decorator.ts +0 -7
  956. package/src/dtos/create-ai-interaction.dto.ts +0 -89
  957. package/src/dtos/create-dashboard-layout.dto.ts +0 -31
  958. package/src/dtos/create-dashboard-question-sql-dataset-config.dto.ts +0 -42
  959. package/src/dtos/create-dashboard-question.dto.ts +0 -62
  960. package/src/dtos/create-dashboard-variable.dto.ts +0 -60
  961. package/src/dtos/create-dashboard.dto.ts +0 -61
  962. package/src/dtos/dashboard-variable-selection-dynamic-query.dto.ts +0 -29
  963. package/src/dtos/invoke-ai-prompt.dto.ts +0 -10
  964. package/src/dtos/update-ai-interaction.dto.ts +0 -93
  965. package/src/dtos/update-dashboard-layout.dto.ts +0 -30
  966. package/src/dtos/update-dashboard-question-sql-dataset-config.dto.ts +0 -49
  967. package/src/dtos/update-dashboard-question.dto.ts +0 -67
  968. package/src/dtos/update-dashboard-variable.dto.ts +0 -58
  969. package/src/dtos/update-dashboard.dto.ts +0 -65
  970. package/src/entities/ai-interaction.entity.ts +0 -71
  971. package/src/entities/dashboard-layout.entity.ts +0 -18
  972. package/src/entities/dashboard-question-sql-dataset-config.entity.ts +0 -37
  973. package/src/entities/dashboard-question.entity.ts +0 -46
  974. package/src/entities/dashboard-variable.entity.ts +0 -44
  975. package/src/entities/dashboard.entity.ts +0 -36
  976. package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +0 -22
  977. package/src/jobs/database/trigger-mcp-client-queue-options.ts +0 -9
  978. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +0 -311
  979. package/src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts +0 -22
  980. package/src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts +0 -9
  981. package/src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts +0 -104
  982. package/src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts +0 -23
  983. package/src/jobs/redis/trigger-mcp-client-queue-options-redis.ts +0 -9
  984. package/src/jobs/redis/trigger-mcp-client-subscriber-redis.service.ts +0 -98
  985. package/src/mappers/dashboard-mapper.ts +0 -53
  986. package/src/repository/ai-interaction.repository.ts +0 -17
  987. package/src/repository/dashboard-layout.repository.ts +0 -17
  988. package/src/repository/dashboard-question-sql-dataset-config.repository.ts +0 -17
  989. package/src/repository/dashboard-question.repository.ts +0 -17
  990. package/src/repository/dashboard-variable.repository.ts +0 -17
  991. package/src/repository/dashboard.repository.ts +0 -101
  992. package/src/services/ai-interaction.service.ts +0 -239
  993. package/src/services/dashboard-layout.service.ts +0 -111
  994. package/src/services/dashboard-question-sql-dataset-config.service.ts +0 -25
  995. package/src/services/dashboard-question.service.ts +0 -150
  996. package/src/services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service.ts +0 -56
  997. package/src/services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service.ts +0 -37
  998. package/src/services/dashboard-variable.service.ts +0 -27
  999. package/src/services/dashboard.service.ts +0 -148
  1000. package/src/services/database/database-bootstrap.service.ts +0 -91
  1001. package/src/services/genai/ingest-metadata.service.ts +0 -798
  1002. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +0 -33
  1003. package/src/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.ts +0 -43
  1004. package/src/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.ts +0 -44
  1005. package/src/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.ts +0 -114
  1006. package/src/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.ts +0 -38
  1007. package/src/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.ts +0 -40
  1008. package/src/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.ts +0 -39
  1009. package/src/services/genai/r2r-helper.service.ts +0 -37
  1010. package/src/services/question-data-providers/chartjs-sql-data-provider.service.ts +0 -121
  1011. package/src/services/question-data-providers/helpers.ts +0 -30
  1012. package/src/services/question-data-providers/prime-react-datatable-sql-data-provider.service.ts +0 -74
  1013. package/src/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.ts +0 -115
  1014. package/src/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.ts +0 -44
  1015. package/src/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.ts +0 -41
  1016. package/src/services/sql-expression-resolver.service.ts +0 -140
  1017. package/src/subscribers/dashboard-question-sql-dataset-config.subscriber.ts +0 -61
  1018. package/src/subscribers/dashboard-question.subscriber.ts +0 -62
  1019. package/src/subscribers/dashboard-variable.subscriber.ts +0 -63
  1020. package/src/subscribers/dashboard.subscriber.ts +0 -62
@@ -49,6 +49,7 @@ const config_1 = require("@nestjs/config");
49
49
  const media_repository_1 = require("../../repository/media.repository");
50
50
  const file_1 = require("../file");
51
51
  const path = __importStar(require("path"));
52
+ const fs = __importStar(require("fs"));
52
53
  const setting_service_1 = require("../setting.service");
53
54
  const default_settings_provider_service_1 = require("../settings/default-settings-provider.service");
54
55
  let FileStorageProvider = FileStorageProvider_1 = class FileStorageProvider {
@@ -93,11 +94,14 @@ let FileStorageProvider = FileStorageProvider_1 = class FileStorageProvider {
93
94
  for (const pair of streamPairs) {
94
95
  const stream = pair[0];
95
96
  const fileName = pair[1];
96
- await this.fileService.writeStream(this.getFullFilePath(fileName), stream);
97
+ const fullPath = this.getFullFilePath(fileName);
98
+ await this.fileService.writeStream(fullPath, stream);
99
+ const { size: fileSize } = await fs.promises.stat(fullPath);
97
100
  const mediaEntity = await this.mediaRepository.createMedia({
98
101
  entityId: entity.id,
99
102
  modelMetadataId: mediaFieldMetadata.model.id,
100
103
  relativeUri: fileName,
104
+ fileSize,
101
105
  mediaStorageProviderMetadataId: mediaFieldMetadata.mediaStorageProvider.id,
102
106
  fieldMetadataId: mediaFieldMetadata.id
103
107
  });
@@ -113,6 +117,12 @@ let FileStorageProvider = FileStorageProvider_1 = class FileStorageProvider {
113
117
  await this.fileService.delete(this.getFullFilePath(media.relativeUri));
114
118
  }
115
119
  }
120
+ async deleteByMediaRecord(media) {
121
+ if (!media?.relativeUri) {
122
+ return;
123
+ }
124
+ await this.fileService.delete(this.getFullFilePath(media.relativeUri));
125
+ }
116
126
  getFullFilePath(fileName) {
117
127
  const base = this.settingService.getConfigValue("fileStorageDir")
118
128
  || default_settings_provider_service_1.DEFAULT_MEDIA_FILE_STORAGE_DIR;
@@ -1 +1 @@
1
- {"version":3,"file":"file-storage-provider.js","sourceRoot":"","sources":["../../../src/services/mediaStorageProviders/file-storage-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigService } from \"@nestjs/config\";\nimport { CommonEntity } from \"src/entities/common.entity\";\nimport { FieldMetadata } from \"src/entities/field-metadata.entity\";\nimport { Media } from \"src/entities/media.entity\";\nimport { MediaStorageProvider } from \"src/interfaces\";\nimport { MediaRepository } from \"src/repository/media.repository\";\nimport { DiskFileService } from \"src/services/file\";\nimport { Readable } from \"stream\";\nimport * as path from \"path\";\nimport { SettingService } from \"../setting.service\";\nimport { DEFAULT_MEDIA_FILE_STORAGE_DIR } from \"src/services/settings/default-settings-provider.service\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\n@Injectable()\nexport class FileStorageProvider<T> implements MediaStorageProvider<T> {\n private logger = new Logger(FileStorageProvider.name);\n\n constructor(\n // @Inject(appBuilderConfig.KEY)\n // private readonly appBuilderConfiguration: ConfigType<typeof appBuilderConfig>,\n private readonly configService: ConfigService,\n readonly fileService: DiskFileService,\n readonly mediaRepository: MediaRepository,\n private readonly settingService: SettingService\n\n ) { }\n\n async retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n //@ts-ignore\n const media = await this.mediaRepository.findByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id, ['mediaStorageProviderMetadata']);\n // Add the full URL to the media\n // media.forEach(m => {\n // });\n for (const m of media) {\n m['_full_url'] = `${this.settingService.getConfigValue<SolidCoreSetting>(\"baseUrl\")}/${this.getFullFilePath(m.relativeUri)}`;\n }\n\n\n return media;\n }\n\n async store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n const result: Media[] = [];\n for (const file of files) {\n // Store the file in the configured file storage directory\n const fileStoragePath = this.getFullFilePath(this.getFileName(file));\n await this.fileService.copy(file.path, fileStoragePath);\n await this.fileService.delete(file.path);\n\n // Create an entry in the media table\n const mediaEntity = await this.mediaRepository.createMedia({\n //@ts-ignore\n entityId: entity.id,\n modelMetadataId: mediaFieldMetadata.model.id,\n relativeUri: this.getFileName(file),\n mimeType: file.mimetype,\n fileSize: file.size,\n originalFileName: file.originalname,\n mediaStorageProviderMetadataId: mediaFieldMetadata.mediaStorageProvider.id,\n fieldMetadataId: mediaFieldMetadata.id\n }) as unknown as Media;\n result.push(mediaEntity);\n this.logger.debug(`Stored media with`, mediaEntity);\n };\n return result;\n }\n\n async storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n const result: Media[] = [];\n for (const pair of streamPairs) {\n const stream = pair[0];\n const fileName = pair[1];\n await this.fileService.writeStream(this.getFullFilePath(fileName), stream);\n const mediaEntity = await this.mediaRepository.createMedia({\n //@ts-ignore\n entityId: entity.id,\n modelMetadataId: mediaFieldMetadata.model.id,\n relativeUri: fileName,\n mediaStorageProviderMetadataId: mediaFieldMetadata.mediaStorageProvider.id,\n fieldMetadataId: mediaFieldMetadata.id\n }) as unknown as Media;\n this.logger.debug(`Stored media with`, mediaEntity);\n };\n return result;\n }\n\n async delete(entity: T, mediaFieldMetadata: FieldMetadata): Promise<void> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n //@ts-ignore\n const existingMedia = await this.mediaRepository.findByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id, ['mediaStorageProviderMetadata']);\n //@ts-ignore\n this.mediaRepository.deleteByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id);\n\n for (const media of existingMedia) {\n await this.fileService.delete(this.getFullFilePath(media.relativeUri));\n }\n // existingMedia.forEach(media => {\n // });\n }\n\n private getFullFilePath(fileName: string): string {\n const base = this.settingService.getConfigValue<SolidCoreSetting>(\"fileStorageDir\")\n || DEFAULT_MEDIA_FILE_STORAGE_DIR;\n if (path.isAbsolute(fileName) || fileName.startsWith(`${base}/`)) {\n return fileName;\n }\n return `${base}/${fileName}`;\n }\n\n private getFileName(file: Express.Multer.File): string {\n return `${file.filename}-${file.originalname}`;\n }\n}"]}
1
+ {"version":3,"file":"file-storage-provider.js","sourceRoot":"","sources":["../../../src/services/mediaStorageProviders/file-storage-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigService } from \"@nestjs/config\";\nimport { CommonEntity } from \"src/entities/common.entity\";\nimport { FieldMetadata } from \"src/entities/field-metadata.entity\";\nimport { Media } from \"src/entities/media.entity\";\nimport { MediaStorageProvider } from \"src/interfaces\";\nimport { MediaRepository } from \"src/repository/media.repository\";\nimport { DiskFileService } from \"src/services/file\";\nimport { Readable } from \"stream\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport { SettingService } from \"../setting.service\";\nimport { DEFAULT_MEDIA_FILE_STORAGE_DIR } from \"src/services/settings/default-settings-provider.service\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\n@Injectable()\nexport class FileStorageProvider<T> implements MediaStorageProvider<T> {\n private logger = new Logger(FileStorageProvider.name);\n\n constructor(\n // @Inject(appBuilderConfig.KEY)\n // private readonly appBuilderConfiguration: ConfigType<typeof appBuilderConfig>,\n private readonly configService: ConfigService,\n readonly fileService: DiskFileService,\n readonly mediaRepository: MediaRepository,\n private readonly settingService: SettingService\n\n ) { }\n\n async retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n //@ts-ignore\n const media = await this.mediaRepository.findByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id, ['mediaStorageProviderMetadata']);\n // Add the full URL to the media\n // media.forEach(m => {\n // });\n for (const m of media) {\n m['_full_url'] = `${this.settingService.getConfigValue<SolidCoreSetting>(\"baseUrl\")}/${this.getFullFilePath(m.relativeUri)}`;\n }\n\n\n return media;\n }\n\n async store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n const result: Media[] = [];\n for (const file of files) {\n // Store the file in the configured file storage directory\n const fileStoragePath = this.getFullFilePath(this.getFileName(file));\n await this.fileService.copy(file.path, fileStoragePath);\n await this.fileService.delete(file.path);\n\n // Create an entry in the media table\n const mediaEntity = await this.mediaRepository.createMedia({\n //@ts-ignore\n entityId: entity.id,\n modelMetadataId: mediaFieldMetadata.model.id,\n relativeUri: this.getFileName(file),\n mimeType: file.mimetype,\n fileSize: file.size,\n originalFileName: file.originalname,\n mediaStorageProviderMetadataId: mediaFieldMetadata.mediaStorageProvider.id,\n fieldMetadataId: mediaFieldMetadata.id\n }) as unknown as Media;\n result.push(mediaEntity);\n this.logger.debug(`Stored media with`, mediaEntity);\n };\n return result;\n }\n\n async storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n const result: Media[] = [];\n for (const pair of streamPairs) {\n const stream = pair[0];\n const fileName = pair[1];\n const fullPath = this.getFullFilePath(fileName);\n await this.fileService.writeStream(fullPath, stream);\n const { size: fileSize } = await fs.promises.stat(fullPath);\n const mediaEntity = await this.mediaRepository.createMedia({\n //@ts-ignore\n entityId: entity.id,\n modelMetadataId: mediaFieldMetadata.model.id,\n relativeUri: fileName,\n fileSize,\n mediaStorageProviderMetadataId: mediaFieldMetadata.mediaStorageProvider.id,\n fieldMetadataId: mediaFieldMetadata.id\n }) as unknown as Media;\n this.logger.debug(`Stored media with`, mediaEntity);\n };\n return result;\n }\n\n async delete(entity: T, mediaFieldMetadata: FieldMetadata): Promise<void> {\n // if (!(entity instanceof CommonEntity)) {\n // throw new Error(\"Entity must be an instance of CommonEntity\"); //FIXME This needs to be handled through generics. e.g T extends CommonEntity\n // }\n //@ts-ignore\n const existingMedia = await this.mediaRepository.findByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id, ['mediaStorageProviderMetadata']);\n //@ts-ignore\n this.mediaRepository.deleteByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id);\n\n for (const media of existingMedia) {\n await this.fileService.delete(this.getFullFilePath(media.relativeUri));\n }\n // existingMedia.forEach(media => {\n // });\n }\n\n async deleteByMediaRecord(media: Media): Promise<void> {\n if (!media?.relativeUri) {\n return;\n }\n await this.fileService.delete(this.getFullFilePath(media.relativeUri));\n }\n\n private getFullFilePath(fileName: string): string {\n const base = this.settingService.getConfigValue<SolidCoreSetting>(\"fileStorageDir\")\n || DEFAULT_MEDIA_FILE_STORAGE_DIR;\n if (path.isAbsolute(fileName) || fileName.startsWith(`${base}/`)) {\n return fileName;\n }\n return `${base}/${fileName}`;\n }\n\n private getFileName(file: Express.Multer.File): string {\n return `${file.filename}-${file.originalname}`;\n }\n}\n"]}
@@ -1,24 +1,26 @@
1
1
  import { DataSource, EntityManager, Repository } from 'typeorm';
2
2
  import { CreateModelMetadataDto } from '../dtos/create-model-metadata.dto';
3
3
  import { ModelMetadata } from '../entities/model-metadata.entity';
4
+ import { NavigationDto } from '../dtos/navigation.dto';
4
5
  import { ModuleMetadataHelperService } from '../helpers/module-metadata-helper.service';
5
6
  import { FieldMetadataRepository } from '../repository/field-metadata.repository';
6
7
  import { ModelMetadataRepository } from '../repository/model-metadata.repository';
7
8
  import { BasicFilterDto } from '../dtos/basic-filters.dto';
8
9
  import { UpdateModelMetaDataDto } from '../dtos/update-model-metadata.dto';
10
+ import { CommandService } from '../helpers/command.service';
9
11
  import { SchematicService } from '../helpers/schematic.service';
10
12
  import { CodeGenerationOptions } from '../interfaces';
11
13
  import { CrudHelperService } from './crud-helper.service';
12
14
  import { FieldMetadataService } from './field-metadata.service';
13
15
  import { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';
14
16
  import { RoleMetadataService } from './role-metadata.service';
15
- import { NavigationDto } from '../dtos/navigation.dto';
16
17
  import { SolidIntrospectService } from './solid-introspect.service';
17
18
  import { SolidTsMorphService } from './solid-ts-morph.service';
18
19
  export declare class ModelMetadataService {
19
20
  private readonly modelMetadataRepo;
20
21
  private readonly fieldMetadataRepo;
21
22
  private readonly schematicService;
23
+ private readonly commandService;
22
24
  private readonly dataSource;
23
25
  private readonly crudHelperService;
24
26
  private readonly mediaStorageProviderMetadataService;
@@ -28,29 +30,9 @@ export declare class ModelMetadataService {
28
30
  readonly introspectService: SolidIntrospectService;
29
31
  private readonly solidTsMorphService;
30
32
  private logger;
31
- constructor(modelMetadataRepo: ModelMetadataRepository, fieldMetadataRepo: FieldMetadataRepository, schematicService: SchematicService, dataSource: DataSource, crudHelperService: CrudHelperService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, fieldMetadataService: FieldMetadataService, roleService: RoleMetadataService, moduleMetadataHelperService: ModuleMetadataHelperService, introspectService: SolidIntrospectService, solidTsMorphService: SolidTsMorphService);
32
- find(basicFilterDto: BasicFilterDto): Promise<{
33
- meta: {
34
- totalRecords: number;
35
- currentPage: number;
36
- nextPage: number;
37
- prevPage: number;
38
- totalPages: number;
39
- perPage: number;
40
- };
41
- records: ModelMetadata[];
42
- }>;
43
- findMany(basicFilterDto: BasicFilterDto): Promise<{
44
- meta: {
45
- totalRecords: number;
46
- currentPage: number;
47
- nextPage: number;
48
- prevPage: number;
49
- totalPages: number;
50
- perPage: number;
51
- };
52
- records: ModelMetadata[];
53
- }>;
33
+ constructor(modelMetadataRepo: ModelMetadataRepository, fieldMetadataRepo: FieldMetadataRepository, schematicService: SchematicService, commandService: CommandService, dataSource: DataSource, crudHelperService: CrudHelperService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, fieldMetadataService: FieldMetadataService, roleService: RoleMetadataService, moduleMetadataHelperService: ModuleMetadataHelperService, introspectService: SolidIntrospectService, solidTsMorphService: SolidTsMorphService);
34
+ find(basicFilterDto: BasicFilterDto): Promise<any>;
35
+ findMany(basicFilterDto: BasicFilterDto): Promise<any>;
54
36
  findOne(id: any, query?: any): Promise<ModelMetadata>;
55
37
  findOneBySingularName(singularName: string, relations?: {}): Promise<ModelMetadata>;
56
38
  findOneByUserKey(singularName: string, relations?: {}): Promise<ModelMetadata>;
@@ -66,6 +48,12 @@ export declare class ModelMetadataService {
66
48
  deleteMany(ids: number[]): Promise<any>;
67
49
  remove(id: number): Promise<ModelMetadata>;
68
50
  cleanupOnDelete(modelEntityId: number): Promise<void>;
51
+ private cleanupAssociatedViewsActionsAndMenus;
52
+ private cleanupAssociatedImports;
53
+ private cleanupAssociatedPermissions;
54
+ private clearModelReferencesBeforeDelete;
55
+ private findMenusForActionIds;
56
+ generateCodeViaCtl(modelId: number): Promise<string>;
69
57
  handleGenerateCode(options: CodeGenerationOptions): Promise<any>;
70
58
  private generateCodeForInverseModels;
71
59
  generateVAMConfig(modelId: number): Promise<void>;
@@ -98,16 +86,16 @@ export declare class ModelMetadataService {
98
86
  limit: number;
99
87
  };
100
88
  meta: {
101
- totalRecords: number;
102
- perPage: number;
103
- currentPage: number;
104
- totalPages: number;
105
- currentIndexInPage: number;
106
- currentIndexGlobal: number;
89
+ totalRecords: any;
90
+ perPage: any;
91
+ currentPage: any;
92
+ totalPages: any;
93
+ currentIndexInPage: any;
94
+ currentIndexGlobal: any;
107
95
  hasPrev: boolean;
108
96
  hasNext: boolean;
109
- prevPage: number;
110
- nextPage: number;
97
+ prevPage: any;
98
+ nextPage: any;
111
99
  };
112
100
  }>;
113
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,6 @@ const typeorm_2 = require("typeorm");
54
54
  const model_metadata_entity_1 = require("../entities/model-metadata.entity");
55
55
  const module_metadata_entity_1 = require("../entities/module-metadata.entity");
56
56
  const lodash_1 = require("lodash");
57
- const string_helper_1 = require("../helpers/string.helper");
58
57
  const error_messages_1 = require("../constants/error-messages");
59
58
  const disallow_in_production_decorator_1 = require("../decorators/disallow-in-production.decorator");
60
59
  const create_field_metadata_dto_1 = require("../dtos/create-field-metadata.dto");
@@ -63,9 +62,15 @@ const field_metadata_repository_1 = require("../repository/field-metadata.reposi
63
62
  const model_metadata_repository_1 = require("../repository/model-metadata.repository");
64
63
  const action_metadata_entity_1 = require("../entities/action-metadata.entity");
65
64
  const field_metadata_entity_1 = require("../entities/field-metadata.entity");
65
+ const import_transaction_error_log_entity_1 = require("../entities/import-transaction-error-log.entity");
66
+ const import_transaction_entity_1 = require("../entities/import-transaction.entity");
66
67
  const menu_item_metadata_entity_1 = require("../entities/menu-item-metadata.entity");
68
+ const user_view_metadata_entity_1 = require("../entities/user-view-metadata.entity");
69
+ const permission_metadata_entity_1 = require("../entities/permission-metadata.entity");
67
70
  const view_metadata_entity_1 = require("../entities/view-metadata.entity");
71
+ const command_service_1 = require("../helpers/command.service");
68
72
  const schematic_service_1 = require("../helpers/schematic.service");
73
+ const string_helper_1 = require("../helpers/string.helper");
69
74
  const crud_helper_service_1 = require("./crud-helper.service");
70
75
  const field_metadata_service_1 = require("./field-metadata.service");
71
76
  const media_storage_provider_metadata_service_1 = require("./media-storage-provider-metadata.service");
@@ -73,10 +78,11 @@ const role_metadata_service_1 = require("./role-metadata.service");
73
78
  const solid_introspect_service_1 = require("./solid-introspect.service");
74
79
  const solid_ts_morph_service_1 = require("./solid-ts-morph.service");
75
80
  let ModelMetadataService = class ModelMetadataService {
76
- constructor(modelMetadataRepo, fieldMetadataRepo, schematicService, dataSource, crudHelperService, mediaStorageProviderMetadataService, fieldMetadataService, roleService, moduleMetadataHelperService, introspectService, solidTsMorphService) {
81
+ constructor(modelMetadataRepo, fieldMetadataRepo, schematicService, commandService, dataSource, crudHelperService, mediaStorageProviderMetadataService, fieldMetadataService, roleService, moduleMetadataHelperService, introspectService, solidTsMorphService) {
77
82
  this.modelMetadataRepo = modelMetadataRepo;
78
83
  this.fieldMetadataRepo = fieldMetadataRepo;
79
84
  this.schematicService = schematicService;
85
+ this.commandService = commandService;
80
86
  this.dataSource = dataSource;
81
87
  this.crudHelperService = crudHelperService;
82
88
  this.mediaStorageProviderMetadataService = mediaStorageProviderMetadataService;
@@ -92,26 +98,15 @@ let ModelMetadataService = class ModelMetadataService {
92
98
  }
93
99
  async findMany(basicFilterDto) {
94
100
  const alias = 'modelMetadata';
95
- let { limit, offset } = basicFilterDto;
96
- var qb = await this.modelMetadataRepo.createSecurityRuleAwareQueryBuilder(alias);
97
- qb = await this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);
98
- const [entities, count] = await qb.getManyAndCount();
99
- const currentPage = Math.floor(offset / limit) + 1;
100
- const totalPages = Math.ceil(count / limit);
101
- const nextPage = currentPage < totalPages ? currentPage + 1 : null;
102
- const prevPage = currentPage > 1 ? currentPage - 1 : null;
103
- const r = {
104
- meta: {
105
- totalRecords: count,
106
- currentPage: currentPage,
107
- nextPage: nextPage,
108
- prevPage: prevPage,
109
- totalPages: totalPages,
110
- perPage: +limit,
111
- },
112
- records: entities
113
- };
114
- return r;
101
+ const { limit, offset } = basicFilterDto;
102
+ const qb = await this.modelMetadataRepo.createSecurityRuleAwareQueryBuilder(alias);
103
+ if (basicFilterDto.groupBy?.length) {
104
+ const groupFilterQb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, undefined, undefined, undefined, crud_helper_service_1.FilterCombinator.AND, false, false);
105
+ return this.crudHelperService.executeGroupPipeline(groupFilterQb, basicFilterDto, alias, () => this.modelMetadataRepo.createSecurityRuleAwareQueryBuilder(alias));
106
+ }
107
+ const filteredQb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);
108
+ const [entities, count] = await filteredQb.getManyAndCount();
109
+ return this.crudHelperService.pagedResponse(offset, limit, count, entities);
115
110
  }
116
111
  async findOne(id, query) {
117
112
  const entity = await this.modelMetadataRepo.findOne({
@@ -256,8 +251,7 @@ let ModelMetadataService = class ModelMetadataService {
256
251
  tableName: model.tableName,
257
252
  userKeyFieldUserKey: model.fields.find(field => field.isUserKey)?.name,
258
253
  isChild: model?.isChild,
259
- isLegacyTable: model?.isLegacyTable,
260
- isLegacyTableWithId: model?.isLegacyTableWithId,
254
+ legacyTableType: model?.legacyTableType,
261
255
  parentModelUserKey: model?.parentModel?.singularName,
262
256
  enableAuditTracking: model?.enableAuditTracking,
263
257
  enableSoftDelete: model?.enableSoftDelete,
@@ -470,7 +464,7 @@ let ModelMetadataService = class ModelMetadataService {
470
464
  where: {
471
465
  id: modelEntityId,
472
466
  },
473
- relations: ['module']
467
+ relations: ['module', 'fields']
474
468
  });
475
469
  if (!modelEntity) {
476
470
  this.logger.log(`Invalid modelEntityId: ${modelEntityId} unable to resolve model metadata`);
@@ -510,21 +504,67 @@ let ModelMetadataService = class ModelMetadataService {
510
504
  this.logger.log(`Deleted file: ${fileToDelete}`);
511
505
  }
512
506
  catch (error) {
507
+ if (error?.code === 'ENOENT') {
508
+ this.logger.warn(`File already absent, skipping delete: ${fileToDelete}`);
509
+ continue;
510
+ }
513
511
  this.logger.error(`Error deleting file: ${fileToDelete}`, error);
514
512
  }
515
513
  }
516
514
  }
517
- await this.dataSource.query(`CALL cleanup_model_metadata($1, $2)`, [modelEntity.singularName, true]);
515
+ const { removedActionNames, removedMenuNames, removedViewNames } = await this.cleanupAssociatedViewsActionsAndMenus(modelEntity.id);
516
+ await this.cleanupAssociatedImports(modelEntity.id);
517
+ await this.cleanupAssociatedPermissions(modelEntity.singularName);
518
+ await this.clearModelReferencesBeforeDelete(modelEntity);
518
519
  const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(modelEntity.module?.name);
519
520
  const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);
520
521
  if (metaData) {
522
+ const moduleMetadata = metaData?.moduleMetadata ?? metaData;
523
+ const removedActionNameSet = new Set(removedActionNames);
524
+ const removedMenuNameSet = new Set(removedMenuNames);
525
+ const removedViewNameSet = new Set(removedViewNames);
521
526
  const existingModelIndex = metaData.moduleMetadata.models.findIndex((existingModel) => existingModel.singularName === modelEntity.singularName);
522
527
  if (existingModelIndex !== -1) {
523
528
  metaData.moduleMetadata.models.splice(existingModelIndex, 1);
524
529
  }
525
- metaData.moduleMetadata.menus = metaData.moduleMetadata?.menus?.filter((menu) => menu.modelUserKey !== modelEntity.singularName);
526
- metaData.moduleMetadata.actions = metaData.moduleMetadata?.actions?.filter((action) => action.modelUserKey !== modelEntity.singularName);
527
- metaData.moduleMetadata.views = metaData.moduleMetadata?.views?.filter((view) => view.modelUserKey !== modelEntity.singularName);
530
+ const existingViews = Array.isArray(moduleMetadata?.views) ? moduleMetadata.views : [];
531
+ moduleMetadata.views = existingViews.filter((view) => {
532
+ const shouldRemove = view?.modelUserKey === modelEntity.singularName || removedViewNameSet.has(view?.name);
533
+ if (shouldRemove && view?.name) {
534
+ removedViewNameSet.add(view.name);
535
+ }
536
+ return !shouldRemove;
537
+ });
538
+ const existingActions = Array.isArray(moduleMetadata?.actions) ? moduleMetadata.actions : [];
539
+ moduleMetadata.actions = existingActions.filter((action) => {
540
+ const shouldRemove = action?.modelUserKey === modelEntity.singularName ||
541
+ removedActionNameSet.has(action?.name) ||
542
+ removedViewNameSet.has(action?.viewUserKey);
543
+ if (shouldRemove && action?.name) {
544
+ removedActionNameSet.add(action.name);
545
+ }
546
+ return !shouldRemove;
547
+ });
548
+ let pendingMenus = Array.isArray(moduleMetadata?.menus) ? [...moduleMetadata.menus] : [];
549
+ let menuRemovedOnPass = true;
550
+ while (menuRemovedOnPass) {
551
+ menuRemovedOnPass = false;
552
+ pendingMenus = pendingMenus.filter((menu) => {
553
+ const shouldRemove = menu?.modelUserKey === modelEntity.singularName ||
554
+ removedMenuNameSet.has(menu?.name) ||
555
+ removedActionNameSet.has(menu?.actionUserKey) ||
556
+ removedMenuNameSet.has(menu?.parentMenuItemUserKey);
557
+ if (shouldRemove) {
558
+ if (menu?.name) {
559
+ removedMenuNameSet.add(menu.name);
560
+ }
561
+ menuRemovedOnPass = true;
562
+ return false;
563
+ }
564
+ return true;
565
+ });
566
+ }
567
+ moduleMetadata.menus = pendingMenus;
528
568
  const updatedContent = JSON.stringify(metaData, null, 2);
529
569
  await fs.writeFile(filePath, updatedContent);
530
570
  }
@@ -544,6 +584,195 @@ let ModelMetadataService = class ModelMetadataService {
544
584
  }
545
585
  }
546
586
  }
587
+ async cleanupAssociatedViewsActionsAndMenus(modelId) {
588
+ const viewRepo = this.dataSource.getRepository(view_metadata_entity_1.ViewMetadata);
589
+ const actionRepo = this.dataSource.getRepository(action_metadata_entity_1.ActionMetadata);
590
+ const menuRepo = this.dataSource.getRepository(menu_item_metadata_entity_1.MenuItemMetadata);
591
+ const userViewRepo = this.dataSource.getRepository(user_view_metadata_entity_1.UserViewMetadata);
592
+ const views = await viewRepo.find({
593
+ where: {
594
+ model: { id: modelId },
595
+ },
596
+ });
597
+ const viewIds = views.map((view) => view.id);
598
+ const removedViewNames = views.map((view) => view.name).filter(Boolean);
599
+ const actions = await actionRepo.find({
600
+ where: [
601
+ {
602
+ model: { id: modelId },
603
+ },
604
+ ...(viewIds.length > 0
605
+ ? [
606
+ {
607
+ view: { id: (0, typeorm_2.In)(viewIds) },
608
+ },
609
+ ]
610
+ : []),
611
+ ],
612
+ relations: ['view'],
613
+ });
614
+ const uniqueActions = Array.from(new Map(actions.map((action) => [action.id, action])).values());
615
+ const actionIds = uniqueActions.map((action) => action.id);
616
+ const removedActionNames = uniqueActions.map((action) => action.name).filter(Boolean);
617
+ const menus = await this.findMenusForActionIds(actionIds);
618
+ const removedMenuNames = menus.map((menu) => menu.name).filter(Boolean);
619
+ if (menus.length > 0) {
620
+ const menuIds = menus.map((menu) => menu.id).filter(Boolean);
621
+ for (const menu of menus) {
622
+ if (menu.roles?.length) {
623
+ await this.dataSource
624
+ .createQueryBuilder()
625
+ .relation(menu_item_metadata_entity_1.MenuItemMetadata, 'roles')
626
+ .of(menu.id)
627
+ .remove(menu.roles.map((role) => role.id));
628
+ }
629
+ }
630
+ if (menuIds.length > 0) {
631
+ await menuRepo
632
+ .createQueryBuilder()
633
+ .update(menu_item_metadata_entity_1.MenuItemMetadata)
634
+ .set({ parentMenuItem: null })
635
+ .where('id IN (:...menuIds)', { menuIds })
636
+ .execute();
637
+ await menuRepo
638
+ .createQueryBuilder()
639
+ .delete()
640
+ .from(menu_item_metadata_entity_1.MenuItemMetadata)
641
+ .where('id IN (:...menuIds)', { menuIds })
642
+ .execute();
643
+ }
644
+ this.logger.log(`Deleted ${menus.length} menu metadata record(s) for model id ${modelId}`);
645
+ }
646
+ if (uniqueActions.length > 0) {
647
+ await actionRepo.remove(uniqueActions);
648
+ this.logger.log(`Deleted ${uniqueActions.length} action metadata record(s) for model id ${modelId}`);
649
+ }
650
+ if (viewIds.length > 0) {
651
+ const userViews = await userViewRepo.find({
652
+ where: {
653
+ viewMetadata: { id: (0, typeorm_2.In)(viewIds) },
654
+ },
655
+ relations: ['viewMetadata'],
656
+ });
657
+ if (userViews.length > 0) {
658
+ await userViewRepo.remove(userViews);
659
+ this.logger.log(`Deleted ${userViews.length} user view metadata record(s) for model id ${modelId}`);
660
+ }
661
+ await viewRepo.remove(views);
662
+ this.logger.log(`Deleted ${views.length} view metadata record(s) for model id ${modelId}`);
663
+ }
664
+ return {
665
+ removedActionNames,
666
+ removedMenuNames,
667
+ removedViewNames,
668
+ };
669
+ }
670
+ async cleanupAssociatedImports(modelId) {
671
+ const importTransactionRepo = this.dataSource.getRepository(import_transaction_entity_1.ImportTransaction);
672
+ const importTransactionErrorLogRepo = this.dataSource.getRepository(import_transaction_error_log_entity_1.ImportTransactionErrorLog);
673
+ const importTransactions = await importTransactionRepo.find({
674
+ where: {
675
+ modelMetadata: { id: modelId },
676
+ },
677
+ });
678
+ if (importTransactions.length === 0) {
679
+ return;
680
+ }
681
+ const importTransactionIds = importTransactions.map((transaction) => transaction.id);
682
+ const importTransactionErrorLogs = await importTransactionErrorLogRepo.find({
683
+ where: {
684
+ importTransaction: { id: (0, typeorm_2.In)(importTransactionIds) },
685
+ },
686
+ relations: ['importTransaction'],
687
+ });
688
+ if (importTransactionErrorLogs.length > 0) {
689
+ await importTransactionErrorLogRepo.remove(importTransactionErrorLogs);
690
+ this.logger.log(`Deleted ${importTransactionErrorLogs.length} import transaction error log record(s) for model id ${modelId}`);
691
+ }
692
+ await importTransactionRepo.remove(importTransactions);
693
+ this.logger.log(`Deleted ${importTransactions.length} import transaction record(s) for model id ${modelId}`);
694
+ }
695
+ async cleanupAssociatedPermissions(modelSingularName) {
696
+ const permissionsRepo = this.dataSource.getRepository(permission_metadata_entity_1.PermissionMetadata);
697
+ const controllerName = `${(0, string_helper_1.classify)(modelSingularName)}Controller`;
698
+ const permissions = await permissionsRepo
699
+ .createQueryBuilder('permission')
700
+ .leftJoinAndSelect('permission.roles', 'role')
701
+ .where('permission.name LIKE :pattern', { pattern: `${controllerName}.%` })
702
+ .getMany();
703
+ if (permissions.length === 0) {
704
+ return;
705
+ }
706
+ for (const permission of permissions) {
707
+ if (permission.roles?.length) {
708
+ await this.dataSource
709
+ .createQueryBuilder()
710
+ .relation(permission_metadata_entity_1.PermissionMetadata, 'roles')
711
+ .of(permission.id)
712
+ .remove(permission.roles.map((role) => role.id));
713
+ }
714
+ }
715
+ await permissionsRepo.remove(permissions);
716
+ this.logger.log(`Deleted ${permissions.length} permission metadata record(s) for model '${modelSingularName}'`);
717
+ }
718
+ async clearModelReferencesBeforeDelete(modelEntity) {
719
+ const modelRepo = this.dataSource.getRepository(model_metadata_entity_1.ModelMetadata);
720
+ const fieldIds = (modelEntity.fields ?? []).map((field) => field.id).filter(Boolean);
721
+ if (fieldIds.length > 0) {
722
+ await modelRepo
723
+ .createQueryBuilder()
724
+ .update(model_metadata_entity_1.ModelMetadata)
725
+ .set({ userKeyField: null })
726
+ .where('user_key_field_id IN (:...fieldIds)', { fieldIds })
727
+ .execute();
728
+ }
729
+ await modelRepo
730
+ .createQueryBuilder()
731
+ .update(model_metadata_entity_1.ModelMetadata)
732
+ .set({ parentModel: null })
733
+ .where('parent_model_id = :modelId', { modelId: modelEntity.id })
734
+ .execute();
735
+ }
736
+ async findMenusForActionIds(actionIds) {
737
+ if (!actionIds?.length) {
738
+ return [];
739
+ }
740
+ const menuRepo = this.dataSource.getRepository(menu_item_metadata_entity_1.MenuItemMetadata);
741
+ const menusById = new Map();
742
+ const rootMenus = await menuRepo.find({
743
+ where: {
744
+ action: { id: (0, typeorm_2.In)(actionIds) },
745
+ },
746
+ relations: ['roles', 'action', 'parentMenuItem'],
747
+ });
748
+ rootMenus.forEach((menu) => menusById.set(menu.id, menu));
749
+ let parentIds = rootMenus.map((menu) => menu.id);
750
+ while (parentIds.length > 0) {
751
+ const childMenus = await menuRepo.find({
752
+ where: {
753
+ parentMenuItem: { id: (0, typeorm_2.In)(parentIds) },
754
+ },
755
+ relations: ['roles', 'action', 'parentMenuItem'],
756
+ });
757
+ const nextParentIds = [];
758
+ for (const childMenu of childMenus) {
759
+ if (!menusById.has(childMenu.id)) {
760
+ menusById.set(childMenu.id, childMenu);
761
+ nextParentIds.push(childMenu.id);
762
+ }
763
+ }
764
+ parentIds = nextParentIds;
765
+ }
766
+ return Array.from(menusById.values());
767
+ }
768
+ async generateCodeViaCtl(modelId) {
769
+ const model = await this.findOne(modelId);
770
+ return this.commandService.executeCommandWithArgs({
771
+ command: 'npx',
772
+ args: ['@solidxai/solidctl@latest', 'generate', 'model', `--name=${model.singularName}`],
773
+ cwd: path.join(process.cwd(), '..'),
774
+ });
775
+ }
547
776
  async handleGenerateCode(options) {
548
777
  const affectedModelIds = [], refreshModelCodeOutputLines = [], removeFieldCodeOutputLines = [];
549
778
  const { model, removeFieldCodeOuput, refreshModelCodeOutput } = await this.generateCode(options);
@@ -958,11 +1187,11 @@ let ModelMetadataService = class ModelMetadataService {
958
1187
  const model = options.modelId ? await this.findOne(options.modelId, query) : await this.findOneByUserKey(options.modelUserKey, query.populate);
959
1188
  const fieldsForRemoval = model.fields.filter((field) => options.fieldIdsForRemoval.includes(+field.id));
960
1189
  const removeOutput = await this.executeRemoveFieldsCommand(model, fieldsForRemoval, options.dryRun);
961
- fieldsForRemoval.forEach((field) => {
1190
+ for (const field of fieldsForRemoval) {
962
1191
  if (field.isMarkedForRemoval) {
963
- this.fieldMetadataService.delete(field.id);
1192
+ await this.fieldMetadataService.delete(field.id);
964
1193
  }
965
- });
1194
+ }
966
1195
  const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(model.module.name);
967
1196
  const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);
968
1197
  const existingModelIndex = metaData.moduleMetadata.models.findIndex((existingModel) => existingModel.singularName === model.singularName);
@@ -986,17 +1215,10 @@ let ModelMetadataService = class ModelMetadataService {
986
1215
  populate: ["module", "fields", "parentModel", "parentModel.module"]
987
1216
  };
988
1217
  const model = options.modelId ? await this.findOne(options.modelId, query) : await this.findOneByUserKey(options.modelUserKey, query.populate);
989
- let fieldsForRefresh = model.fields.filter((field) => !field.isMarkedForRemoval);
990
- if (options.fieldIdsForRefresh && options.fieldIdsForRefresh.length > 0) {
991
- fieldsForRefresh = fieldsForRefresh.filter((field) => options.fieldIdsForRefresh.includes(+field.id));
992
- }
993
- else if (options.fieldNamesForRefresh && options.fieldNamesForRefresh.length > 0) {
994
- fieldsForRefresh = fieldsForRefresh.filter((field) => options.fieldNamesForRefresh.includes(field.name));
995
- }
996
- const refreshOuput = await this.executeRefreshModelCommand(model, fieldsForRefresh, options.dryRun);
1218
+ const refreshOuput = await this.executeRefreshModelCommand(model, options.dryRun);
997
1219
  return `${refreshOuput}`;
998
1220
  }
999
- async executeRefreshModelCommand(model, fieldsForRefresh, dryRun = false) {
1221
+ async executeRefreshModelCommand(model, dryRun = false) {
1000
1222
  const output = await this.schematicService.executeSchematicCommand(schematic_service_1.REFRESH_MODEL_COMMAND, {
1001
1223
  module: model.module.name,
1002
1224
  model: model.singularName,
@@ -1168,6 +1390,12 @@ __decorate([
1168
1390
  __metadata("design:paramtypes", [Number]),
1169
1391
  __metadata("design:returntype", Promise)
1170
1392
  ], ModelMetadataService.prototype, "remove", null);
1393
+ __decorate([
1394
+ (0, disallow_in_production_decorator_1.DisallowInProduction)(),
1395
+ __metadata("design:type", Function),
1396
+ __metadata("design:paramtypes", [Number]),
1397
+ __metadata("design:returntype", Promise)
1398
+ ], ModelMetadataService.prototype, "generateCodeViaCtl", null);
1171
1399
  __decorate([
1172
1400
  (0, disallow_in_production_decorator_1.DisallowInProduction)(),
1173
1401
  __metadata("design:type", Function),
@@ -1177,10 +1405,11 @@ __decorate([
1177
1405
  exports.ModelMetadataService = ModelMetadataService = __decorate([
1178
1406
  (0, common_1.Injectable)(),
1179
1407
  __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => model_metadata_repository_1.ModelMetadataRepository))),
1180
- __param(3, (0, typeorm_1.InjectDataSource)()),
1408
+ __param(4, (0, typeorm_1.InjectDataSource)()),
1181
1409
  __metadata("design:paramtypes", [model_metadata_repository_1.ModelMetadataRepository,
1182
1410
  field_metadata_repository_1.FieldMetadataRepository,
1183
1411
  schematic_service_1.SchematicService,
1412
+ command_service_1.CommandService,
1184
1413
  typeorm_2.DataSource,
1185
1414
  crud_helper_service_1.CrudHelperService,
1186
1415
  media_storage_provider_metadata_service_1.MediaStorageProviderMetadataService,