@solidstarters/solid-core 1.2.193 → 1.2.200

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 (376) hide show
  1. package/dist/commands/mcp.command.d.ts +20 -0
  2. package/dist/commands/mcp.command.d.ts.map +1 -0
  3. package/dist/commands/mcp.command.js +208 -0
  4. package/dist/commands/mcp.command.js.map +1 -0
  5. package/dist/commands/refresh-model.command.d.ts +8 -5
  6. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  7. package/dist/commands/refresh-model.command.js +32 -0
  8. package/dist/commands/refresh-model.command.js.map +1 -1
  9. package/dist/commands/remove-fields.command.js +1 -1
  10. package/dist/commands/remove-fields.command.js.map +1 -1
  11. package/dist/commands/seed.command.d.ts +2 -0
  12. package/dist/commands/seed.command.d.ts.map +1 -1
  13. package/dist/commands/seed.command.js +28 -1
  14. package/dist/commands/seed.command.js.map +1 -1
  15. package/dist/controllers/authentication.controller.js +1 -1
  16. package/dist/controllers/authentication.controller.js.map +1 -1
  17. package/dist/controllers/email-template.controller.js +1 -1
  18. package/dist/controllers/email-template.controller.js.map +1 -1
  19. package/dist/controllers/field-metadata.controller.d.ts +136 -4
  20. package/dist/controllers/field-metadata.controller.d.ts.map +1 -1
  21. package/dist/controllers/field-metadata.controller.js +14 -1
  22. package/dist/controllers/field-metadata.controller.js.map +1 -1
  23. package/dist/controllers/media-storage-provider-metadata.controller.js +1 -1
  24. package/dist/controllers/media-storage-provider-metadata.controller.js.map +1 -1
  25. package/dist/controllers/model-metadata.controller.js +1 -1
  26. package/dist/controllers/model-metadata.controller.js.map +1 -1
  27. package/dist/controllers/module-metadata.controller.js +1 -1
  28. package/dist/controllers/module-metadata.controller.js.map +1 -1
  29. package/dist/controllers/otp-authentication.controller.js +1 -1
  30. package/dist/controllers/otp-authentication.controller.js.map +1 -1
  31. package/dist/controllers/service.controller.js +1 -1
  32. package/dist/controllers/service.controller.js.map +1 -1
  33. package/dist/controllers/sms-template.controller.js +1 -1
  34. package/dist/controllers/sms-template.controller.js.map +1 -1
  35. package/dist/controllers/test-queue.controller.js +1 -1
  36. package/dist/controllers/test-queue.controller.js.map +1 -1
  37. package/dist/controllers/test.controller.js +1 -1
  38. package/dist/controllers/test.controller.js.map +1 -1
  39. package/dist/dtos/create-ai-interaction.dto.d.ts +2 -0
  40. package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -1
  41. package/dist/dtos/create-ai-interaction.dto.js +14 -1
  42. package/dist/dtos/create-ai-interaction.dto.js.map +1 -1
  43. package/dist/dtos/create-field-metadata.dto.d.ts +22 -5
  44. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  45. package/dist/dtos/create-field-metadata.dto.js +33 -7
  46. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  47. package/dist/dtos/create-import-transaction.dto.d.ts +0 -1
  48. package/dist/dtos/create-import-transaction.dto.d.ts.map +1 -1
  49. package/dist/dtos/create-import-transaction.dto.js +1 -7
  50. package/dist/dtos/create-import-transaction.dto.js.map +1 -1
  51. package/dist/dtos/create-model-metadata.dto.d.ts +2 -0
  52. package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
  53. package/dist/dtos/create-model-metadata.dto.js +13 -1
  54. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  55. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  56. package/dist/dtos/create-role-metadata.dto.js +5 -1
  57. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  58. package/dist/dtos/resolve-s3-url.dto.d.ts +10 -0
  59. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -0
  60. package/dist/dtos/resolve-s3-url.dto.js +49 -0
  61. package/dist/dtos/resolve-s3-url.dto.js.map +1 -0
  62. package/dist/dtos/update-ai-interaction.dto.d.ts +2 -0
  63. package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -1
  64. package/dist/dtos/update-ai-interaction.dto.js +13 -1
  65. package/dist/dtos/update-ai-interaction.dto.js.map +1 -1
  66. package/dist/dtos/update-field-metadata.dto.d.ts.map +1 -1
  67. package/dist/dtos/update-field-metadata.dto.js.map +1 -1
  68. package/dist/dtos/update-import-transaction.dto.d.ts +0 -1
  69. package/dist/dtos/update-import-transaction.dto.d.ts.map +1 -1
  70. package/dist/dtos/update-import-transaction.dto.js +1 -7
  71. package/dist/dtos/update-import-transaction.dto.js.map +1 -1
  72. package/dist/entities/action-metadata.entity.js +4 -4
  73. package/dist/entities/action-metadata.entity.js.map +1 -1
  74. package/dist/entities/ai-interaction.entity.d.ts +2 -0
  75. package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
  76. package/dist/entities/ai-interaction.entity.js +15 -6
  77. package/dist/entities/ai-interaction.entity.js.map +1 -1
  78. package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
  79. package/dist/entities/chatter-message-details.entity.js +1 -1
  80. package/dist/entities/chatter-message-details.entity.js.map +1 -1
  81. package/dist/entities/chatter-message.entity.js +1 -1
  82. package/dist/entities/chatter-message.entity.js.map +1 -1
  83. package/dist/entities/common.entity.d.ts +2 -3
  84. package/dist/entities/common.entity.d.ts.map +1 -1
  85. package/dist/entities/common.entity.js +9 -11
  86. package/dist/entities/common.entity.js.map +1 -1
  87. package/dist/entities/dashboard-question-sql-dataset-config.entity.js +2 -2
  88. package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -1
  89. package/dist/entities/dashboard-question.entity.js +3 -3
  90. package/dist/entities/dashboard-question.entity.js.map +1 -1
  91. package/dist/entities/dashboard-variable.entity.js +3 -3
  92. package/dist/entities/dashboard-variable.entity.js.map +1 -1
  93. package/dist/entities/dashboard.entity.js +1 -1
  94. package/dist/entities/dashboard.entity.js.map +1 -1
  95. package/dist/entities/email-template.entity.d.ts.map +1 -1
  96. package/dist/entities/email-template.entity.js +4 -3
  97. package/dist/entities/email-template.entity.js.map +1 -1
  98. package/dist/entities/export-template.entity.js +2 -2
  99. package/dist/entities/export-template.entity.js.map +1 -1
  100. package/dist/entities/export-transaction.entity.js +2 -2
  101. package/dist/entities/export-transaction.entity.js.map +1 -1
  102. package/dist/entities/field-metadata.entity.d.ts +1 -0
  103. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  104. package/dist/entities/field-metadata.entity.js +8 -4
  105. package/dist/entities/field-metadata.entity.js.map +1 -1
  106. package/dist/entities/import-transaction-error-log.entity.js +1 -1
  107. package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
  108. package/dist/entities/import-transaction.entity.d.ts +0 -1
  109. package/dist/entities/import-transaction.entity.d.ts.map +1 -1
  110. package/dist/entities/import-transaction.entity.js +2 -7
  111. package/dist/entities/import-transaction.entity.js.map +1 -1
  112. package/dist/entities/legacy-common-with-id.entity.d.ts +5 -0
  113. package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -0
  114. package/dist/entities/legacy-common-with-id.entity.js +32 -0
  115. package/dist/entities/legacy-common-with-id.entity.js.map +1 -0
  116. package/dist/entities/legacy-common.entity.d.ts +13 -0
  117. package/dist/entities/legacy-common.entity.d.ts.map +1 -0
  118. package/dist/entities/legacy-common.entity.js +67 -0
  119. package/dist/entities/legacy-common.entity.js.map +1 -0
  120. package/dist/entities/list-of-values.entity.js +2 -2
  121. package/dist/entities/list-of-values.entity.js.map +1 -1
  122. package/dist/entities/locale.entity.js +1 -1
  123. package/dist/entities/locale.entity.js.map +1 -1
  124. package/dist/entities/media.entity.d.ts.map +1 -1
  125. package/dist/entities/media.entity.js +3 -3
  126. package/dist/entities/media.entity.js.map +1 -1
  127. package/dist/entities/menu-item-metadata.entity.js +4 -4
  128. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  129. package/dist/entities/model-metadata.entity.d.ts +2 -0
  130. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  131. package/dist/entities/model-metadata.entity.js +11 -3
  132. package/dist/entities/model-metadata.entity.js.map +1 -1
  133. package/dist/entities/mq-message-queue.entity.js +1 -1
  134. package/dist/entities/mq-message-queue.entity.js.map +1 -1
  135. package/dist/entities/mq-message.entity.d.ts +3 -3
  136. package/dist/entities/mq-message.entity.d.ts.map +1 -1
  137. package/dist/entities/mq-message.entity.js +10 -10
  138. package/dist/entities/mq-message.entity.js.map +1 -1
  139. package/dist/entities/saved-filters.entity.js +4 -4
  140. package/dist/entities/saved-filters.entity.js.map +1 -1
  141. package/dist/entities/scheduled-job.entity.js +4 -4
  142. package/dist/entities/scheduled-job.entity.js.map +1 -1
  143. package/dist/entities/security-rule.entity.js +2 -2
  144. package/dist/entities/security-rule.entity.js.map +1 -1
  145. package/dist/entities/setting.entity.js +2 -2
  146. package/dist/entities/setting.entity.js.map +1 -1
  147. package/dist/entities/sms-template.entity.js +2 -2
  148. package/dist/entities/sms-template.entity.js.map +1 -1
  149. package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
  150. package/dist/entities/user-activity-history.entity.js +1 -1
  151. package/dist/entities/user-activity-history.entity.js.map +1 -1
  152. package/dist/entities/user-view-metadata.entity.js +2 -2
  153. package/dist/entities/user-view-metadata.entity.js.map +1 -1
  154. package/dist/entities/user.entity.js +13 -15
  155. package/dist/entities/user.entity.js.map +1 -1
  156. package/dist/entities/view-metadata.entity.js +3 -3
  157. package/dist/entities/view-metadata.entity.js.map +1 -1
  158. package/dist/helpers/date.helper.d.ts +1 -1
  159. package/dist/helpers/date.helper.d.ts.map +1 -1
  160. package/dist/helpers/date.helper.js +24 -2
  161. package/dist/helpers/date.helper.js.map +1 -1
  162. package/dist/helpers/model-metadata-helper.service.d.ts +4 -1
  163. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  164. package/dist/helpers/model-metadata-helper.service.js +48 -30
  165. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  166. package/dist/helpers/module.helper.d.ts.map +1 -1
  167. package/dist/helpers/module.helper.js +1 -3
  168. package/dist/helpers/module.helper.js.map +1 -1
  169. package/dist/helpers/schematic.service.d.ts +9 -3
  170. package/dist/helpers/schematic.service.d.ts.map +1 -1
  171. package/dist/helpers/schematic.service.js +49 -32
  172. package/dist/helpers/schematic.service.js.map +1 -1
  173. package/dist/helpers/solid-registry.d.ts +3 -2
  174. package/dist/helpers/solid-registry.d.ts.map +1 -1
  175. package/dist/helpers/solid-registry.js +10 -0
  176. package/dist/helpers/solid-registry.js.map +1 -1
  177. package/dist/helpers/typeorm-db-helper.d.ts +3 -0
  178. package/dist/helpers/typeorm-db-helper.d.ts.map +1 -0
  179. package/dist/helpers/typeorm-db-helper.js +24 -0
  180. package/dist/helpers/typeorm-db-helper.js.map +1 -0
  181. package/dist/index.d.ts +4 -1
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +4 -1
  184. package/dist/index.js.map +1 -1
  185. package/dist/interfaces.d.ts +3 -0
  186. package/dist/interfaces.d.ts.map +1 -1
  187. package/dist/interfaces.js.map +1 -1
  188. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  189. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +6 -1
  190. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  191. package/dist/seeders/module-metadata-seeder.service.d.ts +1 -1
  192. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  193. package/dist/seeders/module-metadata-seeder.service.js +39 -17
  194. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  195. package/dist/seeders/seed-data/solid-core-metadata.json +53 -468
  196. package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
  197. package/dist/seeders/system-fields-seeder.service.js +1 -1
  198. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  199. package/dist/services/ai-interaction.service.js +1 -1
  200. package/dist/services/ai-interaction.service.js.map +1 -1
  201. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  202. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +6 -4
  203. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  204. package/dist/services/crud-helper.service.d.ts +8 -0
  205. package/dist/services/crud-helper.service.d.ts.map +1 -1
  206. package/dist/services/crud-helper.service.js +28 -5
  207. package/dist/services/crud-helper.service.js.map +1 -1
  208. package/dist/services/crud.service.d.ts +4 -1
  209. package/dist/services/crud.service.d.ts.map +1 -1
  210. package/dist/services/crud.service.js +87 -7
  211. package/dist/services/crud.service.js.map +1 -1
  212. package/dist/services/field-metadata.service.d.ts +143 -6
  213. package/dist/services/field-metadata.service.d.ts.map +1 -1
  214. package/dist/services/field-metadata.service.js +211 -56
  215. package/dist/services/field-metadata.service.js.map +1 -1
  216. package/dist/services/menu-item-metadata.service.d.ts +3 -1
  217. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  218. package/dist/services/menu-item-metadata.service.js +31 -11
  219. package/dist/services/menu-item-metadata.service.js.map +1 -1
  220. package/dist/services/model-metadata.service.d.ts.map +1 -1
  221. package/dist/services/model-metadata.service.js +14 -3
  222. package/dist/services/model-metadata.service.js.map +1 -1
  223. package/dist/services/mq-message.service.d.ts.map +1 -1
  224. package/dist/services/mq-message.service.js +3 -4
  225. package/dist/services/mq-message.service.js.map +1 -1
  226. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
  227. package/dist/services/queues/publisher-factory.service.js +4 -0
  228. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  229. package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.d.ts +2 -2
  230. package/dist/services/selection-providers/list-of-values-selection-providers.service.d.ts.map +1 -0
  231. package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.js +3 -3
  232. package/dist/services/selection-providers/list-of-values-selection-providers.service.js.map +1 -0
  233. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts +20 -0
  234. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts.map +1 -0
  235. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +87 -0
  236. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -0
  237. package/dist/services/setting.service.d.ts.map +1 -1
  238. package/dist/services/setting.service.js +2 -1
  239. package/dist/services/setting.service.js.map +1 -1
  240. package/dist/services/solid-introspect.service.d.ts +19 -3
  241. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  242. package/dist/services/solid-introspect.service.js +83 -11
  243. package/dist/services/solid-introspect.service.js.map +1 -1
  244. package/dist/services/view-metadata.service.d.ts +3 -1
  245. package/dist/services/view-metadata.service.d.ts.map +1 -1
  246. package/dist/services/view-metadata.service.js +31 -5
  247. package/dist/services/view-metadata.service.js.map +1 -1
  248. package/dist/solid-core.module.d.ts.map +1 -1
  249. package/dist/solid-core.module.js +5 -1
  250. package/dist/solid-core.module.js.map +1 -1
  251. package/dist/subscribers/audit.subscriber.d.ts +3 -2
  252. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  253. package/dist/subscribers/audit.subscriber.js +6 -12
  254. package/dist/subscribers/audit.subscriber.js.map +1 -1
  255. package/dist/subscribers/computed-entity-field.subscriber.d.ts +3 -2
  256. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  257. package/dist/subscribers/computed-entity-field.subscriber.js +7 -9
  258. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  259. package/dist/subscribers/created-by-updated-by.subscriber.d.ts +4 -2
  260. package/dist/subscribers/created-by-updated-by.subscriber.d.ts.map +1 -1
  261. package/dist/subscribers/created-by-updated-by.subscriber.js +10 -8
  262. package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
  263. package/dist/subscribers/field-metadata.subscriber.d.ts.map +1 -1
  264. package/dist/subscribers/field-metadata.subscriber.js +0 -1
  265. package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
  266. package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
  267. package/dist/subscribers/model-metadata.subscriber.js +3 -2
  268. package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
  269. package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts +3 -2
  270. package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts.map +1 -1
  271. package/dist/subscribers/soft-delete-aware-event.subscriber.js +6 -11
  272. package/dist/subscribers/soft-delete-aware-event.subscriber.js.map +1 -1
  273. package/dist/tsconfig.tsbuildinfo +1 -1
  274. package/package.json +1 -1
  275. package/sql/mssql/proc_CleanupModelMetadata.sql +175 -0
  276. package/sql/mssql/proc_CleanupModuleMetadata.sql +78 -0
  277. package/sql/mssql/scratchpad.sql +10 -0
  278. package/sql/postgres/proc_CleanupModelMetadata.sql +148 -0
  279. package/sql/postgres/proc_CleanupModuleMetadata.sql +50 -0
  280. package/sql/postgres/scratchpad.sql +12 -0
  281. package/sql-server-changes.txt +88 -0
  282. package/src/commands/mcp.command.ts +215 -0
  283. package/src/commands/refresh-model.command.ts +37 -5
  284. package/src/commands/remove-fields.command.ts +1 -1
  285. package/src/commands/seed.command.ts +34 -15
  286. package/src/controllers/authentication.controller.ts +1 -1
  287. package/src/controllers/email-template.controller.ts +1 -1
  288. package/src/controllers/field-metadata.controller.ts +7 -1
  289. package/src/controllers/media-storage-provider-metadata.controller.ts +1 -1
  290. package/src/controllers/model-metadata.controller.ts +1 -1
  291. package/src/controllers/module-metadata.controller.ts +1 -1
  292. package/src/controllers/otp-authentication.controller.ts +1 -1
  293. package/src/controllers/service.controller.ts +1 -1
  294. package/src/controllers/sms-template.controller.ts +1 -1
  295. package/src/controllers/test-queue.controller.ts +1 -1
  296. package/src/controllers/test.controller.ts +1 -1
  297. package/src/dtos/create-ai-interaction.dto.ts +16 -9
  298. package/src/dtos/create-field-metadata.dto.ts +42 -12
  299. package/src/dtos/create-import-transaction.dto.ts +0 -4
  300. package/src/dtos/create-model-metadata.dto.ts +10 -0
  301. package/src/dtos/create-role-metadata.dto.ts +8 -2
  302. package/src/dtos/resolve-s3-url.dto.ts +33 -0
  303. package/src/dtos/update-ai-interaction.dto.ts +16 -9
  304. package/src/dtos/update-field-metadata.dto.ts +1 -2
  305. package/src/dtos/update-import-transaction.dto.ts +0 -4
  306. package/src/entities/action-metadata.entity.ts +4 -4
  307. package/src/entities/ai-interaction.entity.ts +16 -12
  308. package/src/entities/chatter-message-details.entity.ts +18 -18
  309. package/src/entities/chatter-message.entity.ts +2 -2
  310. package/src/entities/common.entity.ts +19 -10
  311. package/src/entities/dashboard-question-sql-dataset-config.entity.ts +2 -2
  312. package/src/entities/dashboard-question.entity.ts +3 -3
  313. package/src/entities/dashboard-variable.entity.ts +3 -3
  314. package/src/entities/dashboard.entity.ts +1 -1
  315. package/src/entities/email-template.entity.ts +4 -3
  316. package/src/entities/export-template.entity.ts +2 -2
  317. package/src/entities/export-transaction.entity.ts +2 -2
  318. package/src/entities/field-metadata.entity.ts +6 -3
  319. package/src/entities/import-transaction-error-log.entity.ts +2 -2
  320. package/src/entities/import-transaction.entity.ts +2 -5
  321. package/src/entities/legacy-common-with-id.entity.ts +11 -0
  322. package/src/entities/legacy-common.entity.ts +57 -0
  323. package/src/entities/list-of-values.entity.ts +2 -2
  324. package/src/entities/locale.entity.ts +1 -1
  325. package/src/entities/media.entity.ts +25 -25
  326. package/src/entities/menu-item-metadata.entity.ts +4 -4
  327. package/src/entities/model-metadata.entity.ts +9 -2
  328. package/src/entities/mq-message-queue.entity.ts +1 -1
  329. package/src/entities/mq-message.entity.ts +34 -34
  330. package/src/entities/saved-filters.entity.ts +5 -5
  331. package/src/entities/scheduled-job.entity.ts +4 -4
  332. package/src/entities/security-rule.entity.ts +2 -2
  333. package/src/entities/setting.entity.ts +2 -2
  334. package/src/entities/sms-template.entity.ts +2 -2
  335. package/src/entities/user-activity-history.entity.ts +14 -14
  336. package/src/entities/user-view-metadata.entity.ts +2 -2
  337. package/src/entities/user.entity.ts +15 -15
  338. package/src/entities/view-metadata.entity.ts +3 -3
  339. package/src/helpers/date.helper.ts +31 -10
  340. package/src/helpers/model-metadata-helper.service.ts +63 -32
  341. package/src/helpers/module.helper.ts +4 -3
  342. package/src/helpers/schematic.service.ts +72 -46
  343. package/src/helpers/solid-registry.ts +14 -2
  344. package/src/helpers/typeorm-db-helper.ts +26 -0
  345. package/src/index.ts +4 -1
  346. package/src/interfaces.ts +3 -0
  347. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +17 -21
  348. package/src/seeders/module-metadata-seeder.service.ts +73 -29
  349. package/src/seeders/seed-data/solid-core-metadata.json +55 -470
  350. package/src/seeders/system-fields-seeder.service.ts +34 -35
  351. package/src/services/ai-interaction.service.ts +1 -1
  352. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +13 -9
  353. package/src/services/crud-helper.service.ts +32 -4
  354. package/src/services/crud.service.ts +158 -10
  355. package/src/services/field-metadata.service.ts +272 -67
  356. package/src/services/menu-item-metadata.service.ts +81 -50
  357. package/src/services/model-metadata.service.ts +18 -3
  358. package/src/services/mq-message.service.ts +16 -15
  359. package/src/services/queues/publisher-factory.service.ts +2 -1
  360. package/src/{providers → services/selection-providers}/list-of-values-selection-providers.service.ts +2 -2
  361. package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +94 -0
  362. package/src/services/setting.service.ts +13 -10
  363. package/src/services/solid-introspect.service.ts +110 -10
  364. package/src/services/view-metadata.service.ts +48 -18
  365. package/src/solid-core.module.ts +5 -1
  366. package/src/subscribers/audit.subscriber.ts +12 -8
  367. package/src/subscribers/computed-entity-field.subscriber.ts +13 -7
  368. package/src/subscribers/created-by-updated-by.subscriber.ts +14 -8
  369. package/src/subscribers/field-metadata.subscriber.ts +1 -1
  370. package/src/subscribers/model-metadata.subscriber.ts +4 -2
  371. package/src/subscribers/soft-delete-aware-event.subscriber.ts +12 -6
  372. package/dist/providers/list-of-values-selection-providers.service.d.ts.map +0 -1
  373. package/dist/providers/list-of-values-selection-providers.service.js.map +0 -1
  374. package/src/commands/ingest-rag-chunking-strategy-for.md +0 -224
  375. package/src/entities/user.entity.ts.bkp +0 -144
  376. package/src/services/docker exec -it mssql //" +0 -8
