@solidstarters/solid-core 1.2.200 → 1.2.202

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 (527) 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/config/cache.options.d.ts +1 -1
  13. package/dist/config/cache.options.d.ts.map +1 -1
  14. package/dist/config/cache.options.js +2 -2
  15. package/dist/config/cache.options.js.map +1 -1
  16. package/dist/config/iam.config.d.ts +4 -0
  17. package/dist/config/iam.config.d.ts.map +1 -1
  18. package/dist/config/iam.config.js +2 -0
  19. package/dist/config/iam.config.js.map +1 -1
  20. package/dist/constants/error-messages.d.ts +2 -0
  21. package/dist/constants/error-messages.d.ts.map +1 -1
  22. package/dist/constants/error-messages.js +4 -0
  23. package/dist/constants/error-messages.js.map +1 -1
  24. package/dist/controllers/model-metadata.controller.d.ts +25 -0
  25. package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
  26. package/dist/controllers/model-metadata.controller.js +23 -0
  27. package/dist/controllers/model-metadata.controller.js.map +1 -1
  28. package/dist/controllers/model-sequence.controller.d.ts +43 -0
  29. package/dist/controllers/model-sequence.controller.d.ts.map +1 -0
  30. package/dist/controllers/model-sequence.controller.js +179 -0
  31. package/dist/controllers/model-sequence.controller.js.map +1 -0
  32. package/dist/controllers/setting.controller.d.ts +2 -2
  33. package/dist/controllers/setting.controller.d.ts.map +1 -1
  34. package/dist/controllers/setting.controller.js +36 -42
  35. package/dist/controllers/setting.controller.js.map +1 -1
  36. package/dist/decorators/sms-provider.decorator.d.ts +3 -0
  37. package/dist/decorators/sms-provider.decorator.d.ts.map +1 -0
  38. package/dist/decorators/sms-provider.decorator.js +11 -0
  39. package/dist/decorators/sms-provider.decorator.js.map +1 -0
  40. package/dist/dtos/basic-filters.dto.d.ts +3 -1
  41. package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
  42. package/dist/dtos/basic-filters.dto.js +8 -2
  43. package/dist/dtos/basic-filters.dto.js.map +1 -1
  44. package/dist/dtos/basic-group-filters.dto.d.ts +6 -0
  45. package/dist/dtos/basic-group-filters.dto.d.ts.map +1 -0
  46. package/dist/dtos/basic-group-filters.dto.js +46 -0
  47. package/dist/dtos/basic-group-filters.dto.js.map +1 -0
  48. package/dist/dtos/create-field-metadata.dto.js +2 -2
  49. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  50. package/dist/dtos/create-model-sequence.dto.d.ts +14 -0
  51. package/dist/dtos/create-model-sequence.dto.d.ts.map +1 -0
  52. package/dist/dtos/create-model-sequence.dto.js +90 -0
  53. package/dist/dtos/create-model-sequence.dto.js.map +1 -0
  54. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  55. package/dist/dtos/create-role-metadata.dto.js +1 -0
  56. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  57. package/dist/dtos/get-mcp-url.dto.d.ts +5 -0
  58. package/dist/dtos/get-mcp-url.dto.d.ts.map +1 -0
  59. package/dist/dtos/get-mcp-url.dto.js +31 -0
  60. package/dist/dtos/get-mcp-url.dto.js.map +1 -0
  61. package/dist/dtos/navigation.dto.d.ts +6 -0
  62. package/dist/dtos/navigation.dto.d.ts.map +1 -0
  63. package/dist/dtos/navigation.dto.js +33 -0
  64. package/dist/dtos/navigation.dto.js.map +1 -0
  65. package/dist/dtos/resolve-s3-url.dto.d.ts +5 -5
  66. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -1
  67. package/dist/dtos/resolve-s3-url.dto.js +7 -7
  68. package/dist/dtos/resolve-s3-url.dto.js.map +1 -1
  69. package/dist/dtos/sign-in.dto.js +3 -3
  70. package/dist/dtos/sign-in.dto.js.map +1 -1
  71. package/dist/dtos/update-model-sequence.dto.d.ts +15 -0
  72. package/dist/dtos/update-model-sequence.dto.d.ts.map +1 -0
  73. package/dist/dtos/update-model-sequence.dto.js +94 -0
  74. package/dist/dtos/update-model-sequence.dto.js.map +1 -0
  75. package/dist/entities/common.entity.d.ts.map +1 -1
  76. package/dist/entities/common.entity.js +6 -4
  77. package/dist/entities/common.entity.js.map +1 -1
  78. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  79. package/dist/entities/field-metadata.entity.js +2 -1
  80. package/dist/entities/field-metadata.entity.js.map +1 -1
  81. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  82. package/dist/entities/legacy-common.entity.js +6 -4
  83. package/dist/entities/legacy-common.entity.js.map +1 -1
  84. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  85. package/dist/entities/model-metadata.entity.js +5 -1
  86. package/dist/entities/model-metadata.entity.js.map +1 -1
  87. package/dist/entities/model-sequence.entity.d.ts +15 -0
  88. package/dist/entities/model-sequence.entity.d.ts.map +1 -0
  89. package/dist/entities/model-sequence.entity.js +67 -0
  90. package/dist/entities/model-sequence.entity.js.map +1 -0
  91. package/dist/factories/mail.factory.d.ts.map +1 -1
  92. package/dist/factories/mail.factory.js.map +1 -1
  93. package/dist/factories/sms.factory.d.ts +14 -0
  94. package/dist/factories/sms.factory.d.ts.map +1 -0
  95. package/dist/factories/sms.factory.js +53 -0
  96. package/dist/factories/sms.factory.js.map +1 -0
  97. package/dist/helpers/date.helper.d.ts.map +1 -1
  98. package/dist/helpers/date.helper.js +13 -4
  99. package/dist/helpers/date.helper.js.map +1 -1
  100. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts.map +1 -1
  101. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js +13 -2
  102. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
  103. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +0 -1
  104. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts.map +1 -1
  105. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +4 -9
  106. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  107. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +0 -1
  108. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
  109. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +7 -8
  110. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  111. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +0 -1
  112. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts.map +1 -1
  113. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +4 -9
  114. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  115. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  116. package/dist/helpers/model-metadata-helper.service.js +6 -2
  117. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  118. package/dist/helpers/module-metadata-helper.service.d.ts +1 -0
  119. package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
  120. package/dist/helpers/module-metadata-helper.service.js +9 -0
  121. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  122. package/dist/helpers/module.helper.d.ts +1 -0
  123. package/dist/helpers/module.helper.d.ts.map +1 -1
  124. package/dist/helpers/module.helper.js +29 -3
  125. package/dist/helpers/module.helper.js.map +1 -1
  126. package/dist/helpers/solid-registry.d.ts +14 -0
  127. package/dist/helpers/solid-registry.d.ts.map +1 -1
  128. package/dist/helpers/solid-registry.js +7 -0
  129. package/dist/helpers/solid-registry.js.map +1 -1
  130. package/dist/index.d.ts +12 -7
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +13 -8
  133. package/dist/index.js.map +1 -1
  134. package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts +1 -0
  135. package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts.map +1 -1
  136. package/dist/jobs/computed-field-evaluation-subscriber.service.js +16 -4
  137. package/dist/jobs/computed-field-evaluation-subscriber.service.js.map +1 -1
  138. package/dist/jobs/database/{sms-publisher-database.service.d.ts → msg91-sms-publisher-database.service.d.ts} +2 -2
  139. package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts.map +1 -0
  140. package/dist/jobs/database/{sms-publisher-database.service.js → msg91-sms-publisher-database.service.js} +8 -8
  141. package/dist/jobs/database/msg91-sms-publisher-database.service.js.map +1 -0
  142. package/dist/jobs/database/{sms-queue-database-options.d.ts → msg91-sms-queue-database-options.d.ts} +1 -1
  143. package/dist/jobs/database/msg91-sms-queue-database-options.d.ts.map +1 -0
  144. package/dist/jobs/database/{sms-queue-database-options.js → msg91-sms-queue-database-options.js} +1 -1
  145. package/dist/jobs/database/msg91-sms-queue-database-options.js.map +1 -0
  146. package/dist/jobs/database/{sms-subscriber-database.service.d.ts → msg91-sms-subscriber-database.service.d.ts} +5 -5
  147. package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts.map +1 -0
  148. package/dist/jobs/database/{sms-subscriber-database.service.js → msg91-sms-subscriber-database.service.js} +14 -12
  149. package/dist/jobs/database/msg91-sms-subscriber-database.service.js.map +1 -0
  150. package/dist/jobs/database/otp-subscriber-database.service.d.ts +4 -4
  151. package/dist/jobs/database/otp-subscriber-database.service.d.ts.map +1 -1
  152. package/dist/jobs/database/otp-subscriber-database.service.js +6 -4
  153. package/dist/jobs/database/otp-subscriber-database.service.js.map +1 -1
  154. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +3 -3
  155. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts.map +1 -1
  156. package/dist/jobs/database/twilio-sms-subscriber-database.service.js +6 -4
  157. package/dist/jobs/database/twilio-sms-subscriber-database.service.js.map +1 -1
  158. package/dist/jobs/{sms-publisher.service.d.ts → msg91-otp-publisher.service.d.ts} +2 -2
  159. package/dist/jobs/msg91-otp-publisher.service.d.ts.map +1 -0
  160. package/dist/jobs/{sms-publisher.service.js → msg91-otp-publisher.service.js} +8 -8
  161. package/dist/jobs/msg91-otp-publisher.service.js.map +1 -0
  162. package/dist/jobs/{sms-queue-options.d.ts → msg91-otp-queue-options.d.ts} +1 -1
  163. package/dist/jobs/msg91-otp-queue-options.d.ts.map +1 -0
  164. package/dist/jobs/{otp-queue-options.js → msg91-otp-queue-options.js} +1 -1
  165. package/dist/jobs/msg91-otp-queue-options.js.map +1 -0
  166. package/dist/jobs/{sms-subscriber.service.d.ts → msg91-otp-subscriber.service.d.ts} +6 -6
  167. package/dist/jobs/msg91-otp-subscriber.service.d.ts.map +1 -0
  168. package/dist/jobs/{otp-subscriber.service.js → msg91-otp-subscriber.service.js} +14 -12
  169. package/dist/jobs/msg91-otp-subscriber.service.js.map +1 -0
  170. package/dist/jobs/{otp-publisher.service.d.ts → msg91-sms-publisher.service.d.ts} +2 -2
  171. package/dist/jobs/msg91-sms-publisher.service.d.ts.map +1 -0
  172. package/dist/jobs/{otp-publisher.service.js → msg91-sms-publisher.service.js} +8 -8
  173. package/dist/jobs/msg91-sms-publisher.service.js.map +1 -0
  174. package/dist/jobs/{otp-queue-options.d.ts → msg91-sms-queue-options.d.ts} +1 -1
  175. package/dist/jobs/msg91-sms-queue-options.d.ts.map +1 -0
  176. package/dist/jobs/{sms-queue-options.js → msg91-sms-queue-options.js} +1 -1
  177. package/dist/jobs/msg91-sms-queue-options.js.map +1 -0
  178. package/dist/jobs/{otp-subscriber.service.d.ts → msg91-sms-subscriber.service.d.ts} +7 -7
  179. package/dist/jobs/msg91-sms-subscriber.service.d.ts.map +1 -0
  180. package/dist/jobs/{sms-subscriber.service.js → msg91-sms-subscriber.service.js} +14 -12
  181. package/dist/jobs/msg91-sms-subscriber.service.js.map +1 -0
  182. package/dist/jobs/twilio-sms-subscriber.service.d.ts +3 -3
  183. package/dist/jobs/twilio-sms-subscriber.service.d.ts.map +1 -1
  184. package/dist/jobs/twilio-sms-subscriber.service.js +6 -4
  185. package/dist/jobs/twilio-sms-subscriber.service.js.map +1 -1
  186. package/dist/repository/media.repository.d.ts.map +1 -1
  187. package/dist/repository/media.repository.js +4 -0
  188. package/dist/repository/media.repository.js.map +1 -1
  189. package/dist/repository/model-sequence.repository.d.ts +14 -0
  190. package/dist/repository/model-sequence.repository.d.ts.map +1 -0
  191. package/dist/repository/model-sequence.repository.js +103 -0
  192. package/dist/repository/model-sequence.repository.js.map +1 -0
  193. package/dist/seeders/module-metadata-seeder.service.d.ts +7 -12
  194. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  195. package/dist/seeders/module-metadata-seeder.service.js +87 -27
  196. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  197. package/dist/seeders/seed-data/solid-core-metadata.json +373 -52
  198. package/dist/seeders/system-fields-seeder.service.d.ts +1 -0
  199. package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
  200. package/dist/seeders/system-fields-seeder.service.js +11 -2
  201. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  202. package/dist/seeders/user-seeder.service.d.ts.map +1 -1
  203. package/dist/seeders/user-seeder.service.js +5 -4
  204. package/dist/seeders/user-seeder.service.js.map +1 -1
  205. package/dist/services/action-metadata.service.d.ts.map +1 -1
  206. package/dist/services/action-metadata.service.js +1 -0
  207. package/dist/services/action-metadata.service.js.map +1 -1
  208. package/dist/services/ai-interaction.service.d.ts.map +1 -1
  209. package/dist/services/ai-interaction.service.js +1 -0
  210. package/dist/services/ai-interaction.service.js.map +1 -1
  211. package/dist/services/authentication.service.d.ts +6 -3
  212. package/dist/services/authentication.service.d.ts.map +1 -1
  213. package/dist/services/authentication.service.js +70 -27
  214. package/dist/services/authentication.service.js.map +1 -1
  215. package/dist/services/chatter-message-details.service.d.ts.map +1 -1
  216. package/dist/services/chatter-message-details.service.js +1 -0
  217. package/dist/services/chatter-message-details.service.js.map +1 -1
  218. package/dist/services/chatter-message.service.d.ts.map +1 -1
  219. package/dist/services/chatter-message.service.js +7 -3
  220. package/dist/services/chatter-message.service.js.map +1 -1
  221. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +7 -5
  222. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  223. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +15 -0
  224. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -0
  225. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +72 -0
  226. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -0
  227. package/dist/services/crud-helper.service.d.ts +23 -6
  228. package/dist/services/crud-helper.service.d.ts.map +1 -1
  229. package/dist/services/crud-helper.service.js +257 -45
  230. package/dist/services/crud-helper.service.js.map +1 -1
  231. package/dist/services/crud.service.d.ts +4 -3
  232. package/dist/services/crud.service.d.ts.map +1 -1
  233. package/dist/services/crud.service.js +53 -24
  234. package/dist/services/crud.service.js.map +1 -1
  235. package/dist/services/database/database-bootstrap.service.d.ts +12 -0
  236. package/dist/services/database/database-bootstrap.service.d.ts.map +1 -0
  237. package/dist/services/database/database-bootstrap.service.js +115 -0
  238. package/dist/services/database/database-bootstrap.service.js.map +1 -0
  239. package/dist/services/email-template.service.d.ts +7 -7
  240. package/dist/services/email-template.service.d.ts.map +1 -1
  241. package/dist/services/email-template.service.js +8 -7
  242. package/dist/services/email-template.service.js.map +1 -1
  243. package/dist/services/excel.service.d.ts +11 -0
  244. package/dist/services/excel.service.d.ts.map +1 -1
  245. package/dist/services/excel.service.js +104 -0
  246. package/dist/services/excel.service.js.map +1 -1
  247. package/dist/services/field-metadata.service.d.ts +4 -1
  248. package/dist/services/field-metadata.service.d.ts.map +1 -1
  249. package/dist/services/field-metadata.service.js +35 -30
  250. package/dist/services/field-metadata.service.js.map +1 -1
  251. package/dist/services/file.service.d.ts +1 -0
  252. package/dist/services/file.service.d.ts.map +1 -1
  253. package/dist/services/file.service.js +9 -0
  254. package/dist/services/file.service.js.map +1 -1
  255. package/dist/services/fixtures.service.d.ts +13 -0
  256. package/dist/services/fixtures.service.d.ts.map +1 -0
  257. package/dist/services/fixtures.service.js +95 -0
  258. package/dist/services/fixtures.service.js.map +1 -0
  259. package/dist/services/genai/ingest-metadata.service.d.ts.map +1 -1
  260. package/dist/services/genai/ingest-metadata.service.js +1 -1
  261. package/dist/services/genai/ingest-metadata.service.js.map +1 -1
  262. package/dist/services/import-transaction-error-log.service.d.ts.map +1 -1
  263. package/dist/services/import-transaction-error-log.service.js +1 -0
  264. package/dist/services/import-transaction-error-log.service.js.map +1 -1
  265. package/dist/services/import-transaction.service.d.ts.map +1 -1
  266. package/dist/services/import-transaction.service.js +7 -1
  267. package/dist/services/import-transaction.service.js.map +1 -1
  268. package/dist/services/list-of-values.service.d.ts +2 -2
  269. package/dist/services/list-of-values.service.d.ts.map +1 -1
  270. package/dist/services/list-of-values.service.js +2 -1
  271. package/dist/services/list-of-values.service.js.map +1 -1
  272. package/dist/services/locale.service.d.ts.map +1 -1
  273. package/dist/services/locale.service.js +1 -0
  274. package/dist/services/locale.service.js.map +1 -1
  275. package/dist/services/mail/smtp-email.service.js +0 -1
  276. package/dist/services/mail/smtp-email.service.js.map +1 -1
  277. package/dist/services/media.service.d.ts +3 -3
  278. package/dist/services/media.service.d.ts.map +1 -1
  279. package/dist/services/media.service.js +6 -4
  280. package/dist/services/media.service.js.map +1 -1
  281. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  282. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +17 -6
  283. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  284. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  285. package/dist/services/mediaStorageProviders/file-storage-provider.js +0 -13
  286. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  287. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  288. package/dist/services/menu-item-metadata.service.js +4 -0
  289. package/dist/services/menu-item-metadata.service.js.map +1 -1
  290. package/dist/services/model-metadata.service.d.ts +28 -1
  291. package/dist/services/model-metadata.service.d.ts.map +1 -1
  292. package/dist/services/model-metadata.service.js +111 -44
  293. package/dist/services/model-metadata.service.js.map +1 -1
  294. package/dist/services/model-sequence.service.d.ts +23 -0
  295. package/dist/services/model-sequence.service.d.ts.map +1 -0
  296. package/dist/services/model-sequence.service.js +55 -0
  297. package/dist/services/model-sequence.service.js.map +1 -0
  298. package/dist/services/module-metadata.service.d.ts +1 -0
  299. package/dist/services/module-metadata.service.d.ts.map +1 -1
  300. package/dist/services/module-metadata.service.js +35 -1
  301. package/dist/services/module-metadata.service.js.map +1 -1
  302. package/dist/services/permission-metadata.service.d.ts +5 -5
  303. package/dist/services/permission-metadata.service.d.ts.map +1 -1
  304. package/dist/services/permission-metadata.service.js +6 -5
  305. package/dist/services/permission-metadata.service.js.map +1 -1
  306. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  307. package/dist/services/queues/database-subscriber.service.js +2 -1
  308. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  309. package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
  310. package/dist/services/queues/rabbitmq-subscriber.service.js +2 -2
  311. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  312. package/dist/services/role-metadata.service.d.ts.map +1 -1
  313. package/dist/services/role-metadata.service.js +1 -0
  314. package/dist/services/role-metadata.service.js.map +1 -1
  315. package/dist/services/scheduled-job.service.d.ts +6 -6
  316. package/dist/services/scheduled-job.service.d.ts.map +1 -1
  317. package/dist/services/scheduled-job.service.js +8 -8
  318. package/dist/services/scheduled-job.service.js.map +1 -1
  319. package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
  320. package/dist/services/scheduled-jobs/scheduler.service.js +4 -0
  321. package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
  322. package/dist/services/security-rule.service.d.ts.map +1 -1
  323. package/dist/services/security-rule.service.js +1 -0
  324. package/dist/services/security-rule.service.js.map +1 -1
  325. package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts.map +1 -1
  326. package/dist/services/selection-providers/list-of-models-selection-provider.service.js +4 -0
  327. package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
  328. package/dist/services/setting.service.d.ts +7 -5
  329. package/dist/services/setting.service.d.ts.map +1 -1
  330. package/dist/services/setting.service.js +28 -48
  331. package/dist/services/setting.service.js.map +1 -1
  332. package/dist/services/sms/Msg91BaseSMSService.js +6 -6
  333. package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
  334. package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
  335. package/dist/services/sms/Msg91OTPService.js +3 -1
  336. package/dist/services/sms/Msg91OTPService.js.map +1 -1
  337. package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
  338. package/dist/services/sms/Msg91SMSService.js +3 -1
  339. package/dist/services/sms/Msg91SMSService.js.map +1 -1
  340. package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
  341. package/dist/services/sms/TwilioSMSService.js +2 -0
  342. package/dist/services/sms/TwilioSMSService.js.map +1 -1
  343. package/dist/services/sms-template.service.d.ts +7 -7
  344. package/dist/services/sms-template.service.d.ts.map +1 -1
  345. package/dist/services/sms-template.service.js +8 -7
  346. package/dist/services/sms-template.service.js.map +1 -1
  347. package/dist/services/solid-introspect.service.d.ts +5 -13
  348. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  349. package/dist/services/solid-introspect.service.js +18 -22
  350. package/dist/services/solid-introspect.service.js.map +1 -1
  351. package/dist/services/solid-ts-morph.service.js +2 -2
  352. package/dist/services/solid-ts-morph.service.js.map +1 -1
  353. package/dist/services/user-activity-history.service.d.ts.map +1 -1
  354. package/dist/services/user-activity-history.service.js +1 -0
  355. package/dist/services/user-activity-history.service.js.map +1 -1
  356. package/dist/services/user-view-metadata.service.d.ts.map +1 -1
  357. package/dist/services/user-view-metadata.service.js +3 -2
  358. package/dist/services/user-view-metadata.service.js.map +1 -1
  359. package/dist/services/user.service.d.ts.map +1 -1
  360. package/dist/services/user.service.js +1 -0
  361. package/dist/services/user.service.js.map +1 -1
  362. package/dist/services/view-metadata.service.d.ts +1 -1
  363. package/dist/services/view-metadata.service.d.ts.map +1 -1
  364. package/dist/services/view-metadata.service.js +3 -1
  365. package/dist/services/view-metadata.service.js.map +1 -1
  366. package/dist/solid-core-cli-db.module.d.ts.map +1 -1
  367. package/dist/solid-core-cli-db.module.js +5 -2
  368. package/dist/solid-core-cli-db.module.js.map +1 -1
  369. package/dist/solid-core-cli.module.js +1 -1
  370. package/dist/solid-core-cli.module.js.map +1 -1
  371. package/dist/solid-core.module.d.ts.map +1 -1
  372. package/dist/solid-core.module.js +40 -13
  373. package/dist/solid-core.module.js.map +1 -1
  374. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  375. package/dist/subscribers/audit.subscriber.js +5 -1
  376. package/dist/subscribers/audit.subscriber.js.map +1 -1
  377. package/dist/subscribers/computed-entity-field.subscriber.d.ts +4 -2
  378. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  379. package/dist/subscribers/computed-entity-field.subscriber.js +53 -12
  380. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  381. package/dist/subscribers/scheduled-job.subscriber.d.ts.map +1 -1
  382. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  383. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  384. package/dist/transformers/typeorm/local-date-time-transformer.d.ts +5 -0
  385. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -0
  386. package/dist/transformers/typeorm/local-date-time-transformer.js +48 -0
  387. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -0
  388. package/dist/tsconfig.tsbuildinfo +1 -1
  389. package/docs/grouping-enhancements.md +89 -0
  390. package/package.json +1 -1
  391. package/src/commands/fixtures/fixtures-setup.command.ts +44 -0
  392. package/src/commands/fixtures/fixtures-tear-down.command.ts +45 -0
  393. package/src/commands/refresh-model.command.ts +3 -1
  394. package/src/config/cache.options.ts +6 -3
  395. package/src/config/iam.config.ts +2 -1
  396. package/src/constants/error-messages.ts +7 -1
  397. package/src/controllers/model-metadata.controller.ts +21 -1
  398. package/src/controllers/model-sequence.controller.ts +93 -0
  399. package/src/controllers/setting.controller.ts +62 -54
  400. package/src/decorators/sms-provider.decorator.ts +7 -0
  401. package/src/dtos/basic-filters.dto.ts +6 -1
  402. package/src/dtos/basic-group-filters.dto.ts +23 -0
  403. package/src/dtos/create-field-metadata.dto.ts +1 -1
  404. package/src/dtos/create-model-sequence.dto.ts +51 -0
  405. package/src/dtos/create-role-metadata.dto.ts +16 -3
  406. package/src/dtos/get-mcp-url.dto.ts +13 -0
  407. package/src/dtos/navigation.dto.ts +14 -0
  408. package/src/dtos/resolve-s3-url.dto.ts +9 -11
  409. package/src/dtos/sign-in.dto.ts +3 -3
  410. package/src/dtos/update-model-sequence.dto.ts +53 -0
  411. package/src/entities/common.entity.ts +8 -8
  412. package/src/entities/field-metadata.entity.ts +1 -1
  413. package/src/entities/legacy-common.entity.ts +8 -6
  414. package/src/entities/model-metadata.entity.ts +1 -1
  415. package/src/entities/model-sequence.entity.ts +32 -0
  416. package/src/factories/mail.factory.ts +0 -1
  417. package/src/factories/sms.factory.ts +43 -0
  418. package/src/helpers/date.helper.ts +38 -9
  419. package/src/helpers/field-crud-managers/BigIntFieldCrudManager.ts +18 -5
  420. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +9 -9
  421. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +16 -8
  422. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +9 -9
  423. package/src/helpers/model-metadata-helper.service.ts +6 -4
  424. package/src/helpers/module-metadata-helper.service.ts +18 -1
  425. package/src/helpers/module.helper.ts +40 -5
  426. package/src/helpers/solid-registry.ts +23 -0
  427. package/src/index.ts +12 -7
  428. package/src/jobs/computed-field-evaluation-subscriber.service.ts +15 -4
  429. package/src/jobs/database/{sms-publisher-database.service.ts → msg91-sms-publisher-database.service.ts} +2 -2
  430. package/src/jobs/database/{sms-subscriber-database.service.ts → msg91-sms-subscriber-database.service.ts} +9 -4
  431. package/src/jobs/database/otp-subscriber-database.service.ts +8 -2
  432. package/src/jobs/database/twilio-sms-subscriber-database.service.ts +5 -2
  433. package/src/jobs/{otp-publisher.service.ts → msg91-otp-publisher.service.ts} +2 -2
  434. package/src/jobs/{otp-subscriber.service.ts → msg91-otp-subscriber.service.ts} +10 -4
  435. package/src/jobs/{sms-publisher.service.ts → msg91-sms-publisher.service.ts} +2 -2
  436. package/src/jobs/{sms-subscriber.service.ts → msg91-sms-subscriber.service.ts} +9 -4
  437. package/src/jobs/twilio-sms-subscriber.service.ts +6 -2
  438. package/src/repository/media.repository.ts +3 -2
  439. package/src/repository/model-sequence.repository.ts +97 -0
  440. package/src/seeders/module-metadata-seeder.service.ts +133 -34
  441. package/src/seeders/seed-data/email-templates/email-on-signup.handlebars.html +155 -0
  442. package/src/seeders/seed-data/sms-templates/text-on-signup.handlebars.txt +10 -0
  443. package/src/seeders/seed-data/solid-core-metadata.json +374 -53
  444. package/src/seeders/system-fields-seeder.service.ts +6 -2
  445. package/src/seeders/user-seeder.service.ts +5 -4
  446. package/src/services/action-metadata.service.ts +3 -2
  447. package/src/services/ai-interaction.service.ts +2 -1
  448. package/src/services/authentication.service.ts +119 -24
  449. package/src/services/chatter-message-details.service.ts +2 -1
  450. package/src/services/chatter-message.service.ts +10 -4
  451. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +9 -9
  452. package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +86 -0
  453. package/src/services/crud-helper.service.ts +287 -49
  454. package/src/services/crud.service.ts +95 -45
  455. package/src/services/database/database-bootstrap.service.ts +91 -0
  456. package/src/services/email-template.service.ts +11 -13
  457. package/src/services/excel.service.ts +152 -3
  458. package/src/services/field-metadata.service.ts +102 -55
  459. package/src/services/file.service.ts +9 -0
  460. package/src/services/fixtures.service.ts +108 -0
  461. package/src/services/genai/ingest-metadata.service.ts +4 -3
  462. package/src/services/import-transaction-error-log.service.ts +2 -1
  463. package/src/services/import-transaction.service.ts +8 -4
  464. package/src/services/list-of-values.service.ts +4 -4
  465. package/src/services/locale.service.ts +2 -1
  466. package/src/services/mail/smtp-email.service.ts +1 -1
  467. package/src/services/media.service.ts +10 -11
  468. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +22 -7
  469. package/src/services/mediaStorageProviders/file-storage-provider.ts +18 -13
  470. package/src/services/menu-item-metadata.service.ts +6 -2
  471. package/src/services/model-metadata.service.ts +201 -44
  472. package/src/services/model-sequence.service.ts +33 -0
  473. package/src/services/module-metadata.service.ts +49 -2
  474. package/src/services/permission-metadata.service.ts +8 -9
  475. package/src/services/queues/database-subscriber.service.ts +3 -1
  476. package/src/services/queues/rabbitmq-subscriber.service.ts +4 -2
  477. package/src/services/role-metadata.service.ts +1 -0
  478. package/src/services/scheduled-job.service.ts +9 -9
  479. package/src/services/scheduled-jobs/scheduler.service.ts +5 -0
  480. package/src/services/security-rule.service.ts +1 -0
  481. package/src/services/selection-providers/list-of-models-selection-provider.service.ts +5 -2
  482. package/src/services/setting.service.ts +42 -55
  483. package/src/services/sms/Msg91BaseSMSService.ts +6 -6
  484. package/src/services/sms/Msg91OTPService.ts +3 -2
  485. package/src/services/sms/Msg91SMSService.ts +3 -1
  486. package/src/services/sms/TwilioSMSService.ts +3 -3
  487. package/src/services/sms-template.service.ts +11 -13
  488. package/src/services/solid-introspect.service.ts +28 -19
  489. package/src/services/solid-ts-morph.service.ts +2 -2
  490. package/src/services/user-activity-history.service.ts +3 -2
  491. package/src/services/user-view-metadata.service.ts +4 -3
  492. package/src/services/user.service.ts +2 -1
  493. package/src/services/view-metadata.service.ts +5 -4
  494. package/src/solid-core-cli-db.module.ts +5 -4
  495. package/src/solid-core-cli.module.ts +2 -2
  496. package/src/solid-core.module.ts +42 -13
  497. package/src/subscribers/audit.subscriber.ts +3 -2
  498. package/src/subscribers/computed-entity-field.subscriber.ts +60 -17
  499. package/src/subscribers/scheduled-job.subscriber.ts +9 -2
  500. package/src/transformers/typeorm/local-date-time-transformer.ts +55 -0
  501. package/dist/jobs/database/sms-publisher-database.service.d.ts.map +0 -1
  502. package/dist/jobs/database/sms-publisher-database.service.js.map +0 -1
  503. package/dist/jobs/database/sms-queue-database-options.d.ts.map +0 -1
  504. package/dist/jobs/database/sms-queue-database-options.js.map +0 -1
  505. package/dist/jobs/database/sms-subscriber-database.service.d.ts.map +0 -1
  506. package/dist/jobs/database/sms-subscriber-database.service.js.map +0 -1
  507. package/dist/jobs/otp-publisher.service.d.ts.map +0 -1
  508. package/dist/jobs/otp-publisher.service.js.map +0 -1
  509. package/dist/jobs/otp-queue-options.d.ts.map +0 -1
  510. package/dist/jobs/otp-queue-options.js.map +0 -1
  511. package/dist/jobs/otp-subscriber.service.d.ts.map +0 -1
  512. package/dist/jobs/otp-subscriber.service.js.map +0 -1
  513. package/dist/jobs/sms-publisher.service.d.ts.map +0 -1
  514. package/dist/jobs/sms-publisher.service.js.map +0 -1
  515. package/dist/jobs/sms-queue-options.d.ts.map +0 -1
  516. package/dist/jobs/sms-queue-options.js.map +0 -1
  517. package/dist/jobs/sms-subscriber.service.d.ts.map +0 -1
  518. package/dist/jobs/sms-subscriber.service.js.map +0 -1
  519. /package/sql/{mssql → default/mssql}/proc_CleanupModelMetadata.sql +0 -0
  520. /package/sql/{mssql → default/mssql}/proc_CleanupModuleMetadata.sql +0 -0
  521. /package/sql/{mssql/scratchpad.sql → default/mssql/scratchpad.sql.txt} +0 -0
  522. /package/sql/{postgres → default/postgres}/proc_CleanupModelMetadata.sql +0 -0
  523. /package/sql/{postgres → default/postgres}/proc_CleanupModuleMetadata.sql +0 -0
  524. /package/sql/{postgres/scratchpad.sql → default/postgres/scratchpad.sql.txt} +0 -0
  525. /package/src/jobs/database/{sms-queue-database-options.ts → msg91-sms-queue-database-options.ts} +0 -0
  526. /package/src/jobs/{otp-queue-options.ts → msg91-otp-queue-options.ts} +0 -0
  527. /package/src/jobs/{sms-queue-options.ts → msg91-sms-queue-options.ts} +0 -0
