@solidstarters/solid-core 1.2.193 → 1.2.201

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 (630) hide show
  1. package/dist/commands/fixtures/fixtures-setup.command.d.ts +15 -0
  2. package/dist/commands/fixtures/fixtures-setup.command.d.ts.map +1 -0
  3. package/dist/commands/fixtures/fixtures-setup.command.js +58 -0
  4. package/dist/commands/fixtures/fixtures-setup.command.js.map +1 -0
  5. package/dist/commands/fixtures/fixtures-tear-down.command.d.ts +16 -0
  6. package/dist/commands/fixtures/fixtures-tear-down.command.d.ts.map +1 -0
  7. package/dist/commands/fixtures/fixtures-tear-down.command.js +59 -0
  8. package/dist/commands/fixtures/fixtures-tear-down.command.js.map +1 -0
  9. package/dist/commands/mcp.command.d.ts +20 -0
  10. package/dist/commands/mcp.command.d.ts.map +1 -0
  11. package/dist/commands/mcp.command.js +208 -0
  12. package/dist/commands/mcp.command.js.map +1 -0
  13. package/dist/commands/refresh-model.command.d.ts +8 -5
  14. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  15. package/dist/commands/refresh-model.command.js +36 -0
  16. package/dist/commands/refresh-model.command.js.map +1 -1
  17. package/dist/commands/remove-fields.command.js +1 -1
  18. package/dist/commands/remove-fields.command.js.map +1 -1
  19. package/dist/commands/seed.command.d.ts +2 -0
  20. package/dist/commands/seed.command.d.ts.map +1 -1
  21. package/dist/commands/seed.command.js +28 -1
  22. package/dist/commands/seed.command.js.map +1 -1
  23. package/dist/constants/error-messages.d.ts +2 -0
  24. package/dist/constants/error-messages.d.ts.map +1 -1
  25. package/dist/constants/error-messages.js +4 -0
  26. package/dist/constants/error-messages.js.map +1 -1
  27. package/dist/controllers/authentication.controller.js +1 -1
  28. package/dist/controllers/authentication.controller.js.map +1 -1
  29. package/dist/controllers/email-template.controller.js +1 -1
  30. package/dist/controllers/email-template.controller.js.map +1 -1
  31. package/dist/controllers/field-metadata.controller.d.ts +136 -4
  32. package/dist/controllers/field-metadata.controller.d.ts.map +1 -1
  33. package/dist/controllers/field-metadata.controller.js +14 -1
  34. package/dist/controllers/field-metadata.controller.js.map +1 -1
  35. package/dist/controllers/media-storage-provider-metadata.controller.js +1 -1
  36. package/dist/controllers/media-storage-provider-metadata.controller.js.map +1 -1
  37. package/dist/controllers/model-metadata.controller.js +1 -1
  38. package/dist/controllers/model-metadata.controller.js.map +1 -1
  39. package/dist/controllers/model-sequence.controller.d.ts +43 -0
  40. package/dist/controllers/model-sequence.controller.d.ts.map +1 -0
  41. package/dist/controllers/model-sequence.controller.js +179 -0
  42. package/dist/controllers/model-sequence.controller.js.map +1 -0
  43. package/dist/controllers/module-metadata.controller.js +1 -1
  44. package/dist/controllers/module-metadata.controller.js.map +1 -1
  45. package/dist/controllers/otp-authentication.controller.js +1 -1
  46. package/dist/controllers/otp-authentication.controller.js.map +1 -1
  47. package/dist/controllers/service.controller.js +1 -1
  48. package/dist/controllers/service.controller.js.map +1 -1
  49. package/dist/controllers/setting.controller.d.ts +1 -0
  50. package/dist/controllers/setting.controller.d.ts.map +1 -1
  51. package/dist/controllers/setting.controller.js +15 -0
  52. package/dist/controllers/setting.controller.js.map +1 -1
  53. package/dist/controllers/sms-template.controller.js +1 -1
  54. package/dist/controllers/sms-template.controller.js.map +1 -1
  55. package/dist/controllers/test-queue.controller.js +1 -1
  56. package/dist/controllers/test-queue.controller.js.map +1 -1
  57. package/dist/controllers/test.controller.js +1 -1
  58. package/dist/controllers/test.controller.js.map +1 -1
  59. package/dist/dtos/basic-filters.dto.d.ts +3 -1
  60. package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
  61. package/dist/dtos/basic-filters.dto.js +8 -2
  62. package/dist/dtos/basic-filters.dto.js.map +1 -1
  63. package/dist/dtos/basic-group-filters.dto.d.ts +6 -0
  64. package/dist/dtos/basic-group-filters.dto.d.ts.map +1 -0
  65. package/dist/dtos/basic-group-filters.dto.js +46 -0
  66. package/dist/dtos/basic-group-filters.dto.js.map +1 -0
  67. package/dist/dtos/create-ai-interaction.dto.d.ts +2 -0
  68. package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -1
  69. package/dist/dtos/create-ai-interaction.dto.js +14 -1
  70. package/dist/dtos/create-ai-interaction.dto.js.map +1 -1
  71. package/dist/dtos/create-field-metadata.dto.d.ts +22 -5
  72. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  73. package/dist/dtos/create-field-metadata.dto.js +34 -8
  74. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  75. package/dist/dtos/create-import-transaction.dto.d.ts +0 -1
  76. package/dist/dtos/create-import-transaction.dto.d.ts.map +1 -1
  77. package/dist/dtos/create-import-transaction.dto.js +1 -7
  78. package/dist/dtos/create-import-transaction.dto.js.map +1 -1
  79. package/dist/dtos/create-model-metadata.dto.d.ts +2 -0
  80. package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
  81. package/dist/dtos/create-model-metadata.dto.js +13 -1
  82. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  83. package/dist/dtos/create-model-sequence.dto.d.ts +14 -0
  84. package/dist/dtos/create-model-sequence.dto.d.ts.map +1 -0
  85. package/dist/dtos/create-model-sequence.dto.js +90 -0
  86. package/dist/dtos/create-model-sequence.dto.js.map +1 -0
  87. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  88. package/dist/dtos/create-role-metadata.dto.js +6 -1
  89. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  90. package/dist/dtos/get-mcp-url.dto.d.ts +5 -0
  91. package/dist/dtos/get-mcp-url.dto.d.ts.map +1 -0
  92. package/dist/dtos/get-mcp-url.dto.js +31 -0
  93. package/dist/dtos/get-mcp-url.dto.js.map +1 -0
  94. package/dist/dtos/resolve-s3-url.dto.d.ts +10 -0
  95. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -0
  96. package/dist/dtos/resolve-s3-url.dto.js +49 -0
  97. package/dist/dtos/resolve-s3-url.dto.js.map +1 -0
  98. package/dist/dtos/update-ai-interaction.dto.d.ts +2 -0
  99. package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -1
  100. package/dist/dtos/update-ai-interaction.dto.js +13 -1
  101. package/dist/dtos/update-ai-interaction.dto.js.map +1 -1
  102. package/dist/dtos/update-field-metadata.dto.d.ts.map +1 -1
  103. package/dist/dtos/update-field-metadata.dto.js.map +1 -1
  104. package/dist/dtos/update-import-transaction.dto.d.ts +0 -1
  105. package/dist/dtos/update-import-transaction.dto.d.ts.map +1 -1
  106. package/dist/dtos/update-import-transaction.dto.js +1 -7
  107. package/dist/dtos/update-import-transaction.dto.js.map +1 -1
  108. package/dist/dtos/update-model-sequence.dto.d.ts +15 -0
  109. package/dist/dtos/update-model-sequence.dto.d.ts.map +1 -0
  110. package/dist/dtos/update-model-sequence.dto.js +94 -0
  111. package/dist/dtos/update-model-sequence.dto.js.map +1 -0
  112. package/dist/entities/action-metadata.entity.js +4 -4
  113. package/dist/entities/action-metadata.entity.js.map +1 -1
  114. package/dist/entities/ai-interaction.entity.d.ts +2 -0
  115. package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
  116. package/dist/entities/ai-interaction.entity.js +15 -6
  117. package/dist/entities/ai-interaction.entity.js.map +1 -1
  118. package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
  119. package/dist/entities/chatter-message-details.entity.js +1 -1
  120. package/dist/entities/chatter-message-details.entity.js.map +1 -1
  121. package/dist/entities/chatter-message.entity.js +1 -1
  122. package/dist/entities/chatter-message.entity.js.map +1 -1
  123. package/dist/entities/common.entity.d.ts +2 -3
  124. package/dist/entities/common.entity.d.ts.map +1 -1
  125. package/dist/entities/common.entity.js +10 -11
  126. package/dist/entities/common.entity.js.map +1 -1
  127. package/dist/entities/dashboard-question-sql-dataset-config.entity.js +2 -2
  128. package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -1
  129. package/dist/entities/dashboard-question.entity.js +3 -3
  130. package/dist/entities/dashboard-question.entity.js.map +1 -1
  131. package/dist/entities/dashboard-variable.entity.js +3 -3
  132. package/dist/entities/dashboard-variable.entity.js.map +1 -1
  133. package/dist/entities/dashboard.entity.js +1 -1
  134. package/dist/entities/dashboard.entity.js.map +1 -1
  135. package/dist/entities/email-template.entity.d.ts.map +1 -1
  136. package/dist/entities/email-template.entity.js +4 -3
  137. package/dist/entities/email-template.entity.js.map +1 -1
  138. package/dist/entities/export-template.entity.js +2 -2
  139. package/dist/entities/export-template.entity.js.map +1 -1
  140. package/dist/entities/export-transaction.entity.js +2 -2
  141. package/dist/entities/export-transaction.entity.js.map +1 -1
  142. package/dist/entities/field-metadata.entity.d.ts +1 -0
  143. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  144. package/dist/entities/field-metadata.entity.js +8 -4
  145. package/dist/entities/field-metadata.entity.js.map +1 -1
  146. package/dist/entities/import-transaction-error-log.entity.js +1 -1
  147. package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
  148. package/dist/entities/import-transaction.entity.d.ts +0 -1
  149. package/dist/entities/import-transaction.entity.d.ts.map +1 -1
  150. package/dist/entities/import-transaction.entity.js +2 -7
  151. package/dist/entities/import-transaction.entity.js.map +1 -1
  152. package/dist/entities/legacy-common-with-id.entity.d.ts +5 -0
  153. package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -0
  154. package/dist/entities/legacy-common-with-id.entity.js +32 -0
  155. package/dist/entities/legacy-common-with-id.entity.js.map +1 -0
  156. package/dist/entities/legacy-common.entity.d.ts +13 -0
  157. package/dist/entities/legacy-common.entity.d.ts.map +1 -0
  158. package/dist/entities/legacy-common.entity.js +68 -0
  159. package/dist/entities/legacy-common.entity.js.map +1 -0
  160. package/dist/entities/list-of-values.entity.js +2 -2
  161. package/dist/entities/list-of-values.entity.js.map +1 -1
  162. package/dist/entities/locale.entity.js +1 -1
  163. package/dist/entities/locale.entity.js.map +1 -1
  164. package/dist/entities/media.entity.d.ts.map +1 -1
  165. package/dist/entities/media.entity.js +3 -3
  166. package/dist/entities/media.entity.js.map +1 -1
  167. package/dist/entities/menu-item-metadata.entity.js +4 -4
  168. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  169. package/dist/entities/model-metadata.entity.d.ts +2 -0
  170. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  171. package/dist/entities/model-metadata.entity.js +11 -3
  172. package/dist/entities/model-metadata.entity.js.map +1 -1
  173. package/dist/entities/model-sequence.entity.d.ts +15 -0
  174. package/dist/entities/model-sequence.entity.d.ts.map +1 -0
  175. package/dist/entities/model-sequence.entity.js +67 -0
  176. package/dist/entities/model-sequence.entity.js.map +1 -0
  177. package/dist/entities/mq-message-queue.entity.js +1 -1
  178. package/dist/entities/mq-message-queue.entity.js.map +1 -1
  179. package/dist/entities/mq-message.entity.d.ts +3 -3
  180. package/dist/entities/mq-message.entity.d.ts.map +1 -1
  181. package/dist/entities/mq-message.entity.js +10 -10
  182. package/dist/entities/mq-message.entity.js.map +1 -1
  183. package/dist/entities/saved-filters.entity.js +4 -4
  184. package/dist/entities/saved-filters.entity.js.map +1 -1
  185. package/dist/entities/scheduled-job.entity.js +4 -4
  186. package/dist/entities/scheduled-job.entity.js.map +1 -1
  187. package/dist/entities/security-rule.entity.js +2 -2
  188. package/dist/entities/security-rule.entity.js.map +1 -1
  189. package/dist/entities/setting.entity.js +2 -2
  190. package/dist/entities/setting.entity.js.map +1 -1
  191. package/dist/entities/sms-template.entity.js +2 -2
  192. package/dist/entities/sms-template.entity.js.map +1 -1
  193. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  194. package/dist/entities/user-activity-history.entity.js +1 -1
  195. package/dist/entities/user-activity-history.entity.js.map +1 -1
  196. package/dist/entities/user-view-metadata.entity.js +2 -2
  197. package/dist/entities/user-view-metadata.entity.js.map +1 -1
  198. package/dist/entities/user.entity.js +13 -15
  199. package/dist/entities/user.entity.js.map +1 -1
  200. package/dist/entities/view-metadata.entity.js +3 -3
  201. package/dist/entities/view-metadata.entity.js.map +1 -1
  202. package/dist/helpers/date.helper.d.ts +1 -1
  203. package/dist/helpers/date.helper.d.ts.map +1 -1
  204. package/dist/helpers/date.helper.js +24 -2
  205. package/dist/helpers/date.helper.js.map +1 -1
  206. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts.map +1 -1
  207. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js +13 -2
  208. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
  209. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +0 -1
  210. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts.map +1 -1
  211. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +4 -9
  212. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  213. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +0 -1
  214. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
  215. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +7 -8
  216. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  217. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +0 -1
  218. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts.map +1 -1
  219. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +4 -9
  220. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  221. package/dist/helpers/model-metadata-helper.service.d.ts +4 -1
  222. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  223. package/dist/helpers/model-metadata-helper.service.js +52 -30
  224. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  225. package/dist/helpers/module-metadata-helper.service.d.ts +1 -0
  226. package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
  227. package/dist/helpers/module-metadata-helper.service.js +9 -0
  228. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  229. package/dist/helpers/module.helper.d.ts +1 -0
  230. package/dist/helpers/module.helper.d.ts.map +1 -1
  231. package/dist/helpers/module.helper.js +26 -2
  232. package/dist/helpers/module.helper.js.map +1 -1
  233. package/dist/helpers/schematic.service.d.ts +9 -3
  234. package/dist/helpers/schematic.service.d.ts.map +1 -1
  235. package/dist/helpers/schematic.service.js +49 -32
  236. package/dist/helpers/schematic.service.js.map +1 -1
  237. package/dist/helpers/solid-registry.d.ts +14 -2
  238. package/dist/helpers/solid-registry.d.ts.map +1 -1
  239. package/dist/helpers/solid-registry.js +10 -0
  240. package/dist/helpers/solid-registry.js.map +1 -1
  241. package/dist/helpers/typeorm-db-helper.d.ts +3 -0
  242. package/dist/helpers/typeorm-db-helper.d.ts.map +1 -0
  243. package/dist/helpers/typeorm-db-helper.js +24 -0
  244. package/dist/helpers/typeorm-db-helper.js.map +1 -0
  245. package/dist/index.d.ts +7 -2
  246. package/dist/index.d.ts.map +1 -1
  247. package/dist/index.js +8 -3
  248. package/dist/index.js.map +1 -1
  249. package/dist/interfaces.d.ts +3 -0
  250. package/dist/interfaces.d.ts.map +1 -1
  251. package/dist/interfaces.js.map +1 -1
  252. package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts +1 -0
  253. package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts.map +1 -1
  254. package/dist/jobs/computed-field-evaluation-subscriber.service.js +16 -4
  255. package/dist/jobs/computed-field-evaluation-subscriber.service.js.map +1 -1
  256. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  257. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +6 -1
  258. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  259. package/dist/repository/media.repository.d.ts.map +1 -1
  260. package/dist/repository/media.repository.js +4 -0
  261. package/dist/repository/media.repository.js.map +1 -1
  262. package/dist/repository/model-sequence.repository.d.ts +14 -0
  263. package/dist/repository/model-sequence.repository.d.ts.map +1 -0
  264. package/dist/repository/model-sequence.repository.js +103 -0
  265. package/dist/repository/model-sequence.repository.js.map +1 -0
  266. package/dist/seeders/module-metadata-seeder.service.d.ts +8 -13
  267. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  268. package/dist/seeders/module-metadata-seeder.service.js +103 -43
  269. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  270. package/dist/seeders/seed-data/solid-core-metadata.json +553 -652
  271. package/dist/seeders/system-fields-seeder.service.d.ts +1 -0
  272. package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
  273. package/dist/seeders/system-fields-seeder.service.js +12 -3
  274. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  275. package/dist/services/action-metadata.service.d.ts.map +1 -1
  276. package/dist/services/action-metadata.service.js +1 -0
  277. package/dist/services/action-metadata.service.js.map +1 -1
  278. package/dist/services/ai-interaction.service.d.ts.map +1 -1
  279. package/dist/services/ai-interaction.service.js +2 -1
  280. package/dist/services/ai-interaction.service.js.map +1 -1
  281. package/dist/services/authentication.service.d.ts.map +1 -1
  282. package/dist/services/authentication.service.js +22 -14
  283. package/dist/services/authentication.service.js.map +1 -1
  284. package/dist/services/chatter-message-details.service.d.ts.map +1 -1
  285. package/dist/services/chatter-message-details.service.js +1 -0
  286. package/dist/services/chatter-message-details.service.js.map +1 -1
  287. package/dist/services/chatter-message.service.d.ts.map +1 -1
  288. package/dist/services/chatter-message.service.js +7 -3
  289. package/dist/services/chatter-message.service.js.map +1 -1
  290. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  291. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +10 -6
  292. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  293. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +15 -0
  294. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -0
  295. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +72 -0
  296. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -0
  297. package/dist/services/crud-helper.service.d.ts +31 -6
  298. package/dist/services/crud-helper.service.d.ts.map +1 -1
  299. package/dist/services/crud-helper.service.js +285 -50
  300. package/dist/services/crud-helper.service.js.map +1 -1
  301. package/dist/services/crud.service.d.ts +7 -2
  302. package/dist/services/crud.service.d.ts.map +1 -1
  303. package/dist/services/crud.service.js +135 -26
  304. package/dist/services/crud.service.js.map +1 -1
  305. package/dist/services/database/database-bootstrap.service.d.ts +12 -0
  306. package/dist/services/database/database-bootstrap.service.d.ts.map +1 -0
  307. package/dist/services/database/database-bootstrap.service.js +115 -0
  308. package/dist/services/database/database-bootstrap.service.js.map +1 -0
  309. package/dist/services/email-template.service.d.ts +7 -7
  310. package/dist/services/email-template.service.d.ts.map +1 -1
  311. package/dist/services/email-template.service.js +8 -7
  312. package/dist/services/email-template.service.js.map +1 -1
  313. package/dist/services/excel.service.d.ts +10 -0
  314. package/dist/services/excel.service.d.ts.map +1 -1
  315. package/dist/services/excel.service.js +100 -0
  316. package/dist/services/excel.service.js.map +1 -1
  317. package/dist/services/field-metadata.service.d.ts +146 -6
  318. package/dist/services/field-metadata.service.d.ts.map +1 -1
  319. package/dist/services/field-metadata.service.js +218 -58
  320. package/dist/services/field-metadata.service.js.map +1 -1
  321. package/dist/services/file.service.d.ts +1 -0
  322. package/dist/services/file.service.d.ts.map +1 -1
  323. package/dist/services/file.service.js +9 -0
  324. package/dist/services/file.service.js.map +1 -1
  325. package/dist/services/fixtures.service.d.ts +13 -0
  326. package/dist/services/fixtures.service.d.ts.map +1 -0
  327. package/dist/services/fixtures.service.js +95 -0
  328. package/dist/services/fixtures.service.js.map +1 -0
  329. package/dist/services/genai/ingest-metadata.service.d.ts.map +1 -1
  330. package/dist/services/genai/ingest-metadata.service.js +1 -1
  331. package/dist/services/genai/ingest-metadata.service.js.map +1 -1
  332. package/dist/services/import-transaction-error-log.service.d.ts.map +1 -1
  333. package/dist/services/import-transaction-error-log.service.js +1 -0
  334. package/dist/services/import-transaction-error-log.service.js.map +1 -1
  335. package/dist/services/import-transaction.service.d.ts.map +1 -1
  336. package/dist/services/import-transaction.service.js +7 -1
  337. package/dist/services/import-transaction.service.js.map +1 -1
  338. package/dist/services/list-of-values.service.d.ts +2 -2
  339. package/dist/services/list-of-values.service.d.ts.map +1 -1
  340. package/dist/services/list-of-values.service.js +2 -1
  341. package/dist/services/list-of-values.service.js.map +1 -1
  342. package/dist/services/locale.service.d.ts.map +1 -1
  343. package/dist/services/locale.service.js +1 -0
  344. package/dist/services/locale.service.js.map +1 -1
  345. package/dist/services/mail/smtp-email.service.js +0 -1
  346. package/dist/services/mail/smtp-email.service.js.map +1 -1
  347. package/dist/services/media.service.d.ts +3 -3
  348. package/dist/services/media.service.d.ts.map +1 -1
  349. package/dist/services/media.service.js +6 -4
  350. package/dist/services/media.service.js.map +1 -1
  351. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  352. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +17 -6
  353. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  354. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  355. package/dist/services/mediaStorageProviders/file-storage-provider.js +0 -13
  356. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  357. package/dist/services/menu-item-metadata.service.d.ts +3 -1
  358. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  359. package/dist/services/menu-item-metadata.service.js +35 -11
  360. package/dist/services/menu-item-metadata.service.js.map +1 -1
  361. package/dist/services/model-metadata.service.d.ts.map +1 -1
  362. package/dist/services/model-metadata.service.js +16 -45
  363. package/dist/services/model-metadata.service.js.map +1 -1
  364. package/dist/services/model-sequence.service.d.ts +23 -0
  365. package/dist/services/model-sequence.service.d.ts.map +1 -0
  366. package/dist/services/model-sequence.service.js +55 -0
  367. package/dist/services/model-sequence.service.js.map +1 -0
  368. package/dist/services/module-metadata.service.d.ts +1 -0
  369. package/dist/services/module-metadata.service.d.ts.map +1 -1
  370. package/dist/services/module-metadata.service.js +35 -1
  371. package/dist/services/module-metadata.service.js.map +1 -1
  372. package/dist/services/mq-message.service.d.ts.map +1 -1
  373. package/dist/services/mq-message.service.js +3 -4
  374. package/dist/services/mq-message.service.js.map +1 -1
  375. package/dist/services/permission-metadata.service.d.ts +5 -5
  376. package/dist/services/permission-metadata.service.d.ts.map +1 -1
  377. package/dist/services/permission-metadata.service.js +6 -5
  378. package/dist/services/permission-metadata.service.js.map +1 -1
  379. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  380. package/dist/services/queues/database-subscriber.service.js +2 -1
  381. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  382. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
  383. package/dist/services/queues/publisher-factory.service.js +4 -0
  384. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  385. package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
  386. package/dist/services/queues/rabbitmq-subscriber.service.js +2 -2
  387. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  388. package/dist/services/role-metadata.service.d.ts.map +1 -1
  389. package/dist/services/role-metadata.service.js +1 -0
  390. package/dist/services/role-metadata.service.js.map +1 -1
  391. package/dist/services/scheduled-job.service.d.ts +6 -6
  392. package/dist/services/scheduled-job.service.d.ts.map +1 -1
  393. package/dist/services/scheduled-job.service.js +8 -8
  394. package/dist/services/scheduled-job.service.js.map +1 -1
  395. package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
  396. package/dist/services/scheduled-jobs/scheduler.service.js +4 -0
  397. package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
  398. package/dist/services/security-rule.service.d.ts.map +1 -1
  399. package/dist/services/security-rule.service.js +1 -0
  400. package/dist/services/security-rule.service.js.map +1 -1
  401. package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts.map +1 -1
  402. package/dist/services/selection-providers/list-of-models-selection-provider.service.js +4 -0
  403. package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
  404. package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.d.ts +2 -2
  405. package/dist/services/selection-providers/list-of-values-selection-providers.service.d.ts.map +1 -0
  406. package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.js +3 -3
  407. package/dist/services/selection-providers/list-of-values-selection-providers.service.js.map +1 -0
  408. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts +20 -0
  409. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts.map +1 -0
  410. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +87 -0
  411. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -0
  412. package/dist/services/setting.service.d.ts +7 -5
  413. package/dist/services/setting.service.d.ts.map +1 -1
  414. package/dist/services/setting.service.js +28 -5
  415. package/dist/services/setting.service.js.map +1 -1
  416. package/dist/services/sms-template.service.d.ts +7 -7
  417. package/dist/services/sms-template.service.d.ts.map +1 -1
  418. package/dist/services/sms-template.service.js +8 -7
  419. package/dist/services/sms-template.service.js.map +1 -1
  420. package/dist/services/solid-introspect.service.d.ts +10 -3
  421. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  422. package/dist/services/solid-introspect.service.js +66 -12
  423. package/dist/services/solid-introspect.service.js.map +1 -1
  424. package/dist/services/solid-ts-morph.service.js +2 -2
  425. package/dist/services/solid-ts-morph.service.js.map +1 -1
  426. package/dist/services/user-activity-history.service.d.ts.map +1 -1
  427. package/dist/services/user-activity-history.service.js +1 -0
  428. package/dist/services/user-activity-history.service.js.map +1 -1
  429. package/dist/services/user-view-metadata.service.d.ts.map +1 -1
  430. package/dist/services/user-view-metadata.service.js +3 -2
  431. package/dist/services/user-view-metadata.service.js.map +1 -1
  432. package/dist/services/user.service.d.ts.map +1 -1
  433. package/dist/services/user.service.js +1 -0
  434. package/dist/services/user.service.js.map +1 -1
  435. package/dist/services/view-metadata.service.d.ts +3 -1
  436. package/dist/services/view-metadata.service.d.ts.map +1 -1
  437. package/dist/services/view-metadata.service.js +33 -5
  438. package/dist/services/view-metadata.service.js.map +1 -1
  439. package/dist/solid-core-cli-db.module.d.ts.map +1 -1
  440. package/dist/solid-core-cli-db.module.js +5 -2
  441. package/dist/solid-core-cli-db.module.js.map +1 -1
  442. package/dist/solid-core.module.d.ts.map +1 -1
  443. package/dist/solid-core.module.js +23 -1
  444. package/dist/solid-core.module.js.map +1 -1
  445. package/dist/subscribers/audit.subscriber.d.ts +3 -2
  446. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  447. package/dist/subscribers/audit.subscriber.js +8 -10
  448. package/dist/subscribers/audit.subscriber.js.map +1 -1
  449. package/dist/subscribers/computed-entity-field.subscriber.d.ts +7 -4
  450. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  451. package/dist/subscribers/computed-entity-field.subscriber.js +60 -21
  452. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  453. package/dist/subscribers/created-by-updated-by.subscriber.d.ts +4 -2
  454. package/dist/subscribers/created-by-updated-by.subscriber.d.ts.map +1 -1
  455. package/dist/subscribers/created-by-updated-by.subscriber.js +10 -8
  456. package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
  457. package/dist/subscribers/field-metadata.subscriber.d.ts.map +1 -1
  458. package/dist/subscribers/field-metadata.subscriber.js +0 -1
  459. package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
  460. package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
  461. package/dist/subscribers/model-metadata.subscriber.js +3 -2
  462. package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
  463. package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts +3 -2
  464. package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts.map +1 -1
  465. package/dist/subscribers/soft-delete-aware-event.subscriber.js +6 -11
  466. package/dist/subscribers/soft-delete-aware-event.subscriber.js.map +1 -1
  467. package/dist/transformers/typeorm/local-date-time-transformer.d.ts +5 -0
  468. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -0
  469. package/dist/transformers/typeorm/local-date-time-transformer.js +26 -0
  470. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -0
  471. package/dist/tsconfig.tsbuildinfo +1 -1
  472. package/docs/grouping-enhancements.md +89 -0
  473. package/package.json +1 -1
  474. package/sql/default/mssql/proc_CleanupModelMetadata.sql +175 -0
  475. package/sql/default/mssql/proc_CleanupModuleMetadata.sql +78 -0
  476. package/sql/default/mssql/scratchpad.sql.txt +10 -0
  477. package/sql/default/postgres/proc_CleanupModelMetadata.sql +148 -0
  478. package/sql/default/postgres/proc_CleanupModuleMetadata.sql +50 -0
  479. package/sql/default/postgres/scratchpad.sql.txt +12 -0
  480. package/sql-server-changes.txt +88 -0
  481. package/src/commands/fixtures/fixtures-setup.command.ts +44 -0
  482. package/src/commands/fixtures/fixtures-tear-down.command.ts +45 -0
  483. package/src/commands/mcp.command.ts +215 -0
  484. package/src/commands/refresh-model.command.ts +39 -5
  485. package/src/commands/remove-fields.command.ts +1 -1
  486. package/src/commands/seed.command.ts +34 -15
  487. package/src/constants/error-messages.ts +7 -1
  488. package/src/controllers/authentication.controller.ts +1 -1
  489. package/src/controllers/email-template.controller.ts +1 -1
  490. package/src/controllers/field-metadata.controller.ts +7 -1
  491. package/src/controllers/media-storage-provider-metadata.controller.ts +1 -1
  492. package/src/controllers/model-metadata.controller.ts +1 -1
  493. package/src/controllers/model-sequence.controller.ts +93 -0
  494. package/src/controllers/module-metadata.controller.ts +1 -1
  495. package/src/controllers/otp-authentication.controller.ts +1 -1
  496. package/src/controllers/service.controller.ts +1 -1
  497. package/src/controllers/setting.controller.ts +33 -21
  498. package/src/controllers/sms-template.controller.ts +1 -1
  499. package/src/controllers/test-queue.controller.ts +1 -1
  500. package/src/controllers/test.controller.ts +1 -1
  501. package/src/dtos/basic-filters.dto.ts +6 -1
  502. package/src/dtos/basic-group-filters.dto.ts +23 -0
  503. package/src/dtos/create-ai-interaction.dto.ts +16 -9
  504. package/src/dtos/create-field-metadata.dto.ts +43 -13
  505. package/src/dtos/create-import-transaction.dto.ts +0 -4
  506. package/src/dtos/create-model-metadata.dto.ts +10 -0
  507. package/src/dtos/create-model-sequence.dto.ts +51 -0
  508. package/src/dtos/create-role-metadata.dto.ts +23 -4
  509. package/src/dtos/get-mcp-url.dto.ts +13 -0
  510. package/src/dtos/resolve-s3-url.dto.ts +31 -0
  511. package/src/dtos/update-ai-interaction.dto.ts +16 -9
  512. package/src/dtos/update-field-metadata.dto.ts +1 -2
  513. package/src/dtos/update-import-transaction.dto.ts +0 -4
  514. package/src/dtos/update-model-sequence.dto.ts +53 -0
  515. package/src/entities/action-metadata.entity.ts +4 -4
  516. package/src/entities/ai-interaction.entity.ts +16 -12
  517. package/src/entities/chatter-message-details.entity.ts +18 -18
  518. package/src/entities/chatter-message.entity.ts +2 -2
  519. package/src/entities/common.entity.ts +20 -11
  520. package/src/entities/dashboard-question-sql-dataset-config.entity.ts +2 -2
  521. package/src/entities/dashboard-question.entity.ts +3 -3
  522. package/src/entities/dashboard-variable.entity.ts +3 -3
  523. package/src/entities/dashboard.entity.ts +1 -1
  524. package/src/entities/email-template.entity.ts +4 -3
  525. package/src/entities/export-template.entity.ts +2 -2
  526. package/src/entities/export-transaction.entity.ts +2 -2
  527. package/src/entities/field-metadata.entity.ts +6 -3
  528. package/src/entities/import-transaction-error-log.entity.ts +2 -2
  529. package/src/entities/import-transaction.entity.ts +2 -5
  530. package/src/entities/legacy-common-with-id.entity.ts +11 -0
  531. package/src/entities/legacy-common.entity.ts +58 -0
  532. package/src/entities/list-of-values.entity.ts +2 -2
  533. package/src/entities/locale.entity.ts +1 -1
  534. package/src/entities/media.entity.ts +25 -25
  535. package/src/entities/menu-item-metadata.entity.ts +4 -4
  536. package/src/entities/model-metadata.entity.ts +9 -2
  537. package/src/entities/model-sequence.entity.ts +32 -0
  538. package/src/entities/mq-message-queue.entity.ts +1 -1
  539. package/src/entities/mq-message.entity.ts +34 -34
  540. package/src/entities/saved-filters.entity.ts +5 -5
  541. package/src/entities/scheduled-job.entity.ts +4 -4
  542. package/src/entities/security-rule.entity.ts +2 -2
  543. package/src/entities/setting.entity.ts +2 -2
  544. package/src/entities/sms-template.entity.ts +2 -2
  545. package/src/entities/user-activity-history.entity.ts +14 -14
  546. package/src/entities/user-view-metadata.entity.ts +2 -2
  547. package/src/entities/user.entity.ts +15 -15
  548. package/src/entities/view-metadata.entity.ts +3 -3
  549. package/src/helpers/date.helper.ts +31 -10
  550. package/src/helpers/field-crud-managers/BigIntFieldCrudManager.ts +18 -5
  551. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +9 -9
  552. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +16 -8
  553. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +9 -9
  554. package/src/helpers/model-metadata-helper.service.ts +67 -34
  555. package/src/helpers/module-metadata-helper.service.ts +18 -1
  556. package/src/helpers/module.helper.ts +37 -1
  557. package/src/helpers/schematic.service.ts +72 -46
  558. package/src/helpers/solid-registry.ts +28 -2
  559. package/src/helpers/typeorm-db-helper.ts +26 -0
  560. package/src/index.ts +7 -2
  561. package/src/interfaces.ts +3 -0
  562. package/src/jobs/computed-field-evaluation-subscriber.service.ts +15 -4
  563. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +17 -21
  564. package/src/repository/media.repository.ts +3 -2
  565. package/src/repository/model-sequence.repository.ts +97 -0
  566. package/src/seeders/module-metadata-seeder.service.ts +176 -58
  567. package/src/seeders/seed-data/solid-core-metadata.json +555 -654
  568. package/src/seeders/system-fields-seeder.service.ts +39 -36
  569. package/src/services/action-metadata.service.ts +3 -2
  570. package/src/services/ai-interaction.service.ts +3 -2
  571. package/src/services/authentication.service.ts +46 -14
  572. package/src/services/chatter-message-details.service.ts +2 -1
  573. package/src/services/chatter-message.service.ts +10 -4
  574. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +17 -12
  575. package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +86 -0
  576. package/src/services/crud-helper.service.ts +319 -53
  577. package/src/services/crud.service.ts +233 -34
  578. package/src/services/database/database-bootstrap.service.ts +91 -0
  579. package/src/services/email-template.service.ts +11 -13
  580. package/src/services/excel.service.ts +146 -3
  581. package/src/services/field-metadata.service.ts +322 -70
  582. package/src/services/file.service.ts +9 -0
  583. package/src/services/fixtures.service.ts +108 -0
  584. package/src/services/genai/ingest-metadata.service.ts +4 -3
  585. package/src/services/import-transaction-error-log.service.ts +2 -1
  586. package/src/services/import-transaction.service.ts +8 -4
  587. package/src/services/list-of-values.service.ts +4 -4
  588. package/src/services/locale.service.ts +2 -1
  589. package/src/services/mail/smtp-email.service.ts +1 -1
  590. package/src/services/media.service.ts +10 -11
  591. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +22 -7
  592. package/src/services/mediaStorageProviders/file-storage-provider.ts +18 -13
  593. package/src/services/menu-item-metadata.service.ts +87 -52
  594. package/src/services/model-metadata.service.ts +68 -47
  595. package/src/services/model-sequence.service.ts +33 -0
  596. package/src/services/module-metadata.service.ts +49 -2
  597. package/src/services/mq-message.service.ts +16 -15
  598. package/src/services/permission-metadata.service.ts +8 -9
  599. package/src/services/queues/database-subscriber.service.ts +3 -1
  600. package/src/services/queues/publisher-factory.service.ts +2 -1
  601. package/src/services/queues/rabbitmq-subscriber.service.ts +4 -2
  602. package/src/services/role-metadata.service.ts +1 -0
  603. package/src/services/scheduled-job.service.ts +9 -9
  604. package/src/services/scheduled-jobs/scheduler.service.ts +5 -0
  605. package/src/services/security-rule.service.ts +1 -0
  606. package/src/services/selection-providers/list-of-models-selection-provider.service.ts +5 -2
  607. package/src/{providers → services/selection-providers}/list-of-values-selection-providers.service.ts +2 -2
  608. package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +94 -0
  609. package/src/services/setting.service.ts +46 -16
  610. package/src/services/sms-template.service.ts +11 -13
  611. package/src/services/solid-introspect.service.ts +97 -10
  612. package/src/services/solid-ts-morph.service.ts +2 -2
  613. package/src/services/user-activity-history.service.ts +3 -2
  614. package/src/services/user-view-metadata.service.ts +4 -3
  615. package/src/services/user.service.ts +2 -1
  616. package/src/services/view-metadata.service.ts +52 -21
  617. package/src/solid-core-cli-db.module.ts +5 -4
  618. package/src/solid-core.module.ts +23 -1
  619. package/src/subscribers/audit.subscriber.ts +14 -9
  620. package/src/subscribers/computed-entity-field.subscriber.ts +71 -22
  621. package/src/subscribers/created-by-updated-by.subscriber.ts +14 -8
  622. package/src/subscribers/field-metadata.subscriber.ts +1 -1
  623. package/src/subscribers/model-metadata.subscriber.ts +4 -2
  624. package/src/subscribers/soft-delete-aware-event.subscriber.ts +12 -6
  625. package/src/transformers/typeorm/local-date-time-transformer.ts +30 -0
  626. package/dist/providers/list-of-values-selection-providers.service.d.ts.map +0 -1
  627. package/dist/providers/list-of-values-selection-providers.service.js.map +0 -1
  628. package/src/commands/ingest-rag-chunking-strategy-for.md +0 -224
  629. package/src/entities/user.entity.ts.bkp +0 -144
  630. package/src/services/docker exec -it mssql //" +0 -8