@@ -4,20 +4,25 @@ import { SolidRegistry } from 'src/helpers/solid-registry';
4
4
  import { FieldMetadataRepository } from 'src/repository/field-metadata.repository';
5
5
  import { DataSource, Repository } from 'typeorm';
6
6
  import { BasicFilterDto } from '../dtos/basic-filters.dto';
7
- import { CreateFieldMetadataDto, PSQLType } from '../dtos/create-field-metadata.dto';
7
+ import { CreateFieldMetadataDto, MSSQLType, PSQLType } from '../dtos/create-field-metadata.dto';
8
8
  import { SelectionDynamicQueryDto } from '../dtos/selection-dynamic-query.dto';
9
9
  import { UpdateFieldMetaDataDto } from '../dtos/update-field-metadata.dto';
10
10
  import { FieldMetadata } from '../entities/field-metadata.entity';
11
11
  import { ModelMetadata } from '../entities/model-metadata.entity';
12
12
  import { ISelectionProviderValues } from '../interfaces';
13
13
  import { CrudHelperService } from './crud-helper.service';
14
+ import { ResolveS3UrlDto } from 'src/dtos/resolve-s3-url.dto';
15
+ import { ConfigService } from '@nestjs/config';
16
+ import { FileService } from './file.service';
14
17
  export declare class FieldMetadataService implements OnApplicationBootstrap {
15
18
  private readonly fieldMetadataRepo;
19
+ private readonly configService;
20
+ private readonly fileService;
16
21
  private readonly dataSource;
17
22
  private readonly solidRegistry;
18
23
  private readonly crudHelperService;
19
24
  private readonly moduleMetadataHelperService;
20
- constructor(fieldMetadataRepo: FieldMetadataRepository, dataSource: DataSource, solidRegistry: SolidRegistry, crudHelperService: CrudHelperService, moduleMetadataHelperService: ModuleMetadataHelperService);
25
+ constructor(fieldMetadataRepo: FieldMetadataRepository, configService: ConfigService, fileService: FileService, dataSource: DataSource, solidRegistry: SolidRegistry, crudHelperService: CrudHelperService, moduleMetadataHelperService: ModuleMetadataHelperService);
21
26
  private logger;
22
27
  onApplicationBootstrap(): void;
23
28
  loadAndRegisterComputedFieldsDetails(): Promise<void>;
@@ -67,10 +72,13 @@ export declare class FieldMetadataService implements OnApplicationBootstrap {
67
72
  }[] | {
68
73
  label: PSQLType;
69
74
  description: string;
70
- }[] | {
75
+ }[] | ({
76
+ label: MSSQLType;
77
+ description: string;
78
+ } | {
71
79
  label: PSQLType;
72
80
  description: string;
73
- }[] | {
81
+ })[] | {
74
82
  label: PSQLType;
75
83
  description: string;
76
84
  }[] | {
@@ -155,10 +163,13 @@ export declare class FieldMetadataService implements OnApplicationBootstrap {
155
163
  }[];
156
164
  };
157
165
  json: {
158
- ormTypes: {
166
+ ormTypes: ({
167
+ label: MSSQLType;
168
+ description: string;
169
+ } | {
159
170
  label: PSQLType;
160
171
  description: string;
161
- }[];
172
+ })[];
162
173
  };
163
174
  boolean: {
164
175
  ormTypes: {
@@ -239,6 +250,128 @@ export declare class FieldMetadataService implements OnApplicationBootstrap {
239
250
  }[];
240
251
  };
241
252
  };
253
+ mssql: {
254
+ int: {
255
+ ormTypes: {
256
+ label: MSSQLType;
257
+ description: string;
258
+ }[];
259
+ };
260
+ bigint: {
261
+ ormTypes: {
262
+ label: MSSQLType;
263
+ description: string;
264
+ }[];
265
+ };
266
+ decimal: {
267
+ ormTypes: {
268
+ label: MSSQLType;
269
+ description: string;
270
+ }[];
271
+ };
272
+ shortText: {
273
+ ormTypes: {
274
+ label: MSSQLType;
275
+ description: string;
276
+ }[];
277
+ };
278
+ longText: {
279
+ ormTypes: {
280
+ label: MSSQLType;
281
+ description: string;
282
+ }[];
283
+ };
284
+ richText: {
285
+ ormTypes: {
286
+ label: MSSQLType;
287
+ description: string;
288
+ }[];
289
+ };
290
+ json: {
291
+ ormTypes: {
292
+ label: MSSQLType;
293
+ description: string;
294
+ }[];
295
+ };
296
+ boolean: {
297
+ ormTypes: {
298
+ label: MSSQLType;
299
+ description: string;
300
+ }[];
301
+ };
302
+ date: {
303
+ ormTypes: {
304
+ label: MSSQLType;
305
+ description: string;
306
+ }[];
307
+ };
308
+ datetime: {
309
+ ormTypes: {
310
+ label: MSSQLType;
311
+ description: string;
312
+ }[];
313
+ };
314
+ time: {
315
+ ormTypes: {
316
+ label: MSSQLType;
317
+ description: string;
318
+ }[];
319
+ };
320
+ relation: {
321
+ ormTypes: {
322
+ label: MSSQLType;
323
+ description: string;
324
+ }[];
325
+ };
326
+ mediaSingle: {
327
+ ormTypes: {
328
+ label: MSSQLType;
329
+ description: string;
330
+ }[];
331
+ };
332
+ mediaMultiple: {
333
+ ormTypes: {
334
+ label: MSSQLType;
335
+ description: string;
336
+ }[];
337
+ };
338
+ email: {
339
+ ormTypes: {
340
+ label: MSSQLType;
341
+ description: string;
342
+ }[];
343
+ };
344
+ password: {
345
+ ormTypes: {
346
+ label: MSSQLType;
347
+ description: string;
348
+ }[];
349
+ };
350
+ selectionStatic: {
351
+ ormTypes: {
352
+ label: MSSQLType;
353
+ description: string;
354
+ }[];
355
+ };
356
+ selectionDynamic: {
357
+ ormTypes: {
358
+ label: MSSQLType;
359
+ description: string;
360
+ }[];
361
+ };
362
+ computed: {
363
+ ormTypes: {
364
+ label: MSSQLType;
365
+ description: string;
366
+ }[];
367
+ };
368
+ uuid: {
369
+ ormTypes: {
370
+ label: MSSQLType;
371
+ description: string;
372
+ }[];
373
+ };
374
+ };
242
375
  };