@@ -0,0 +1,97 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { ModelSequence } from 'src/entities/model-sequence.entity';
3
+ import { RequestContextService } from 'src/services/request-context.service';
4
+ import { DataSource } from 'typeorm';
5
+ import { SecurityRuleRepository } from './security-rule.repository';
6
+ import { SolidBaseRepository } from './solid-base.repository';
7
+ import { CreateModelSequenceDto } from 'src/dtos/create-model-sequence.dto';
8
+ import { ModuleMetadata } from 'src/entities/module-metadata.entity';
9
+ import { ModelMetadata } from 'src/entities/model-metadata.entity';
10
+ import { FieldMetadata } from 'src/entities/field-metadata.entity';
11
+
12
+ @Injectable()
13
+ export class ModelSequenceRepository extends SolidBaseRepository<ModelSequence> {
14
+ constructor(
15
+ readonly dataSource: DataSource,
16
+ readonly requestContextService: RequestContextService,
17
+ readonly securityRuleRepository: SecurityRuleRepository,
18
+ ) {
19
+ super(ModelSequence, dataSource, requestContextService, securityRuleRepository);
20
+ }
21
+
22
+ async upsertWithDto(createDto: CreateModelSequenceDto) {
23
+ // Populate the module from moduleId or moduleUserKey
24
+ const moduleRepository = this.dataSource.getRepository(ModuleMetadata);
25
+ if (createDto.moduleId) {
26
+ const module = await moduleRepository.findOne({
27
+ where: {
28
+ id: createDto.moduleId,
29
+ },
30
+ });
31
+ createDto['module'] = module;
32
+ }
33
+
34
+ if (createDto.moduleUserKey) {
35
+ const module = await moduleRepository.findOne({
36
+ where: {
37
+ name: createDto.moduleUserKey,
38
+ },
39
+ });
40
+ createDto['module'] = module;
41
+ }
42
+
43
+ // Populate the model from modelId or modelUserKey
44
+ const modelRepository = this.dataSource.getRepository(ModelMetadata);
45
+ if (createDto.modelId) {
46
+ const model = await modelRepository.findOne({
47
+ where: {
48
+ id: createDto.modelId,
49
+ },
50
+ });
51
+ createDto['model'] = model;
52
+ }
53
+ if (createDto.modelUserKey) {
54
+ const model = await modelRepository.findOne({
55
+ where: {
56
+ singularName: createDto.modelUserKey,
57
+ },
58
+ });
59
+ createDto['model'] = model;
60
+ }
61
+
62
+ // Populate the field from fieldId or fieldUserKey
63
+ const fieldRepository = this.dataSource.getRepository(FieldMetadata);
64
+ if (createDto.fieldId) {
65
+ const field = await fieldRepository.findOne({
66
+ where: {
67
+ id: createDto.fieldId,
68
+ },
69
+ });
70
+ createDto['field'] = field;
71
+ }
72
+ if (createDto.fieldUserKey) {
73
+ const field = await fieldRepository.findOne({
74
+ where: {
75
+ name: createDto.fieldUserKey,
76
+ },
77
+ });
78
+ createDto['field'] = field;
79
+ }
80
+
81
+ // First check if sequence already exists using name
82
+ const existingModelSequence = await this.findOne({
83
+ where: {
84
+ sequenceName: createDto.sequenceName,
85
+ },
86
+ });
87
+
88
+ if (existingModelSequence) {
89
+ const updatedModelSequence = this.merge(existingModelSequence, createDto);
90
+ return this.save(updatedModelSequence);
91
+ }
92
+ else {
93
+ const modelSequence = this.create(createDto);
94
+ return this.save(modelSequence);
95
+ }
96
+ }
97
+ }
@@ -1,18 +1,14 @@
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
+ import { v4 as uuidv4 } from 'uuid';
4
5
 
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
6
  import { CreateDashboardDto } from 'src/dtos/create-dashboard.dto';
