@solidstarters/solid-core 1.2.200 → 1.2.201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/dist/commands/fixtures/fixtures-setup.command.d.ts +15 -0
  2. package/dist/commands/fixtures/fixtures-setup.command.d.ts.map +1 -0
  3. package/dist/commands/fixtures/fixtures-setup.command.js +58 -0
  4. package/dist/commands/fixtures/fixtures-setup.command.js.map +1 -0
  5. package/dist/commands/fixtures/fixtures-tear-down.command.d.ts +16 -0
  6. package/dist/commands/fixtures/fixtures-tear-down.command.d.ts.map +1 -0
  7. package/dist/commands/fixtures/fixtures-tear-down.command.js +59 -0
  8. package/dist/commands/fixtures/fixtures-tear-down.command.js.map +1 -0
  9. package/dist/commands/refresh-model.command.d.ts.map +1 -1
  10. package/dist/commands/refresh-model.command.js +4 -0
  11. package/dist/commands/refresh-model.command.js.map +1 -1
  12. package/dist/constants/error-messages.d.ts +2 -0
  13. package/dist/constants/error-messages.d.ts.map +1 -1
  14. package/dist/constants/error-messages.js +4 -0
  15. package/dist/constants/error-messages.js.map +1 -1
  16. package/dist/controllers/model-sequence.controller.d.ts +43 -0
  17. package/dist/controllers/model-sequence.controller.d.ts.map +1 -0
  18. package/dist/controllers/model-sequence.controller.js +179 -0
  19. package/dist/controllers/model-sequence.controller.js.map +1 -0
  20. package/dist/controllers/setting.controller.d.ts +1 -0
  21. package/dist/controllers/setting.controller.d.ts.map +1 -1
  22. package/dist/controllers/setting.controller.js +15 -0
  23. package/dist/controllers/setting.controller.js.map +1 -1
  24. package/dist/dtos/basic-filters.dto.d.ts +3 -1
  25. package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
  26. package/dist/dtos/basic-filters.dto.js +8 -2
  27. package/dist/dtos/basic-filters.dto.js.map +1 -1
  28. package/dist/dtos/basic-group-filters.dto.d.ts +6 -0
  29. package/dist/dtos/basic-group-filters.dto.d.ts.map +1 -0
  30. package/dist/dtos/basic-group-filters.dto.js +46 -0
  31. package/dist/dtos/basic-group-filters.dto.js.map +1 -0
  32. package/dist/dtos/create-field-metadata.dto.js +2 -2
  33. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  34. package/dist/dtos/create-model-sequence.dto.d.ts +14 -0
  35. package/dist/dtos/create-model-sequence.dto.d.ts.map +1 -0
  36. package/dist/dtos/create-model-sequence.dto.js +90 -0
  37. package/dist/dtos/create-model-sequence.dto.js.map +1 -0
  38. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  39. package/dist/dtos/create-role-metadata.dto.js +1 -0
  40. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  41. package/dist/dtos/get-mcp-url.dto.d.ts +5 -0
  42. package/dist/dtos/get-mcp-url.dto.d.ts.map +1 -0
  43. package/dist/dtos/get-mcp-url.dto.js +31 -0
  44. package/dist/dtos/get-mcp-url.dto.js.map +1 -0
  45. package/dist/dtos/resolve-s3-url.dto.d.ts +5 -5
  46. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -1
  47. package/dist/dtos/resolve-s3-url.dto.js +7 -7
  48. package/dist/dtos/resolve-s3-url.dto.js.map +1 -1
  49. package/dist/dtos/update-model-sequence.dto.d.ts +15 -0
  50. package/dist/dtos/update-model-sequence.dto.d.ts.map +1 -0
  51. package/dist/dtos/update-model-sequence.dto.js +94 -0
  52. package/dist/dtos/update-model-sequence.dto.js.map +1 -0
  53. package/dist/entities/common.entity.d.ts.map +1 -1
  54. package/dist/entities/common.entity.js +1 -0
  55. package/dist/entities/common.entity.js.map +1 -1
  56. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  57. package/dist/entities/legacy-common.entity.js +1 -0
  58. package/dist/entities/legacy-common.entity.js.map +1 -1
  59. package/dist/entities/model-sequence.entity.d.ts +15 -0
  60. package/dist/entities/model-sequence.entity.d.ts.map +1 -0
  61. package/dist/entities/model-sequence.entity.js +67 -0
  62. package/dist/entities/model-sequence.entity.js.map +1 -0
  63. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts.map +1 -1
  64. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js +13 -2
  65. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
  66. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +0 -1
  67. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts.map +1 -1
  68. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +4 -9
  69. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  70. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +0 -1
  71. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
  72. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +7 -8
  73. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  74. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +0 -1
  75. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts.map +1 -1
  76. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +4 -9
  77. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  78. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  79. package/dist/helpers/model-metadata-helper.service.js +6 -2
  80. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  81. package/dist/helpers/module-metadata-helper.service.d.ts +1 -0
  82. package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
  83. package/dist/helpers/module-metadata-helper.service.js +9 -0
  84. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  85. package/dist/helpers/module.helper.d.ts +1 -0
  86. package/dist/helpers/module.helper.d.ts.map +1 -1
  87. package/dist/helpers/module.helper.js +29 -3
  88. package/dist/helpers/module.helper.js.map +1 -1
  89. package/dist/helpers/solid-registry.d.ts +11 -0
  90. package/dist/helpers/solid-registry.d.ts.map +1 -1
  91. package/dist/helpers/solid-registry.js.map +1 -1
  92. package/dist/index.d.ts +3 -1
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +4 -2
  95. package/dist/index.js.map +1 -1
  96. package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts +1 -0
  97. package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts.map +1 -1
  98. package/dist/jobs/computed-field-evaluation-subscriber.service.js +16 -4
  99. package/dist/jobs/computed-field-evaluation-subscriber.service.js.map +1 -1
  100. package/dist/repository/media.repository.d.ts.map +1 -1
  101. package/dist/repository/media.repository.js +4 -0
  102. package/dist/repository/media.repository.js.map +1 -1
  103. package/dist/repository/model-sequence.repository.d.ts +14 -0
  104. package/dist/repository/model-sequence.repository.d.ts.map +1 -0
  105. package/dist/repository/model-sequence.repository.js +103 -0
  106. package/dist/repository/model-sequence.repository.js.map +1 -0
  107. package/dist/seeders/module-metadata-seeder.service.d.ts +7 -12
  108. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  109. package/dist/seeders/module-metadata-seeder.service.js +64 -26
  110. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  111. package/dist/seeders/seed-data/solid-core-metadata.json +343 -27
  112. package/dist/seeders/system-fields-seeder.service.d.ts +1 -0
  113. package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
  114. package/dist/seeders/system-fields-seeder.service.js +11 -2
  115. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  116. package/dist/services/action-metadata.service.d.ts.map +1 -1
  117. package/dist/services/action-metadata.service.js +1 -0
  118. package/dist/services/action-metadata.service.js.map +1 -1
  119. package/dist/services/ai-interaction.service.d.ts.map +1 -1
  120. package/dist/services/ai-interaction.service.js +1 -0
  121. package/dist/services/ai-interaction.service.js.map +1 -1
  122. package/dist/services/authentication.service.d.ts.map +1 -1
  123. package/dist/services/authentication.service.js +22 -14
  124. package/dist/services/authentication.service.js.map +1 -1
  125. package/dist/services/chatter-message-details.service.d.ts.map +1 -1
  126. package/dist/services/chatter-message-details.service.js +1 -0
  127. package/dist/services/chatter-message-details.service.js.map +1 -1
  128. package/dist/services/chatter-message.service.d.ts.map +1 -1
  129. package/dist/services/chatter-message.service.js +7 -3
  130. package/dist/services/chatter-message.service.js.map +1 -1
  131. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  132. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +7 -5
  133. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  134. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +15 -0
  135. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -0
  136. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +72 -0
  137. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -0
  138. package/dist/services/crud-helper.service.d.ts +23 -6
  139. package/dist/services/crud-helper.service.d.ts.map +1 -1
  140. package/dist/services/crud-helper.service.js +257 -45
  141. package/dist/services/crud-helper.service.js.map +1 -1
  142. package/dist/services/crud.service.d.ts +3 -1
  143. package/dist/services/crud.service.d.ts.map +1 -1
  144. package/dist/services/crud.service.js +53 -24
  145. package/dist/services/crud.service.js.map +1 -1
  146. package/dist/services/database/database-bootstrap.service.d.ts +12 -0
  147. package/dist/services/database/database-bootstrap.service.d.ts.map +1 -0
  148. package/dist/services/database/database-bootstrap.service.js +115 -0
  149. package/dist/services/database/database-bootstrap.service.js.map +1 -0
  150. package/dist/services/email-template.service.d.ts +7 -7
  151. package/dist/services/email-template.service.d.ts.map +1 -1
  152. package/dist/services/email-template.service.js +8 -7
  153. package/dist/services/email-template.service.js.map +1 -1
  154. package/dist/services/excel.service.d.ts +10 -0
  155. package/dist/services/excel.service.d.ts.map +1 -1
  156. package/dist/services/excel.service.js +100 -0
  157. package/dist/services/excel.service.js.map +1 -1
  158. package/dist/services/field-metadata.service.d.ts +4 -1
  159. package/dist/services/field-metadata.service.d.ts.map +1 -1
  160. package/dist/services/field-metadata.service.js +35 -30
  161. package/dist/services/field-metadata.service.js.map +1 -1
  162. package/dist/services/file.service.d.ts +1 -0
  163. package/dist/services/file.service.d.ts.map +1 -1
  164. package/dist/services/file.service.js +9 -0
  165. package/dist/services/file.service.js.map +1 -1
  166. package/dist/services/fixtures.service.d.ts +13 -0
  167. package/dist/services/fixtures.service.d.ts.map +1 -0
  168. package/dist/services/fixtures.service.js +95 -0
  169. package/dist/services/fixtures.service.js.map +1 -0
  170. package/dist/services/genai/ingest-metadata.service.d.ts.map +1 -1
  171. package/dist/services/genai/ingest-metadata.service.js +1 -1
  172. package/dist/services/genai/ingest-metadata.service.js.map +1 -1
  173. package/dist/services/import-transaction-error-log.service.d.ts.map +1 -1
  174. package/dist/services/import-transaction-error-log.service.js +1 -0
  175. package/dist/services/import-transaction-error-log.service.js.map +1 -1
  176. package/dist/services/import-transaction.service.d.ts.map +1 -1
  177. package/dist/services/import-transaction.service.js +7 -1
  178. package/dist/services/import-transaction.service.js.map +1 -1
  179. package/dist/services/list-of-values.service.d.ts +2 -2
  180. package/dist/services/list-of-values.service.d.ts.map +1 -1
  181. package/dist/services/list-of-values.service.js +2 -1
  182. package/dist/services/list-of-values.service.js.map +1 -1
  183. package/dist/services/locale.service.d.ts.map +1 -1
  184. package/dist/services/locale.service.js +1 -0
  185. package/dist/services/locale.service.js.map +1 -1
  186. package/dist/services/mail/smtp-email.service.js +0 -1
  187. package/dist/services/mail/smtp-email.service.js.map +1 -1
  188. package/dist/services/media.service.d.ts +3 -3
  189. package/dist/services/media.service.d.ts.map +1 -1
  190. package/dist/services/media.service.js +6 -4
  191. package/dist/services/media.service.js.map +1 -1
  192. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  193. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +17 -6
  194. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  195. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  196. package/dist/services/mediaStorageProviders/file-storage-provider.js +0 -13
  197. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  198. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  199. package/dist/services/menu-item-metadata.service.js +4 -0
  200. package/dist/services/menu-item-metadata.service.js.map +1 -1
  201. package/dist/services/model-metadata.service.d.ts.map +1 -1
  202. package/dist/services/model-metadata.service.js +2 -42
  203. package/dist/services/model-metadata.service.js.map +1 -1
  204. package/dist/services/model-sequence.service.d.ts +23 -0
  205. package/dist/services/model-sequence.service.d.ts.map +1 -0
  206. package/dist/services/model-sequence.service.js +55 -0
  207. package/dist/services/model-sequence.service.js.map +1 -0
  208. package/dist/services/module-metadata.service.d.ts +1 -0
  209. package/dist/services/module-metadata.service.d.ts.map +1 -1
  210. package/dist/services/module-metadata.service.js +35 -1
  211. package/dist/services/module-metadata.service.js.map +1 -1
  212. package/dist/services/permission-metadata.service.d.ts +5 -5
  213. package/dist/services/permission-metadata.service.d.ts.map +1 -1
  214. package/dist/services/permission-metadata.service.js +6 -5
  215. package/dist/services/permission-metadata.service.js.map +1 -1
  216. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  217. package/dist/services/queues/database-subscriber.service.js +2 -1
  218. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  219. package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
  220. package/dist/services/queues/rabbitmq-subscriber.service.js +2 -2
  221. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  222. package/dist/services/role-metadata.service.d.ts.map +1 -1
  223. package/dist/services/role-metadata.service.js +1 -0
  224. package/dist/services/role-metadata.service.js.map +1 -1
  225. package/dist/services/scheduled-job.service.d.ts +6 -6
  226. package/dist/services/scheduled-job.service.d.ts.map +1 -1
  227. package/dist/services/scheduled-job.service.js +8 -8
  228. package/dist/services/scheduled-job.service.js.map +1 -1
  229. package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
  230. package/dist/services/scheduled-jobs/scheduler.service.js +4 -0
  231. package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
  232. package/dist/services/security-rule.service.d.ts.map +1 -1
  233. package/dist/services/security-rule.service.js +1 -0
  234. package/dist/services/security-rule.service.js.map +1 -1
  235. package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts.map +1 -1
  236. package/dist/services/selection-providers/list-of-models-selection-provider.service.js +4 -0
  237. package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
  238. package/dist/services/setting.service.d.ts +7 -5
  239. package/dist/services/setting.service.d.ts.map +1 -1
  240. package/dist/services/setting.service.js +26 -4
  241. package/dist/services/setting.service.js.map +1 -1
  242. package/dist/services/sms-template.service.d.ts +7 -7
  243. package/dist/services/sms-template.service.d.ts.map +1 -1
  244. package/dist/services/sms-template.service.js +8 -7
  245. package/dist/services/sms-template.service.js.map +1 -1
  246. package/dist/services/solid-introspect.service.d.ts +4 -13
  247. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  248. package/dist/services/solid-introspect.service.js +4 -22
  249. package/dist/services/solid-introspect.service.js.map +1 -1
  250. package/dist/services/solid-ts-morph.service.js +2 -2
  251. package/dist/services/solid-ts-morph.service.js.map +1 -1
  252. package/dist/services/user-activity-history.service.d.ts.map +1 -1
  253. package/dist/services/user-activity-history.service.js +1 -0
  254. package/dist/services/user-activity-history.service.js.map +1 -1
  255. package/dist/services/user-view-metadata.service.d.ts.map +1 -1
  256. package/dist/services/user-view-metadata.service.js +3 -2
  257. package/dist/services/user-view-metadata.service.js.map +1 -1
  258. package/dist/services/user.service.d.ts.map +1 -1
  259. package/dist/services/user.service.js +1 -0
  260. package/dist/services/user.service.js.map +1 -1
  261. package/dist/services/view-metadata.service.d.ts +1 -1
  262. package/dist/services/view-metadata.service.d.ts.map +1 -1
  263. package/dist/services/view-metadata.service.js +3 -1
  264. package/dist/services/view-metadata.service.js.map +1 -1
  265. package/dist/solid-core-cli-db.module.d.ts.map +1 -1
  266. package/dist/solid-core-cli-db.module.js +5 -2
  267. package/dist/solid-core-cli-db.module.js.map +1 -1
  268. package/dist/solid-core.module.d.ts.map +1 -1
  269. package/dist/solid-core.module.js +18 -0
  270. package/dist/solid-core.module.js.map +1 -1
  271. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  272. package/dist/subscribers/audit.subscriber.js +5 -1
  273. package/dist/subscribers/audit.subscriber.js.map +1 -1
  274. package/dist/subscribers/computed-entity-field.subscriber.d.ts +4 -2
  275. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  276. package/dist/subscribers/computed-entity-field.subscriber.js +53 -12
  277. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  278. package/dist/transformers/typeorm/local-date-time-transformer.d.ts +5 -0
  279. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -0
  280. package/dist/transformers/typeorm/local-date-time-transformer.js +26 -0
  281. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -0
  282. package/dist/tsconfig.tsbuildinfo +1 -1
  283. package/docs/grouping-enhancements.md +89 -0
  284. package/package.json +1 -1
  285. package/src/commands/fixtures/fixtures-setup.command.ts +44 -0
  286. package/src/commands/fixtures/fixtures-tear-down.command.ts +45 -0
  287. package/src/commands/refresh-model.command.ts +3 -1
  288. package/src/constants/error-messages.ts +7 -1
  289. package/src/controllers/model-sequence.controller.ts +93 -0
  290. package/src/controllers/setting.controller.ts +33 -21
  291. package/src/dtos/basic-filters.dto.ts +6 -1
  292. package/src/dtos/basic-group-filters.dto.ts +23 -0
  293. package/src/dtos/create-field-metadata.dto.ts +1 -1
  294. package/src/dtos/create-model-sequence.dto.ts +51 -0
  295. package/src/dtos/create-role-metadata.dto.ts +16 -3
  296. package/src/dtos/get-mcp-url.dto.ts +13 -0
  297. package/src/dtos/resolve-s3-url.dto.ts +9 -11
  298. package/src/dtos/update-model-sequence.dto.ts +53 -0
  299. package/src/entities/common.entity.ts +2 -2
  300. package/src/entities/legacy-common.entity.ts +2 -1
  301. package/src/entities/model-sequence.entity.ts +32 -0
  302. package/src/helpers/field-crud-managers/BigIntFieldCrudManager.ts +18 -5
  303. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +9 -9
  304. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +16 -8
  305. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +9 -9
  306. package/src/helpers/model-metadata-helper.service.ts +6 -4
  307. package/src/helpers/module-metadata-helper.service.ts +18 -1
  308. package/src/helpers/module.helper.ts +40 -5
  309. package/src/helpers/solid-registry.ts +14 -0
  310. package/src/index.ts +3 -1
  311. package/src/jobs/computed-field-evaluation-subscriber.service.ts +15 -4
  312. package/src/repository/media.repository.ts +3 -2
  313. package/src/repository/model-sequence.repository.ts +97 -0
  314. package/src/seeders/module-metadata-seeder.service.ts +103 -29
  315. package/src/seeders/seed-data/solid-core-metadata.json +343 -27
  316. package/src/seeders/system-fields-seeder.service.ts +6 -2
  317. package/src/services/action-metadata.service.ts +3 -2
  318. package/src/services/ai-interaction.service.ts +2 -1
  319. package/src/services/authentication.service.ts +46 -14
  320. package/src/services/chatter-message-details.service.ts +2 -1
  321. package/src/services/chatter-message.service.ts +10 -4
  322. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +8 -7
  323. package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +86 -0
  324. package/src/services/crud-helper.service.ts +287 -49
  325. package/src/services/crud.service.ts +83 -32
  326. package/src/services/database/database-bootstrap.service.ts +91 -0
  327. package/src/services/email-template.service.ts +11 -13
  328. package/src/services/excel.service.ts +146 -3
  329. package/src/services/field-metadata.service.ts +102 -55
  330. package/src/services/file.service.ts +9 -0
  331. package/src/services/fixtures.service.ts +108 -0
  332. package/src/services/genai/ingest-metadata.service.ts +4 -3
  333. package/src/services/import-transaction-error-log.service.ts +2 -1
  334. package/src/services/import-transaction.service.ts +8 -4
  335. package/src/services/list-of-values.service.ts +4 -4
  336. package/src/services/locale.service.ts +2 -1
  337. package/src/services/mail/smtp-email.service.ts +1 -1
  338. package/src/services/media.service.ts +10 -11
  339. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +22 -7
  340. package/src/services/mediaStorageProviders/file-storage-provider.ts +18 -13
  341. package/src/services/menu-item-metadata.service.ts +6 -2
  342. package/src/services/model-metadata.service.ts +50 -44
  343. package/src/services/model-sequence.service.ts +33 -0
  344. package/src/services/module-metadata.service.ts +49 -2
  345. package/src/services/permission-metadata.service.ts +8 -9
  346. package/src/services/queues/database-subscriber.service.ts +3 -1
  347. package/src/services/queues/rabbitmq-subscriber.service.ts +4 -2
  348. package/src/services/role-metadata.service.ts +1 -0
  349. package/src/services/scheduled-job.service.ts +9 -9
  350. package/src/services/scheduled-jobs/scheduler.service.ts +5 -0
  351. package/src/services/security-rule.service.ts +1 -0
  352. package/src/services/selection-providers/list-of-models-selection-provider.service.ts +5 -2
  353. package/src/services/setting.service.ts +33 -6
  354. package/src/services/sms-template.service.ts +11 -13
  355. package/src/services/solid-introspect.service.ts +6 -19
  356. package/src/services/solid-ts-morph.service.ts +2 -2
  357. package/src/services/user-activity-history.service.ts +3 -2
  358. package/src/services/user-view-metadata.service.ts +4 -3
  359. package/src/services/user.service.ts +2 -1
  360. package/src/services/view-metadata.service.ts +5 -4
  361. package/src/solid-core-cli-db.module.ts +5 -4
  362. package/src/solid-core.module.ts +18 -0
  363. package/src/subscribers/audit.subscriber.ts +3 -2
  364. package/src/subscribers/computed-entity-field.subscriber.ts +60 -17
  365. package/src/transformers/typeorm/local-date-time-transformer.ts +30 -0
  366. /package/sql/{mssql → default/mssql}/proc_CleanupModelMetadata.sql +0 -0
  367. /package/sql/{mssql → default/mssql}/proc_CleanupModuleMetadata.sql +0 -0
  368. /package/sql/{mssql/scratchpad.sql → default/mssql/scratchpad.sql.txt} +0 -0
  369. /package/sql/{postgres → default/postgres}/proc_CleanupModelMetadata.sql +0 -0
  370. /package/sql/{postgres → default/postgres}/proc_CleanupModuleMetadata.sql +0 -0
  371. /package/sql/{postgres/scratchpad.sql → default/postgres/scratchpad.sql.txt} +0 -0