243
376
  decryptWhenTypes: {
244
377
  label: unknown;
@@ -272,6 +405,7 @@ export declare class FieldMetadataService implements OnApplicationBootstrap {
272
405
  type: any;
273
406
  }[];
274
407
  }>;
408
+ private getOrmFieldTypes;
275
409
  fetchCurrentFieldsBasedOnType(type: string): Promise<string[]>;
276
410
  private fetchCurrentFields;
277
411
  fetchAllDataSources(): Promise<void>;
@@ -280,5 +414,8 @@ export declare class FieldMetadataService implements OnApplicationBootstrap {
280
414
  getSelectionDynamicValue(query: SelectionDynamicQueryDto): Promise<any>;
281
415
  private updateRelationInverseFieldInFile;
282
416
  createFieldConfig(field: FieldMetadata): Promise<Record<string, any>>;
417
+ resolveS3Url(resolveS3UrlDto: ResolveS3UrlDto): Promise<{
418
+ url: string;
419
+ }>;
283
420
  }
284
421
  //# sourceMappingURL=field-metadata.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/field-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAyC,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAG/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAyB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAuC,sBAAsB,EAA8C,QAAQ,EAAoD,MAAM,mCAAmC,CAAC;AACxN,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D,qBACa,oBAAqB,YAAW,sBAAsB;IAE3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;gBAL3B,iBAAiB,EAAE,uBAAuB,EAE1C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,2BAA2B,EAAE,2BAA2B;IAG7E,OAAO,CAAC,MAAM,CAAyC;IAEvD,sBAAsB;IAIjB,oCAAoC;IA0BnC,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC;YAUvH,sBAAsB;YAuGtB,gBAAgB;YAWhB,gBAAgB;IAiB9B,OAAO,CAAC,uBAAuB;IAazB,QAAQ,CAAC,cAAc,EAAE,cAAc;;;;;;;;;;;IAgCvC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG;IAc5B,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAcnE,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAuBxE,gCAAgC,CAAC,qBAAqB,EAAE,MAAM,EAAE,GAAG,wBAAwB,EAAE;IAWvF,MAAM,CAAC,SAAS,EAAE,sBAAsB;IA6BxC,MAAM,CAAC,EAAE,EAAE,MAAM;IAKjB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqKxB,6BAA6B,CAAC,IAAI,EAAE,MAAM;IAIhD,OAAO,CAAC,kBAAkB;IA4dpB,mBAAmB;IAqBnB,MAAM,CAAC,SAAS,EAAE,sBAAsB;IAsBxC,yBAAyB,CAAC,KAAK,EAAE,wBAAwB;IAgCzD,wBAAwB,CAAC,KAAK,EAAE,wBAAwB;YA+BhD,gCAAgC;IA8BxC,iBAAiB,CAAC,KAAK,EAAE,aAAa;CAqB/C"}