10
7
  import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';
11
8
  import { CreateListOfValuesDto } from 'src/dtos/create-list-of-values.dto';
12
9
  import { CreateSecurityRuleDto } from 'src/dtos/create-security-rule.dto';
13
10
  import { CreateSettingDto } from 'src/dtos/create-setting.dto';
14
11
  import { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';
15
- import { Setting } from 'src/entities/setting.entity';
16
12
  import { DashboardRepository } from 'src/repository/dashboard.repository';
17
13
  import { SecurityRuleRepository } from 'src/repository/security-rule.repository';
18
14
  import { AuthenticationService } from 'src/services/authentication.service';
@@ -25,14 +21,12 @@ import { DataSource, In, Repository } from 'typeorm';
25
21
  import appBuilderConfig from '../config/app-builder.config';
26
22
  import { CreateModelMetadataDto } from '../dtos/create-model-metadata.dto';
27
23
  import { CreateModuleMetadataDto } from '../dtos/create-module-metadata.dto';
28
- import { PermissionMetadata } from '../entities/permission-metadata.entity';
29
- import { getDynamicModuleNames } from '../helpers/module.helper';
24
+ import { getDynamicModuleNames, getDynamicModuleNamesBasedOnMetadata } from '../helpers/module.helper';
30
25
  import { SolidRegistry } from '../helpers/solid-registry';
31
26
  import { ActionMetadataService } from '../services/action-metadata.service';
32
27
  import { FieldMetadataService } from '../services/field-metadata.service';
33
28
  import { MediaStorageProviderMetadataSeederService } from '../services/media-storage-provider-metadata-seeder.service';
34
29
  import { MediaStorageProviderMetadataService } from '../services/media-storage-provider-metadata.service';
35
- import { MenuItemMetadataService } from '../services/menu-item-metadata.service';
36
30
  import { ModelMetadataService } from '../services/model-metadata.service';
37
31
  import { ModuleMetadataService } from '../services/module-metadata.service';
38
32
  import { RoleMetadataService } from '../services/role-metadata.service';
@@ -40,14 +34,16 @@ import { ViewMetadataService } from '../services/view-metadata.service';
40
34
  import solidCoreMetadata from './seed-data/solid-core-metadata.json';
41
35
  import { SystemFieldsSeederService } from './system-fields-seeder.service';
42
36
  // import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
43
- 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';
37
+ import { ActionMetadata, MENU_ROLE_JOIN_TABLE_NAME, MENU_ROLE_JOIN_TABLE_NAME_MENU_COL, MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL, MenuItemMetadata, ModuleMetadata, RoleMetadata, SignUpDto } from 'src';
44
38
  import { ADMIN_ROLE_NAME, INTERNAL_ROLE_NAME, INTERNAL_ROLE_PERMISSIONS, PUBLIC_ROLE_NAME } from 'src/dtos/create-role-metadata.dto';
39
+ import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
45
40
  import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
46
- import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
47
41
  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
42
  import { SavedFiltersRepository } from 'src/repository/saved-filters.repository';
43
+ import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
44
+ import { SettingRepository } from 'src/repository/setting.repository';
45
+ import { CreateModelSequenceDto } from 'src/dtos/create-model-sequence.dto';
46
+ import { ModelSequenceRepository } from 'src/repository/model-sequence.repository';
51
47
 
52
48
 
53
49
  @Injectable()
@@ -57,6 +53,7 @@ export class ModuleMetadataSeederService {
57
53
 
58
54
  constructor(
59
55
  private readonly moduleMetadataService: ModuleMetadataService,
56
+ @Inject(forwardRef(() => ModelMetadataService))
60
57
  private readonly modelMetadataService: ModelMetadataService,
61
58
  private readonly fieldMetadataService: FieldMetadataService,
62
59
  private readonly mediaStorageProviderMetadataService: MediaStorageProviderMetadataService,
@@ -64,7 +61,6 @@ export class ModuleMetadataSeederService {
64
61
  private readonly userService: UserService,
65
62
  private readonly authenticationService: AuthenticationService,
66
63
  private readonly solidActionService: ActionMetadataService,
67
- private readonly solidMenuItemService: MenuItemMetadataService,
68
64
  private readonly solidViewService: ViewMetadataService,
69
65
  private readonly mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService,
70
66
  private readonly emailTemplateService: EmailTemplateService,
@@ -74,11 +70,6 @@ export class ModuleMetadataSeederService {
74
70
  // private readonly permissionRepo: Repository<PermissionMetadata>,
75
71
  private readonly permissionRepo: PermissionMetadataRepository,
76
72
  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
73
  private readonly settingService: SettingService,
83
74
  // @InjectRepository(Setting, 'default')
84
75
  // readonly settingsRepo: Repository<Setting>,
@@ -89,12 +80,14 @@ export class ModuleMetadataSeederService {
89
80
  readonly scheduledJobRepository: ScheduledJobRepository,
90
81
  readonly savedFiltersRepo: SavedFiltersRepository,
91
82
  readonly dataSource: DataSource,
83
+ readonly modelSequenceRepo: ModelSequenceRepository,
92
84
  ) { }
93
85
 
94
86
  async seed(conf?: any) {
95
87
  // Global seeding steps i.e across all modules
96
88
  await this.seedGlobalMetadata();
97
89
 
90
+
98
91
  // Module specific seeding steps.
99
92
  // Get all the module metadata files which needs to be seeded.
100
93
  const seedDataFiles = this.seedDataFiles;
@@ -193,6 +186,10 @@ export class ModuleMetadataSeederService {
193
186
  this.logger.log(`Seeding Saved Filters`);
194
187
  await this.seedSavedFilters(moduleMetadata, overallMetadata);
195
188
 
189
+ // Model Sequences
190
+ this.logger.log(`Seeding Model Sequences`);
191
+ await this.seedModelSequences(overallMetadata);
192
+
196
193
  this.logger.debug(`[End] module seed data: ${overallMetadata}`);
197
194
  }
198
195
 
@@ -328,7 +325,8 @@ export class ModuleMetadataSeederService {
328
325
  private get seedDataFiles(): any[] {
329
326
  const typedSolidCoreMetadata = structuredClone(solidCoreMetadata);
330
327
  const seedDataFiles = [typedSolidCoreMetadata];
331
- const enabledModules = getDynamicModuleNames();
328
+ // const enabledModules = getDynamicModuleNames();
329
+ const enabledModules = getDynamicModuleNamesBasedOnMetadata();
332
330
  for (const enabledModule of enabledModules) {
333
331
  const enabledModuleSeedFile = `module-metadata/${enabledModule}/${enabledModule}-metadata.json`;
334
332
  const fullPath = path.join(process.cwd(), enabledModuleSeedFile);
@@ -352,6 +350,8 @@ export class ModuleMetadataSeederService {
352
350
 
353
351
  this.logger.log(`Seeding System Fields Metadata`);
354
352
  await this.seedDefaultSystemFields();
353
+
354
+ this.logger.debug(`Global metadata seeding completed`);
355
355
  }
356
356
 
357
357
  private async seedDefaultSystemFields() {
@@ -422,6 +422,13 @@ export class ModuleMetadataSeederService {
422
422
  this.logger.debug(`[End] Processing Media Storage Provider`);
423
423
  }
424
424
 
425
+ private async seedModelSequences(overallMetadata: any) {
426
+ this.logger.debug(`[Start] Processing model sequences`);
427
+ const modelSequences: CreateModelSequenceDto[] = overallMetadata.modelSequences;
428
+ await this.handleSeedModelSequences(modelSequences);
429
+ this.logger.debug(`[End] Processing model sequences`);
430
+ }
431
+
425
432
  // OK
426
433
  private async handleSeedEmailTemplates(emailTemplates: CreateEmailTemplateDto[], moduleName: string) {
427
434
  if (!emailTemplates) {
@@ -434,12 +441,41 @@ export class ModuleMetadataSeederService {
434
441
 
435
442
  // We need to load the actual template contents.
436
443
  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}`);
444
+ let moduleRoot: string | null = null;
445
+
446
+ try {
447
+ // Always resolve package.json, never the module entry
448
+ moduleRoot = path.dirname(
449
+ require.resolve('@solidstarters/solid-core/package.json'),
450
+ );
451
+ } catch (err) {
452
+ this.logger.debug(
453
+ 'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
454
+ );
455
+ }
456
+
457
+ const filePathInternal = 'src/seeders/seed-data/email-templates/';
458
+ let filePath: string;
459
+ // Case 1: solid-core installed as dependency
460
+ if (moduleRoot) {
461
+ filePath = path.join(
462
+ moduleRoot,
463
+ filePathInternal,
464
+ emailTemplate.body,
465
+ );
466
+ }
467
+ else {
468
+ // Case 2: running INSIDE solid-core repo
469
+ const localCoreRoot = process.cwd(); // or configurable root
470
+ filePath = path.join(
471
+ localCoreRoot,
472
+ filePathInternal,
473
+ emailTemplate.body,
474
+ );
475
+ }
476
+
441
477
  if (fs.existsSync(filePath)) {
442
- emailTemplate.body = fs.readFileSync(filePath, 'utf-8').toString();
478
+ emailTemplate.body = fs.readFileSync(filePath, 'utf-8');
443
479
  }
444
480
  }
445
481
  else {
@@ -471,12 +507,41 @@ export class ModuleMetadataSeederService {
471
507
 
472
508
  // We need to load the actual template contents.
473
509
  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}`);
510
+ let moduleRoot: string | null = null;
511
+
512
+ try {
513
+ // Always resolve package.json, never the module entry
514
+ moduleRoot = path.dirname(
515
+ require.resolve('@solidstarters/solid-core/package.json'),
516
+ );
517
+ } catch (err) {
518
+ this.logger.debug(
519
+ 'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
520
+ );
521
+ }
522
+
523
+ const filePathInternal = 'src/seeders/seed-data/sms-templates/';
524
+ let filePath: string;
525
+ // Case 1: solid-core installed as dependency
526
+ if (moduleRoot) {
527
+ filePath = path.join(
528
+ moduleRoot,
529
+ filePathInternal,
530
+ smsTemplate.body,
531
+ );
532
+ }
533
+ else {
534
+ // Case 2: running INSIDE solid-core repo
535
+ const localCoreRoot = process.cwd(); // or configurable root
536
+ filePath = path.join(
537
+ localCoreRoot,
538
+ filePathInternal,
539
+ smsTemplate.body,
540
+ );
541
+ }
542
+
478
543
  if (fs.existsSync(filePath)) {
479
- smsTemplate.body = fs.readFileSync(filePath, 'utf-8').toString();
544
+ smsTemplate.body = fs.readFileSync(filePath, 'utf-8');
480
545
  }
481
546
  }
482
547
  else {
@@ -535,6 +600,7 @@ export class ModuleMetadataSeederService {
535
600
  action,
536
601
  module,
537
602
  parentMenuItem,
603
+ sequenceNumber: m.sequenceNumber
538
604
  };
539
605
 
540
606
  // If existing, set its id so save() will perform an update, otherwise insert
@@ -653,12 +719,36 @@ export class ModuleMetadataSeederService {
653
719
  }
654
720
 
655
721
  for (let l = 0; l < users.length; l++) {
656
- const user = users[l];
722
+ const user: SignUpDto = users[l];
657
723
  let exisitingUser = await this.userService.findOneByUsername(user.username);
658
724
  if (!exisitingUser) {
659
- exisitingUser = await this.authenticationService.signUp(user);
725
+ let generatedAdminPassword: string | null = null;
726
+ if (user.username === 'sa') {
727
+ generatedAdminPassword = uuidv4();
728
+ user.password = generatedAdminPassword;
729
+ }
660
730
 
661
- this.logger.log(`Newly created user is ${user}`);
731
+ exisitingUser = await this.authenticationService.signUp(user);
732
+ this.logger.log(`Newly created user ${user.username}`);
733
+
734
+ // Surface the generated SA password clearly to the operator.
735
+ if (generatedAdminPassword) {
736
+ const banner = [
737
+ '',
738
+ '============================================================',
739
+ ' SYSTEM ADMIN USER CREATED',
740
+ '------------------------------------------------------------',
741
+ ' Username : sa',
742
+ ` Password : ${generatedAdminPassword}`,
743
+ '',
744
+ ' Copy and store this password securely now.',
745
+ ' It is shown only once during seeding.',
746
+ '============================================================',
747
+ ''
748
+ ].join('\n');
749
+ // Use console.log to ensure visibility even if logger formatting changes.
750
+ console.log(banner);
751
+ }
662
752
  }
663
753
  //FIXME: Create the user roles assignment logic here.
664
754
  // now add Roles to user.
@@ -782,5 +872,14 @@ export class ModuleMetadataSeederService {
782
872
  await this.savedFiltersRepo.upsertWithDto({ ...dto, filterQueryJson: JSON.stringify(dto.filterQueryJson) });
783
873
  }
784
874
  }
875
+ private async handleSeedModelSequences(modelSequencesDto: CreateModelSequenceDto[]) {
876
+ if (!modelSequencesDto || modelSequencesDto.length === 0) {
877
+ this.logger.debug(`No Model Sequences found to seed`);
878
+ return;
879
+ }
880
+ for (const dto of modelSequencesDto) {
881
+ await this.modelSequenceRepo.upsertWithDto(dto);
882
+ }
883
+ }
785
884
 
786
- }
885
+ }
@@ -0,0 +1,155 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <title>Welcome to {{ solidAppName }}</title>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+
9
+ <style>
10
+ @import url("https://fonts.googleapis.com/css?family=Nunito+Sans:400,700&display=swap");
11
+
12
+ body {
13
+ margin: 0;
14
+ padding: 0;
15
+ background-color: #f4f4f7;
16
+ font-family: "Nunito Sans", Helvetica, Arial, sans-serif;
17
+ color: #333;
18
+ }
19
+
20
+ .email-wrapper {
21
+ max-width: 600px;
22
+ margin: 0 auto;
23
+ padding: 20px;
24
+ }
25
+
26
+ .logo {
27
+ text-align: center;
28
+ margin-bottom: 20px;
29
+ }
30
+
31
+ .logo img {
32
+ height: 50px;
33
+ }
34
+
35
+ .content-box {
36
+ background-color: #ffffff;
37
+ padding: 40px;
38
+ border-radius: 8px;
39
+ }
40
+
41
+ .title {
42
+ font-size: 22px;
43
+ margin-bottom: 10px;
44
+ }
45
+
46
+ .intro {
47
+ font-size: 16px;
48
+ line-height: 1.6;
49
+ margin: 0 0 12px 0;
50
+ }
51
+
52
+ .credentials {
53
+ background-color: #f9f9f9;
54
+ padding: 15px;
55
+ border-radius: 5px;
56
+ margin: 18px 0;
57
+ font-size: 16px;
58
+ }
59
+
60
+ .button-container {
61
+ text-align: center;
62
+ margin: 24px 0 30px 0;
63
+ }
64
+
65
+ .button {
66
+ display: inline-block;
67
+ padding: 12px 24px;
68
+ background-color: #722ED1;
69
+ color: #ffffff;
70
+ text-decoration: none;
71
+ font-weight: bold;
72
+ border-radius: 4px;
73
+ }
74
+
75
+ .footer {
76
+ text-align: center;
77
+ font-size: 12px;
78
+ color: #6b6e76;
79
+ margin-top: 40px;
80
+ }
81
+
82
+ @media only screen and (max-width: 600px) {
83
+ .email-wrapper {
84
+ width: 100% !important;
85
+ padding: 20px 0 !important;
86
+ margin: 0;
87
+ }
88
+
89
+ .content-box {
90
+ padding: 20px !important;
91
+ border-radius: 0;
92
+ }
93
+
94
+ .title {
95
+ font-size: 18px !important;
96
+ }
97
+
98
+ .button {
99
+ padding: 10px !important;
100
+ font-size: 14px;
101
+ }
102
+ }
103
+ </style>
104
+ </head>
105
+
106
+ <body>
107
+ <div class="email-wrapper">
108
+ {{#if companyLogoUrl}}
109
+ <div class="logo">
110
+ <img src="{{companyLogoUrl}}" alt="Company Logo" />
111
+ </div>
112
+ {{/if}}
113
+
114
+ <div class="content-box">
115
+ <h2 class="title">Welcome, {{ fullName }}!</h2>
116
+ <p class="intro">
117
+ We’re excited to have you on <strong>{{ solidAppName }}</strong>. Your account has been created and is
118
+ ready to use.
119
+ </p>
120
+ <div class="credentials">
121
+ <p><strong>Username:</strong> {{ userName }}</p>
122
+ <p><strong>Email:</strong> {{ email }}</p>
123
+ </div>
124
+ {{#if frontendLoginPageUrl}}
125
+ <div class="button-container">
126
+ <a class="button" href="{{ frontendLoginPageUrl }}" target="_blank" rel="noopener">Go to Login</a>
127
+ </div>
128
+ {{/if}}
129
+ <div class="credentials">
130
+ <p style="margin:0 0 8px 0;"><strong>How to sign in</strong></p>
131
+ <p class="intro" style="margin:0 0 8px 0;">
132
+ Please check with your system administrator for the login method configured for your account.
133
+ </p>
134
+ <ul style="padding-left:20px; margin:0;">
135
+ <li class="intro" style="margin-bottom:6px;">If password-based sign-in is enabled, your administrator will share or manage your password separately.</li>
136
+ <li class="intro" style="margin-bottom:6px;">If OTP-based sign-in is enabled, you can log in with your email or mobile number and retrieve a one-time code.</li>
137
+ <li class="intro" style="margin-bottom:0;">If Google OAuth is enabled, sign in with your Google Workspace credentials.</li>
138
+ </ul>
139
+ </div>
140
+ <p class="intro">
141
+ If you didn’t request this account, you can safely ignore this email or contact support.
142
+ </p>
143
+ <p class="intro">
144
+ Cheers,<br />
145
+ The {{ solidAppName }} Team
146
+ </p>
147
+ </div>
148
+
149
+ <div class="footer">
150
+ © 2025 <a href="{{ solidAppWebsiteUrl }}" target="_blank">{{ solidAppName }}</a>. All rights reserved.
151
+ </div>
152
+ </div>
153
+ </body>
154
+
155
+ </html>
@@ -0,0 +1,10 @@
1
+ Welcome to {{ solidAppName }}!
2
+ Your account ({{ userName }} / {{ email }}) is ready.
3
+
4
+ To sign in, use the login page {{ frontendLoginPageUrl }} (if provided).
5
+ Check with your administrator for your login method:
6
+ - Password sign-in: admin will share/manage your password.
7
+ - OTP sign-in: use your email or mobile to receive a code.
8
+ - Google OAuth: sign in with your Google Workspace account.
9
+
10
+ If you didn’t request this, ignore this message.