@@ -7,21 +7,30 @@ import { ComputedFieldMetadata, SolidRegistry } from 'src/helpers/solid-registry
7
7
  import { FieldMetadataRepository } from 'src/repository/field-metadata.repository';
8
8
  import { DataSource, Repository, SelectQueryBuilder } from 'typeorm';
9
9
  import { BasicFilterDto } from '../dtos/basic-filters.dto';
10
- import { CascadeType, ComputedFieldValueType, CreateFieldMetadataDto, DecryptWhenType, EncryptionType, MediaType, PSQLType, RelationType, SelectionValueType, SolidFieldType } from '../dtos/create-field-metadata.dto';
10
+ import { CascadeType, ComputedFieldValueType, CreateFieldMetadataDto, DecryptWhenType, EncryptionType, MediaType, MSSQLType, PSQLType, RelationType, SelectionValueType, SolidFieldType } from '../dtos/create-field-metadata.dto';
11
11
  import { SelectionDynamicQueryDto } from '../dtos/selection-dynamic-query.dto';
12
12
  import { UpdateFieldMetaDataDto } from '../dtos/update-field-metadata.dto';
13
13
  import { FieldMetadata } from '../entities/field-metadata.entity';
14
14
  import { ModelMetadata } from '../entities/model-metadata.entity';