1
+ {"version":3,"file":"field-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/field-metadata.service.ts"],"names":[],"mappings":"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"}
@@ -63,9 +63,13 @@ const model_metadata_entity_1 = require("../entities/model-metadata.entity");
63
63
  const crud_helper_service_1 = require("./crud-helper.service");
64
64
  const error_messages_1 = require("../constants/error-messages");
65
65
  const qs_1 = __importDefault(require("qs"));
66
+ const config_1 = require("@nestjs/config");
67
+ const file_service_1 = require("./file.service");
66
68
  let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
67
- constructor(fieldMetadataRepo, dataSource, solidRegistry, crudHelperService, moduleMetadataHelperService) {
69
+ constructor(fieldMetadataRepo, configService, fileService, dataSource, solidRegistry, crudHelperService, moduleMetadataHelperService) {
68
70
  this.fieldMetadataRepo = fieldMetadataRepo;
71
+ this.configService = configService;
72
+ this.fileService = fileService;
69
73
  this.dataSource = dataSource;
70
74
  this.solidRegistry = solidRegistry;
71
75
  this.crudHelperService = crudHelperService;
@@ -321,7 +325,59 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
321
325
  value: value,
322
326
  }));
323
327
  };
324
- const ormFieldTypeForSolid = {
328
+ const ormFieldTypeForSolid = this.getOrmFieldTypes();
329
+ const dataSourceTypes = Object.keys(ormFieldTypeForSolid);
330
+ const fieldTypes = Object.entries(ormFieldTypeForSolid.postgres).map(([key, value]) => ({
331
+ type: key,
332
+ label: key,
333
+ value: key,
334
+ fieldType: key,
335
+ ormTypes: value.ormTypes,
336
+ fields: this.fetchCurrentFields(key)
337
+ }));
338
+ const dataSource = this.solidRegistry.getSolidDatabaseModules().map((solidDatabaseModule) => {
339
+ return {
340
+ 'name': solidDatabaseModule.instance.name(),
341
+ 'type': solidDatabaseModule.instance.type()
342
+ };
343
+ });
344
+ const sps = [];
345
+ const selectionProviders = this.solidRegistry.getSelectionProviders();
346
+ for (let i = 0; i < selectionProviders.length; i++) {
347
+ const selectionProvider = selectionProviders[i];
348
+ sps.push({
349
+ provider: selectionProvider.instance.name(),
350
+ help: selectionProvider.instance.help(),
351
+ });
352
+ }
353
+ const cps = [];
354
+ const computedProviders = this.solidRegistry.getComputedFieldProviders();
355
+ for (let i = 0; i < computedProviders.length; i++) {
356
+ const computedProvider = computedProviders[i];
357
+ cps.push({
358
+ provider: computedProvider.instance.name(),
359
+ help: computedProvider.instance.help(),
360
+ });
361
+ }
362
+ const r = {
363
+ fieldTypes: fieldTypes,
364
+ encryptionTypes: enumToResponseArray(create_field_metadata_dto_1.EncryptionType),
365
+ ormType: ormFieldTypeForSolid,
366
+ decryptWhenTypes: enumToResponseArray(create_field_metadata_dto_1.DecryptWhenType),
367
+ mediaTypes: enumToResponseArray(create_field_metadata_dto_1.MediaType),
368
+ relationTypes: enumToResponseArray(create_field_metadata_dto_1.RelationType),
369
+ selectionDynamicProviders: sps,
370
+ computedProviders: cps,
371
+ cascadeTypes: enumToResponseArray(create_field_metadata_dto_1.CascadeType),
372
+ selectionValueTypes: enumToResponseArray(create_field_metadata_dto_1.SelectionValueType),
373
+ computedFieldValueTypes: enumToResponseArray(create_field_metadata_dto_1.ComputedFieldValueType),
374
+ dataSourceType: dataSourceTypes,
375
+ dataSource: dataSource,
376
+ };
377
+ return r;
378
+ }
379
+ getOrmFieldTypes() {
380
+ return {
325
381
  "postgres": {
326
382
  "int": {
327
383
  "ormTypes": [{ label: create_field_metadata_dto_1.PSQLType.integer, description: "A 4-byte integer for general numeric data." }]
@@ -343,6 +399,7 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
343
399
  },
344
400
  "json": {
345
401
  "ormTypes": [
402
+ { label: create_field_metadata_dto_1.MSSQLType.simplejson, description: "Creates DB agnostic column for storing json style data." },
346
403
  { label: create_field_metadata_dto_1.PSQLType.json, description: "Stores JSON data without indexing." },
347
404
  { label: create_field_metadata_dto_1.PSQLType.jsonb, description: "Stores JSON data with indexing for faster queries." }
348
405
  ]
@@ -393,57 +450,114 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
393
450
  "uuid": {
394
451
  "ormTypes": [{ label: create_field_metadata_dto_1.PSQLType.varchar, description: "Stores universally unique identifiers (UUIDs)." }]
395
452
  }
453
+ },
454
+ "mssql": {
455
+ "int": {
456
+ ormTypes: [
457
+ { label: create_field_metadata_dto_1.MSSQLType.int, description: "A 4-byte integer for general numeric data." }
458
+ ]
459
+ },
460
+ "bigint": {
461
+ ormTypes: [
462
+ { label: create_field_metadata_dto_1.MSSQLType.bigint, description: "An 8-byte integer for large numeric values." }
463
+ ]
464
+ },
465
+ "decimal": {
466
+ ormTypes: [
467
+ { label: create_field_metadata_dto_1.MSSQLType.numeric, description: "A high-precision numeric type for financial or exact values." },
468
+ { label: create_field_metadata_dto_1.MSSQLType.decimal, description: "A high-precision decimal type for financial or exact values." }
469
+ ]
470
+ },
471
+ "shortText": {
472
+ ormTypes: [
473
+ { label: create_field_metadata_dto_1.MSSQLType.varchar, description: "A variable-length string for short text." },
474
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "A unicode supported variable-length string for short text." }
475
+ ]
476
+ },
477
+ "longText": {
478
+ ormTypes: [
479
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "A large or unbounded string type." }
480
+ ]
481
+ },
482
+ "richText": {
483
+ ormTypes: [
484
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "A large text field for formatted or long content." }
485
+ ]
486
+ },
487
+ "json": {
488
+ ormTypes: [
489
+ { label: create_field_metadata_dto_1.MSSQLType.simplejson, description: "Creates DB agnostic column for storing json style data." },
490
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "Stores JSON data as string (MSSQL doesn't have native JSON type)." }
491
+ ]
492
+ },
493
+ "boolean": {
494
+ ormTypes: [
495
+ { label: create_field_metadata_dto_1.MSSQLType.bit, description: "Stores true or false values as 0 or 1." }
496
+ ]
497
+ },
498
+ "date": {
499
+ ormTypes: [
500
+ { label: create_field_metadata_dto_1.MSSQLType.date, description: "Stores calendar dates (YYYY-MM-DD)." }
501
+ ]
502
+ },
503
+ "datetime": {
504
+ ormTypes: [
505
+ { label: create_field_metadata_dto_1.MSSQLType.datetime, description: "Stores date and time without timezone." },
506
+ { label: create_field_metadata_dto_1.MSSQLType.datetime2, description: "High-precision date and time type." }
507
+ ]
508
+ },
509
+ "time": {
510
+ ormTypes: [
511
+ { label: create_field_metadata_dto_1.MSSQLType.time, description: "Stores time values (HH:MM:SS)." }
512
+ ]
513
+ },
514
+ "relation": {
515
+ ormTypes: [
516
+ { label: create_field_metadata_dto_1.MSSQLType.int, description: "Used for foreign keys referencing other entities." }
517
+ ]
518
+ },
519
+ "mediaSingle": {
520
+ ormTypes: [
521
+ { label: create_field_metadata_dto_1.MSSQLType.varchar, description: "Stores file paths or URLs for single media files." }
522
+ ]
523
+ },
524
+ "mediaMultiple": {
525
+ ormTypes: [
526
+ { label: create_field_metadata_dto_1.MSSQLType.varchar, description: "Stores file paths or URLs for multiple media files." }
527
+ ]
528
+ },
529
+ "email": {
530
+ ormTypes: [
531
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "Stores email addresses." }
532
+ ]
533
+ },
534
+ "password": {
535
+ ormTypes: [
536
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "Stores hashed or plain-text passwords." }
537
+ ]
538
+ },
539
+ "selectionStatic": {
540
+ ormTypes: [
541
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "Used for predefined selection options." }
542
+ ]
543
+ },
544
+ "selectionDynamic": {
545
+ ormTypes: [
546
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "Used for dynamic selection options." }
547
+ ]
548
+ },
549
+ "computed": {
550
+ ormTypes: [
551
+ { label: create_field_metadata_dto_1.MSSQLType.nvarchar, description: "Represents computed or derived fields." }
552
+ ]
553
+ },
554
+ "uuid": {
555
+ ormTypes: [
556
+ { label: create_field_metadata_dto_1.MSSQLType.uniqueidentifier, description: "Stores universally unique identifiers (UUIDs)." }
557
+ ]
558
+ }
396
559
  }
