@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
@@ -40,13 +40,11 @@ __decorate([
40
40
  __metadata("design:type", String)
41
41
  ], User.prototype, "username", void 0);
42
42
  __decorate([
43
- (0, typeorm_1.Index)({ unique: true }),
44
43
  (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
45
44
  (0, class_transformer_1.Expose)(),
46
45
  __metadata("design:type", String)
47
46
  ], User.prototype, "email", void 0);
48
47
  __decorate([
49
- (0, typeorm_1.Index)({ unique: true }),
50
48
  (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
51
49
  (0, class_transformer_1.Expose)(),
52
50
  __metadata("design:type", String)
@@ -56,7 +54,7 @@ __decorate([
56
54
  __metadata("design:type", String)
57
55
  ], User.prototype, "password", void 0);
58
56
  __decorate([
59
- (0, typeorm_1.Column)({ type: "boolean", nullable: true, default: true }),
57
+ (0, typeorm_1.Column)({ nullable: true, default: true }),
60
58
  (0, class_transformer_1.Expose)(),
61
59
  __metadata("design:type", Boolean)
62
60
  ], User.prototype, "forcePasswordChange", void 0);
@@ -81,12 +79,12 @@ __decorate([
81
79
  __metadata("design:type", String)
82
80
  ], User.prototype, "googleProfilePicture", void 0);
83
81
  __decorate([
84
- (0, typeorm_1.Column)({ type: "boolean", default: true }),
82
+ (0, typeorm_1.Column)({ default: true }),
85
83
  (0, class_transformer_1.Expose)(),
86
84
  __metadata("design:type", Boolean)
87
85
  ], User.prototype, "active", void 0);
88
86
  __decorate([
89
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
87
+ (0, typeorm_1.Column)({ nullable: true }),
90
88
  __metadata("design:type", Date)
91
89
  ], User.prototype, "forgotPasswordConfirmedAt", void 0);
92
90
  __decorate([
@@ -94,11 +92,11 @@ __decorate([
94
92
  __metadata("design:type", String)
95
93
  ], User.prototype, "verificationTokenOnForgotPassword", void 0);
96
94
  __decorate([
97
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
95
+ (0, typeorm_1.Column)({ nullable: true }),
98
96
  __metadata("design:type", Date)
99
97
  ], User.prototype, "verificationTokenOnForgotPasswordExpiresAt", void 0);
100
98
  __decorate([
101
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
99
+ (0, typeorm_1.Column)({ nullable: true }),
102
100
  __metadata("design:type", Date)
103
101
  ], User.prototype, "emailVerifiedOnRegistrationAt", void 0);
104
102
  __decorate([
@@ -106,11 +104,11 @@ __decorate([
106
104
  __metadata("design:type", String)
107
105
  ], User.prototype, "emailVerificationTokenOnRegistration", void 0);
108
106
  __decorate([
109
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
107
+ (0, typeorm_1.Column)({ nullable: true }),
110
108
  __metadata("design:type", Date)
111
109
  ], User.prototype, "emailVerificationTokenOnRegistrationExpiresAt", void 0);
112
110
  __decorate([
113
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
111
+ (0, typeorm_1.Column)({ nullable: true }),
114
112
  __metadata("design:type", Date)
115
113
  ], User.prototype, "mobileVerifiedOnRegistrationAt", void 0);
116
114
  __decorate([
@@ -118,11 +116,11 @@ __decorate([
118
116
  __metadata("design:type", String)
119
117
  ], User.prototype, "mobileVerificationTokenOnRegistration", void 0);
120
118
  __decorate([
121
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
119
+ (0, typeorm_1.Column)({ nullable: true }),
122
120
  __metadata("design:type", Date)
123
121
  ], User.prototype, "mobileVerificationTokenOnRegistrationExpiresAt", void 0);
124
122
  __decorate([
125
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
123
+ (0, typeorm_1.Column)({ nullable: true }),
126
124
  __metadata("design:type", Date)
127
125
  ], User.prototype, "emailVerifiedOnLoginAt", void 0);
128
126
  __decorate([
@@ -130,11 +128,11 @@ __decorate([
130
128
  __metadata("design:type", String)
131
129
  ], User.prototype, "emailVerificationTokenOnLogin", void 0);
132
130
  __decorate([
133
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
131
+ (0, typeorm_1.Column)({ nullable: true }),
134
132
  __metadata("design:type", Date)
135
133
  ], User.prototype, "emailVerificationTokenOnLoginExpiresAt", void 0);
136
134
  __decorate([
137
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
135
+ (0, typeorm_1.Column)({ nullable: true }),
138
136
  __metadata("design:type", Date)
139
137
  ], User.prototype, "mobileVerifiedOnLoginAt", void 0);
140
138
  __decorate([
@@ -142,7 +140,7 @@ __decorate([
142
140
  __metadata("design:type", String)
143
141
  ], User.prototype, "mobileVerificationTokenOnLogin", void 0);
144
142
  __decorate([
145
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
143
+ (0, typeorm_1.Column)({ nullable: true }),
146
144
  __metadata("design:type", Date)
147
145
  ], User.prototype, "mobileVerificationTokenOnLoginExpiresAt", void 0);
148
146
  __decorate([
@@ -169,7 +167,7 @@ __decorate([
169
167
  __metadata("design:type", Number)
170
168
  ], User.prototype, "passwordSchemeVersion", void 0);
171
169
  __decorate([
172
- (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
170
+ (0, typeorm_1.Column)({ nullable: true }),
173
171
  __metadata("design:type", Date)
174
172
  ], User.prototype, "rehashedAt", void 0);
175
173
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string; \n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n @Column({ type: \"boolean\", nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n @Column({ type: \"boolean\", default: true })\n @Expose()\n active: boolean = true;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n @Column({ type: \"timestamp\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n // dont send to client\n @Column({ type: \"timestamp\", nullable: true })\n rehashedAt: Date;\n @Expose()\n _media: any;\n}"]}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAoG;AACpG,iEAAiE;AACjE,2EAAyE;AACzE,yDAAoD;AAK7C,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,4BAAY;IAA/B;;QAqBH,wBAAmB,GAAY,IAAI,CAAC;QAGpC,sBAAiB,GAAW,OAAO,CAAC;QAepC,WAAM,GAAY,IAAI,CAAC;KAmE1B;;2UArFkC,IAAI,wWAkBjB,IAAI;;CAmEzB,CAAA;AA1GY,oBAAI;AAGb;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,0BAAM,GAAE;;sCACQ;AAIjB;IAHC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC3B,IAAA,0BAAM,GAAE;;sCACQ;AAIjB;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,0BAAM,GAAE;;mCACK;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,0BAAM,GAAE;;oCACM;AAGf;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAE3B;AAGjB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,0BAAM,GAAE;;iDAC2B;AAGpC;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;;+CAEV;AAGpC;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAEzB;AAGnB;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAElB;AAG1B;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAE3B;AAGjB;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAEf;AAG7B;IAFC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,0BAAM,GAAE;;oCACc;AAGvB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEA,IAAI;uDAAC;AAGhC;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DAEF;AAG1C;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEiB,IAAI;wEAAC;AAGjD;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEI,IAAI;2DAAC;AAGpC;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kEAEC;AAG7C;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEoB,IAAI;2EAAC;AAGpD;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEK,IAAI;4DAAC;AAGrC;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mEAEE;AAG9C;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEqB,IAAI;4EAAC;AAGrD;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEH,IAAI;oDAAC;AAG7B;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DAEN;AAGtC;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEa,IAAI;oEAAC;AAG7C;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEF,IAAI;qDAAC;AAG9B;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DAEL;AAGvC;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAEc,IAAI;qEAAC;AAG9C;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,0BAAM,GAAE;;2CACa;AAItB;IAHC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrF,IAAA,mBAAS,GAAE;IACX,IAAA,0BAAM,GAAE;;mCACa;AAGtB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;8CAE3D;AAGrC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;4CACxB;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mDACN;AAG9B;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACf,IAAI;wCAAC;AAEjB;IADC,IAAA,0BAAM,GAAE;;oCACG;eAzGH,IAAI;IAHhB,IAAA,gBAAM,EAAC,SAAS,CAAC;IACjB,IAAA,0BAAgB,EAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IAChF,IAAA,2BAAO,GAAE;GACG,IAAI,CA0GhB","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string; \n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n // @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n // @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n @Expose()\n _media: any;\n}"]}
@@ -28,7 +28,7 @@ let ViewMetadata = class ViewMetadata extends common_entity_1.CommonEntity {
28
28
  exports.ViewMetadata = ViewMetadata;
29
29
  __decorate([
30
30
  (0, typeorm_1.Index)({ unique: true }),
31
- (0, typeorm_1.Column)({ name: "name", type: "varchar", unique: true }),
31
+ (0, typeorm_1.Column)({ name: "name", type: "varchar" }),
32
32
  __metadata("design:type", String)
33
33
  ], ViewMetadata.prototype, "name", void 0);
34
34
  __decorate([
@@ -49,13 +49,13 @@ __decorate([
49
49
  ], ViewMetadata.prototype, "layout", void 0);
50
50
  __decorate([
51
51
  (0, typeorm_1.Index)(),
52
- (0, typeorm_1.ManyToOne)(() => module_metadata_entity_1.ModuleMetadata, { onDelete: "CASCADE", nullable: false }),
52
+ (0, typeorm_1.ManyToOne)(() => module_metadata_entity_1.ModuleMetadata, { nullable: false }),
53
53
  (0, typeorm_1.JoinColumn)({ referencedColumnName: 'id' }),
54
54
  __metadata("design:type", module_metadata_entity_1.ModuleMetadata)
55
55
  ], ViewMetadata.prototype, "module", void 0);
56
56
  __decorate([
57
57
  (0, typeorm_1.Index)(),
58
- (0, typeorm_1.ManyToOne)(() => model_metadata_entity_1.ModelMetadata, { onDelete: "CASCADE", nullable: false }),
58
+ (0, typeorm_1.ManyToOne)(() => model_metadata_entity_1.ModelMetadata, { nullable: false }),
59
59
  (0, typeorm_1.JoinColumn)({ referencedColumnName: 'id' }),
60
60
  __metadata("design:type", model_metadata_entity_1.ModelMetadata)
61
61
  ], ViewMetadata.prototype, "model", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"view-metadata.entity.js","sourceRoot":"","sources":["../../src/entities/view-metadata.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAkF;AAClF,qEAAqE;AACrE,mEAAmE;AACnE,2EAAyE;AAGlE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAY;IAAvC;;QASH,YAAO,GAAQ,IAAI,CAAC;KAavB;;;;CAAA,CAAA;AAtBY,oCAAY;AAGrB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;0CAC3C;AAEb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDAC9B;AAEpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0CAC7B;AAEb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACtB;AAEpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CAC7B;AAIZ;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzE,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACnC,uCAAc;4CAAC;AAIvB;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAa,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACxE,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACpC,qCAAa;2CAAC;AAErB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sDACnE;uBArB5B,YAAY;IADxB,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,YAAY,CAsBxB","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, ManyToOne, Index, JoinColumn, OneToMany } from \"typeorm\";\nimport { ModuleMetadata } from 'src/entities/module-metadata.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\n\n@Entity(\"ss_view_metadata\")\nexport class ViewMetadata extends CommonEntity {\n @Index({ unique: true })\n @Column({ name: \"name\", type: \"varchar\", unique: true })\n name: string;\n @Column({ name: \"display_name\", type: \"varchar\" })\n displayName: string;\n @Column({ name: \"type\", type: \"varchar\" })\n type: string;\n @Column({ name: \"context\", type: \"text\" })\n context: any = \"{}\";\n @Column({ name: \"layout\", type: \"text\" })\n layout: any;\n @Index()\n @ManyToOne(() => ModuleMetadata, { onDelete: \"CASCADE\", nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n module: ModuleMetadata;\n @Index()\n @ManyToOne(() => ModelMetadata, { onDelete: \"CASCADE\", nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n model: ModelMetadata;\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.viewMetadata, { cascade: true })\n userViewMetadata: UserViewMetadata[];\n}"]}
1
+ {"version":3,"file":"view-metadata.entity.js","sourceRoot":"","sources":["../../src/entities/view-metadata.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAkF;AAClF,qEAAqE;AACrE,mEAAmE;AACnE,2EAAyE;AAGlE,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAY;IAAvC;;QASH,YAAO,GAAQ,IAAI,CAAC;KAavB;;;;CAAA,CAAA;AAtBY,oCAAY;AAGrB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;;0CAC5B;AAEb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDAC9B;AAEpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0CAC7B;AAEb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACtB;AAEpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CAC7B;AAIZ;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpD,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACnC,uCAAc;4CAAC;AAIvB;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnD,IAAA,oBAAU,EAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8BACpC,qCAAa;2CAAC;AAErB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sDACnE;uBArB5B,YAAY;IADxB,IAAA,gBAAM,EAAC,kBAAkB,CAAC;GACd,YAAY,CAsBxB","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, ManyToOne, Index, JoinColumn, OneToMany } from \"typeorm\";\nimport { ModuleMetadata } from 'src/entities/module-metadata.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\n\n@Entity(\"ss_view_metadata\")\nexport class ViewMetadata extends CommonEntity {\n @Index({ unique: true })\n @Column({ name: \"name\", type: \"varchar\"})\n name: string;\n @Column({ name: \"display_name\", type: \"varchar\" })\n displayName: string;\n @Column({ name: \"type\", type: \"varchar\" })\n type: string;\n @Column({ name: \"context\", type: \"text\" })\n context: any = \"{}\";\n @Column({ name: \"layout\", type: \"text\" })\n layout: any;\n @Index()\n @ManyToOne(() => ModuleMetadata, { nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n module: ModuleMetadata;\n @Index()\n @ManyToOne(() => ModelMetadata, { nullable: false })\n @JoinColumn({ referencedColumnName: 'id' })\n model: ModelMetadata;\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.viewMetadata, { cascade: true })\n userViewMetadata: UserViewMetadata[];\n}"]}
@@ -1,2 +1,2 @@
1
- export declare function parseFlexibleDate(value: string): Date | null;
1
+ export declare function parseFlexibleDate(value: any): Date | null;
2
2
  //# sourceMappingURL=date.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/date.helper.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAQ1D"}
1
+ {"version":3,"file":"date.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/date.helper.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CA4BzD"}
@@ -5,11 +5,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parseFlexibleDate = parseFlexibleDate;
7
7
  const dayjs_1 = __importDefault(require("dayjs"));
8
+ const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
9
+ dayjs_1.default.extend(customParseFormat_1.default);
8
10
  function parseFlexibleDate(value) {
9
11
  if (!value)
10
12
  return null;
11
- const formats = ['DD-MM-YYYY', 'YYYY-MM-DD'];
12
- const parsed = (0, dayjs_1.default)(value, formats, true);
13
+ if (value instanceof Date && !isNaN(value.getTime())) {
14
+ return value;
15
+ }
16
+ if (typeof value === 'number') {
17
+ const excelEpoch = new Date(Date.UTC(1899, 11, 30));
18
+ const d = new Date(excelEpoch.getTime() + value * 86400000);
19
+ return isNaN(d.getTime()) ? null : d;
20
+ }
21
+ const str = value.toString().trim();
22
+ const formats = [
23
+ 'DD-MM-YYYY',
24
+ 'YYYY-MM-DD',
25
+ 'DD/MM/YYYY',
26
+ 'MM/DD/YYYY',
27
+ 'D-M-YYYY',
28
+ 'YYYY/MM/DD',
29
+ 'YYYY-MM-DD HH:mm:ss',
30
+ 'YYYY-MM-DDTHH:mm:ss',
31
+ 'YYYY-MM-DDTHH:mm:ss.SSS',
32
+ 'YYYY-MM-DDTHH:mm:ssZ',
33
+ ];
34
+ const parsed = (0, dayjs_1.default)(str, formats, true);
13
35
  if (!parsed.isValid()) {
14
36
  return null;
15
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date.helper.js","sourceRoot":"","sources":["../../src/helpers/date.helper.ts"],"names":[],"mappings":";;;;;AAGA,8CAQG;AAXH,kDAA0B;AAG1B,SAAgB,iBAAiB,CAAC,KAAa;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAA,eAAK,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import dayjs from 'dayjs';\n\n\nexport function parseFlexibleDate(value: string): Date | null {\n if (!value) return null;\n const formats = ['DD-MM-YYYY', 'YYYY-MM-DD'];\n const parsed = dayjs(value, formats, true); // true = strict parsing\n if (!parsed.isValid()) {\n return null;\n }\n return parsed.toDate();\n }\n "]}
1
+ {"version":3,"file":"date.helper.js","sourceRoot":"","sources":["../../src/helpers/date.helper.ts"],"names":[],"mappings":";;;;;AAIA,8CA4BC;AAhCD,kDAA0B;AAC1B,uFAA+D;AAC/D,eAAK,CAAC,MAAM,CAAC,2BAAiB,CAAC,CAAC;AAEhC,SAAgB,iBAAiB,CAAC,KAAU;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG;QACd,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,qBAAqB;QACrB,qBAAqB;QACrB,yBAAyB;QACzB,sBAAsB;KACvB,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,eAAK,EAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC","sourcesContent":["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\n\nexport function parseFlexibleDate(value: any): Date | null {\n if (!value) return null;\n if (value instanceof Date && !isNaN(value.getTime())) {\n return value;\n }\n if (typeof value === 'number') {\n const excelEpoch = new Date(Date.UTC(1899, 11, 30));\n const d = new Date(excelEpoch.getTime() + value * 86400000);\n return isNaN(d.getTime()) ? null : d;\n }\n const str = value.toString().trim();\n const formats = [\n 'DD-MM-YYYY',\n 'YYYY-MM-DD',\n 'DD/MM/YYYY',\n 'MM/DD/YYYY',\n 'D-M-YYYY',\n 'YYYY/MM/DD',\n 'YYYY-MM-DD HH:mm:ss',\n 'YYYY-MM-DDTHH:mm:ss', // ISO without Z\n 'YYYY-MM-DDTHH:mm:ss.SSS', // ISO with millis\n 'YYYY-MM-DDTHH:mm:ssZ', // ISO with timezone\n ];\n const parsed = dayjs(str, formats, true); // true = strict parsing\n if (!parsed.isValid()) {\n return null;\n }\n return parsed.toDate();\n}\n\n"]}
@@ -5,7 +5,10 @@ export declare class ModelMetadataHelperService {
5
5
  private readonly modelMetadataRepo;
6
6
  private readonly logger;
7
7
  constructor(registry: SolidRegistry, modelMetadataRepo: ModelMetadataRepository);
8
- getSystemFieldsMetadata(): any[];
8
+ getSystemFieldsMetadata(isLegacyTable?: boolean, isLegacyTableWithId?: boolean): any[];
9
+ private checkWithRegistry;
10
+ private getSystemFieldsMetadataMapping;
11
+ private getSystemFieldsMetadataMappingForLegacyTable;
9
12
  loadFieldHierarchy(modelName: any): Promise<any[]>;
10
13
  }
11
14
  //# sourceMappingURL=model-metadata-helper.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata-helper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBACa,0BAA0B;IAGvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAGjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAEzC,QAAQ,EAAE,aAAa,EAG/B,iBAAiB,EAAE,uBAAuB;IAI/D,uBAAuB,IAAI,GAAG,EAAE;IA8F1B,kBAAkB,CAAC,SAAS,EAAE,GAAG;CAwB1C"}
1
+ {"version":3,"file":"model-metadata-helper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,qBACa,0BAA0B;IAGvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAGjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAEzC,QAAQ,EAAE,aAAa,EAG/B,iBAAiB,EAAE,uBAAuB;IAI/D,uBAAuB,CAAC,aAAa,GAAE,OAAa,EAAE,mBAAmB,GAAE,OAAa,GAAG,GAAG,EAAE;IAmBhG,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,8BAA8B;IAoEtC,OAAO,CAAC,4CAA4C;IA2B9C,kBAAkB,CAAC,SAAS,EAAE,GAAG;CAwB1C"}
@@ -14,101 +14,119 @@ exports.ModelMetadataHelperService = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const model_metadata_repository_1 = require("../repository/model-metadata.repository");
16
16
  const solid_registry_1 = require("./solid-registry");
17
+ const lodash_1 = require("lodash");
18
+ const legacy_common_entity_1 = require("../entities/legacy-common.entity");
17
19
  let ModelMetadataHelperService = ModelMetadataHelperService_1 = class ModelMetadataHelperService {
18
20
  constructor(registry, modelMetadataRepo) {
19
21
  this.registry = registry;
20
22
  this.modelMetadataRepo = modelMetadataRepo;
21
23
  this.logger = new common_1.Logger(ModelMetadataHelperService_1.name);
22
24
  }
23
- getSystemFieldsMetadata() {
24
- const systemFieldsMetadata = [
25
+ getSystemFieldsMetadata(isLegacyTable = false, isLegacyTableWithId = false) {
26
+ let systemFieldsMetadata;
27
+ if (isLegacyTableWithId) {
28
+ systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(true);
29
+ }
30
+ else if (isLegacyTable) {
31
+ systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(false);
32
+ }
33
+ else {
34
+ systemFieldsMetadata = this.getSystemFieldsMetadataMapping();
35
+ }
36
+ this.checkWithRegistry(systemFieldsMetadata);
37
+ return systemFieldsMetadata;
38
+ }
39
+ checkWithRegistry(systemFieldsMetadata) {
40
+ const commonEntityKeys = this.registry.getCommonEntityKeys();
41
+ const systemFieldNames = systemFieldsMetadata.map(field => field.name);
42
+ const missingKeys = commonEntityKeys.filter(key => !systemFieldNames.includes(key));
43
+ if (missingKeys.length > 0) {
44
+ this.logger.warn(`Missing system fields metadata for common entity keys: ${missingKeys.join(', ')}`);
45
+ }
46
+ }
47
+ getSystemFieldsMetadataMapping() {
48
+ return [
25
49
  {
26
50
  name: "id",
27
51
  displayName: "Id",
28
52
  type: "int",
29
- ormType: "bigint",
30
53
  isSystem: true,
31
54
  },
32
55
  {
33
56
  name: "createdAt",
34
57
  displayName: "Created At",
35
58
  type: "datetime",
36
- ormType: "timestamp",
37
59
  isSystem: true,
38
60
  },
39
61
  {
40
62
  name: "updatedAt",
41
63
  displayName: "Updated At",
42
64
  type: "datetime",
43
- ormType: "timestamp",
44
65
  isSystem: true,
45
66
  },
46
67
  {
47
68
  name: "deletedAt",
48
69
  displayName: "Deleted At",
49
70
  type: "datetime",
50
- ormType: "timestamp",
51
71
  isSystem: true,
52
72
  },
53
73
  {
54
74
  name: "deletedTracker",
55
75
  displayName: "Deleted Tracker",
56
76
  type: "shortText",
57
- ormType: "varchar",
58
77
  isSystem: true,
59
78
  },
60
79
  {
61
80
  name: "publishedAt",
62
81
  displayName: "Published At",
63
82
  type: "datetime",
64
- ormType: "timestamp",
65
83
  isSystem: true,
84
+ enableAuditTracking: true
66
85
  },
67
86
  {
68
87
  name: "localeName",
69
88
  displayName: "Locale",
70
89
  type: "shortText",
71
- ormType: "varchar",
72
90
  isSystem: true,
73
91
  },
74
92
  {
75
93
  name: "defaultEntityLocaleId",
76
94
  displayName: "Default Entity Locale Id",
77
95
  type: "int",
78
- ormType: "integer",
79
96
  isSystem: true,
80
97
  },
81
98
  {
82
99
  name: "createdBy",
83
100
  displayName: "Created By",
84
- type: "relation",
85
- ormType: "integer",
101
+ type: "int",
86
102
  isSystem: true,
87
- relationType: "many-to-one",
88
- relationCoModelSingularName: "user",
89
- relationCreateInverse: false,
90
- relationCascade: "restrict",
91
- relationModelModuleName: "solid-core"
103
+ columnName: "created_by_id",
92
104
  },
93
105
  {
94
106
  name: "updatedBy",
95
107
  displayName: "Updated By",
96
- type: "relation",
97
- ormType: "integer",
108
+ type: "int",
98
109
  isSystem: true,
99
- relationType: "many-to-one",
100
- relationCoModelSingularName: "user",
101
- relationCreateInverse: false,
102
- relationCascade: "restrict",
103
- relationModelModuleName: "solid-core"
104
- },
110
+ columnName: "updated_by_id",
111
+ }
105
112
  ];
106
- const commonEntityKeys = this.registry.getCommonEntityKeys();
107
- const systemFieldNames = systemFieldsMetadata.map(field => field.name);
108
- const missingKeys = commonEntityKeys.filter(key => !systemFieldNames.includes(key));
109
- if (missingKeys.length > 0) {
110
- this.logger.warn(`Missing system fields metadata for common entity keys: ${missingKeys.join(', ')}`);
113
+ }
114
+ getSystemFieldsMetadataMappingForLegacyTable(withId = true) {
115
+ const systemFieldsMetadata = this.getSystemFieldsMetadataMapping();
116
+ if (!withId) {
117
+ const index = systemFieldsMetadata.findIndex(field => field.name === 'id');
118
+ if (index !== -1) {
119
+ systemFieldsMetadata.splice(index, 1);
120
+ }
111
121
  }
122
+ systemFieldsMetadata.forEach(field => {
123
+ if (field.name === 'createdBy' || field.name === 'updatedBy') {
124
+ field['columnName'] = `${legacy_common_entity_1.LEGACY_TABLE_FIELDS_PREFIX}_${lodash_1._.snakeCase(field.name)}_id`;
125
+ }
126
+ else {
127
+ field['columnName'] = `${legacy_common_entity_1.LEGACY_TABLE_FIELDS_PREFIX}_${lodash_1._.snakeCase(field.name)}`;
128
+ }
129
+ });
112
130
  return systemFieldsMetadata;
113
131
  }
114
132
  async loadFieldHierarchy(modelName) {
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata-helper.service.js","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"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","sourcesContent":["// Return the system fields metadata for a model\n\nimport { Injectable, Logger } from \"@nestjs/common\";\nimport { ModelMetadataRepository } from \"src/repository/model-metadata.repository\";\nimport { SolidRegistry } from \"./solid-registry\";\n\n@Injectable()\nexport class ModelMetadataHelperService {\n private readonly logger = new Logger(ModelMetadataHelperService.name);\n\n constructor(private readonly registry: SolidRegistry,\n // @InjectRepository(ModelMetadata)\n // private readonly modelMetadataRepo: Repository<ModelMetadata>,\n private readonly modelMetadataRepo: ModelMetadataRepository,\n ) {\n }\n\n getSystemFieldsMetadata(): any[] {\n const systemFieldsMetadata = [\n {\n name: \"id\",\n displayName: \"Id\",\n type: \"int\",\n ormType: \"bigint\",\n isSystem: true,\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: \"datetime\",\n ormType: \"timestamp\",\n isSystem: true,\n },\n {\n name: \"updatedAt\",\n displayName: \"Updated At\",\n type: \"datetime\",\n ormType: \"timestamp\",\n isSystem: true,\n },\n {\n name: \"deletedAt\",\n displayName: \"Deleted At\",\n type: \"datetime\",\n ormType: \"timestamp\",\n isSystem: true,\n },\n {\n name: \"deletedTracker\",\n displayName: \"Deleted Tracker\",\n type: \"shortText\",\n ormType: \"varchar\",\n isSystem: true,\n },\n {\n name: \"publishedAt\",\n displayName: \"Published At\",\n type: \"datetime\",\n ormType: \"timestamp\",\n isSystem: true,\n },\n {\n name: \"localeName\",\n displayName: \"Locale\",\n type: \"shortText\",\n ormType: \"varchar\",\n isSystem: true,\n },\n {\n name: \"defaultEntityLocaleId\",\n displayName: \"Default Entity Locale Id\",\n type: \"int\",\n ormType: \"integer\",\n isSystem: true,\n },\n {\n name: \"createdBy\",\n displayName: \"Created By\",\n type: \"relation\",\n ormType: \"integer\",\n isSystem: true,\n relationType: \"many-to-one\",\n relationCoModelSingularName: \"user\",\n relationCreateInverse: false,\n relationCascade: \"restrict\",\n relationModelModuleName: \"solid-core\"\n },\n {\n name: \"updatedBy\",\n displayName: \"Updated By\",\n type: \"relation\",\n ormType: \"integer\",\n isSystem: true,\n relationType: \"many-to-one\",\n relationCoModelSingularName: \"user\",\n relationCreateInverse: false,\n relationCascade: \"restrict\",\n relationModelModuleName: \"solid-core\"\n },\n ]\n\n // Do an additional check and add a warning if the common entity keys and system field metadata keys don't match exactly\n const commonEntityKeys = this.registry.getCommonEntityKeys();\n const systemFieldNames = systemFieldsMetadata.map(field => field.name);\n const missingKeys = commonEntityKeys.filter(key => !systemFieldNames.includes(key));\n if (missingKeys.length > 0) {\n this.logger.warn(`Missing system fields metadata for common entity keys: ${missingKeys.join(', ')}`);\n }\n return systemFieldsMetadata;\n }\n\n async loadFieldHierarchy(modelName: any) {\n const model = await this.modelMetadataRepo.findOne({\n where: {\n singularName: modelName,\n },\n relations: {\n fields: true,\n parentModel: {\n fields: true,\n }\n }\n });\n const fields: any[] = [];\n if (model) {\n // Add the fields of the current model\n fields.push(...model.fields);\n\n // Add the fields of the parent model\n if (model.parentModel) {\n fields.push(...model.parentModel.fields);\n }\n }\n return fields;\n }\n}"]}
1
+ {"version":3,"file":"model-metadata-helper.service.js","sourceRoot":"","sources":["../../src/helpers/model-metadata-helper.service.ts"],"names":[],"mappings":"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","sourcesContent":["// Return the system fields metadata for a model\n\nimport { Injectable, Logger } from \"@nestjs/common\";\nimport { ModelMetadataRepository } from \"src/repository/model-metadata.repository\";\nimport { SolidRegistry } from \"./solid-registry\";\nimport {_ } from \"lodash\";\nimport { LEGACY_TABLE_FIELDS_PREFIX } from \"src/entities/legacy-common.entity\";\n\n@Injectable()\nexport class ModelMetadataHelperService {\n private readonly logger = new Logger(ModelMetadataHelperService.name);\n\n constructor(private readonly registry: SolidRegistry,\n // @InjectRepository(ModelMetadata)\n // private readonly modelMetadataRepo: Repository<ModelMetadata>,\n private readonly modelMetadataRepo: ModelMetadataRepository,\n ) {\n }\n\n getSystemFieldsMetadata(isLegacyTable: boolean=false, isLegacyTableWithId: boolean=false): any[] {\n let systemFieldsMetadata: any[];\n if (isLegacyTableWithId) {\n systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(true);\n }\n else if (isLegacyTable) {\n systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(false);\n }\n else {\n systemFieldsMetadata = this.getSystemFieldsMetadataMapping();\n }\n\n this.checkWithRegistry(systemFieldsMetadata);\n\n return systemFieldsMetadata;\n }\n\n // TODO: Do an additional check and add a warning if the common entity keys and system field metadata keys don't match exactly\n // Ideally this should be reflection based code\n private checkWithRegistry(systemFieldsMetadata: ({ name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; isSystem: boolean; ormType?: undefined; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType: string; relationCoModelSingularName: string; relationCreateInverse: boolean; relationCascade: string; relationModelModuleName: string; })[]) {\n const commonEntityKeys = this.registry.getCommonEntityKeys();\n const systemFieldNames = systemFieldsMetadata.map(field => field.name);\n const missingKeys = commonEntityKeys.filter(key => !systemFieldNames.includes(key));\n if (missingKeys.length > 0) {\n this.logger.warn(`Missing system fields metadata for common entity keys: ${missingKeys.join(', ')}`);\n }\n }\n\n private getSystemFieldsMetadataMapping() {\n return [\n {\n name: \"id\",\n displayName: \"Id\",\n type: \"int\",\n isSystem: true,\n },\n {\n name: \"createdAt\",\n displayName: \"Created At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"updatedAt\",\n displayName: \"Updated At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"deletedAt\",\n displayName: \"Deleted At\",\n type: \"datetime\",\n isSystem: true,\n },\n {\n name: \"deletedTracker\",\n displayName: \"Deleted Tracker\",\n type: \"shortText\",\n isSystem: true,\n },\n {\n name: \"publishedAt\",\n displayName: \"Published At\",\n type: \"datetime\",\n isSystem: true,\n enableAuditTracking:true\n },\n {\n name: \"localeName\",\n displayName: \"Locale\",\n type: \"shortText\",\n isSystem: true,\n },\n {\n name: \"defaultEntityLocaleId\",\n displayName: \"Default Entity Locale Id\",\n type: \"int\",\n isSystem: true,\n },\n {\n name: \"createdBy\",\n displayName: \"Created By\",\n type: \"int\",\n isSystem: true,\n columnName: \"created_by_id\",\n },\n {\n name: \"updatedBy\",\n displayName: \"Updated By\",\n type: \"int\",\n isSystem: true,\n columnName: \"updated_by_id\",\n }\n ];\n }\n\n private getSystemFieldsMetadataMappingForLegacyTable(withId: boolean=true) {\n const systemFieldsMetadata = this.getSystemFieldsMetadataMapping();\n if (!withId) {\n // Remove the id field metadata\n const index = systemFieldsMetadata.findIndex(field => field.name === 'id');\n if (index !== -1) {\n systemFieldsMetadata.splice(index, 1);\n }\n }\n\n // For legacy table, system fields, remove the ormType atribute from the metadata\n // systemFieldsMetadata.forEach(field => {\n // delete field.ormType;\n // });\n\n // Except for createdBy and updatedBy fields, for which we need to keep the columnName as created_by_id and updated_by_id respectively,\n // we need to add a columnName attribute with legacy prefix concatenated with the kebab cased field name of the system field\n systemFieldsMetadata.forEach(field => {\n if (field.name === 'createdBy' || field.name === 'updatedBy') {\n field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}_id`;\n } else {\n field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}`;\n }\n });\n return systemFieldsMetadata;\n }\n\n async loadFieldHierarchy(modelName: any) {\n const model = await this.modelMetadataRepo.findOne({\n where: {\n singularName: modelName,\n },\n relations: {\n fields: true,\n parentModel: {\n fields: true,\n }\n }\n });\n const fields: any[] = [];\n if (model) {\n // Add the fields of the current model\n fields.push(...model.fields);\n\n // Add the fields of the parent model\n if (model.parentModel) {\n fields.push(...model.parentModel.fields);\n }\n }\n return fields;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"module.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,QAAO,MAAM,EA4B9C,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,MAAM,EAG3C,CAAA"}
1
+ {"version":3,"file":"module.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,QAAO,MAAM,EA6B9C,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,MAAM,EAG3C,CAAA"}
@@ -47,9 +47,7 @@ const getDynamicModuleNames = () => {
47
47
  const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);
48
48
  if (!isValidDirectory)
49
49
  return false;
50
- const fullPath = path.join(srcPath, dirent.name);
51
- const files = fs.readdirSync(fullPath);
52
- return files.length > 0;
50
+ return true;
53
51
  })
54
52
  .map(dirent => dirent.name);
55
53
  console.log(`Enabled dynamic modules:`, enabledModules);
@@ -1 +1 @@
1
- {"version":3,"file":"module.helper.js","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAGtB,MAAM,qBAAqB,GAAG,GAAa,EAAE;IAClD,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAG/F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAE1F,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAKrE,MAAM,cAAc,GAAG,WAAW;SAC/B,MAAM,CAAC,MAAM,CAAC,EAAE;QACf,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3F,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEvC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC;SACD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IACxD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAA;AA5BY,QAAA,qBAAqB,yBA4BjC;AAEM,MAAM,kBAAkB,GAAG,GAAa,EAAE;IAE/C,OAAO,CAAC,YAAY,CAAC,CAAC;AACxB,CAAC,CAAA;AAHY,QAAA,kBAAkB,sBAG9B","sourcesContent":["import * as fs from 'fs'; // Use the Promise-based version of fs for async/await\nimport * as path from 'path'; // To handle file paths\n\n\nexport const getDynamicModuleNames = (): string[] => {\n const dynamicModulesToExclude = process.env.SOLID_DYNAMIC_MODULES_TO_EXCLUDE?.split(',') || [];\n\n // Adjust if 'src' is in a different location\n const srcPath = path.join(process.cwd(), 'src');\n const coreModuleNames = getCoreModuleNames();\n const allExcludedModules = [...new Set([...coreModuleNames, ...dynamicModulesToExclude])];\n\n const directories = fs.readdirSync(srcPath, { withFileTypes: true });\n // const enabledModules = directories\n // .filter(d => d.isDirectory() && !allExcludedModules.includes(d.name))\n // .map(d => d.name);\n\n const enabledModules = directories\n .filter(dirent => {\n const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);\n\n if (!isValidDirectory) return false;\n\n const fullPath = path.join(srcPath, dirent.name);\n const files = fs.readdirSync(fullPath);\n // skip if empty directory\n return files.length > 0;\n })\n .map(dirent => dirent.name);\n\n console.log(`Enabled dynamic modules:`, enabledModules);\n return enabledModules;\n}\n\nexport const getCoreModuleNames = (): string[] => {\n // return ['iam', 'common', 'queues', 'app-builder'];\n return ['solid-core'];\n}"]}
1
+ {"version":3,"file":"module.helper.js","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAGtB,MAAM,qBAAqB,GAAG,GAAa,EAAE;IAClD,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAG/F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAE1F,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAKrE,MAAM,cAAc,GAAG,WAAW;SAC/B,MAAM,CAAC,MAAM,CAAC,EAAE;QACf,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3F,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEpC,OAAO,IAAI,CAAA;IAKb,CAAC,CAAC;SACD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IACxD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAA;AA7BY,QAAA,qBAAqB,yBA6BjC;AAEM,MAAM,kBAAkB,GAAG,GAAa,EAAE;IAE/C,OAAO,CAAC,YAAY,CAAC,CAAC;AACxB,CAAC,CAAA;AAHY,QAAA,kBAAkB,sBAG9B","sourcesContent":["import * as fs from 'fs'; // Use the Promise-based version of fs for async/await\nimport * as path from 'path'; // To handle file paths\n\n\nexport const getDynamicModuleNames = (): string[] => {\n const dynamicModulesToExclude = process.env.SOLID_DYNAMIC_MODULES_TO_EXCLUDE?.split(',') || [];\n\n // Adjust if 'src' is in a different location\n const srcPath = path.join(process.cwd(), 'src');\n const coreModuleNames = getCoreModuleNames();\n const allExcludedModules = [...new Set([...coreModuleNames, ...dynamicModulesToExclude])];\n\n const directories = fs.readdirSync(srcPath, { withFileTypes: true });\n // const enabledModules = directories\n // .filter(d => d.isDirectory() && !allExcludedModules.includes(d.name))\n // .map(d => d.name);\n\n const enabledModules = directories\n .filter(dirent => {\n const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);\n\n if (!isValidDirectory) return false;\n\n return true\n // const fullPath = path.join(srcPath, dirent.name);\n // const files = fs.readdirSync(fullPath);\n // skip if empty directory\n // return files.length > 0;\n })\n .map(dirent => dirent.name);\n\n console.log(`Enabled dynamic modules:`, enabledModules);\n return enabledModules;\n}\n\nexport const getCoreModuleNames = (): string[] => {\n // return ['iam', 'common', 'queues', 'app-builder'];\n return ['solid-core'];\n}"]}
@@ -1,20 +1,24 @@
1
+ import { FieldMetadata } from 'src/entities/field-metadata.entity';
1
2
  import { CommandService } from './command.service';
2
3
  import { SolidRegistry } from './solid-registry';
3
4
  export declare const ADD_MODULE_COMMAND = "add-module";
4
5
  export type GenerateModuleOptions = {
5
6
  module: string;
6
7
  };
7
- type FieldOptions = {
8
+ type ModelAndFieldGenerationOptions = {
8
9
  module: string;
9
10
  model: string;
10
11
  moduleDisplayName: string;
11
12
  table?: string;
12
13
  dataSource: string;
13
- fields: any[];
14
14
  modelEnableSoftDelete?: boolean;
15
15
  parentModel?: string;
16
16
  parentModule?: string;
17
17
  draftPublishWorkflowEnabled?: boolean;
18
+ isLegacyTable?: boolean;
19
+ isLegacyTableWithId?: boolean;
20
+ dataSourceType?: string;
21
+ fields: FieldMetadata[];
18
22
  };
19
23
  export declare const REMOVE_FIELDS_COMMAND = "remove-fields";
20
24
  export declare const REFRESH_MODEL_COMMAND = "refresh-model";
@@ -24,8 +28,10 @@ export declare class SchematicService {
24
28
  private readonly logger;
25
29
  private readonly SCHEMATIC_PROJECT;
26
30
  constructor(commandService: CommandService, solidRegistry: SolidRegistry);
27
- executeSchematicCommand(command: string, options: GenerateModuleOptions | FieldOptions, debug?: boolean): Promise<string>;
31
+ executeSchematicCommand(command: string, options: GenerateModuleOptions | ModelAndFieldGenerationOptions, debug?: boolean): Promise<string>;
28
32
  private generateSchematicCommand;
33
+ private buildFieldGenerationCommand;
34
+ private buildModelGenerationCommand;
29
35
  }
30
36
  export {};
31
37
  //# sourceMappingURL=schematic.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schematic.service.d.ts","sourceRoot":"","sources":["../../src/helpers/schematic.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AACF,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AACrD,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAGrD,qBACa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF3F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;gBAC5C,cAAc,EAAE,cAAc,EAAmB,aAAa,EAAE,aAAa;IAEpG,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAAG,YAAY,EAC7C,KAAK,UAAQ,GACZ,OAAO,CAAC,MAAM,CAAC;IAMlB,OAAO,CAAC,wBAAwB;CA6DjC"}
1
+ {"version":3,"file":"schematic.service.d.ts","sourceRoot":"","sources":["../../src/helpers/schematic.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF,KAAK,8BAA8B,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB,CAAC;AACF,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AACrD,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAGrD,qBACa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF3F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;gBAC5C,cAAc,EAAE,cAAc,EAAmB,aAAa,EAAE,aAAa;IAEpG,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAAG,8BAA8B,EAC/D,KAAK,UAAQ,GACZ,OAAO,CAAC,MAAM,CAAC;IAMlB,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,2BAA2B;CA6CpC"}