@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
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { UserApiKey } from 'src/entities/user-api-key.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftProfilePicture: string;\n\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n\n @Expose()\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n @Column({ default: false })\n @Expose()\n isAllowedToGenerateApiKeys: boolean = false;\n\n @OneToMany(() => UserApiKey, key => key.user)\n @Expose()\n apiKeys: UserApiKey[];\n\n}"]}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { UserApiKey } from 'src/entities/user-api-key.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftActiveDirectoryId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftActiveDirectoryAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftActiveDirectoryProfilePicture: string;\n\n @Index()\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n\n @Expose()\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n @Column({ default: false })\n @Expose()\n isAllowedToGenerateApiKeys: boolean = false;\n\n @OneToMany(() => UserApiKey, key => key.user)\n @Expose()\n apiKeys: UserApiKey[];\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"view-metadata.entity.d.ts","sourceRoot":"","sources":["../../src/entities/view-metadata.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAEzE,qBACa,YAAa,SAAQ,YAAY;IAG1C,IAAI,EAAE,MAAM,CAAC;IAGb,WAAW,EAAE,MAAM,CAAC;IAGpB,IAAI,EAAE,MAAM,CAAC;IAIb,OAAO,EAAE,GAAG,CAAQ;IAIpB,MAAM,EAAE,GAAG,CAAC;IAKZ,MAAM,EAAE,cAAc,CAAC;IAKvB,KAAK,EAAE,aAAa,CAAC;IAGrB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC"}
1
+ {"version":3,"file":"view-metadata.entity.d.ts","sourceRoot":"","sources":["../../src/entities/view-metadata.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAEzE,qBACa,YAAa,SAAQ,YAAY;IAG1C,IAAI,EAAE,MAAM,CAAC;IAIb,WAAW,EAAE,MAAM,CAAC;IAIpB,IAAI,EAAE,MAAM,CAAC;IAIb,OAAO,EAAE,GAAG,CAAQ;IAIpB,MAAM,EAAE,GAAG,CAAC;IAKZ,MAAM,EAAE,cAAc,CAAC;IAKvB,KAAK,EAAE,aAAa,CAAC;IAGrB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC"}
@@ -32,10 +32,12 @@ __decorate([
32
32
  __metadata("design:type", String)
33
33
  ], ViewMetadata.prototype, "name", void 0);
34
34
  __decorate([
35
+ (0, typeorm_1.Index)(),
35
36
  (0, typeorm_1.Column)({ name: "display_name", type: "varchar" }),
36
37
  __metadata("design:type", String)
37
38
  ], ViewMetadata.prototype, "displayName", void 0);
38
39
  __decorate([
40
+ (0, typeorm_1.Index)(),
39
41
  (0, typeorm_1.Column)({ name: "type", type: "varchar" }),
40
42
  __metadata("design:type", String)
41
43
  ], ViewMetadata.prototype, "type", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"view-metadata.entity.js","sourceRoot":"","sources":["../../src/entities/view-metadata.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAkF;AAElF,qEAAqE;AACrE,mEAAmE;AACnE,2EAAyE;AAGlE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAY;IAAvC;;QAaH,YAAO,GAAQ,IAAI,CAAC;KAkBvB;;;;CAAA,CAAA;AA/BY,oCAAY;AAGrB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;;0CAC5B;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDAC9B;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0CAC7B;AAIb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACtB;AAIpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CAC7B;AAKZ;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpD,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACnC,uCAAc;4CAAC;AAKvB;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnD,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACpC,qCAAa;2CAAC;AAGrB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sDACnE;uBA9B5B,YAAY;IADxB,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,YAAY,CA+BxB","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, ManyToOne, Index, JoinColumn, OneToMany } from \"typeorm\";\nimport { getColumnType } from 'src/helpers/typeorm-db-helper';\nimport { ModuleMetadata } from 'src/entities/module-metadata.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\n\n@Entity(\"ss_view_metadata\")\nexport class ViewMetadata extends CommonEntity {\n @Index({ unique: true })\n @Column({ name: \"name\", type: \"varchar\"})\n name: string;\n\n @Column({ name: \"display_name\", type: \"varchar\" })\n displayName: string;\n\n @Column({ name: \"type\", type: \"varchar\" })\n type: string;\n\n //TODO: To make this truly cross db compatible, we should avoid setting a db type\n @Column({ name: \"context\", type: \"text\" })\n context: any = \"{}\";\n\n //TODO: To make this truly cross db compatible, we should avoid setting a db type\n @Column({ name: \"layout\", type: \"text\" })\n layout: any;\n\n @Index()\n @ManyToOne(() => ModuleMetadata, { nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n module: ModuleMetadata;\n\n @Index()\n @ManyToOne(() => ModelMetadata, { nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n model: ModelMetadata;\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.viewMetadata, { cascade: true })\n userViewMetadata: UserViewMetadata[];\n}"]}
1
+ {"version":3,"file":"view-metadata.entity.js","sourceRoot":"","sources":["../../src/entities/view-metadata.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAkF;AAElF,qEAAqE;AACrE,mEAAmE;AACnE,2EAAyE;AAGlE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAY;IAAvC;;QAeH,YAAO,GAAQ,IAAI,CAAC;KAkBvB;;;;CAAA,CAAA;AAjCY,oCAAY;AAGrB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;;0CAC5B;AAIb;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDAC9B;AAIpB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0CAC7B;AAIb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACtB;AAIpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CAC7B;AAKZ;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpD,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACnC,uCAAc;4CAAC;AAKvB;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnD,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACpC,qCAAa;2CAAC;AAGrB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sDACnE;uBAhC5B,YAAY;IADxB,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,YAAY,CAiCxB","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, ManyToOne, Index, JoinColumn, OneToMany } from \"typeorm\";\nimport { getColumnType } from 'src/helpers/typeorm-db-helper';\nimport { ModuleMetadata } from 'src/entities/module-metadata.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\n\n@Entity(\"ss_view_metadata\")\nexport class ViewMetadata extends CommonEntity {\n @Index({ unique: true })\n @Column({ name: \"name\", type: \"varchar\"})\n name: string;\n\n @Index()\n @Column({ name: \"display_name\", type: \"varchar\" })\n displayName: string;\n\n @Index()\n @Column({ name: \"type\", type: \"varchar\" })\n type: string;\n\n //TODO: To make this truly cross db compatible, we should avoid setting a db type\n @Column({ name: \"context\", type: \"text\" })\n context: any = \"{}\";\n\n //TODO: To make this truly cross db compatible, we should avoid setting a db type\n @Column({ name: \"layout\", type: \"text\" })\n layout: any;\n\n @Index()\n @ManyToOne(() => ModuleMetadata, { nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n module: ModuleMetadata;\n\n @Index()\n @ManyToOne(() => ModelMetadata, { nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n model: ModelMetadata;\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.viewMetadata, { cascade: true })\n userViewMetadata: UserViewMetadata[];\n}"]}
@@ -0,0 +1,6 @@
1
+ export declare enum LegacyTableType {
2
+ NONE = "none",
3
+ EXISTING_ID = "existing_id",
4
+ GENERATED_ID = "generated_id"
5
+ }
6
+ //# sourceMappingURL=legacy-table-type.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-table-type.enum.d.ts","sourceRoot":"","sources":["../../src/enums/legacy-table-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACvB,IAAI,SAAiB;IACrB,WAAW,gBAAiB;IAC5B,YAAY,iBAAiB;CAChC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LegacyTableType = void 0;
4
+ var LegacyTableType;
5
+ (function (LegacyTableType) {
6
+ LegacyTableType["NONE"] = "none";
7
+ LegacyTableType["EXISTING_ID"] = "existing_id";
8
+ LegacyTableType["GENERATED_ID"] = "generated_id";
9
+ })(LegacyTableType || (exports.LegacyTableType = LegacyTableType = {}));
10
+ //# sourceMappingURL=legacy-table-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-table-type.enum.js","sourceRoot":"","sources":["../../src/enums/legacy-table-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,gCAAqB,CAAA;IACrB,8CAA4B,CAAA;IAC5B,gDAA6B,CAAA;AACjC,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B","sourcesContent":["export enum LegacyTableType {\n NONE = 'none',\n EXISTING_ID = 'existing_id',\n GENERATED_ID = 'generated_id',\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.factory.d.ts","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,qBACa,eAAe;IAGpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAGnD,kBAAkB,CAAC,IAAI,GAAE,MAAa,GAAG,kBAAkB;CAmB9D"}
1
+ {"version":3,"file":"whatsapp.factory.d.ts","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,qBACa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IALjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAGxC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAGjD,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,kBAAkB;CAyBtD"}
@@ -8,37 +8,39 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var WhatsAppFactory_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.WhatsAppFactory = void 0;
13
14
  const common_1 = require("@nestjs/common");
14
15
  const core_1 = require("@nestjs/core");
15
16
  const solid_registry_1 = require("../helpers/solid-registry");
16
17
  const setting_service_1 = require("../services/setting.service");
17
- function norm(s) {
18
- return s?.trim().toLowerCase();
19
- }
20
- let WhatsAppFactory = class WhatsAppFactory {
18
+ let WhatsAppFactory = WhatsAppFactory_1 = class WhatsAppFactory {
21
19
  constructor(moduleRef, solidRegistry, settingService) {
22
20
  this.moduleRef = moduleRef;
23
21
  this.solidRegistry = solidRegistry;
24
22
  this.settingService = settingService;
25
- this.logger = new common_1.Logger(this.constructor.name);
23
+ this.logger = new common_1.Logger(WhatsAppFactory_1.name);
26
24
  }
27
- getWhatsappService(name = null) {
28
- const whatsappServiceName = name || this.settingService.getConfigValue("whatsappProvider");
29
- if (!whatsappServiceName) {
25
+ getWhatsappService(name) {
26
+ const providerKey = name ||
27
+ this.settingService.getConfigValue("whatsappProvider");
28
+ if (!providerKey) {
30
29
  throw new Error("Unable to resolve whatsapp provider");
31
30
  }
32
31
  const whatsappProviders = this.solidRegistry.getWhatsappProviders();
33
32
  if (!whatsappProviders.length) {
34
- this.logger.error("No whatsapp providers are registered.");
33
+ throw new Error("No whatsapp providers are registered.");
34
+ }
35
+ const whatsappServiceProvider = whatsappProviders.find((provider) => provider.name?.toLowerCase().includes(providerKey.toLowerCase()));
36
+ if (!whatsappServiceProvider) {
37
+ throw new Error(`WhatsApp provider '${providerKey}' not found`);
35
38
  }
36
- const whatsappServiceProvider = whatsappProviders.find(provider => provider.name === whatsappServiceName);
37
39
  return whatsappServiceProvider.instance;
38
40
  }
39
41
  };
40
42
  exports.WhatsAppFactory = WhatsAppFactory;
41
- exports.WhatsAppFactory = WhatsAppFactory = __decorate([
43
+ exports.WhatsAppFactory = WhatsAppFactory = WhatsAppFactory_1 = __decorate([
42
44
  (0, common_1.Injectable)(),
43
45
  __metadata("design:paramtypes", [core_1.ModuleRef,
44
46
  solid_registry_1.SolidRegistry,
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.factory.js","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAE5D,uCAAyC;AACzC,8DAA2D;AAE3D,iEAA8D;AAG9D,SAAS,IAAI,CAAC,CAAU;IACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAIM,IAAM,eAAe,GAArB,MAAM,eAAe;IAExB,YACqB,SAAoB,EACpB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAJlC,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAKxD,CAAC;IAEL,kBAAkB,CAAC,OAAe,IAAI;QAElC,MAAM,mBAAmB,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kBAAkB,CAAC,CAAC;QAC7G,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAGpE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;QAE1G,OAAO,uBAAuB,CAAC,QAA8B,CAAC;IAClE,CAAC;CAEJ,CAAA;AA3BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAIuB,gBAAS;QACL,8BAAa;QACZ,gCAAc;GAL1C,eAAe,CA2B3B","sourcesContent":["import { Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IWhatsAppTransport } from \"src/interfaces\";\nimport { SettingService } from \"src/services/setting.service\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\nfunction norm(s?: string) {\n return s?.trim().toLowerCase();\n}\n\n// This factory will be use to return a mail service instance, using the configured environment variables\n@Injectable()\nexport class WhatsAppFactory {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n private readonly moduleRef: ModuleRef, // Use the module ref to dynamically resolve the mail service\n private readonly solidRegistry: SolidRegistry,\n private readonly settingService: SettingService,\n ) { }\n\n getWhatsappService(name: string = null): IWhatsAppTransport {\n // This is the default provider\n const whatsappServiceName = name || this.settingService.getConfigValue<SolidCoreSetting>(\"whatsappProvider\");\n if (!whatsappServiceName) {\n throw new Error(\"Unable to resolve whatsapp provider\")\n }\n const whatsappProviders = this.solidRegistry.getWhatsappProviders();\n\n // Return the instance which matches the whatsappServiceName\n if (!whatsappProviders.length) {\n // throw new Error(\"No mail providers are registered.\");\n this.logger.error(\"No whatsapp providers are registered.\");\n }\n\n const whatsappServiceProvider = whatsappProviders.find(provider => provider.name === whatsappServiceName);\n\n return whatsappServiceProvider.instance as IWhatsAppTransport;\n }\n\n}"]}
1
+ {"version":3,"file":"whatsapp.factory.js","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAAyC;AACzC,8DAA2D;AAE3D,iEAA8D;AAIvD,IAAM,eAAe,uBAArB,MAAM,eAAe;IAG1B,YACmB,SAAoB,EACpB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QALhC,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;IAMxD,CAAC;IAEJ,kBAAkB,CAAC,IAAa;QAC9B,MAAM,WAAW,GACf,IAAI;YACJ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kBAAkB,CAAC,CAAC;QAE3E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClE,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CACjE,CAAC;QAEF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,aAAa,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,uBAAuB,CAAC,QAA8B,CAAC;IAChE,CAAC;CACF,CAAA;AAlCY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAKmB,gBAAS;QACL,8BAAa;QACZ,gCAAc;GANtC,eAAe,CAkC3B","sourcesContent":["import { Injectable, Logger } from \"@nestjs/common\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IWhatsAppTransport } from \"src/interfaces\";\nimport { SettingService } from \"src/services/setting.service\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\n@Injectable()\nexport class WhatsAppFactory {\n private readonly logger = new Logger(WhatsAppFactory.name);\n\n constructor(\n private readonly moduleRef: ModuleRef,\n private readonly solidRegistry: SolidRegistry,\n private readonly settingService: SettingService,\n ) {}\n\n getWhatsappService(name?: string): IWhatsAppTransport {\n const providerKey =\n name ||\n this.settingService.getConfigValue<SolidCoreSetting>(\"whatsappProvider\");\n\n if (!providerKey) {\n throw new Error(\"Unable to resolve whatsapp provider\");\n }\n\n const whatsappProviders = this.solidRegistry.getWhatsappProviders();\n\n if (!whatsappProviders.length) {\n throw new Error(\"No whatsapp providers are registered.\");\n }\n\n const whatsappServiceProvider = whatsappProviders.find((provider) =>\n provider.name?.toLowerCase().includes(providerKey.toLowerCase()),\n );\n\n if (!whatsappServiceProvider) {\n throw new Error(`WhatsApp provider '${providerKey}' not found`);\n }\n\n return whatsappServiceProvider.instance as IWhatsAppTransport;\n }\n}\n"]}
@@ -8,6 +8,7 @@ export interface SolidBootstrapOptions {
8
8
  globalPrefix?: string;
9
9
  swagger?: SolidSwaggerOptions | false;
10
10
  permissionsPolicyOverrides?: Partial<PermissionsPolicyConfig>;
11
+ verboseBootstrap?: boolean;
11
12
  }
12
13
  export declare function bootstrapSolidApp(appModuleFactory: () => Promise<any>, options?: SolidBootstrapOptions): Promise<void>;
13
14
  export declare function bootstrapSolidCli(appModuleFactory: () => Promise<any>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":"AAcA,OAAO,EAAmE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAyB7H,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IAEpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IAEtC,0BAA0B,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC/D;AAcD,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAmHf;AAgBD,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAwCf"}
1
+ {"version":3,"file":"bootstrap.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":"AAcA,OAAO,EAAmE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAyB7H,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IAEpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IAEtC,0BAA0B,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAE9D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAcD,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAwHf;AAgBD,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAwCf"}
@@ -36,10 +36,11 @@ function registerGlobalProcessHandlers() {
36
36
  }
37
37
  async function bootstrapSolidApp(appModuleFactory, options = {}) {
38
38
  registerGlobalProcessHandlers();
39
- const { globalPrefix = 'api', swagger = {}, permissionsPolicyOverrides = {} } = options;
39
+ const { globalPrefix = 'api', swagger = {}, permissionsPolicyOverrides = {}, verboseBootstrap = false } = options;
40
+ const startTime = Date.now();
40
41
  const appModule = await appModuleFactory();
41
42
  const app = await core_1.NestFactory.create(appModule, {
42
- logger: nest_winston_1.WinstonModule.createLogger(winston_logger_1.WinstonLoggerConfig),
43
+ logger: nest_winston_1.WinstonModule.createLogger({ ...(0, winston_logger_1.createWinstonLoggerConfig)(), level: verboseBootstrap ? 'debug' : 'error' }),
43
44
  });
44
45
  const apiEnabled = (0, environment_helper_1.parseBooleanEnv)('API_ENABLED', true);
45
46
  if (!apiEnabled) {
@@ -67,7 +68,6 @@ async function bootstrapSolidApp(appModuleFactory, options = {}) {
67
68
  res.setHeader('Permissions-Policy', (0, security_helper_1.buildPermissionsPolicyHeader)(permissionsPolicyOverrides));
68
69
  next();
69
70
  });
70
- app.useLogger(app.get(nest_winston_1.WINSTON_MODULE_NEST_PROVIDER));
71
71
  const port = process.env.PORT || 3000;
72
72
  if (globalPrefix) {
73
73
  app.setGlobalPrefix(globalPrefix);
@@ -111,6 +111,9 @@ async function bootstrapSolidApp(appModuleFactory, options = {}) {
111
111
  types.setTypeParser(types.builtins.INT8, (val) => parseInt(val));
112
112
  app.useWebSocketAdapter(new platform_ws_1.WsAdapter(app));
113
113
  await app.listen(port);
114
+ app.useLogger(app.get(nest_winston_1.WINSTON_MODULE_NEST_PROVIDER));
115
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(2);
116
+ process.stdout.write(`\x1b[32mServer started on port ${port} in ${elapsed}s\x1b[0m\n`);
114
117
  }
115
118
  async function bootstrapSolidCli(appModuleFactory) {
116
119
  registerGlobalProcessHandlers();
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.helper.js","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":";;;;;AAkEA,8CAsHC;AAgBD,8CA0CC;AAlPD,2CAAgD;AAChD,uCAA2C;AAC3C,qDAAgD;AAChD,6CAAiE;AAEjE,oDAA4B;AAC5B,4CAAoB;AACpB,2BAAgC;AAChC,+BAA+B;AAC/B,+CAA2E;AAC3E,mDAAgD;AAChD,sDAAwD;AACxD,yFAAoF;AACpF,+CAAwD;AACxD,uDAA6H;AAC7H,6DAAuD;AAIvD,SAAS,6BAA6B;IACpC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAGH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAClI,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AA+BM,KAAK,UAAU,iBAAiB,CACrC,gBAAoC,EACpC,UAAiC,EAAE;IAEnC,6BAA6B,EAAE,CAAC;IAEhC,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,0BAA0B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAExF,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,SAAS,EAAE;QAC9C,MAAM,EAAE,4BAAa,CAAC,YAAY,CAAC,oCAAmB,CAAC;KACxD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAA,oCAAe,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG;aACA,GAAG,CAAC,2CAA4B,CAAC;aACjC,GAAG,CAAC,kEAAkE,EAAE,WAAW,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IAGD,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAGjE,GAAG,CAAC,GAAG,CAAC,IAAA,gBAAM,EAAC,IAAA,mDAAiC,GAAE,CAAC,CAAC,CAAC;IAGrD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,QAAQ;QACjB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,YAAY,CAAC;IAExB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC3D,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAA,8CAA4B,EAAC,0BAA0B,CAAC,CAAC,CAAC;QAC9F,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,2CAA4B,CAAC,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;IAEtC,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAGD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QAC3D,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,GAAG,YAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC1C,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,cAAc,CAChB,IAAI,uBAAc,CAAC;QACjB,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE;KACrD,CAAC,CACH,CAAC;IAGF,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QACzH,MAAM,aAAa,GAAG,IAAI,yBAAe,EAAE;aACxC,QAAQ,CAAC,KAAK,CAAC;aACf,cAAc,CAAC,WAAW,CAAC;aAC3B,UAAU,CAAC,OAAO,CAAC;aACnB,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC;aAClD,aAAa,CACZ;YACE,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,QAAQ;SACb,EACD,KAAK,CACN;aACA,KAAK,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAClE,uBAAa,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAGD,GAAG,CAAC,qBAAqB,CAAC,IAAI,mDAAuB,EAAE,CAAC,CAAC;IAGzD,GAAG,CAAC,UAAU,CAAC,IAAA,qCAAuB,GAAE,CAAC,CAAC;IAI1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAClC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzE,GAAG,CAAC,mBAAmB,CAAC,IAAI,uBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5C,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAgBM,KAAK,UAAU,iBAAiB,CACrC,gBAAoC;IAEpC,6BAA6B,EAAE,CAAC;IAEhC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,MAAM,eAAe,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAGD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnF,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAGvC,MAAM,GAAG,GAAG,MAAM,+BAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE;QAC/D,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;KACjF,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,+BAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["import { ValidationPipe } from '@nestjs/common';\nimport { NestFactory } from '@nestjs/core';\nimport { WsAdapter } from '@nestjs/platform-ws';\nimport { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';\nimport { NextFunction, Request, Response } from 'express';\nimport helmet from 'helmet';\nimport qs from 'qs';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\nimport { WINSTON_MODULE_NEST_PROVIDER, WinstonModule } from 'nest-winston';\nimport { CommandFactory } from 'nest-commander';\nimport { WinstonLoggerConfig } from '../winston.logger';\nimport { WrapResponseInterceptor } from '../interceptors/wrap-response.interceptor';\nimport { buildDefaultCorsOptions } from './cors.helper';\nimport { buildDefaultSecurityHeaderOptions, buildPermissionsPolicyHeader, PermissionsPolicyConfig } from './security.helper';\nimport { parseBooleanEnv } from './environment.helper';\n\n// ---- Shared process handlers ----\n\nfunction registerGlobalProcessHandlers() {\n process.on('unhandledRejection', (reason, promise) => {\n console.error('Unhandled Rejection at:', promise, 'reason:', reason);\n });\n\n process.on('uncaughtException', (err) => {\n console.error('Uncaught Exception thrown:', err);\n });\n\n // Suppress pg deprecation warning caused by TypeORM's internal query scheduling\n process.on('warning', (warning) => {\n if (warning.name === 'DeprecationWarning' && (warning.message.includes('client.query()') || warning.message.includes('punycode'))) {\n return;\n }\n console.warn(warning);\n });\n}\n\n// ---- HTTP server bootstrap ----\n\nexport interface SolidSwaggerOptions {\n title?: string;\n description?: string;\n version?: string;\n}\n\nexport interface SolidBootstrapOptions {\n /** Global API prefix. Defaults to 'api'. Set to '' to disable. */\n globalPrefix?: string;\n /** Swagger configuration. Set to false to disable Swagger entirely. */\n swagger?: SolidSwaggerOptions | false;\n /** Permissions-Policy header overrides (merged with defaults). */\n permissionsPolicyOverrides?: Partial<PermissionsPolicyConfig>;\n}\n\n/**\n * Bootstraps a SolidX NestJS HTTP application with sensible defaults:\n * security headers, CORS, Winston logger, ValidationPipe,\n * WrapResponseInterceptor, qs deep query parsing, Swagger, and the\n * pg BIGINT type parser.\n *\n * @example\n * // main.ts\n * bootstrapSolidApp(() => AppModule.forRoot(), {\n * swagger: { title: 'My API', description: 'My API description' },\n * });\n */\nexport async function bootstrapSolidApp(\n appModuleFactory: () => Promise<any>,\n options: SolidBootstrapOptions = {},\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n const { globalPrefix = 'api', swagger = {}, permissionsPolicyOverrides = {} } = options;\n\n const appModule = await appModuleFactory();\n const app = await NestFactory.create(appModule, {\n logger: WinstonModule.createLogger(WinstonLoggerConfig),\n });\n\n const apiEnabled = parseBooleanEnv('API_ENABLED', true);\n\n if (!apiEnabled) {\n await app.init();\n app\n .get(WINSTON_MODULE_NEST_PROVIDER)\n .log('API server disabled via API_ENABLED=false. Skipping HTTP listen.', 'Bootstrap');\n return;\n }\n\n // Health check at root path\n const server = app.getHttpAdapter().getInstance();\n server.get('/', (_req, res) => res.status(200).send('SOLID OK'));\n\n // Security headers\n app.use(helmet(buildDefaultSecurityHeaderOptions()));\n\n // Nest's Swagger UI HTML injects inline styles; keep CSP strict elsewhere.\n const isSwaggerPath = (path: string) =>\n path === '/docs' ||\n path === '/docs/' ||\n path.startsWith('/docs/') ||\n path === '/docs-json' ||\n path === '/docs-yaml';\n\n app.use((req: Request, res: Response, next: NextFunction) => {\n if (isSwaggerPath(req.path)) {\n res.removeHeader('Content-Security-Policy');\n }\n next();\n });\n\n // Permissions-Policy header\n app.use((_req: Request, res: Response, next: NextFunction) => {\n res.setHeader('Permissions-Policy', buildPermissionsPolicyHeader(permissionsPolicyOverrides));\n next();\n });\n\n // Winston logger\n app.useLogger(app.get(WINSTON_MODULE_NEST_PROVIDER));\n\n const port = process.env.PORT || 3000;\n\n if (globalPrefix) {\n app.setGlobalPrefix(globalPrefix);\n }\n\n // qs-based deep query parsing (dot notation, nested objects, arrays)\n app.use((req: Request, _res: Response, next: NextFunction) => {\n if (req.query) {\n req.query = qs.parse(req.url.split('?')[1], {\n allowDots: true,\n depth: 20,\n arrayLimit: 100,\n });\n }\n next();\n });\n\n // Global ValidationPipe\n app.useGlobalPipes(\n new ValidationPipe({\n transform: true,\n transformOptions: { enableImplicitConversion: true },\n }),\n );\n\n // Swagger\n if (swagger !== false) {\n const { title = process.env.SOLID_APP_NAME, description = process.env.SOLID_APP_DESCRIPTION, version = '1.0' } = swagger;\n const swaggerConfig = new DocumentBuilder()\n .setTitle(title)\n .setDescription(description)\n .setVersion(version)\n .setExternalDoc('Postman Collection', '/docs-json')\n .addBearerAuth(\n {\n description: 'Please enter token in following format: Bearer <JWT>',\n name: 'Authorization',\n bearerFormat: 'Bearer',\n scheme: 'Bearer',\n type: 'http',\n in: 'Header',\n },\n 'jwt',\n )\n .build();\n const document = SwaggerModule.createDocument(app, swaggerConfig);\n SwaggerModule.setup('/docs', app, document);\n }\n\n // Global interceptor\n app.useGlobalInterceptors(new WrapResponseInterceptor());\n\n // CORS\n app.enableCors(buildDefaultCorsOptions());\n\n // Fix pg returning BIGINT columns as strings\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const types = require('pg').types;\n types.setTypeParser(types.builtins.INT8, (val: string) => parseInt(val));\n\n app.useWebSocketAdapter(new WsAdapter(app));\n\n await app.listen(port);\n}\n\n// ---- CLI bootstrap ----\n\n/**\n * Bootstraps a SolidX NestJS CLI application using nest-commander.\n * Handles verbose flag stripping, project root validation, and clean process exit.\n *\n * @example\n * // main-cli.ts\n * #!/usr/bin/env node\n * import { bootstrapSolidCli } from '@solidxai/core';\n * import { AppModule } from './app.module';\n *\n * bootstrapSolidCli(() => AppModule.forRoot());\n */\nexport async function bootstrapSolidCli(\n appModuleFactory: () => Promise<any>,\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n process.on('exit', (code) => {\n if (code !== 0) {\n console.error(`Exiting with error status code: ${code}`);\n }\n });\n\n // Validate that cwd is a valid Solid API project\n const packageJsonPath = resolve(process.cwd(), 'package.json');\n if (!existsSync(packageJsonPath)) {\n console.error('Does not seem to be a valid solid-api project.');\n console.error('Exit reason: missing package.json in the current directory.');\n process.exit(1);\n }\n\n // Strip --verbose / -v before nest-commander processes argv\n const showLogs = process.argv.includes('--verbose') || process.argv.includes('-v');\n for (const flag of ['--verbose', '-v']) {\n const idx = process.argv.indexOf(flag);\n if (idx !== -1) process.argv.splice(idx, 1);\n }\n\n const appModule = await appModuleFactory();\n process.env.SOLID_CLI_RUNNING = 'true';\n\n // @ts-ignore\n const app = await CommandFactory.createWithoutRunning(appModule, {\n logger: showLogs ? ['debug', 'error', 'fatal', 'log', 'verbose', 'warn'] : false,\n });\n\n try {\n await CommandFactory.runApplication(app);\n } catch (e) {\n console.error('CLI exited abruptly due to an error:', e);\n process.exit(1);\n }\n\n process.exit(0);\n}\n"]}
1
+ {"version":3,"file":"bootstrap.helper.js","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { ValidationPipe } from '@nestjs/common';\nimport { NestFactory } from '@nestjs/core';\nimport { WsAdapter } from '@nestjs/platform-ws';\nimport { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';\nimport { NextFunction, Request, Response } from 'express';\nimport helmet from 'helmet';\nimport qs from 'qs';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\nimport { WINSTON_MODULE_NEST_PROVIDER, WinstonModule } from 'nest-winston';\nimport { CommandFactory } from 'nest-commander';\nimport { createWinstonLoggerConfig } from '../winston.logger';\nimport { WrapResponseInterceptor } from '../interceptors/wrap-response.interceptor';\nimport { buildDefaultCorsOptions } from './cors.helper';\nimport { buildDefaultSecurityHeaderOptions, buildPermissionsPolicyHeader, PermissionsPolicyConfig } from './security.helper';\nimport { parseBooleanEnv } from './environment.helper';\n\n// ---- Shared process handlers ----\n\nfunction registerGlobalProcessHandlers() {\n process.on('unhandledRejection', (reason, promise) => {\n console.error('Unhandled Rejection at:', promise, 'reason:', reason);\n });\n\n process.on('uncaughtException', (err) => {\n console.error('Uncaught Exception thrown:', err);\n });\n\n // Suppress pg deprecation warning caused by TypeORM's internal query scheduling\n process.on('warning', (warning) => {\n if (warning.name === 'DeprecationWarning' && (warning.message.includes('client.query()') || warning.message.includes('punycode'))) {\n return;\n }\n console.warn(warning);\n });\n}\n\n// ---- HTTP server bootstrap ----\n\nexport interface SolidSwaggerOptions {\n title?: string;\n description?: string;\n version?: string;\n}\n\nexport interface SolidBootstrapOptions {\n /** Global API prefix. Defaults to 'api'. Set to '' to disable. */\n globalPrefix?: string;\n /** Swagger configuration. Set to false to disable Swagger entirely. */\n swagger?: SolidSwaggerOptions | false;\n /** Permissions-Policy header overrides (merged with defaults). */\n permissionsPolicyOverrides?: Partial<PermissionsPolicyConfig>;\n /** Show full NestJS init logs during bootstrap (route mapping, module deps, pollers). Defaults to false. */\n verboseBootstrap?: boolean;\n}\n\n/**\n * Bootstraps a SolidX NestJS HTTP application with sensible defaults:\n * security headers, CORS, Winston logger, ValidationPipe,\n * WrapResponseInterceptor, qs deep query parsing, Swagger, and the\n * pg BIGINT type parser.\n *\n * @example\n * // main.ts\n * bootstrapSolidApp(() => AppModule.forRoot(), {\n * swagger: { title: 'My API', description: 'My API description' },\n * });\n */\nexport async function bootstrapSolidApp(\n appModuleFactory: () => Promise<any>,\n options: SolidBootstrapOptions = {},\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n const { globalPrefix = 'api', swagger = {}, permissionsPolicyOverrides = {}, verboseBootstrap = false } = options;\n\n const startTime = Date.now();\n const appModule = await appModuleFactory();\n const app = await NestFactory.create(appModule, {\n logger: WinstonModule.createLogger({ ...createWinstonLoggerConfig(), level: verboseBootstrap ? 'debug' : 'error' }),\n });\n\n const apiEnabled = parseBooleanEnv('API_ENABLED', true);\n\n if (!apiEnabled) {\n await app.init();\n app\n .get(WINSTON_MODULE_NEST_PROVIDER)\n .log('API server disabled via API_ENABLED=false. Skipping HTTP listen.', 'Bootstrap');\n return;\n }\n\n // Health check at root path\n const server = app.getHttpAdapter().getInstance();\n server.get('/', (_req, res) => res.status(200).send('SOLID OK'));\n\n // Security headers\n app.use(helmet(buildDefaultSecurityHeaderOptions()));\n\n // Nest's Swagger UI HTML injects inline styles; keep CSP strict elsewhere.\n const isSwaggerPath = (path: string) =>\n path === '/docs' ||\n path === '/docs/' ||\n path.startsWith('/docs/') ||\n path === '/docs-json' ||\n path === '/docs-yaml';\n\n app.use((req: Request, res: Response, next: NextFunction) => {\n if (isSwaggerPath(req.path)) {\n res.removeHeader('Content-Security-Policy');\n }\n next();\n });\n\n // Permissions-Policy header\n app.use((_req: Request, res: Response, next: NextFunction) => {\n res.setHeader('Permissions-Policy', buildPermissionsPolicyHeader(permissionsPolicyOverrides));\n next();\n });\n\n const port = process.env.PORT || 3000;\n\n if (globalPrefix) {\n app.setGlobalPrefix(globalPrefix);\n }\n\n // qs-based deep query parsing (dot notation, nested objects, arrays)\n app.use((req: Request, _res: Response, next: NextFunction) => {\n if (req.query) {\n req.query = qs.parse(req.url.split('?')[1], {\n allowDots: true,\n depth: 20,\n arrayLimit: 100,\n });\n }\n next();\n });\n\n // Global ValidationPipe\n app.useGlobalPipes(\n new ValidationPipe({\n transform: true,\n transformOptions: { enableImplicitConversion: true },\n }),\n );\n\n // Swagger\n if (swagger !== false) {\n const { title = process.env.SOLID_APP_NAME, description = process.env.SOLID_APP_DESCRIPTION, version = '1.0' } = swagger;\n const swaggerConfig = new DocumentBuilder()\n .setTitle(title)\n .setDescription(description)\n .setVersion(version)\n .setExternalDoc('Postman Collection', '/docs-json')\n .addBearerAuth(\n {\n description: 'Please enter token in following format: Bearer <JWT>',\n name: 'Authorization',\n bearerFormat: 'Bearer',\n scheme: 'Bearer',\n type: 'http',\n in: 'Header',\n },\n 'jwt',\n )\n .build();\n const document = SwaggerModule.createDocument(app, swaggerConfig);\n SwaggerModule.setup('/docs', app, document);\n }\n\n // Global interceptor\n app.useGlobalInterceptors(new WrapResponseInterceptor());\n\n // CORS\n app.enableCors(buildDefaultCorsOptions());\n\n // Fix pg returning BIGINT columns as strings\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const types = require('pg').types;\n types.setTypeParser(types.builtins.INT8, (val: string) => parseInt(val));\n\n app.useWebSocketAdapter(new WsAdapter(app));\n\n await app.listen(port);\n\n // Wire up Winston as the runtime logger only AFTER listen — this suppresses all\n // framework init noise (route mapping, module deps, onModuleInit) during boot.\n app.useLogger(app.get(WINSTON_MODULE_NEST_PROVIDER));\n\n const elapsed = ((Date.now() - startTime) / 1000).toFixed(2);\n process.stdout.write(`\\x1b[32mServer started on port ${port} in ${elapsed}s\\x1b[0m\\n`);\n}\n\n// ---- CLI bootstrap ----\n\n/**\n * Bootstraps a SolidX NestJS CLI application using nest-commander.\n * Handles verbose flag stripping, project root validation, and clean process exit.\n *\n * @example\n * // main-cli.ts\n * #!/usr/bin/env node\n * import { bootstrapSolidCli } from '@solidxai/core';\n * import { AppModule } from './app.module';\n *\n * bootstrapSolidCli(() => AppModule.forRoot());\n */\nexport async function bootstrapSolidCli(\n appModuleFactory: () => Promise<any>,\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n process.on('exit', (code) => {\n if (code !== 0) {\n console.error(`Exiting with error status code: ${code}`);\n }\n });\n\n // Validate that cwd is a valid Solid API project\n const packageJsonPath = resolve(process.cwd(), 'package.json');\n if (!existsSync(packageJsonPath)) {\n console.error('Does not seem to be a valid solid-api project.');\n console.error('Exit reason: missing package.json in the current directory.');\n process.exit(1);\n }\n\n // Strip --verbose / -v before nest-commander processes argv\n const showLogs = process.argv.includes('--verbose') || process.argv.includes('-v');\n for (const flag of ['--verbose', '-v']) {\n const idx = process.argv.indexOf(flag);\n if (idx !== -1) process.argv.splice(idx, 1);\n }\n\n const appModule = await appModuleFactory();\n process.env.SOLID_CLI_RUNNING = 'true';\n\n // @ts-ignore\n const app = await CommandFactory.createWithoutRunning(appModule, {\n logger: showLogs ? ['debug', 'error', 'fatal', 'log', 'verbose', 'warn'] : false,\n });\n\n try {\n await CommandFactory.runApplication(app);\n } catch (e) {\n console.error('CLI exited abruptly due to an error:', e);\n process.exit(1);\n }\n\n process.exit(0);\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  export type CommandWithArgs = {
2
2
  command: string;
3
3
  args: string[];
4
+ cwd?: string;
4
5
  };
5
6
  export declare class CommandService {
6
7
  private readonly logger;
@@ -1 +1 @@
1
- {"version":3,"file":"command.service.d.ts","sourceRoot":"","sources":["../../src/helpers/command.service.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,qBACa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAM1D,OAAO,CAAC,mBAAmB;IAcrB,sBAAsB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;CA2ChF"}
1
+ {"version":3,"file":"command.service.d.ts","sourceRoot":"","sources":["../../src/helpers/command.service.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBACa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAM1D,OAAO,CAAC,mBAAmB;IAcrB,sBAAsB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;CA4ChF"}
@@ -32,6 +32,7 @@ let CommandService = CommandService_1 = class CommandService {
32
32
  const child = (0, child_process_1.spawn)(command, spawnArgs, {
33
33
  shell: isWindows,
34
34
  stdio: ['pipe', 'pipe', 'pipe'],
35
+ cwd: commandWithArgs.cwd,
35
36
  });
36
37
  let stdout = '';
37
38
  let stderr = '';
@@ -48,7 +49,7 @@ let CommandService = CommandService_1 = class CommandService {
48
49
  child.on('close', (code) => {
49
50
  if (code !== 0) {
50
51
  this.logger.error(`Command failed with code ${code}: ${command}`, stderr);
51
- reject(new Error(stderr || `Command failed with exit code ${code}`));
52
+ reject(new Error([stderr, stdout].filter(Boolean).join('\n').trim() || `Command failed with exit code ${code}`));
52
53
  return;
53
54
  }
54
55
  resolve(stdout);
@@ -1 +1 @@
1
- {"version":3,"file":"command.service.js","sourceRoot":"","sources":["../../src/helpers/command.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AACpD,iDAAsC;AAQ/B,IAAM,cAAc,sBAApB,MAAM,cAAc;IAApB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IA+D5D,CAAC;IAzDS,mBAAmB,CAAC,GAAW;QAGrC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAE7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,OAAO,GAAG,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAKD,KAAK,CAAC,sBAAsB,CAAC,eAAgC;QAC3D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;YAG/C,MAAM,SAAS,GAAG,SAAS;gBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,SAAS,EAAE;gBACtC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;oBAC1E,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,iCAAiC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhEY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAgE1B","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { spawn } from 'child_process';\n\nexport type CommandWithArgs = {\n command: string;\n args: string[];\n};\n\n@Injectable()\nexport class CommandService {\n private readonly logger = new Logger(CommandService.name);\n\n /**\n * Escape an argument for Windows CMD shell\n * Wraps in double quotes and escapes internal double quotes\n */\n private escapeArgForWindows(arg: string): string {\n // If arg contains special characters, wrap in double quotes\n // and escape internal double quotes with backslash\n if (/[{}\\s\"^&|<>]/.test(arg)) {\n // Escape internal double quotes with backslash for CMD\n const escaped = arg.replace(/\"/g, '\\\\\"');\n return `\"${escaped}\"`;\n }\n return arg;\n }\n\n /**\n * Execute a command with arguments array (cross-platform compatible)\n */\n async executeCommandWithArgs(commandWithArgs: CommandWithArgs): Promise<string> {\n const { command, args } = commandWithArgs;\n this.logger.debug(`Executing command: ${command} ${args.join(' ')}`);\n\n return new Promise<string>((resolve, reject) => {\n const isWindows = process.platform === 'win32';\n\n // On Windows with shell: true, we need to escape args containing special characters\n const spawnArgs = isWindows\n ? args.map(arg => this.escapeArgForWindows(arg))\n : args;\n\n const child = spawn(command, spawnArgs, {\n shell: isWindows, // Use shell on Windows to handle .cmd files\n stdio: ['pipe', 'pipe', 'pipe'],\n });\n\n let stdout = '';\n let stderr = '';\n\n child.stdout.on('data', (data) => {\n stdout += data.toString();\n });\n\n child.stderr.on('data', (data) => {\n stderr += data.toString();\n });\n\n child.on('error', (error) => {\n this.logger.error(`Error executing command: ${command}`, error);\n reject(error);\n });\n\n child.on('close', (code) => {\n if (code !== 0) {\n this.logger.error(`Command failed with code ${code}: ${command}`, stderr);\n reject(new Error(stderr || `Command failed with exit code ${code}`));\n return;\n }\n resolve(stdout);\n });\n });\n }\n}\n"]}
1
+ {"version":3,"file":"command.service.js","sourceRoot":"","sources":["../../src/helpers/command.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AACpD,iDAAsC;AAS/B,IAAM,cAAc,sBAApB,MAAM,cAAc;IAApB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAgE5D,CAAC;IA1DS,mBAAmB,CAAC,GAAW;QAGrC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAE7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,OAAO,GAAG,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAKD,KAAK,CAAC,sBAAsB,CAAC,eAAgC;QAC3D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;YAG/C,MAAM,SAAS,GAAG,SAAS;gBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,SAAS,EAAE;gBACtC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,GAAG,EAAE,eAAe,CAAC,GAAG;aACzB,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;oBAC1E,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,iCAAiC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACjH,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjEY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAiE1B","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { spawn } from 'child_process';\n\nexport type CommandWithArgs = {\n command: string;\n args: string[];\n cwd?: string;\n};\n\n@Injectable()\nexport class CommandService {\n private readonly logger = new Logger(CommandService.name);\n\n /**\n * Escape an argument for Windows CMD shell\n * Wraps in double quotes and escapes internal double quotes\n */\n private escapeArgForWindows(arg: string): string {\n // If arg contains special characters, wrap in double quotes\n // and escape internal double quotes with backslash\n if (/[{}\\s\"^&|<>]/.test(arg)) {\n // Escape internal double quotes with backslash for CMD\n const escaped = arg.replace(/\"/g, '\\\\\"');\n return `\"${escaped}\"`;\n }\n return arg;\n }\n\n /**\n * Execute a command with arguments array (cross-platform compatible)\n */\n async executeCommandWithArgs(commandWithArgs: CommandWithArgs): Promise<string> {\n const { command, args } = commandWithArgs;\n this.logger.debug(`Executing command: ${command} ${args.join(' ')}`);\n\n return new Promise<string>((resolve, reject) => {\n const isWindows = process.platform === 'win32';\n\n // On Windows with shell: true, we need to escape args containing special characters\n const spawnArgs = isWindows\n ? args.map(arg => this.escapeArgForWindows(arg))\n : args;\n\n const child = spawn(command, spawnArgs, {\n shell: isWindows, // Use shell on Windows to handle .cmd files\n stdio: ['pipe', 'pipe', 'pipe'],\n cwd: commandWithArgs.cwd,\n });\n\n let stdout = '';\n let stderr = '';\n\n child.stdout.on('data', (data) => {\n stdout += data.toString();\n });\n\n child.stderr.on('data', (data) => {\n stderr += data.toString();\n });\n\n child.on('error', (error) => {\n this.logger.error(`Error executing command: ${command}`, error);\n reject(error);\n });\n\n child.on('close', (code) => {\n if (code !== 0) {\n this.logger.error(`Command failed with code ${code}: ${command}`, stderr);\n reject(new Error([stderr, stdout].filter(Boolean).join('\\n').trim() || `Command failed with exit code ${code}`));\n return;\n }\n resolve(stdout);\n });\n });\n }\n}\n"]}
@@ -0,0 +1,34 @@
1
+ export type MicrosoftActiveDirectoryAuthConfiguration = {
2
+ clientID: string;
3
+ clientSecret: string;
4
+ tenant: string;
5
+ callbackURL: string;
6
+ redirectURL: string;
7
+ };
8
+ export declare const DEFAULT_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT = "common";
9
+ export declare const MICROSOFT_ACTIVE_DIRECTORY_OAUTH_SCOPES: string[];
10
+ type MicrosoftActiveDirectoryOauthProfileValue = {
11
+ value?: string;
12
+ };
13
+ export type MicrosoftActiveDirectoryOauthProfile = {
14
+ id?: string;
15
+ displayName?: string;
16
+ emails?: MicrosoftActiveDirectoryOauthProfileValue[];
17
+ photos?: MicrosoftActiveDirectoryOauthProfileValue[];
18
+ _json?: {
19
+ id?: string;
20
+ displayName?: string;
21
+ mail?: string;
22
+ userPrincipalName?: string;
23
+ email?: string;
24
+ preferred_username?: string;
25
+ picture?: string;
26
+ };
27
+ };
28
+ export declare const isMicrosoftActiveDirectoryOAuthConfigured: (config: MicrosoftActiveDirectoryAuthConfiguration) => boolean;
29
+ export declare const getMicrosoftActiveDirectoryOAuthProfileId: (profile: MicrosoftActiveDirectoryOauthProfile) => string | null;
30
+ export declare const getMicrosoftActiveDirectoryOAuthEmail: (profile: MicrosoftActiveDirectoryOauthProfile) => string | null;
31
+ export declare const getMicrosoftActiveDirectoryOAuthDisplayName: (profile: MicrosoftActiveDirectoryOauthProfile) => string | null;
32
+ export declare const getMicrosoftActiveDirectoryOAuthPicture: (profile: MicrosoftActiveDirectoryOauthProfile) => string | null;
33
+ export {};
34
+ //# sourceMappingURL=microsoft-active-directory-oauth.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-active-directory-oauth.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/microsoft-active-directory-oauth.helper.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yCAAyC,GAAG;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,+CAA+C,WAAW,CAAC;AACxE,eAAO,MAAM,uCAAuC,UAKnD,CAAC;AAEF,KAAK,yCAAyC,GAAG;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,yCAAyC,EAAE,CAAC;IACrD,MAAM,CAAC,EAAE,yCAAyC,EAAE,CAAC;IACrD,KAAK,CAAC,EAAE;QACN,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,yCAAyC,GACpD,QAAQ,yCAAyC,KAChD,OAQF,CAAC;AAEF,eAAO,MAAM,yCAAyC,GACpD,SAAS,oCAAoC,KAC5C,MAAM,GAAG,IAEX,CAAC;AAEF,eAAO,MAAM,qCAAqC,GAChD,SAAS,oCAAoC,KAC5C,MAAM,GAAG,IAUX,CAAC;AAEF,eAAO,MAAM,2CAA2C,GACtD,SAAS,oCAAoC,KAC5C,MAAM,GAAG,IAEX,CAAC;AAEF,eAAO,MAAM,uCAAuC,GAClD,SAAS,oCAAoC,KAC5C,MAAM,GAAG,IAMX,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMicrosoftActiveDirectoryOAuthPicture = exports.getMicrosoftActiveDirectoryOAuthDisplayName = exports.getMicrosoftActiveDirectoryOAuthEmail = exports.getMicrosoftActiveDirectoryOAuthProfileId = exports.isMicrosoftActiveDirectoryOAuthConfigured = exports.MICROSOFT_ACTIVE_DIRECTORY_OAUTH_SCOPES = exports.DEFAULT_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT = void 0;
4
+ exports.DEFAULT_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT = "common";
5
+ exports.MICROSOFT_ACTIVE_DIRECTORY_OAUTH_SCOPES = [
6
+ "openid",
7
+ "profile",
8
+ "email",
9
+ "User.Read",
10
+ ];
11
+ const isMicrosoftActiveDirectoryOAuthConfigured = (config) => {
12
+ return !!(config.clientID &&
13
+ config.clientSecret &&
14
+ config.tenant &&
15
+ config.callbackURL &&
16
+ config.redirectURL);
17
+ };
18
+ exports.isMicrosoftActiveDirectoryOAuthConfigured = isMicrosoftActiveDirectoryOAuthConfigured;
19
+ const getMicrosoftActiveDirectoryOAuthProfileId = (profile) => {
20
+ return profile.id || profile._json?.id || null;
21
+ };
22
+ exports.getMicrosoftActiveDirectoryOAuthProfileId = getMicrosoftActiveDirectoryOAuthProfileId;
23
+ const getMicrosoftActiveDirectoryOAuthEmail = (profile) => {
24
+ const email = profile.emails?.find((item) => !!item.value)?.value ||
25
+ profile._json?.mail ||
26
+ profile._json?.userPrincipalName ||
27
+ profile._json?.email ||
28
+ profile._json?.preferred_username ||
29
+ null;
30
+ return email?.trim().toLowerCase() || null;
31
+ };
32
+ exports.getMicrosoftActiveDirectoryOAuthEmail = getMicrosoftActiveDirectoryOAuthEmail;
33
+ const getMicrosoftActiveDirectoryOAuthDisplayName = (profile) => {
34
+ return profile.displayName || profile._json?.displayName || null;
35
+ };
36
+ exports.getMicrosoftActiveDirectoryOAuthDisplayName = getMicrosoftActiveDirectoryOAuthDisplayName;
37
+ const getMicrosoftActiveDirectoryOAuthPicture = (profile) => {
38
+ return (profile.photos?.find((item) => !!item.value)?.value ||
39
+ profile._json?.picture ||
40
+ null);
41
+ };
42
+ exports.getMicrosoftActiveDirectoryOAuthPicture = getMicrosoftActiveDirectoryOAuthPicture;
43
+ //# sourceMappingURL=microsoft-active-directory-oauth.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-active-directory-oauth.helper.js","sourceRoot":"","sources":["../../src/helpers/microsoft-active-directory-oauth.helper.ts"],"names":[],"mappings":";;;AAQa,QAAA,+CAA+C,GAAG,QAAQ,CAAC;AAC3D,QAAA,uCAAuC,GAAG;IACrD,QAAQ;IACR,SAAS;IACT,OAAO;IACP,WAAW;CACZ,CAAC;AAsBK,MAAM,yCAAyC,GAAG,CACvD,MAAiD,EACxC,EAAE;IACX,OAAO,CAAC,CAAC,CACP,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,YAAY;QACnB,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,WAAW,CACnB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,yCAAyC,6CAUpD;AAEK,MAAM,yCAAyC,GAAG,CACvD,OAA6C,EAC9B,EAAE;IACjB,OAAO,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC;AACjD,CAAC,CAAC;AAJW,QAAA,yCAAyC,6CAIpD;AAEK,MAAM,qCAAqC,GAAG,CACnD,OAA6C,EAC9B,EAAE;IACjB,MAAM,KAAK,GACT,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK;QACnD,OAAO,CAAC,KAAK,EAAE,IAAI;QACnB,OAAO,CAAC,KAAK,EAAE,iBAAiB;QAChC,OAAO,CAAC,KAAK,EAAE,KAAK;QACpB,OAAO,CAAC,KAAK,EAAE,kBAAkB;QACjC,IAAI,CAAC;IAEP,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC;AAC7C,CAAC,CAAC;AAZW,QAAA,qCAAqC,yCAYhD;AAEK,MAAM,2CAA2C,GAAG,CACzD,OAA6C,EAC9B,EAAE;IACjB,OAAO,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC;AACnE,CAAC,CAAC;AAJW,QAAA,2CAA2C,+CAItD;AAEK,MAAM,uCAAuC,GAAG,CACrD,OAA6C,EAC9B,EAAE;IACjB,OAAO,CACL,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK;QACnD,OAAO,CAAC,KAAK,EAAE,OAAO;QACtB,IAAI,CACL,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,uCAAuC,2CAQlD","sourcesContent":["export type MicrosoftActiveDirectoryAuthConfiguration = {\n clientID: string;\n clientSecret: string;\n tenant: string;\n callbackURL: string;\n redirectURL: string;\n};\n\nexport const DEFAULT_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT = \"common\";\nexport const MICROSOFT_ACTIVE_DIRECTORY_OAUTH_SCOPES = [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n];\n\ntype MicrosoftActiveDirectoryOauthProfileValue = {\n value?: string;\n};\n\nexport type MicrosoftActiveDirectoryOauthProfile = {\n id?: string;\n displayName?: string;\n emails?: MicrosoftActiveDirectoryOauthProfileValue[];\n photos?: MicrosoftActiveDirectoryOauthProfileValue[];\n _json?: {\n id?: string;\n displayName?: string;\n mail?: string;\n userPrincipalName?: string;\n email?: string;\n preferred_username?: string;\n picture?: string;\n };\n};\n\nexport const isMicrosoftActiveDirectoryOAuthConfigured = (\n config: MicrosoftActiveDirectoryAuthConfiguration,\n): boolean => {\n return !!(\n config.clientID &&\n config.clientSecret &&\n config.tenant &&\n config.callbackURL &&\n config.redirectURL\n );\n};\n\nexport const getMicrosoftActiveDirectoryOAuthProfileId = (\n profile: MicrosoftActiveDirectoryOauthProfile,\n): string | null => {\n return profile.id || profile._json?.id || null;\n};\n\nexport const getMicrosoftActiveDirectoryOAuthEmail = (\n profile: MicrosoftActiveDirectoryOauthProfile,\n): string | null => {\n const email =\n profile.emails?.find((item) => !!item.value)?.value ||\n profile._json?.mail ||\n profile._json?.userPrincipalName ||\n profile._json?.email ||\n profile._json?.preferred_username ||\n null;\n\n return email?.trim().toLowerCase() || null;\n};\n\nexport const getMicrosoftActiveDirectoryOAuthDisplayName = (\n profile: MicrosoftActiveDirectoryOauthProfile,\n): string | null => {\n return profile.displayName || profile._json?.displayName || null;\n};\n\nexport const getMicrosoftActiveDirectoryOAuthPicture = (\n profile: MicrosoftActiveDirectoryOauthProfile,\n): string | null => {\n return (\n profile.photos?.find((item) => !!item.value)?.value ||\n profile._json?.picture ||\n null\n );\n};\n"]}
@@ -1,3 +1,4 @@
1
+ import { LegacyTableType } from "../enums/legacy-table-type.enum";
1
2
  import { ModelMetadataRepository } from "../repository/model-metadata.repository";
2
3
  import { SolidRegistry } from "./solid-registry";
3
4
  export declare class ModelMetadataHelperService {
@@ -5,7 +6,7 @@ export declare class ModelMetadataHelperService {
5
6
  private readonly modelMetadataRepo;
6
7
  private readonly logger;
7
8
  constructor(registry: SolidRegistry, modelMetadataRepo: ModelMetadataRepository);
8
- getSystemFieldsMetadata(isLegacyTable?: boolean, isLegacyTableWithId?: boolean): any[];
9
+ getSystemFieldsMetadata(legacyTableType?: LegacyTableType): any[];
9
10
  private checkWithRegistry;
10
11
  private getSystemFieldsMetadataMapping;
11
12
  private getSystemFieldsMetadataMappingForLegacyTable;
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata-helper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBACa,0BAA0B;IAI/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAIzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAPtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAGjD,QAAQ,EAAE,aAAa,EAIvB,iBAAiB,EAAE,uBAAuB;IAI/D,uBAAuB,CAAC,aAAa,GAAE,OAAa,EAAE,mBAAmB,GAAE,OAAa,GAAG,GAAG,EAAE;IAmBhG,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,8BAA8B;IAoEtC,OAAO,CAAC,4CAA4C;IA2B9C,kBAAkB,CAAC,SAAS,EAAE,GAAG;CAwB1C"}
1
+ {"version":3,"file":"model-metadata-helper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBACa,0BAA0B;IAI/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAIzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAPtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAGjD,QAAQ,EAAE,aAAa,EAIvB,iBAAiB,EAAE,uBAAuB;IAI/D,uBAAuB,CAAC,eAAe,GAAE,eAAsC,GAAG,GAAG,EAAE;IAmBvF,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,8BAA8B;IAoEtC,OAAO,CAAC,4CAA4C;IA2B9C,kBAAkB,CAAC,SAAS,EAAE,GAAG;CAwB1C"}
@@ -17,6 +17,7 @@ exports.ModelMetadataHelperService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const lodash_1 = require("lodash");
19
19
  const legacy_common_entity_1 = require("../entities/legacy-common.entity");
20
+ const legacy_table_type_enum_1 = require("../enums/legacy-table-type.enum");
20
21
  const model_metadata_repository_1 = require("../repository/model-metadata.repository");
21
22
  const solid_registry_1 = require("./solid-registry");
22
23
  let ModelMetadataHelperService = ModelMetadataHelperService_1 = class ModelMetadataHelperService {
@@ -25,12 +26,12 @@ let ModelMetadataHelperService = ModelMetadataHelperService_1 = class ModelMetad
25
26
  this.modelMetadataRepo = modelMetadataRepo;
26
27
  this.logger = new common_1.Logger(ModelMetadataHelperService_1.name);
27
28
  }
28
- getSystemFieldsMetadata(isLegacyTable = false, isLegacyTableWithId = false) {
29
+ getSystemFieldsMetadata(legacyTableType = legacy_table_type_enum_1.LegacyTableType.NONE) {
29
30
  let systemFieldsMetadata;
30
- if (isLegacyTableWithId) {
31
+ if (legacyTableType === legacy_table_type_enum_1.LegacyTableType.GENERATED_ID) {
31
32
  systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(true);
32
33
  }
33
- else if (isLegacyTable) {
34
+ else if (legacyTableType === legacy_table_type_enum_1.LegacyTableType.EXISTING_ID) {
34
35
  systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(false);
35
36
  }
36
37
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata-helper.service.js","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"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","sourcesContent":["// Return the system fields metadata for a model\n\nimport { forwardRef, Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { _ } from \"lodash\";\nimport { LEGACY_TABLE_FIELDS_PREFIX } from \"src/entities/legacy-common.entity\";\nimport { ModelMetadataRepository } from \"src/repository/model-metadata.repository\";\nimport { SolidRegistry } from \"./solid-registry\";\n\n@Injectable()\nexport class ModelMetadataHelperService {\n private readonly logger = new Logger(ModelMetadataHelperService.name);\n\n constructor(\n private readonly registry: SolidRegistry,\n // @InjectRepository(ModelMetadata)\n // private readonly modelMetadataRepo: Repository<ModelMetadata>,\n @Inject(forwardRef(() => ModelMetadataRepository))\n private readonly modelMetadataRepo: ModelMetadataRepository,\n ) {\n }\n\n getSystemFieldsMetadata(isLegacyTable: boolean=false, isLegacyTableWithId: boolean=false): any[] {\n let systemFieldsMetadata: any[];\n if (isLegacyTableWithId) {\n systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(true);\n }\n else if (isLegacyTable) {\n systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(false);\n }\n else {\n systemFieldsMetadata = this.getSystemFieldsMetadataMapping();\n }\n\n this.checkWithRegistry(systemFieldsMetadata);\n\n return systemFieldsMetadata;\n }\n\n // TODO: Do an additional check and add a warning if the common entity keys and system field metadata keys don't match exactly\n // Ideally this should be reflection based code\n private checkWithRegistry(systemFieldsMetadata: ({ name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; isSystem: boolean; ormType?: undefined; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType: string; relationCoModelSingularName: string; relationCreateInverse: boolean; relationCascade: string; relationModelModuleName: string; })[]) {\n const commonEntityKeys = this.registry.getCommonEntityKeys();\n const systemFieldNames = systemFieldsMetadata.map(field => field.name);\n const missingKeys = commonEntityKeys.filter(key => !systemFieldNames.includes(key));\n if (missingKeys.length > 0) {\n this.logger.warn(`Missing system fields metadata for common entity keys: ${missingKeys.join(', ')}`);\n }\n }\n\n private getSystemFieldsMetadataMapping() {\n return [\n {\n name: \"id\",\n displayName: \"Id\",\n type: \"int\",\n isSystem: true,\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"updatedAt\",\n displayName: \"Updated At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"deletedAt\",\n displayName: \"Deleted At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"deletedTracker\",\n displayName: \"Deleted Tracker\",\n type: \"shortText\",\n isSystem: true,\n },\n {\n name: \"publishedAt\",\n displayName: \"Published At\",\n type: \"datetime\",\n isSystem: true,\n enableAuditTracking:true\n },\n {\n name: \"localeName\",\n displayName: \"Locale\",\n type: \"shortText\",\n isSystem: true,\n },\n {\n name: \"defaultEntityLocaleId\",\n displayName: \"Default Entity Locale Id\",\n type: \"int\",\n isSystem: true,\n },\n {\n name: \"createdBy\",\n displayName: \"Created By\",\n type: \"int\",\n isSystem: true,\n columnName: \"created_by_id\",\n },\n {\n name: \"updatedBy\",\n displayName: \"Updated By\",\n type: \"int\",\n isSystem: true,\n columnName: \"updated_by_id\",\n }\n ];\n }\n\n private getSystemFieldsMetadataMappingForLegacyTable(withId: boolean=true) {\n const systemFieldsMetadata = this.getSystemFieldsMetadataMapping();\n if (!withId) {\n // Remove the id field metadata\n const index = systemFieldsMetadata.findIndex(field => field.name === 'id');\n if (index !== -1) {\n systemFieldsMetadata.splice(index, 1);\n }\n }\n\n // For legacy table, system fields, remove the ormType atribute from the metadata\n // systemFieldsMetadata.forEach(field => {\n // delete field.ormType;\n // });\n\n // Except for createdBy and updatedBy fields, for which we need to keep the columnName as created_by_id and updated_by_id respectively,\n // we need to add a columnName attribute with legacy prefix concatenated with the kebab cased field name of the system field\n systemFieldsMetadata.forEach(field => {\n if (field.name === 'createdBy' || field.name === 'updatedBy') {\n field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}_id`;\n } else {\n field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}`;\n }\n });\n return systemFieldsMetadata;\n }\n\n async loadFieldHierarchy(modelName: any) {\n const model = await this.modelMetadataRepo.findOne({\n where: {\n singularName: modelName,\n },\n relations: {\n fields: true,\n parentModel: {\n fields: true,\n }\n }\n });\n const fields: any[] = [];\n if (model) {\n // Add the fields of the current model\n fields.push(...model.fields);\n\n // Add the fields of the parent model\n if (model.parentModel) {\n fields.push(...model.parentModel.fields);\n }\n }\n return fields;\n }\n}"]}
1
+ {"version":3,"file":"model-metadata-helper.service.js","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"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","sourcesContent":["// Return the system fields metadata for a model\n\nimport { forwardRef, Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { _ } from \"lodash\";\nimport { LEGACY_TABLE_FIELDS_PREFIX } from \"src/entities/legacy-common.entity\";\nimport { LegacyTableType } from \"src/enums/legacy-table-type.enum\";\nimport { ModelMetadataRepository } from \"src/repository/model-metadata.repository\";\nimport { SolidRegistry } from \"./solid-registry\";\n\n@Injectable()\nexport class ModelMetadataHelperService {\n private readonly logger = new Logger(ModelMetadataHelperService.name);\n\n constructor(\n private readonly registry: SolidRegistry,\n // @InjectRepository(ModelMetadata)\n // private readonly modelMetadataRepo: Repository<ModelMetadata>,\n @Inject(forwardRef(() => ModelMetadataRepository))\n private readonly modelMetadataRepo: ModelMetadataRepository,\n ) {\n }\n\n getSystemFieldsMetadata(legacyTableType: LegacyTableType = LegacyTableType.NONE): any[] {\n let systemFieldsMetadata: any[];\n if (legacyTableType === LegacyTableType.GENERATED_ID) {\n systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(true);\n }\n else if (legacyTableType === LegacyTableType.EXISTING_ID) {\n systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(false);\n }\n else {\n systemFieldsMetadata = this.getSystemFieldsMetadataMapping();\n }\n\n this.checkWithRegistry(systemFieldsMetadata);\n\n return systemFieldsMetadata;\n }\n\n // TODO: Do an additional check and add a warning if the common entity keys and system field metadata keys don't match exactly\n // Ideally this should be reflection based code\n private checkWithRegistry(systemFieldsMetadata: ({ name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; isSystem: boolean; ormType?: undefined; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType: string; relationCoModelSingularName: string; relationCreateInverse: boolean; relationCascade: string; relationModelModuleName: string; })[]) {\n const commonEntityKeys = this.registry.getCommonEntityKeys();\n const systemFieldNames = systemFieldsMetadata.map(field => field.name);\n const missingKeys = commonEntityKeys.filter(key => !systemFieldNames.includes(key));\n if (missingKeys.length > 0) {\n this.logger.warn(`Missing system fields metadata for common entity keys: ${missingKeys.join(', ')}`);\n }\n }\n\n private getSystemFieldsMetadataMapping() {\n return [\n {\n name: \"id\",\n displayName: \"Id\",\n type: \"int\",\n isSystem: true,\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"updatedAt\",\n displayName: \"Updated At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"deletedAt\",\n displayName: \"Deleted At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"deletedTracker\",\n displayName: \"Deleted Tracker\",\n type: \"shortText\",\n isSystem: true,\n },\n {\n name: \"publishedAt\",\n displayName: \"Published At\",\n type: \"datetime\",\n isSystem: true,\n enableAuditTracking:true\n },\n {\n name: \"localeName\",\n displayName: \"Locale\",\n type: \"shortText\",\n isSystem: true,\n },\n {\n name: \"defaultEntityLocaleId\",\n displayName: \"Default Entity Locale Id\",\n type: \"int\",\n isSystem: true,\n },\n {\n name: \"createdBy\",\n displayName: \"Created By\",\n type: \"int\",\n isSystem: true,\n columnName: \"created_by_id\",\n },\n {\n name: \"updatedBy\",\n displayName: \"Updated By\",\n type: \"int\",\n isSystem: true,\n columnName: \"updated_by_id\",\n }\n ];\n }\n\n private getSystemFieldsMetadataMappingForLegacyTable(withId: boolean=true) {\n const systemFieldsMetadata = this.getSystemFieldsMetadataMapping();\n if (!withId) {\n // Remove the id field metadata\n const index = systemFieldsMetadata.findIndex(field => field.name === 'id');\n if (index !== -1) {\n systemFieldsMetadata.splice(index, 1);\n }\n }\n\n // For legacy table, system fields, remove the ormType atribute from the metadata\n // systemFieldsMetadata.forEach(field => {\n // delete field.ormType;\n // });\n\n // Except for createdBy and updatedBy fields, for which we need to keep the columnName as created_by_id and updated_by_id respectively,\n // we need to add a columnName attribute with legacy prefix concatenated with the kebab cased field name of the system field\n systemFieldsMetadata.forEach(field => {\n if (field.name === 'createdBy' || field.name === 'updatedBy') {\n field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}_id`;\n } else {\n field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}`;\n }\n });\n return systemFieldsMetadata;\n }\n\n async loadFieldHierarchy(modelName: any) {\n const model = await this.modelMetadataRepo.findOne({\n where: {\n singularName: modelName,\n },\n relations: {\n fields: true,\n parentModel: {\n fields: true,\n }\n }\n });\n const fields: any[] = [];\n if (model) {\n // Add the fields of the current model\n fields.push(...model.fields);\n\n // Add the fields of the parent model\n if (model.parentModel) {\n fields.push(...model.parentModel.fields);\n }\n }\n return fields;\n }\n}"]}
@@ -5,6 +5,8 @@ export declare class ModuleMetadataHelperService {
5
5
  constructor(fileService: DiskFileService);
6
6
  getModuleMetadataConfiguration(configFilePath: string): Promise<any>;
7
7
  getModulePath(moduleName: string): Promise<string>;
8
+ getSolidUiModulePath(moduleName: string): Promise<string>;
9
+ private resolveModuleMetadataFolderPath;
8
10
  getModuleMetadataFilePath(moduleName: string): Promise<string>;
9
11
  getModuleMetadataFolderPath(moduleName: string): Promise<string>;
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module-metadata-helper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/module-metadata-helper.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBACa,2BAA2B;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IADxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;gBAC1C,WAAW,EAAE,eAAe;IAOnD,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAepE,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlD,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB9D,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAiBzE"}
1
+ {"version":3,"file":"module-metadata-helper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/module-metadata-helper.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBACa,2BAA2B;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IADxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;gBAC1C,WAAW,EAAE,eAAe;IAOnD,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAepE,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS/D,OAAO,CAAC,+BAA+B;IAKjC,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B9D,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOzE"}