397
560
  };
398
- const dataSourceTypes = Object.keys(ormFieldTypeForSolid);
399
- const fieldTypes = Object.entries(ormFieldTypeForSolid.postgres).map(([key, value]) => ({
400
- type: key,
401
- label: key,
402
- value: key,
403
- fieldType: key,
404
- ormTypes: value.ormTypes,
405
- fields: this.fetchCurrentFields(key)
406
- }));
407
- const dataSource = this.solidRegistry.getSolidDatabaseModules().map((solidDatabaseModule) => {
408
- return {
409
- 'name': solidDatabaseModule.instance.name(),
410
- 'type': solidDatabaseModule.instance.type()
411
- };
412
- });
413
- const sps = [];
414
- const selectionProviders = this.solidRegistry.getSelectionProviders();
415
- for (let i = 0; i < selectionProviders.length; i++) {
416
- const selectionProvider = selectionProviders[i];
417
- sps.push({
418
- provider: selectionProvider.instance.name(),
419
- help: selectionProvider.instance.help(),
420
- });
421
- }
422
- const cps = [];
423
- const computedProviders = this.solidRegistry.getComputedFieldProviders();
424
- for (let i = 0; i < computedProviders.length; i++) {
425
- const computedProvider = computedProviders[i];
426
- cps.push({
427
- provider: computedProvider.instance.name(),
428
- help: computedProvider.instance.help(),
429
- });
430
- }
431
- const r = {
432
- fieldTypes: fieldTypes,
433
- encryptionTypes: enumToResponseArray(create_field_metadata_dto_1.EncryptionType),
434
- ormType: ormFieldTypeForSolid,
435
- decryptWhenTypes: enumToResponseArray(create_field_metadata_dto_1.DecryptWhenType),
436
- mediaTypes: enumToResponseArray(create_field_metadata_dto_1.MediaType),
437
- relationTypes: enumToResponseArray(create_field_metadata_dto_1.RelationType),
438
- selectionDynamicProviders: sps,
439
- computedProviders: cps,
440
- cascadeTypes: enumToResponseArray(create_field_metadata_dto_1.CascadeType),
441
- selectionValueTypes: enumToResponseArray(create_field_metadata_dto_1.SelectionValueType),
442
- computedFieldValueTypes: enumToResponseArray(create_field_metadata_dto_1.ComputedFieldValueType),
443
- dataSourceType: dataSourceTypes,
444
- dataSource: dataSource,
445
- };
446
- return r;
447
561
  }