@@ -1,18 +1,13 @@
1
- import { Inject, Injectable, Logger } from '@nestjs/common';
1
+ import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common';
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
4
 
5
- import { ConfigType } from '@nestjs/config';
6
- import { InjectRepository } from '@nestjs/typeorm';
7
- import commonConfig from 'src/config/common.config';
8
- import { iamConfig } from 'src/config/iam.config';
9
5
  import { CreateDashboardDto } from 'src/dtos/create-dashboard.dto';
10
6
  import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';
11
7
  import { CreateListOfValuesDto } from 'src/dtos/create-list-of-values.dto';
12
8
  import { CreateSecurityRuleDto } from 'src/dtos/create-security-rule.dto';
13
9
  import { CreateSettingDto } from 'src/dtos/create-setting.dto';
14
10
  import { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';
15
- import { Setting } from 'src/entities/setting.entity';
16
11
  import { DashboardRepository } from 'src/repository/dashboard.repository';
17
12
  import { SecurityRuleRepository } from 'src/repository/security-rule.repository';
18
13
  import { AuthenticationService } from 'src/services/authentication.service';
@@ -25,14 +20,12 @@ import { DataSource, In, Repository } from 'typeorm';
25
20
  import appBuilderConfig from '../config/app-builder.config';
26
21
  import { CreateModelMetadataDto } from '../dtos/create-model-metadata.dto';
27
22
  import { CreateModuleMetadataDto } from '../dtos/create-module-metadata.dto';
28
- import { PermissionMetadata } from '../entities/permission-metadata.entity';
29
- import { getDynamicModuleNames } from '../helpers/module.helper';
23
+ import { getDynamicModuleNames, getDynamicModuleNamesBasedOnMetadata } from '../helpers/module.helper';
30
24
  import { SolidRegistry } from '../helpers/solid-registry';
31
25
  import { ActionMetadataService } from '../services/action-metadata.service';
32
26
  import { FieldMetadataService } from '../services/field-metadata.service';
33
27
  import { MediaStorageProviderMetadataSeederService } from '../services/media-storage-provider-metadata-seeder.service';
34
28
  import { MediaStorageProviderMetadataService } from '../services/media-storage-provider-metadata.service';
35
- import { MenuItemMetadataService } from '../services/menu-item-metadata.service';
36
29
  import { ModelMetadataService } from '../services/model-metadata.service';
37
30
  import { ModuleMetadataService } from '../services/module-metadata.service';
38
31
  import { RoleMetadataService } from '../services/role-metadata.service';
@@ -42,12 +35,14 @@ import { SystemFieldsSeederService } from './system-fields-seeder.service';
42
35
  // import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
43
36
  import { ActionMetadata, MENU_ROLE_JOIN_TABLE_NAME, MENU_ROLE_JOIN_TABLE_NAME_MENU_COL, MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL, MenuItemMetadata, ModuleMetadata, RoleMetadata } from 'src';
44
37
  import { ADMIN_ROLE_NAME, INTERNAL_ROLE_NAME, INTERNAL_ROLE_PERMISSIONS, PUBLIC_ROLE_NAME } from 'src/dtos/create-role-metadata.dto';
38
+ import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
45
39
  import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
46
- import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
47
40
  import { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';
48
- import { SettingRepository } from 'src/repository/setting.repository';
49
- import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
50
41
  import { SavedFiltersRepository } from 'src/repository/saved-filters.repository';
42
+ import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
43
+ import { SettingRepository } from 'src/repository/setting.repository';
44
+ import { CreateModelSequenceDto } from 'src/dtos/create-model-sequence.dto';
45
+ import { ModelSequenceRepository } from 'src/repository/model-sequence.repository';
51
46
 
52
47
 
53
48
  @Injectable()
@@ -57,6 +52,7 @@ export class ModuleMetadataSeederService {
57
52
 
58
53
  constructor(
59
54
  private readonly moduleMetadataService: ModuleMetadataService,
55
+ @Inject(forwardRef(() => ModelMetadataService))
60
56
  private readonly modelMetadataService: ModelMetadataService,
61
57
  private readonly fieldMetadataService: FieldMetadataService,
62
58
  private readonly mediaStorageProviderMetadataService: MediaStorageProviderMetadataService,
@@ -64,7 +60,6 @@ export class ModuleMetadataSeederService {
64
60
  private readonly userService: UserService,
65
61
  private readonly authenticationService: AuthenticationService,
66
62
  private readonly solidActionService: ActionMetadataService,
67
- private readonly solidMenuItemService: MenuItemMetadataService,
68
63
  private readonly solidViewService: ViewMetadataService,
69
64
  private readonly mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService,
70
65
  private readonly emailTemplateService: EmailTemplateService,
@@ -74,11 +69,6 @@ export class ModuleMetadataSeederService {
74
69
  // private readonly permissionRepo: Repository<PermissionMetadata>,
75
70
  private readonly permissionRepo: PermissionMetadataRepository,
76
71
  private readonly solidRegistry: SolidRegistry,
77
- @Inject(appBuilderConfig.KEY)
78
- private readonly appBuilderConfiguration: ConfigType<typeof appBuilderConfig>,
79
- @Inject(iamConfig.KEY) private readonly iamConfiguration: ConfigType<typeof iamConfig>,
80
- @Inject(commonConfig.KEY)
81
- private readonly commonConfiguration: ConfigType<typeof commonConfig>,
82
72
  private readonly settingService: SettingService,
83
73
  // @InjectRepository(Setting, 'default')
84
74
  // readonly settingsRepo: Repository<Setting>,
@@ -89,12 +79,14 @@ export class ModuleMetadataSeederService {
89
79
  readonly scheduledJobRepository: ScheduledJobRepository,
90
80
  readonly savedFiltersRepo: SavedFiltersRepository,
91
81
  readonly dataSource: DataSource,
82
+ readonly modelSequenceRepo: ModelSequenceRepository,
92
83
  ) { }
93
84
 
94
85
  async seed(conf?: any) {
95
86
  // Global seeding steps i.e across all modules
96
87
  await this.seedGlobalMetadata();
97
88
 
89
+
98
90
  // Module specific seeding steps.
99
91
  // Get all the module metadata files which needs to be seeded.
100
92
  const seedDataFiles = this.seedDataFiles;
@@ -193,6 +185,10 @@ export class ModuleMetadataSeederService {
193
185
  this.logger.log(`Seeding Saved Filters`);
194
186
  await this.seedSavedFilters(moduleMetadata, overallMetadata);
195
187
 
188
+ // Model Sequences
189
+ this.logger.log(`Seeding Model Sequences`);
190
+ await this.seedModelSequences(overallMetadata);
191
+
196
192
  this.logger.debug(`[End] module seed data: ${overallMetadata}`);
197
193
  }
198
194
 
@@ -328,7 +324,8 @@ export class ModuleMetadataSeederService {
328
324
  private get seedDataFiles(): any[] {
329
325
  const typedSolidCoreMetadata = structuredClone(solidCoreMetadata);
330
326
  const seedDataFiles = [typedSolidCoreMetadata];
331
- const enabledModules = getDynamicModuleNames();
327
+ // const enabledModules = getDynamicModuleNames();
328
+ const enabledModules = getDynamicModuleNamesBasedOnMetadata();
332
329
  for (const enabledModule of enabledModules) {
333
330
  const enabledModuleSeedFile = `module-metadata/${enabledModule}/${enabledModule}-metadata.json`;
334
331
  const fullPath = path.join(process.cwd(), enabledModuleSeedFile);
@@ -352,6 +349,8 @@ export class ModuleMetadataSeederService {
352
349
 
353
350
  this.logger.log(`Seeding System Fields Metadata`);
354
351
  await this.seedDefaultSystemFields();
352
+
353
+ this.logger.debug(`Global metadata seeding completed`);
355
354
  }
356
355
 
357
356
  private async seedDefaultSystemFields() {
@@ -422,6 +421,13 @@ export class ModuleMetadataSeederService {
422
421
  this.logger.debug(`[End] Processing Media Storage Provider`);
423
422
  }
424
423
 
424
+ private async seedModelSequences(overallMetadata: any) {
425
+ this.logger.debug(`[Start] Processing model sequences`);
426
+ const modelSequences: CreateModelSequenceDto[] = overallMetadata.modelSequences;
427
+ await this.handleSeedModelSequences(modelSequences);
428
+ this.logger.debug(`[End] Processing model sequences`);
429
+ }
430
+
425
431
  // OK
426
432
  private async handleSeedEmailTemplates(emailTemplates: CreateEmailTemplateDto[], moduleName: string) {
427
433
  if (!emailTemplates) {
@@ -434,12 +440,41 @@ export class ModuleMetadataSeederService {
434
440
 
435
441
  // We need to load the actual template contents.
436
442
  if (moduleName === 'solid-core') {
437
- const modulePath = path.dirname(require.resolve('@solidstarters/solid-core'));
438
- const seedDataPath = path.join(modulePath, '../src/seeders/seed-data/email-templates');
439
- const filePath = path.join(seedDataPath, emailTemplate.body);
440
- // this.logger.log(`Seeding email template from solid-core at path: ${filePath}`);
443
+ let moduleRoot: string | null = null;
444
+
445
+ try {
446
+ // Always resolve package.json, never the module entry
447
+ moduleRoot = path.dirname(
448
+ require.resolve('@solidstarters/solid-core/package.json'),
449
+ );
450
+ } catch (err) {
451
+ this.logger.debug(
452
+ 'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
453
+ );
454
+ }
455
+
456
+ const filePathInternal = 'src/seeders/seed-data/email-templates/';
457
+ let filePath: string;
458
+ // Case 1: solid-core installed as dependency
459
+ if (moduleRoot) {
460
+ filePath = path.join(
461
+ moduleRoot,
462
+ filePathInternal,
463
+ emailTemplate.body,
464
+ );
465
+ }
466
+ else {
467
+ // Case 2: running INSIDE solid-core repo
468
+ const localCoreRoot = process.cwd(); // or configurable root
469
+ filePath = path.join(
470
+ localCoreRoot,
471
+ filePathInternal,
472
+ emailTemplate.body,
473
+ );
474
+ }
475
+
441
476
  if (fs.existsSync(filePath)) {
442
- emailTemplate.body = fs.readFileSync(filePath, 'utf-8').toString();
477
+ emailTemplate.body = fs.readFileSync(filePath, 'utf-8');
443
478
  }
444
479
  }
445
480
  else {
@@ -471,12 +506,41 @@ export class ModuleMetadataSeederService {
471
506
 
472
507
  // We need to load the actual template contents.
473
508
  if (moduleName === 'solid-core') {
474
- const modulePath = path.dirname(require.resolve('@solidstarters/solid-core'));
475
- const seedDataPath = path.join(modulePath, '../src/seeders/seed-data/sms-templates');
476
- const filePath = path.join(seedDataPath, smsTemplate.body);
477
- // this.logger.log(`Seeding sms template from solid-core at path: ${filePath}`);
509
+ let moduleRoot: string | null = null;
510
+
511
+ try {
512
+ // Always resolve package.json, never the module entry
513
+ moduleRoot = path.dirname(
514
+ require.resolve('@solidstarters/solid-core/package.json'),
515
+ );
516
+ } catch (err) {
517
+ this.logger.debug(
518
+ 'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
519
+ );
520
+ }
521
+
522
+ const filePathInternal = 'src/seeders/seed-data/sms-templates/';
523
+ let filePath: string;
524
+ // Case 1: solid-core installed as dependency
525
+ if (moduleRoot) {
526
+ filePath = path.join(
527
+ moduleRoot,
528
+ filePathInternal,
529
+ smsTemplate.body,
530
+ );
531
+ }
532
+ else {
533
+ // Case 2: running INSIDE solid-core repo
534
+ const localCoreRoot = process.cwd(); // or configurable root
535
+ filePath = path.join(
536
+ localCoreRoot,
537
+ filePathInternal,
538
+ smsTemplate.body,
539
+ );
540
+ }
541
+
478
542
  if (fs.existsSync(filePath)) {
479
- smsTemplate.body = fs.readFileSync(filePath, 'utf-8').toString();
543
+ smsTemplate.body = fs.readFileSync(filePath, 'utf-8');
480
544
  }
481
545
  }
482
546
  else {
@@ -535,6 +599,7 @@ export class ModuleMetadataSeederService {
535
599
  action,
536
600
  module,
537
601
  parentMenuItem,
602
+ sequenceNumber: m.sequenceNumber
538
603
  };
539
604
 
540
605
  // If existing, set its id so save() will perform an update, otherwise insert
@@ -782,5 +847,14 @@ export class ModuleMetadataSeederService {
782
847
  await this.savedFiltersRepo.upsertWithDto({ ...dto, filterQueryJson: JSON.stringify(dto.filterQueryJson) });
783
848
  }
784
849
  }
850
+ private async handleSeedModelSequences(modelSequencesDto: CreateModelSequenceDto[]) {
851
+ if (!modelSequencesDto || modelSequencesDto.length === 0) {
852
+ this.logger.debug(`No Model Sequences found to seed`);
853
+ return;
854
+ }
855
+ for (const dto of modelSequencesDto) {
856
+ await this.modelSequenceRepo.upsertWithDto(dto);
857
+ }
858
+ }
785
859
 
786
860
  }