15
- import { ISelectionProviderValues } from '../interfaces';
15
+ import { ISelectionProviderValues, MediaStorageProvider } from '../interfaces';
16
16
  import { CrudHelperService } from './crud-helper.service';
17
17
  import { ERROR_MESSAGES } from 'src/constants/error-messages';
18
18
  import qs from 'qs';
19
+ import { ResolveS3UrlDto } from 'src/dtos/resolve-s3-url.dto';
20
+ import { MediaStorageProviderMetadataRepository } from 'src/repository/media-storage-provider-metadata.repository';
21
+ import { ConfigService } from '@nestjs/config';
22
+ import { FileService } from './file.service';
23
+ import { MediaStorageProviderMetadata } from 'src/entities/media-storage-provider-metadata.entity';
19
24
 
20
25
 
21
26
  @Injectable()
22
27
  export class FieldMetadataService implements OnApplicationBootstrap {
23
28
  constructor(
24
29
  private readonly fieldMetadataRepo: FieldMetadataRepository,
30
+ private readonly configService: ConfigService,
31
+ private readonly fileService: FileService,
32
+ private readonly mediaStorageProviderMetadataRepository: MediaStorageProviderMetadataRepository,
33
+
25
34
  @InjectDataSource()
26
35
  private readonly dataSource: DataSource,
27
36
  private readonly solidRegistry: SolidRegistry,
@@ -35,9 +44,9 @@ export class FieldMetadataService implements OnApplicationBootstrap {
35
44
  this.loadAndRegisterComputedFieldsDetails();
36
45
  }
37
46
 
38
- async loadAndRegisterComputedFieldsDetails() {
47
+ async loadAndRegisterComputedFieldsDetails() {
39
48
  // Load all the modules and models and within that load all the computed fields
40
- const computedFieldsWithModelAndModule = await this.fieldMetadataRepo.findComputedFieldsPopulatedWithModelAndModule();
49
+ const computedFieldsWithModelAndModule = await this.fieldMetadataRepo.findComputedFieldsPopulatedWithModelAndModule();
41
50
 
42
51
  // Convert the computed fields object above to the ComputedFieldMetadata type
43
52
  const computedFieldMetadata: ComputedFieldMetadata[] = computedFieldsWithModelAndModule.map((field) => {
@@ -54,6 +63,7 @@ export class FieldMetadataService implements OnApplicationBootstrap {
54
63
  computedFieldTriggerConfig: field.computedFieldTriggerConfig ?? [], // Ensure it's an array, default to empty if not provided
55
64
  computedFieldValueProviderName: field.computedFieldValueProvider,
56
65
  computedFieldValueProviderCtxt: field.computedFieldValueProviderCtxt ? JSON.parse(field.computedFieldValueProviderCtxt) : {}, // Parse the context if it exists, default to empty object
66
+ eventContext: {}
57
67
  };
58
68
  });
59
69
 
@@ -354,7 +364,71 @@ export class FieldMetadataService implements OnApplicationBootstrap {
354
364
  };
355
365
 
356
366
  // Orm Data type and Solid Dat Type Mapping
357
- const ormFieldTypeForSolid = {
367
+ const ormFieldTypeForSolid = this.getOrmFieldTypes();
368
+
369
+ // Fetch Data Source Type
370
+ const dataSourceTypes = Object.keys(ormFieldTypeForSolid); // ["psql"]
371
+
372
+ const fieldTypes = Object.entries(ormFieldTypeForSolid.postgres).map(([key, value]) => ({
373
+ type: key,
374
+ label: key,
375
+ value: key,
376
+ fieldType: key,
377
+ ormTypes: value.ormTypes,
378
+ fields: this.fetchCurrentFields(key)
379
+ }));
380
+
381
+ const dataSource = this.solidRegistry.getSolidDatabaseModules().map((solidDatabaseModule) => {
382
+ return {
383
+ 'name': solidDatabaseModule.instance.name(),
384
+ 'type': solidDatabaseModule.instance.type()
385
+ }
386
+ });
387
+
388
+ // Creating response arrays for each enum
389
+ // Get all selection providers.
390
+ const sps = [];
391
+ const selectionProviders = this.solidRegistry.getSelectionProviders();
392
+ for (let i = 0; i < selectionProviders.length; i++) {
393
+ const selectionProvider = selectionProviders[i];
394
+ sps.push({
395
+ provider: selectionProvider.instance.name(),
396
+ help: selectionProvider.instance.help(),
397
+ });
398
+ }
399
+
400
+ const cps = [];
401
+ const computedProviders = this.solidRegistry.getComputedFieldProviders();
402
+ for (let i = 0; i < computedProviders.length; i++) {
403
+ const computedProvider = computedProviders[i];
404
+ cps.push({
405
+ provider: computedProvider.instance.name(),
406
+ help: computedProvider.instance.help(),
407
+ });
408
+ }
409
+
410
+ const r = {
411
+ // Field Types with ormtypes, available fields
412
+ fieldTypes: fieldTypes,
413
+ encryptionTypes: enumToResponseArray(EncryptionType),
414
+ ormType: ormFieldTypeForSolid,
415
+ decryptWhenTypes: enumToResponseArray(DecryptWhenType),
416
+ mediaTypes: enumToResponseArray(MediaType),
417
+ relationTypes: enumToResponseArray(RelationType),
418
+ selectionDynamicProviders: sps,
419
+ computedProviders: cps,
420
+ cascadeTypes: enumToResponseArray(CascadeType),
421
+ selectionValueTypes: enumToResponseArray(SelectionValueType),
422
+ computedFieldValueTypes: enumToResponseArray(ComputedFieldValueType),
423
+ dataSourceType: dataSourceTypes,
424
+ dataSource: dataSource,
425
+ };
426
+
427
+ return r
428
+ }
429
+
430
+ private getOrmFieldTypes() {
431
+ return {
358
432
  "postgres": {
359
433
  // Numeric types
360
434
  "int": {
@@ -379,6 +453,8 @@ export class FieldMetadataService implements OnApplicationBootstrap {
379
453
  },
380
454
  "json": {
381
455
  "ormTypes": [
456
+ // { label: PSQLType.simplejson, description: "Creates DB agnostic column for storing json style data." },
457
+ { label: MSSQLType.simplejson, description: "Creates DB agnostic column for storing json style data." },
382
458
  { label: PSQLType.json, description: "Stores JSON data without indexing." },
383
459
  { label: PSQLType.jsonb, description: "Stores JSON data with indexing for faster queries." }
384
460
  ]
@@ -443,69 +519,131 @@ export class FieldMetadataService implements OnApplicationBootstrap {
443
519
  "uuid": {
444
520
  "ormTypes": [{ label: PSQLType.varchar, description: "Stores universally unique identifiers (UUIDs)." }]
445
521
  }
446
- }
447
- };
522
+ },
523
+ "mssql": {
524
+ // Numeric types
525
+ "int": {
526
+ ormTypes: [
527
+ { label: MSSQLType.int, description: "A 4-byte integer for general numeric data." }
528
+ ]
529
+ },
530
+ "bigint": {
531
+ ormTypes: [
532
+ { label: MSSQLType.bigint, description: "An 8-byte integer for large numeric values." }
533
+ ]
534
+ },
535
+ "decimal": {
536
+ ormTypes: [
537
+ { label: MSSQLType.numeric, description: "A high-precision numeric type for financial or exact values." },
538
+ { label: MSSQLType.decimal, description: "A high-precision decimal type for financial or exact values." }
539
+ ]
540
+ },
448
541
 
542
+ // Text types
543
+ "shortText": {
544
+ ormTypes: [
545
+ { label: MSSQLType.varchar, description: "A variable-length string for short text." },
546
+ { label: MSSQLType.nvarchar, description: "A unicode supported variable-length string for short text." }
547
+ ]
548
+ },
549
+ "longText": {
550
+ ormTypes: [
551
+ { label: MSSQLType.nvarchar, description: "A large or unbounded string type." }
552
+ ]
553
+ },
554
+ "richText": {
555
+ ormTypes: [
556
+ { label: MSSQLType.nvarchar, description: "A large text field for formatted or long content." }
557
+ ]
558
+ },
559
+ "json": {
560
+ ormTypes: [
561
+ { label: MSSQLType.simplejson, description: "Creates DB agnostic column for storing json style data." },
562
+ { label: MSSQLType.nvarchar, description: "Stores JSON data as string (MSSQL doesn't have native JSON type)." }
563
+ ]
564
+ },
449
565
 
450
- // Fetch Data Source Type
451
- const dataSourceTypes = Object.keys(ormFieldTypeForSolid); // ["psql"]
566
+ // Boolean types
567
+ "boolean": {
568
+ ormTypes: [
569
+ { label: MSSQLType.bit, description: "Stores true or false values as 0 or 1." }
570
+ ]
571
+ },
452
572
 
453
- const fieldTypes = Object.entries(ormFieldTypeForSolid.postgres).map(([key, value]) => ({
454
- type: key,
455
- label: key,
456
- value: key,
457
- fieldType: key,
458
- ormTypes: value.ormTypes,
459
- fields: this.fetchCurrentFields(key)
460
- }));
573
+ // Date and time types
574
+ "date": {
575
+ ormTypes: [
576
+ { label: MSSQLType.date, description: "Stores calendar dates (YYYY-MM-DD)." }
577
+ ]
578
+ },
579
+ "datetime": {
580
+ ormTypes: [
581
+ { label: MSSQLType.datetime, description: "Stores date and time without timezone." },
582
+ { label: MSSQLType.datetime2, description: "High-precision date and time type." }
583
+ ]
584
+ },
585
+ "time": {
586
+ ormTypes: [
587
+ { label: MSSQLType.time, description: "Stores time values (HH:MM:SS)." }
588
+ ]
589
+ },
461
590
 
462
- const dataSource = this.solidRegistry.getSolidDatabaseModules().map((solidDatabaseModule) => {
463
- return {
464
- 'name': solidDatabaseModule.instance.name(),
465
- 'type': solidDatabaseModule.instance.type()
466
- }
467
- });
591
+ // Relation
592
+ "relation": {
593
+ ormTypes: [
594
+ { label: MSSQLType.int, description: "Used for foreign keys referencing other entities." }
595
+ ]
596
+ },
468
597
 
469
- // Creating response arrays for each enum
470
- // Get all selection providers.
471
- const sps = [];
472
- const selectionProviders = this.solidRegistry.getSelectionProviders();
473
- for (let i = 0; i < selectionProviders.length; i++) {
474
- const selectionProvider = selectionProviders[i];
475
- sps.push({
476
- provider: selectionProvider.instance.name(),
477
- help: selectionProvider.instance.help(),
478
- });
479
- }
598
+ // Media types
599
+ "mediaSingle": {
600
+ ormTypes: [
601
+ { label: MSSQLType.varchar, description: "Stores file paths or URLs for single media files." }
602
+ ]
603
+ },
604
+ "mediaMultiple": {
605
+ ormTypes: [
606
+ { label: MSSQLType.varchar, description: "Stores file paths or URLs for multiple media files." }
607
+ ]
608
+ },
480
609
 
481
- const cps = [];
482
- const computedProviders = this.solidRegistry.getComputedFieldProviders();
483
- for (let i = 0; i < computedProviders.length; i++) {
484
- const computedProvider = computedProviders[i];
485
- cps.push({
486
- provider: computedProvider.instance.name(),
487
- help: computedProvider.instance.help(),
488
- });
489
- }
610
+ // Email and password
611
+ "email": {
612
+ ormTypes: [
613
+ { label: MSSQLType.nvarchar, description: "Stores email addresses." }
614
+ ]
615
+ },
616
+ "password": {
617
+ ormTypes: [
618
+ { label: MSSQLType.nvarchar, description: "Stores hashed or plain-text passwords." }
619
+ ]
620
+ },
490
621
 
491
- const r = {
492
- // Field Types with ormtypes, available fields
493
- fieldTypes: fieldTypes,
494
- encryptionTypes: enumToResponseArray(EncryptionType),
495
- ormType: ormFieldTypeForSolid,
496
- decryptWhenTypes: enumToResponseArray(DecryptWhenType),
497
- mediaTypes: enumToResponseArray(MediaType),
498
- relationTypes: enumToResponseArray(RelationType),
499
- selectionDynamicProviders: sps,
500
- computedProviders: cps,
501
- cascadeTypes: enumToResponseArray(CascadeType),
502
- selectionValueTypes: enumToResponseArray(SelectionValueType),
503
- computedFieldValueTypes: enumToResponseArray(ComputedFieldValueType),
504
- dataSourceType: dataSourceTypes,
505
- dataSource: dataSource,
506
- };
622
+ // Selection types
623
+ "selectionStatic": {
624
+ ormTypes: [
625
+ { label: MSSQLType.nvarchar, description: "Used for predefined selection options." }
626
+ ]
627
+ },
628
+ "selectionDynamic": {
629
+ ormTypes: [
630
+ { label: MSSQLType.nvarchar, description: "Used for dynamic selection options." }
631
+ ]
632
+ },
507
633
 
508
- return r
634
+ // Computed and external ID
635
+ "computed": {
636
+ ormTypes: [
637
+ { label: MSSQLType.nvarchar, description: "Represents computed or derived fields." }
638
+ ]
639
+ },
640
+ "uuid": {
641
+ ormTypes: [
642
+ { label: MSSQLType.uniqueidentifier, description: "Stores universally unique identifiers (UUIDs)." }
643
+ ]
644
+ }
645
+ }
646
+ };
509
647
  }
510
648
 
511
649
  async fetchCurrentFieldsBasedOnType(type: string) {
@@ -533,7 +671,8 @@ export class FieldMetadataService implements OnApplicationBootstrap {
533
671
  "encryptionType",
534
672
  "decryptWhen",
535
673
  "columnName",
536
- "enableAuditTracking"
674
+ "enableAuditTracking",
675
+ "isPrimaryKey"
537
676
  ];
538
677
 
539
678
  case SolidFieldType.bigint:
@@ -553,7 +692,8 @@ export class FieldMetadataService implements OnApplicationBootstrap {
553
692
  "encryptionType",
554
693
  "decryptWhen",
555
694
  "columnName",
556
- "enableAuditTracking"
695
+ "enableAuditTracking",
696
+ "isPrimaryKey"
557
697
  ];
558
698
 
559
699
  // case SolidFieldType.float:
@@ -616,7 +756,8 @@ export class FieldMetadataService implements OnApplicationBootstrap {
616
756
  "decryptWhen",
617
757
  "columnName",
618
758
  "isUserKey",
619
- "enableAuditTracking"
759
+ "enableAuditTracking",
760
+ "isPrimaryKey"
620
761
  ];
621
762
 
622
763
  case SolidFieldType.longtext:
@@ -639,7 +780,8 @@ export class FieldMetadataService implements OnApplicationBootstrap {
639
780
  "encrypt",
640
781
  "encryptionType",
641
782
  "decryptWhen",
642
- "columnName"
783
+ "columnName",
784
+ "enableAuditTracking"
643
785
  ];
644
786
 
645
787
  case SolidFieldType.richText:
@@ -852,7 +994,8 @@ export class FieldMetadataService implements OnApplicationBootstrap {
852
994
  "encryptionType",
853
995
  "decryptWhen",
854
996
  "columnName",
855
- "enableAuditTracking"
997
+ "enableAuditTracking",
998
+ "isPrimaryKey"
856
999
  ];
857
1000
 
858
1001
  case SolidFieldType.password:
@@ -943,7 +1086,8 @@ export class FieldMetadataService implements OnApplicationBootstrap {
943
1086
  "encryptionType",
944
1087
  "decryptWhen",
945
1088
  "columnName",
946
- "isUserKey"
1089
+ "isUserKey",
1090
+ "enableAuditTracking"
947
1091
  ];
948
1092
 
949
1093
  case SolidFieldType.uuid:
@@ -964,10 +1108,6 @@ export class FieldMetadataService implements OnApplicationBootstrap {
964
1108
  "decryptWhen",
965
1109
  "columnName"
966
1110
  ];
967
-
968
-
969
-
970
-
971
1111
  default:
972
1112
  return [
973
1113
  "name",
@@ -1145,6 +1285,118 @@ export class FieldMetadataService implements OnApplicationBootstrap {
1145
1285
 
1146
1286
  return fieldObject;
1147
1287
  }
1288
+
1289
+ // async resolveS3Url(resolveS3UrlDto: ResolveS3UrlDto) {
1290
+
1291
+ // const { modelName, fieldName, fieldValue, s3KeyFieldName } = resolveS3UrlDto;
1292
+
1293
+ // // ------------------------------------------------
1294
+ // // 1. Load model metadata
1295
+ // // ------------------------------------------------
1296
+ // const modelRepo = this.dataSource.getRepository(ModelMetadata);
1297
+ // const model = await modelRepo.findOne({
1298
+ // where: { singularName: modelName },
1299
+ // relations: ['fields']
1300
+ // });
1301
+
1302
+ // if (!model) {
1303
+ // throw new NotFoundException(`Model ${modelName} not found`);
1304
+ // }
1305
+
1306
+ // // ------------------------------------------------
1307
+ // // 2. Validate the field we are filtering by
1308
+ // // ------------------------------------------------
1309
+ // const filterFieldMeta = model.fields.find(f => f.name === fieldName);
1310
+ // if (!filterFieldMeta) {
1311
+ // throw new NotFoundException(
1312
+ // `Field ${fieldName} not found in model ${modelName}`
1313
+ // );
1314
+ // }
1315
+
1316
+ // // ------------------------------------------------
1317
+ // // 3. Load the actual entity repository
1318
+ // // ------------------------------------------------
1319
+ // const entityRepo = this.dataSource.getRepository(model.singularName);
1320
+
1321
+ // // ------------------------------------------------
1322
+ // // 4. Query using fieldName = fieldValue
1323
+ // // ------------------------------------------------
1324
+ // const record = await entityRepo.findOne({
1325
+ // where: { [fieldName]: fieldValue }
1326
+ // });
1327
+
1328
+ // if (!record) {
1329
+ // throw new NotFoundException(
1330
+ // `${modelName} record not found for ${fieldName}="${fieldValue}"`
1331
+ // );
1332
+ // }
1333
+
1334
+ // // ------------------------------------------------
1335
+ // // 5. Extract S3 key from s3KeyFieldName
1336
+ // // ------------------------------------------------
1337
+ // const s3Key = record[s3KeyFieldName];
1338
+
1339
+ // if (!s3Key) {
1340
+ // throw new NotFoundException(
1341
+ // `Field "${s3KeyFieldName}" has no value in ${modelName}.${fieldName}="${fieldValue}"`
1342
+ // );
1343
+ // }
1344
+
1345
+ // // ------------------------------------------------
1346
+ // // 6. Generate signed or public URL
1347
+ // // ------------------------------------------------
1348
+ // let url = "";
1349
+
1350
+ // // TODO - get
1351
+ // if (resolveS3UrlDto.isPrivate == "true") {
1352
+ // const expiryInSeconds = 60 * 60;
1353
+ // url = await this.fileService.getSignedUrl(s3Key, expiryInSeconds, resolveS3UrlDto.bucketName);
1354
+ // } else {
1355
+ // url = `https://${resolveS3UrlDto.bucketName}.s3.${this.configService.get('S3_AWS_REGION_NAME')}.amazonaws.com/${s3Key}`;
1356
+ // }
1357
+ // return { url: url }
1358
+ // }
1359
+
1360
+ async resolveS3Url(resolveS3UrlDto: ResolveS3UrlDto) {
1361
+ let url = "";
1362
+ const normalizedKey = this.normalizeS3Key(resolveS3UrlDto.s3Key);
1363
+
1364
+ let resolvedBucketName = resolveS3UrlDto.bucketName;
1365
+ if (resolveS3UrlDto.mediaStorageProviderUserKey) {
1366
+ const mediaStorageProvider = await this.mediaStorageProviderMetadataRepository.findOne({
1367
+ where: {
1368
+ name: resolveS3UrlDto.mediaStorageProviderUserKey
1369
+ }
1370
+ });
1371
+ if (!mediaStorageProvider) {
1372
+ throw new NotFoundException(`MediaStorageProviderMetadata with user key ${resolveS3UrlDto.mediaStorageProviderUserKey} not found`);
1373
+ }
1374
+ resolvedBucketName = mediaStorageProvider.bucketName;
1375
+ }
1376
+ this.logger.debug(`INSIDE::resolveS3Url:: resolvedBucketName: ${resolvedBucketName}`)
1377
+
1378
+ if (resolveS3UrlDto.isPrivate == "true") {
1379
+ const expiryInSeconds = 60 * 60;
1380
+ url = await this.fileService.getSignedUrl(normalizedKey, expiryInSeconds, resolvedBucketName);
1381
+ } else {
1382
+ url = `https://${resolvedBucketName}.s3.${this.configService.get(
1383
+ 'S3_AWS_REGION_NAME',
1384
+ )}.amazonaws.com/${normalizedKey}`;
1385
+ }
1386
+ return { url: url }
1387
+ }
1388
+
1389
+ private normalizeS3Key(input: string): string {
1390
+ try {
1391
+ const url = new URL(input);
1392
+
1393
+ // remove leading slash from pathname
1394
+ return decodeURIComponent(url.pathname.replace(/^\/+/, ""));
1395
+ } catch {
1396
+ // not a valid URL → treat as raw S3 key
1397
+ return input;
1398
+ }
1399
+ }
1148
1400
  }
1149
1401
 
1150
1402
 
@@ -175,6 +175,15 @@ export class FileService {
175
175
  }
176
176
  }
177
177
 
178
+ public async pathExists(targetPath: string): Promise<boolean> {
179
+ try {
180
+ await fs.promises.access(targetPath, fs.constants.F_OK);
181
+ return true;
182
+ } catch {
183
+ return false;
184
+ }
185
+ }
186
+
178
187
  public async getSignedUrl(key: string, expiresIn: number, bucketName: string): Promise<string> {
179
188
  const command = new GetObjectCommand({
180
189
  Bucket: bucketName,
@@ -0,0 +1,108 @@
1
+ import { Injectable, Logger } from "@nestjs/common";
2
+ import { SolidIntrospectService } from "./solid-introspect.service";
3
+ import { ModuleMetadataHelperService } from "src/helpers/module-metadata-helper.service";
4
+ import { classify } from "@angular-devkit/core/src/utils/strings";
5
+
6
+ interface ScenarioFixture {
7
+ name: string;
8
+ models: {
9
+ singularName: string;
10
+ data: any;
11
+ }[];
12
+ }
13
+
14
+ // This service can contain common logic for fixtures setup and tear down
15
+ @Injectable()
16
+ export class FixturesService {
17
+ private readonly logger = new Logger(this.constructor.name);
18
+
19
+ constructor(
20
+ private readonly introspectService: SolidIntrospectService,
21
+ private readonly moduleMetadataHelper: ModuleMetadataHelperService,
22
+ ) { }
23
+
24
+ async setupFixtures(moduleName: string, scenarioName: string) {
25
+ const scenarioFixture = await this.loadScenario(moduleName, scenarioName);
26
+ if (!scenarioFixture?.models || scenarioFixture.models.length === 0) {
27
+ this.logger.warn(`No models found to setup for scenario: ${scenarioName} in module: ${moduleName}`);
28
+ return;
29
+ }
30
+
31
+ // For each model in the fixtures, use introspectService to get model service
32
+ for (const modelFixture of scenarioFixture.models) {
33
+ const modelServiceInstance = await this.loadModelService(modelFixture.singularName);
34
+ try {
35
+ // Create the model instance in the database
36
+ const createdInstance = await modelServiceInstance.create(modelFixture.data);
37
+ this.logger.log(`Successfully created fixture for model: ${modelFixture.singularName} with ID: ${createdInstance.id}`);
38
+ } catch (error) {
39
+ this.logger.error(`Error creating fixture for model: ${modelFixture.singularName} - ${error.message}`);
40
+ }
41
+ }
42
+ }
43
+
44
+ async tearDownFixtures(moduleName: string, scenarioName: string) {
45
+ // Call delete on the modelService to remove the created fixtures, in reverse order
46
+ const scenarioFixture = await this.loadScenario(moduleName, scenarioName);
47
+ if (!scenarioFixture?.models || scenarioFixture.models.length === 0) {
48
+ this.logger.warn(`No models found to tear down for scenario: ${scenarioName} in module: ${moduleName}`);
49
+ return;
50
+ }
51
+
52
+ // For each model in reverse order
53
+ for (const modelFixture of scenarioFixture.models.reverse()) {
54
+ const modelServiceInstance = await this.loadModelService(modelFixture.singularName);
55
+
56
+ // Get the user key field for the model to identify the created instances
57
+ try {
58
+ // Assuming we have some way to identify the created instances, e.g., by a unique field in data
59
+ const deleteCriteria = modelFixture.data; // This should be adjusted based on actual criteria
60
+ await modelServiceInstance.delete(deleteCriteria);
61
+ this.logger.log(`Successfully deleted fixture for model: ${modelFixture.singularName}`);
62
+ } catch (error) {
63
+ this.logger.error(`Error deleting fixture for model: ${modelFixture.singularName} - ${error.message}`);
64
+ }
65
+ }
66
+
67
+ }
68
+
69
+ private async loadScenario(moduleName: string, scenarioName: string): Promise<ScenarioFixture | undefined> {
70
+ // Read the module metadata file based on module name
71
+ const moduleMetadataConfiguration = await this.moduleMetadataHelper.getModuleMetadataConfiguration(
72
+ await this.moduleMetadataHelper.getModuleMetadataFilePath(moduleName)
73
+ );
74
+ if (!moduleMetadataConfiguration) {
75
+ this.logger.error(`No module metadata configuration found for module: ${moduleName}`);
76
+ return;
77
+ }
78
+ this.logger.debug(`Module Metadata Configuration loaded for module: ${moduleName}`);
79
+
80
+ // Read the fixtures json from above file
81
+ const allFixtures = moduleMetadataConfiguration?.fixtures;
82
+ this.logger.debug(`All Fixtures: ${JSON.stringify(allFixtures)}`);
83
+ // Check if scenarios exists
84
+ if (!allFixtures?.scenarios.length || allFixtures?.scenarios.length === 0) {
85
+ this.logger.error(`No scenarios defined in the module metadata configuration for module: ${moduleName}`);
86
+ return;
87
+ }
88
+
89
+ // Find the fixtures for the given scenario
90
+ const scenarioFixture = allFixtures.scenarios.find((scenario: ScenarioFixture) => scenario.name === scenarioName);
91
+ if (!scenarioFixture) {
92
+ this.logger.error(`Scenario: ${scenarioName} not found in module metadata configuration for module: ${moduleName}`);
93
+ return;
94
+ }
95
+ this.logger.log(`Scenario: ${scenarioName} found with fixtures to setup.`);
96
+ return scenarioFixture;
97
+ }
98
+
99
+ private async loadModelService(singularName: string): Promise<any> {
100
+ const modelServiceProvider = this.introspectService.getProvider(`${classify(singularName)}Service`);
101
+ if (!modelServiceProvider) {
102
+ this.logger.error(`Model service provider not found for model: ${singularName}`);
103
+ return null;
104
+ }
105
+ this.logger.debug(`Model service provider found for model: ${singularName}`);
106
+ return modelServiceProvider.instance;
107
+ }
108
+ }
@@ -3,10 +3,10 @@ import * as crypto from 'crypto';
3
3
  import * as fs from 'fs';
4
4
  import * as path from 'path';
5
5
 
6
- import { getDynamicModuleNames } from 'src/helpers/module.helper';
6
+ import { getDynamicModuleNames, getDynamicModuleNamesBasedOnMetadata } from 'src/helpers/module.helper';
7
7
  import { CreateModuleMetadataDto } from 'src/dtos/create-module-metadata.dto';
8
8
  import { R2RHelperService } from './r2r-helper.service';
9
- import { CollectionResponse, r2rClient } from 'r2r-js';
9
+ import { r2rClient } from 'r2r-js';
10
10
  import { CreateModelMetadataDto } from 'src/dtos/create-model-metadata.dto';
11
11
  import { CreateFieldMetadataDto } from 'src/dtos/create-field-metadata.dto';
12
12
 
@@ -90,7 +90,8 @@ export class IngestMetadataService {
90
90
 
91
91
  // const allModuleMetadataJson = [];
92
92
  this.logger.debug(`getting dynamics modules`);
93
- const enabledModules = getDynamicModuleNames();
93
+ // const enabledModules = getDynamicModuleNames();
94
+ const enabledModules = getDynamicModuleNamesBasedOnMetadata();
94
95
  this.logger.log(`ingesting metadata`);
95
96
 
96
97
  for (let i = 0; i < enabledModules.length; i++) {
@@ -1,4 +1,4 @@
1
- import { Injectable } from '@nestjs/common';
1
+ import { forwardRef, Inject, Injectable } from '@nestjs/common';
2
2
  import { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';
3
3
  import { DiscoveryService, ModuleRef } from "@nestjs/core";
4
4
  import { EntityManager, Repository } from 'typeorm';
@@ -17,6 +17,7 @@ import { ImportTransactionErrorLogRepository } from 'src/repository/import-trans
17
17
  @Injectable()
18
18
  export class ImportTransactionErrorLogService extends CRUDService<ImportTransactionErrorLog>{
19
19
  constructor(
20
+ @Inject(forwardRef(() => ModelMetadataService))
20
21
  readonly modelMetadataService: ModelMetadataService,
21
22
  readonly moduleMetadataService: ModuleMetadataService,
22
23
  readonly configService: ConfigService,