448
562
  async fetchCurrentFieldsBasedOnType(type) {
449
563
  return this.fetchCurrentFields(type);
@@ -469,7 +583,8 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
469
583
  "encryptionType",
470
584
  "decryptWhen",
471
585
  "columnName",
472
- "enableAuditTracking"
586
+ "enableAuditTracking",
587
+ "isPrimaryKey"
473
588
  ];
474
589
  case create_field_metadata_dto_1.SolidFieldType.bigint:
475
590
  return [
@@ -488,7 +603,8 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
488
603
  "encryptionType",
489
604
  "decryptWhen",
490
605
  "columnName",
491
- "enableAuditTracking"
606
+ "enableAuditTracking",
607
+ "isPrimaryKey"
492
608
  ];
493
609
  case create_field_metadata_dto_1.SolidFieldType.decimal:
494
610
  return [
@@ -531,7 +647,8 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
531
647
  "decryptWhen",
532
648
  "columnName",
533
649
  "isUserKey",
534
- "enableAuditTracking"
650
+ "enableAuditTracking",
651
+ "isPrimaryKey"
535
652
  ];
536
653
  case create_field_metadata_dto_1.SolidFieldType.longtext:
537
654
  return [
@@ -750,7 +867,8 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
750
867
  "encryptionType",
751
868
  "decryptWhen",
752
869
  "columnName",
753
- "enableAuditTracking"
870
+ "enableAuditTracking",
871
+ "isPrimaryKey"
754
872
  ];
755
873
  case create_field_metadata_dto_1.SolidFieldType.password:
756
874
  return [
@@ -977,12 +1095,49 @@ let FieldMetadataService = FieldMetadataService_1 = class FieldMetadataService {
977
1095
  }
978
1096
  return fieldObject;
979
1097
  }
1098
+ async resolveS3Url(resolveS3UrlDto) {
1099
+ const { modelName, fieldName, fieldValue, s3KeyFieldName } = resolveS3UrlDto;
1100
+ const modelRepo = this.dataSource.getRepository(model_metadata_entity_1.ModelMetadata);
1101
+ const model = await modelRepo.findOne({
1102
+ where: { singularName: modelName },
1103
+ relations: ['fields']
1104
+ });
1105
+ if (!model) {
1106
+ throw new common_1.NotFoundException(`Model ${modelName} not found`);
1107
+ }
1108
+ const filterFieldMeta = model.fields.find(f => f.name === fieldName);
1109
+ if (!filterFieldMeta) {
1110
+ throw new common_1.NotFoundException(`Field ${fieldName} not found in model ${modelName}`);
1111
+ }
1112
+ const entityRepo = this.dataSource.getRepository(model.singularName);
1113
+ const record = await entityRepo.findOne({
1114
+ where: { [fieldName]: fieldValue }
1115
+ });
1116
+ if (!record) {
1117
+ throw new common_1.NotFoundException(`${modelName} record not found for ${fieldName}="${fieldValue}"`);
1118
+ }
1119
+ const s3Key = record[s3KeyFieldName];
1120
+ if (!s3Key) {
1121
+ throw new common_1.NotFoundException(`Field "${s3KeyFieldName}" has no value in ${modelName}.${fieldName}="${fieldValue}"`);
1122
+ }
1123
+ let url = "";
1124
+ if (resolveS3UrlDto.isPrivate == "true") {
1125
+ const expiryInSeconds = 60 * 60;
1126
+ url = await this.fileService.getSignedUrl(s3Key, expiryInSeconds, resolveS3UrlDto.bucketName);
1127
+ }
1128
+ else {
1129
+ url = `https://${resolveS3UrlDto.bucketName}.s3.${this.configService.get('S3_AWS_REGION_NAME')}.amazonaws.com/${s3Key}`;
1130
+ }
1131
+ return { url: url };
1132
+ }
980
1133
  };
981
1134
  exports.FieldMetadataService = FieldMetadataService;
982
1135
  exports.FieldMetadataService = FieldMetadataService = FieldMetadataService_1 = __decorate([
983
1136
  (0, common_1.Injectable)(),
984
- __param(1, (0, typeorm_1.InjectDataSource)()),
1137
+ __param(3, (0, typeorm_1.InjectDataSource)()),
985
1138
  __metadata("design:paramtypes", [field_metadata_repository_1.FieldMetadataRepository,
1139
+ config_1.ConfigService,
1140
+ file_service_1.FileService,
986
1141
  typeorm_2.DataSource,
987
1142
  solid_registry_1.SolidRegistry,
988
1143
  crud_helper_service_1.CrudHelperService,