@solidxai/core 0.1.9-beta.1 → 0.1.9-beta.4

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 (520) hide show
  1. package/dist/commands/fixtures/fixtures-setup.command.d.ts +1 -1
  2. package/dist/commands/fixtures/fixtures-tear-down.command.d.ts +1 -1
  3. package/dist/commands/info.command.d.ts +3 -3
  4. package/dist/commands/ingest.command.d.ts +2 -2
  5. package/dist/commands/mcp.command.d.ts +1 -1
  6. package/dist/commands/refresh-model.command.d.ts +1 -1
  7. package/dist/commands/remove-fields.command.d.ts +1 -1
  8. package/dist/commands/run-tests.command.d.ts +1 -1
  9. package/dist/commands/seed.command.d.ts +1 -1
  10. package/dist/commands/test-data.command.d.ts +1 -1
  11. package/dist/controllers/action-metadata.controller.d.ts +1 -1
  12. package/dist/controllers/agent-event.controller.d.ts +3 -3
  13. package/dist/controllers/agent-session.controller.d.ts +3 -3
  14. package/dist/controllers/ai-interaction.controller.d.ts +1 -1
  15. package/dist/controllers/dashboard-layout.controller.d.ts +3 -3
  16. package/dist/controllers/dashboard-question.controller.d.ts +1 -1
  17. package/dist/controllers/dashboard.controller.d.ts +1 -1
  18. package/dist/controllers/export-template.controller.d.ts +2 -2
  19. package/dist/controllers/field-metadata.controller.d.ts +1 -1
  20. package/dist/controllers/google-authentication.controller.d.ts +1 -1
  21. package/dist/controllers/import-transaction.controller.d.ts +1 -1
  22. package/dist/controllers/locale.controller.d.ts +3 -3
  23. package/dist/controllers/media.controller.d.ts +3 -3
  24. package/dist/controllers/menu-item-metadata.controller.d.ts +2 -2
  25. package/dist/controllers/model-metadata.controller.d.ts +1 -1
  26. package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
  27. package/dist/controllers/mq-message.controller.d.ts +1 -1
  28. package/dist/controllers/permission-metadata.controller.d.ts +1 -1
  29. package/dist/controllers/role-metadata.controller.d.ts +1 -1
  30. package/dist/controllers/scheduled-job.controller.d.ts +3 -3
  31. package/dist/controllers/service.controller.d.ts +4 -4
  32. package/dist/controllers/setting.controller.d.ts +1 -1
  33. package/dist/controllers/test-queue.controller.d.ts +1 -1
  34. package/dist/controllers/test.controller.d.ts +2 -2
  35. package/dist/controllers/user-view-metadata.controller.d.ts +2 -2
  36. package/dist/controllers/user.controller.d.ts +2 -2
  37. package/dist/controllers/view-metadata.controller.d.ts +2 -2
  38. package/dist/decorators/extension-user-creation-provider.decorator.d.ts +3 -0
  39. package/dist/decorators/extension-user-creation-provider.decorator.d.ts.map +1 -0
  40. package/dist/decorators/extension-user-creation-provider.decorator.js +7 -0
  41. package/dist/decorators/extension-user-creation-provider.decorator.js.map +1 -0
  42. package/dist/decorators/solid-password.decorator.d.ts +1 -1
  43. package/dist/dtos/create-dashboard-question.dto.d.ts +1 -1
  44. package/dist/dtos/create-dashboard.dto.d.ts +2 -2
  45. package/dist/dtos/create-field-metadata.dto.js +1 -2
  46. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  47. package/dist/dtos/create-import-transaction.dto.d.ts +1 -1
  48. package/dist/dtos/create-menu-item-metadata.dto.d.ts +1 -1
  49. package/dist/dtos/create-mq-message-queue.dto.d.ts +1 -1
  50. package/dist/dtos/create-permission-metadata.dto.d.ts +1 -1
  51. package/dist/dtos/create-role-metadata.dto.d.ts +3 -3
  52. package/dist/dtos/create-user.dto.d.ts +3 -2
  53. package/dist/dtos/create-user.dto.d.ts.map +1 -1
  54. package/dist/dtos/create-user.dto.js +8 -1
  55. package/dist/dtos/create-user.dto.js.map +1 -1
  56. package/dist/dtos/create-view-metadata.dto.d.ts +1 -1
  57. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +1 -1
  58. package/dist/dtos/fetch-roles.dto.d.ts +1 -1
  59. package/dist/dtos/selection-dynamic-query.dto.d.ts +1 -1
  60. package/dist/dtos/solid-request-context.dto.d.ts +1 -1
  61. package/dist/dtos/sort-filter.dto.d.ts +1 -1
  62. package/dist/dtos/update-dashboard-question.dto.d.ts +1 -1
  63. package/dist/dtos/update-dashboard.dto.d.ts +2 -2
  64. package/dist/dtos/update-import-transaction.dto.d.ts +1 -1
  65. package/dist/dtos/update-menu-item-metadata.dto.d.ts +1 -1
  66. package/dist/dtos/update-mq-message-queue.dto.d.ts +1 -1
  67. package/dist/dtos/update-permission-metadata.dto.d.ts +1 -1
  68. package/dist/dtos/update-role-metadata.dto.d.ts +3 -3
  69. package/dist/dtos/update-user.dto.d.ts +3 -2
  70. package/dist/dtos/update-user.dto.d.ts.map +1 -1
  71. package/dist/dtos/update-user.dto.js +7 -1
  72. package/dist/dtos/update-user.dto.js.map +1 -1
  73. package/dist/dtos/update-view-metadata.dto.d.ts +1 -1
  74. package/dist/entities/action-metadata.entity.d.ts +4 -4
  75. package/dist/entities/agent-event.entity.d.ts +1 -1
  76. package/dist/entities/agent-session.entity.d.ts +1 -1
  77. package/dist/entities/ai-interaction.entity.d.ts +2 -2
  78. package/dist/entities/chatter-message-details.entity.d.ts +2 -2
  79. package/dist/entities/chatter-message.entity.d.ts +2 -2
  80. package/dist/entities/dashboard-layout.entity.d.ts +2 -2
  81. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +2 -2
  82. package/dist/entities/dashboard-question.entity.d.ts +3 -3
  83. package/dist/entities/dashboard-variable.entity.d.ts +2 -2
  84. package/dist/entities/dashboard.entity.d.ts +4 -4
  85. package/dist/entities/email-template.entity.d.ts +1 -1
  86. package/dist/entities/export-template.entity.d.ts +2 -2
  87. package/dist/entities/export-transaction.entity.d.ts +2 -2
  88. package/dist/entities/field-metadata.entity.d.ts +2 -2
  89. package/dist/entities/import-transaction-error-log.entity.d.ts +2 -2
  90. package/dist/entities/import-transaction.entity.d.ts +3 -3
  91. package/dist/entities/list-of-values.entity.d.ts +2 -2
  92. package/dist/entities/locale.entity.d.ts +1 -1
  93. package/dist/entities/media-storage-provider-metadata.entity.d.ts +1 -1
  94. package/dist/entities/media.entity.d.ts +4 -4
  95. package/dist/entities/menu-item-metadata.entity.d.ts +4 -4
  96. package/dist/entities/model-metadata.entity.d.ts +1 -1
  97. package/dist/entities/model-sequence.entity.d.ts +4 -4
  98. package/dist/entities/module-metadata.entity.d.ts +1 -1
  99. package/dist/entities/mq-message-queue.entity.d.ts +2 -2
  100. package/dist/entities/mq-message.entity.d.ts +2 -2
  101. package/dist/entities/permission-metadata.entity.d.ts +2 -2
  102. package/dist/entities/role-metadata.entity.d.ts +4 -4
  103. package/dist/entities/saved-filters.entity.d.ts +4 -4
  104. package/dist/entities/scheduled-job.entity.d.ts +1 -1
  105. package/dist/entities/security-rule.entity.d.ts +3 -3
  106. package/dist/entities/setting.entity.d.ts +2 -2
  107. package/dist/entities/sms-template.entity.d.ts +1 -1
  108. package/dist/entities/user-activity-history.entity.d.ts +2 -2
  109. package/dist/entities/user-api-key.entity.d.ts +1 -1
  110. package/dist/entities/user-view-metadata.entity.d.ts +3 -3
  111. package/dist/entities/user.entity.d.ts +4 -4
  112. package/dist/entities/view-metadata.entity.d.ts +4 -4
  113. package/dist/factories/mail.factory.d.ts +3 -3
  114. package/dist/factories/sms.factory.d.ts +3 -3
  115. package/dist/factories/whatsapp.factory.d.ts +3 -3
  116. package/dist/filters/http-exception.filter.d.ts +1 -1
  117. package/dist/guards/api-key.guard.d.ts +1 -1
  118. package/dist/helpers/error-mapper.service.d.ts +2 -2
  119. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts +1 -1
  120. package/dist/helpers/field-crud-managers/BooleanFieldCrudManager.d.ts +1 -1
  121. package/dist/helpers/field-crud-managers/ComputedFieldCrudManager.d.ts +2 -2
  122. package/dist/helpers/field-crud-managers/DateFieldCrudManager.d.ts +1 -1
  123. package/dist/helpers/field-crud-managers/DecimalFieldCrudManager.d.ts +1 -1
  124. package/dist/helpers/field-crud-managers/EmailFieldCrudManager.d.ts +1 -1
  125. package/dist/helpers/field-crud-managers/IntFieldCrudManager.d.ts +1 -1
  126. package/dist/helpers/field-crud-managers/JsonFieldCrudManager.d.ts +1 -1
  127. package/dist/helpers/field-crud-managers/LongTextFieldCrudManager.d.ts +1 -1
  128. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +1 -1
  129. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +1 -1
  130. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -1
  131. package/dist/helpers/field-crud-managers/NoOpsFieldCrudManager.d.ts +1 -1
  132. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +1 -1
  133. package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.d.ts +2 -2
  134. package/dist/helpers/field-crud-managers/RichTextFieldCrudManager.d.ts +1 -1
  135. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts +2 -2
  136. package/dist/helpers/field-crud-managers/SelectionStaticFieldCrudManager.d.ts +2 -2
  137. package/dist/helpers/field-crud-managers/ShortTextFieldCrudManager.d.ts +1 -1
  138. package/dist/helpers/field-crud-managers/UUIDFieldCrudManager.d.ts +1 -1
  139. package/dist/helpers/model-metadata-helper.service.d.ts +1 -1
  140. package/dist/helpers/module-metadata-helper.service.d.ts +1 -1
  141. package/dist/helpers/solid-core-error-codes-provider.service.d.ts +1 -1
  142. package/dist/helpers/solid-registry.d.ts +11 -5
  143. package/dist/helpers/solid-registry.d.ts.map +1 -1
  144. package/dist/helpers/solid-registry.js +15 -2
  145. package/dist/helpers/solid-registry.js.map +1 -1
  146. package/dist/index.d.ts +1 -0
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +1 -0
  149. package/dist/index.js.map +1 -1
  150. package/dist/interfaces.d.ts +11 -3
  151. package/dist/interfaces.d.ts.map +1 -1
  152. package/dist/interfaces.js.map +1 -1
  153. package/dist/jobs/database/api-email-publisher-database.service.d.ts +4 -4
  154. package/dist/jobs/database/api-email-queue-options-database.d.ts +1 -1
  155. package/dist/jobs/database/api-email-subscriber-database.service.d.ts +7 -7
  156. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts +1 -1
  157. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts +4 -4
  158. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.d.ts +5 -5
  159. package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.d.ts +8 -8
  160. package/dist/jobs/database/generate-code-publisher-database.service.d.ts +1 -1
  161. package/dist/jobs/database/generate-code-subscriber-database.service.d.ts +4 -4
  162. package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts +4 -4
  163. package/dist/jobs/database/msg91-sms-queue-database-options.d.ts +1 -1
  164. package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts +7 -7
  165. package/dist/jobs/database/msg91-whatsapp-publisher-database.service.d.ts +4 -4
  166. package/dist/jobs/database/msg91-whatsapp-queue-options-database.d.ts +1 -1
  167. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.d.ts +7 -7
  168. package/dist/jobs/database/otp-publisher-database.service.d.ts +4 -4
  169. package/dist/jobs/database/otp-queue-options-database.d.ts +1 -1
  170. package/dist/jobs/database/otp-subscriber-database.service.d.ts +7 -7
  171. package/dist/jobs/database/smtp-email-publisher-database.service.d.ts +4 -4
  172. package/dist/jobs/database/smtp-email-queue-options-database.d.ts +1 -1
  173. package/dist/jobs/database/smtp-email-subscriber-database.service.d.ts +7 -7
  174. package/dist/jobs/database/test-queue-publisher-database.service.d.ts +1 -1
  175. package/dist/jobs/database/test-queue-subscriber-database.service.d.ts +3 -3
  176. package/dist/jobs/database/three60-whatsapp-publisher-database.service.d.ts +4 -4
  177. package/dist/jobs/database/three60-whatsapp-queue-options-database.d.ts +1 -1
  178. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.d.ts +7 -7
  179. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +4 -4
  180. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +1 -1
  181. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +8 -8
  182. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  183. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +2 -2
  184. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  185. package/dist/jobs/database/twilio-sms-publisher-database.service.d.ts +4 -4
  186. package/dist/jobs/database/twilio-sms-queue-database-options.d.ts +1 -1
  187. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +7 -7
  188. package/dist/jobs/rabbitmq/api-email-publisher.service.d.ts +3 -3
  189. package/dist/jobs/rabbitmq/api-email-subscriber.service.d.ts +4 -4
  190. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts +1 -1
  191. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts +3 -3
  192. package/dist/jobs/rabbitmq/computed-field-evaluation-publisher.service.d.ts +5 -5
  193. package/dist/jobs/rabbitmq/computed-field-evaluation-subscriber.service.d.ts +8 -8
  194. package/dist/jobs/rabbitmq/generate-code-publisher.service.d.ts +1 -1
  195. package/dist/jobs/rabbitmq/generate-code-subscriber.service.d.ts +7 -7
  196. package/dist/jobs/rabbitmq/msg91-otp-publisher.service.d.ts +3 -3
  197. package/dist/jobs/rabbitmq/msg91-otp-subscriber.service.d.ts +5 -5
  198. package/dist/jobs/rabbitmq/msg91-sms-publisher.service.d.ts +3 -3
  199. package/dist/jobs/rabbitmq/msg91-sms-subscriber.service.d.ts +5 -5
  200. package/dist/jobs/rabbitmq/msg91-whatsapp-publisher.service.d.ts +3 -3
  201. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.d.ts +4 -4
  202. package/dist/jobs/rabbitmq/smtp-email-publisher.service.d.ts +3 -3
  203. package/dist/jobs/rabbitmq/smtp-email-subscriber.service.d.ts +4 -4
  204. package/dist/jobs/rabbitmq/test-queue-publisher.service.d.ts +1 -1
  205. package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts +2 -2
  206. package/dist/jobs/rabbitmq/three60-whatsapp-publisher.service.d.ts +3 -3
  207. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.d.ts +5 -5
  208. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +3 -3
  209. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +6 -6
  210. package/dist/jobs/rabbitmq/twilio-sms-publisher.service.d.ts +3 -3
  211. package/dist/jobs/rabbitmq/twilio-sms-subscriber.service.d.ts +6 -6
  212. package/dist/jobs/redis/api-email-publisher-redis.service.d.ts +1 -1
  213. package/dist/jobs/redis/api-email-subscriber-redis.service.d.ts +2 -2
  214. package/dist/jobs/redis/chatter-queue-publisher-redis.service.d.ts +1 -1
  215. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts +2 -2
  216. package/dist/jobs/redis/computed-field-evaluation-publisher-redis.service.d.ts +2 -2
  217. package/dist/jobs/redis/computed-field-evaluation-subscriber-redis.service.d.ts +4 -4
  218. package/dist/jobs/redis/generate-code-publisher-redis.service.d.ts +1 -1
  219. package/dist/jobs/redis/generate-code-subscriber-redis.service.d.ts +3 -3
  220. package/dist/jobs/redis/msg91-otp-publisher-redis.service.d.ts +1 -1
  221. package/dist/jobs/redis/msg91-otp-subscriber-redis.service.d.ts +3 -3
  222. package/dist/jobs/redis/msg91-sms-publisher-redis.service.d.ts +1 -1
  223. package/dist/jobs/redis/msg91-sms-subscriber-redis.service.d.ts +3 -3
  224. package/dist/jobs/redis/msg91-whatsapp-publisher-redis.service.d.ts +1 -1
  225. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.d.ts +2 -2
  226. package/dist/jobs/redis/smtp-email-publisher-redis.service.d.ts +1 -1
  227. package/dist/jobs/redis/smtp-email-subscriber-redis.service.d.ts +2 -2
  228. package/dist/jobs/redis/test-queue-publisher-redis.service.d.ts +1 -1
  229. package/dist/jobs/redis/test-queue-subscriber-redis.service.d.ts +2 -2
  230. package/dist/jobs/redis/three60-whatsapp-publisher-redis.service.d.ts +1 -1
  231. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.d.ts +2 -2
  232. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +1 -1
  233. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +2 -2
  234. package/dist/jobs/redis/twilio-sms-publisher-redis.service.d.ts +1 -1
  235. package/dist/jobs/redis/twilio-sms-subscriber-redis.service.d.ts +3 -3
  236. package/dist/mappers/dashboard-mapper.d.ts +1 -1
  237. package/dist/mappers/list-of-values-mapper.d.ts +1 -1
  238. package/dist/repository/action-metadata.repository.d.ts +2 -2
  239. package/dist/repository/agent-event.repository.d.ts +2 -2
  240. package/dist/repository/agent-session.repository.d.ts +2 -2
  241. package/dist/repository/ai-interaction.repository.d.ts +2 -2
  242. package/dist/repository/chatter-message-details.repository.d.ts +2 -2
  243. package/dist/repository/chatter-message.repository.d.ts +2 -2
  244. package/dist/repository/dashboard-layout.repository.d.ts +2 -2
  245. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +2 -2
  246. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +1 -1
  247. package/dist/repository/dashboard-question-sql-dataset-config.repository.js +2 -2
  248. package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +1 -1
  249. package/dist/repository/dashboard-question.repository.d.ts +2 -2
  250. package/dist/repository/dashboard-question.repository.d.ts.map +1 -1
  251. package/dist/repository/dashboard-question.repository.js +2 -2
  252. package/dist/repository/dashboard-question.repository.js.map +1 -1
  253. package/dist/repository/dashboard-variable.repository.d.ts +2 -2
  254. package/dist/repository/dashboard-variable.repository.d.ts.map +1 -1
  255. package/dist/repository/dashboard-variable.repository.js +2 -2
  256. package/dist/repository/dashboard-variable.repository.js.map +1 -1
  257. package/dist/repository/dashboard.repository.d.ts +2 -2
  258. package/dist/repository/email-template.repository.d.ts +2 -2
  259. package/dist/repository/email-template.repository.d.ts.map +1 -1
  260. package/dist/repository/email-template.repository.js +2 -2
  261. package/dist/repository/email-template.repository.js.map +1 -1
  262. package/dist/repository/export-template.repository.d.ts +2 -2
  263. package/dist/repository/export-template.repository.d.ts.map +1 -1
  264. package/dist/repository/export-template.repository.js +2 -2
  265. package/dist/repository/export-template.repository.js.map +1 -1
  266. package/dist/repository/export-transaction.repository.d.ts +2 -2
  267. package/dist/repository/export-transaction.repository.d.ts.map +1 -1
  268. package/dist/repository/export-transaction.repository.js +2 -2
  269. package/dist/repository/export-transaction.repository.js.map +1 -1
  270. package/dist/repository/field-metadata.repository.d.ts +1 -1
  271. package/dist/repository/import-transaction-error-log.repository.d.ts +2 -2
  272. package/dist/repository/import-transaction-error-log.repository.d.ts.map +1 -1
  273. package/dist/repository/import-transaction-error-log.repository.js +2 -2
  274. package/dist/repository/import-transaction-error-log.repository.js.map +1 -1
  275. package/dist/repository/import-transaction.repository.d.ts +2 -2
  276. package/dist/repository/import-transaction.repository.d.ts.map +1 -1
  277. package/dist/repository/import-transaction.repository.js +2 -2
  278. package/dist/repository/import-transaction.repository.js.map +1 -1
  279. package/dist/repository/list-of-values.repository.d.ts +2 -2
  280. package/dist/repository/list-of-values.repository.d.ts.map +1 -1
  281. package/dist/repository/list-of-values.repository.js +2 -2
  282. package/dist/repository/list-of-values.repository.js.map +1 -1
  283. package/dist/repository/locale.repository.d.ts +2 -2
  284. package/dist/repository/locale.repository.d.ts.map +1 -1
  285. package/dist/repository/locale.repository.js +2 -2
  286. package/dist/repository/locale.repository.js.map +1 -1
  287. package/dist/repository/media-storage-provider-metadata.repository.d.ts +1 -1
  288. package/dist/repository/media.repository.d.ts +2 -2
  289. package/dist/repository/menu-item-metadata.repository.d.ts +2 -2
  290. package/dist/repository/menu-item-metadata.repository.d.ts.map +1 -1
  291. package/dist/repository/menu-item-metadata.repository.js +2 -2
  292. package/dist/repository/menu-item-metadata.repository.js.map +1 -1
  293. package/dist/repository/model-metadata.repository.d.ts +1 -1
  294. package/dist/repository/model-metadata.repository.d.ts.map +1 -1
  295. package/dist/repository/model-metadata.repository.js +2 -2
  296. package/dist/repository/model-metadata.repository.js.map +1 -1
  297. package/dist/repository/model-sequence.repository.d.ts +3 -3
  298. package/dist/repository/module-metadata.repository.d.ts +1 -1
  299. package/dist/repository/module-metadata.repository.d.ts.map +1 -1
  300. package/dist/repository/module-metadata.repository.js +2 -2
  301. package/dist/repository/module-metadata.repository.js.map +1 -1
  302. package/dist/repository/mq-message-queue.repository.d.ts +2 -2
  303. package/dist/repository/mq-message-queue.repository.d.ts.map +1 -1
  304. package/dist/repository/mq-message-queue.repository.js +2 -2
  305. package/dist/repository/mq-message-queue.repository.js.map +1 -1
  306. package/dist/repository/mq-message.repository.d.ts +2 -2
  307. package/dist/repository/mq-message.repository.d.ts.map +1 -1
  308. package/dist/repository/mq-message.repository.js +2 -2
  309. package/dist/repository/mq-message.repository.js.map +1 -1
  310. package/dist/repository/permission-metadata.repository.d.ts +2 -2
  311. package/dist/repository/permission-metadata.repository.d.ts.map +1 -1
  312. package/dist/repository/permission-metadata.repository.js +2 -2
  313. package/dist/repository/permission-metadata.repository.js.map +1 -1
  314. package/dist/repository/role-metadata.repository.d.ts +2 -2
  315. package/dist/repository/role-metadata.repository.d.ts.map +1 -1
  316. package/dist/repository/role-metadata.repository.js +2 -2
  317. package/dist/repository/role-metadata.repository.js.map +1 -1
  318. package/dist/repository/saved-filters.repository.d.ts +2 -2
  319. package/dist/repository/scheduled-job.repository.d.ts +3 -3
  320. package/dist/repository/security-rule.repository.d.ts +7 -7
  321. package/dist/repository/setting.repository.d.ts +2 -2
  322. package/dist/repository/setting.repository.d.ts.map +1 -1
  323. package/dist/repository/setting.repository.js +2 -2
  324. package/dist/repository/setting.repository.js.map +1 -1
  325. package/dist/repository/sms-template.repository.d.ts +2 -2
  326. package/dist/repository/sms-template.repository.d.ts.map +1 -1
  327. package/dist/repository/sms-template.repository.js +2 -2
  328. package/dist/repository/sms-template.repository.js.map +1 -1
  329. package/dist/repository/solid-base.repository.d.ts +2 -2
  330. package/dist/repository/user-activity-history.repository.d.ts +2 -2
  331. package/dist/repository/user-activity-history.repository.d.ts.map +1 -1
  332. package/dist/repository/user-activity-history.repository.js +2 -2
  333. package/dist/repository/user-activity-history.repository.js.map +1 -1
  334. package/dist/repository/user-api-key.repository.d.ts +2 -2
  335. package/dist/repository/user-view-metadata.repository.d.ts +2 -2
  336. package/dist/repository/user-view-metadata.repository.d.ts.map +1 -1
  337. package/dist/repository/user-view-metadata.repository.js +2 -2
  338. package/dist/repository/user-view-metadata.repository.js.map +1 -1
  339. package/dist/repository/user.repository.d.ts +2 -2
  340. package/dist/repository/view-metadata.repository.d.ts +2 -2
  341. package/dist/seeders/module-metadata-seeder.service.d.ts +17 -14
  342. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  343. package/dist/seeders/module-metadata-seeder.service.js +65 -38
  344. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  345. package/dist/seeders/module-test-data.service.d.ts +1 -1
  346. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  347. package/dist/seeders/module-test-data.service.js +1 -8
  348. package/dist/seeders/module-test-data.service.js.map +1 -1
  349. package/dist/seeders/permission-metadata-seeder.service.d.ts +2 -2
  350. package/dist/seeders/seed-data/solid-core-metadata.json +7 -1
  351. package/dist/seeders/system-fields-seeder.service.d.ts +3 -3
  352. package/dist/services/action-metadata.service.d.ts +2 -2
  353. package/dist/services/agent-event.service.d.ts +2 -2
  354. package/dist/services/agent-session.service.d.ts +2 -2
  355. package/dist/services/ai-interaction.service.d.ts +4 -4
  356. package/dist/services/api-key.service.d.ts +6 -6
  357. package/dist/services/authentication.service.d.ts +10 -6
  358. package/dist/services/authentication.service.d.ts.map +1 -1
  359. package/dist/services/authentication.service.js +25 -21
  360. package/dist/services/authentication.service.js.map +1 -1
  361. package/dist/services/chatter-message-details.service.d.ts +2 -2
  362. package/dist/services/chatter-message.service.d.ts +7 -7
  363. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts +3 -3
  364. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +3 -3
  365. package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.d.ts +2 -2
  366. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +3 -3
  367. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts +2 -2
  368. package/dist/services/crud-helper.service.d.ts +1 -1
  369. package/dist/services/crud.service.d.ts +4 -1
  370. package/dist/services/crud.service.d.ts.map +1 -1
  371. package/dist/services/crud.service.js +52 -3
  372. package/dist/services/crud.service.js.map +1 -1
  373. package/dist/services/dashboard-layout.service.d.ts +4 -4
  374. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -2
  375. package/dist/services/dashboard-question.service.d.ts +3 -3
  376. package/dist/services/dashboard-question.service.js.map +1 -1
  377. package/dist/services/dashboard-variable.service.d.ts +2 -2
  378. package/dist/services/dashboard.service.d.ts +7 -7
  379. package/dist/services/email-template.service.d.ts +1 -1
  380. package/dist/services/export-template.service.d.ts +5 -5
  381. package/dist/services/export-transaction.service.d.ts +7 -7
  382. package/dist/services/field-metadata.service.d.ts +5 -5
  383. package/dist/services/fixtures.service.d.ts +1 -1
  384. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +1 -1
  385. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +1 -1
  386. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +2 -2
  387. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +1 -1
  388. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +1 -1
  389. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +1 -1
  390. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +1 -1
  391. package/dist/services/import-transaction-error-log.service.d.ts +2 -2
  392. package/dist/services/import-transaction.service.d.ts +6 -6
  393. package/dist/services/list-of-values.service.d.ts +4 -4
  394. package/dist/services/locale.service.d.ts +4 -4
  395. package/dist/services/mail/elastic-email.service.d.ts +1 -1
  396. package/dist/services/mail/smtp-email.service.d.ts +1 -1
  397. package/dist/services/media-storage-provider-metadata.service.d.ts +1 -1
  398. package/dist/services/media.service.d.ts +8 -8
  399. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +5 -5
  400. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
  401. package/dist/services/menu-item-metadata.service.d.ts +4 -4
  402. package/dist/services/model-metadata.service.d.ts +4 -4
  403. package/dist/services/model-sequence.service.d.ts +1 -1
  404. package/dist/services/module-metadata.service.d.ts +4 -4
  405. package/dist/services/mq-message-queue.service.d.ts +2 -2
  406. package/dist/services/mq-message.service.d.ts +2 -2
  407. package/dist/services/permission-metadata.service.d.ts +2 -2
  408. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +2 -2
  409. package/dist/services/question-data-providers/helpers.d.ts +1 -1
  410. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +2 -2
  411. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +2 -2
  412. package/dist/services/queues/publisher-factory.service.d.ts +1 -1
  413. package/dist/services/request-context.service.d.ts +2 -2
  414. package/dist/services/role-metadata.service.d.ts +3 -3
  415. package/dist/services/saved-filters.service.d.ts +2 -2
  416. package/dist/services/scheduled-job.service.d.ts +3 -3
  417. package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts +1 -1
  418. package/dist/services/scheduled-jobs/scheduler.interface.d.ts +1 -1
  419. package/dist/services/scheduled-jobs/scheduler.service.d.ts +3 -3
  420. package/dist/services/security-rule.service.d.ts +3 -3
  421. package/dist/services/security-rule.service.d.ts.map +1 -1
  422. package/dist/services/security-rule.service.js +3 -3
  423. package/dist/services/security-rule.service.js.map +1 -1
  424. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +1 -1
  425. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +1 -1
  426. package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts +1 -1
  427. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts +1 -1
  428. package/dist/services/setting.service.d.ts +5 -5
  429. package/dist/services/settings/default-settings-provider.service.d.ts +1 -1
  430. package/dist/services/short-url/tiny-url.service.d.ts +1 -1
  431. package/dist/services/sms/Msg91BaseSMSService.d.ts +1 -1
  432. package/dist/services/sms/Msg91OTPService.d.ts +1 -1
  433. package/dist/services/sms/Msg91SMSService.d.ts +1 -1
  434. package/dist/services/sms/TwilioSMSService.d.ts +1 -1
  435. package/dist/services/sms-template.service.d.ts +1 -1
  436. package/dist/services/solid-introspect.service.d.ts +9 -8
  437. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  438. package/dist/services/solid-introspect.service.js +11 -0
  439. package/dist/services/solid-introspect.service.js.map +1 -1
  440. package/dist/services/user-activity-history.service.d.ts +3 -3
  441. package/dist/services/user-view-metadata.service.d.ts +4 -4
  442. package/dist/services/user.service.d.ts +3 -3
  443. package/dist/services/view-metadata.service.d.ts +4 -4
  444. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +1 -1
  445. package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -1
  446. package/dist/subscribers/audit.subscriber.d.ts +4 -4
  447. package/dist/subscribers/computed-entity-field.subscriber.d.ts +2 -2
  448. package/dist/subscribers/created-by-updated-by.subscriber.d.ts +1 -1
  449. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +3 -3
  450. package/dist/subscribers/dashboard-question.subscriber.d.ts +3 -3
  451. package/dist/subscribers/dashboard-variable.subscriber.d.ts +3 -3
  452. package/dist/subscribers/dashboard.subscriber.d.ts +3 -3
  453. package/dist/subscribers/list-of-values.subscriber.d.ts +3 -3
  454. package/dist/subscribers/model-metadata.subscriber.d.ts +1 -1
  455. package/dist/subscribers/scheduled-job.subscriber.d.ts +3 -3
  456. package/dist/subscribers/security-rule.subscriber.d.ts +3 -3
  457. package/dist/subscribers/view-metadata.subscriber.d.ts +2 -2
  458. package/dist/testing/contracts/testing-metadata.types.d.ts +1 -0
  459. package/dist/testing/contracts/testing-metadata.types.d.ts.map +1 -1
  460. package/dist/testing/contracts/testing-metadata.types.js.map +1 -1
  461. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
  462. package/dist/testing/steps/ui/assertions.step.js +8 -0
  463. package/dist/testing/steps/ui/assertions.step.js.map +1 -1
  464. package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
  465. package/dist/testing/steps/ui/form.step.js +49 -0
  466. package/dist/testing/steps/ui/form.step.js.map +1 -1
  467. package/dist-tests/api/authenticate.spec.js +119 -0
  468. package/dist-tests/api/authenticate.spec.js.map +1 -0
  469. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
  470. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
  471. package/dist-tests/api/ping.spec.js +21 -0
  472. package/dist-tests/api/ping.spec.js.map +1 -0
  473. package/dist-tests/helpers/auth.js +41 -0
  474. package/dist-tests/helpers/auth.js.map +1 -0
  475. package/dist-tests/helpers/env.js +11 -0
  476. package/dist-tests/helpers/env.js.map +1 -0
  477. package/package.json +7 -6
  478. package/src/decorators/extension-user-creation-provider.decorator.ts +5 -0
  479. package/src/dtos/create-field-metadata.dto.ts +1 -1
  480. package/src/dtos/create-user.dto.ts +4 -0
  481. package/src/dtos/update-user.dto.ts +4 -0
  482. package/src/helpers/solid-registry.ts +19 -1
  483. package/src/index.ts +1 -0
  484. package/src/interfaces.ts +9 -0
  485. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +1 -1
  486. package/src/repository/dashboard-question-sql-dataset-config.repository.ts +1 -1
  487. package/src/repository/dashboard-question.repository.ts +1 -1
  488. package/src/repository/dashboard-variable.repository.ts +1 -1
  489. package/src/repository/email-template.repository.ts +1 -1
  490. package/src/repository/export-template.repository.ts +2 -1
  491. package/src/repository/export-transaction.repository.ts +1 -1
  492. package/src/repository/import-transaction-error-log.repository.ts +1 -1
  493. package/src/repository/import-transaction.repository.ts +1 -1
  494. package/src/repository/list-of-values.repository.ts +1 -1
  495. package/src/repository/locale.repository.ts +1 -1
  496. package/src/repository/menu-item-metadata.repository.ts +1 -1
  497. package/src/repository/model-metadata.repository.ts +1 -1
  498. package/src/repository/module-metadata.repository.ts +1 -1
  499. package/src/repository/mq-message-queue.repository.ts +2 -1
  500. package/src/repository/mq-message.repository.ts +1 -1
  501. package/src/repository/permission-metadata.repository.ts +1 -1
  502. package/src/repository/role-metadata.repository.ts +1 -1
  503. package/src/repository/setting.repository.ts +1 -1
  504. package/src/repository/sms-template.repository.ts +1 -1
  505. package/src/repository/user-activity-history.repository.ts +1 -1
  506. package/src/repository/user-view-metadata.repository.ts +1 -1
  507. package/src/seeders/module-metadata-seeder.service.ts +50 -25
  508. package/src/seeders/module-test-data.service.ts +1 -8
  509. package/src/seeders/seed-data/solid-core-metadata.json +7 -1
  510. package/src/services/authentication.service.ts +28 -31
  511. package/src/services/crud.service.ts +22 -2
  512. package/src/services/dashboard-question.service.ts +1 -1
  513. package/src/services/security-rule.service.ts +1 -1
  514. package/src/services/solid-introspect.service.ts +13 -0
  515. package/src/testing/contracts/testing-metadata.types.ts +1 -0
  516. package/src/testing/steps/ui/assertions.step.ts +9 -0
  517. package/src/testing/steps/ui/form.step.ts +19 -0
  518. package/tsconfig.json +3 -0
  519. package/.claude/settings.local.json +0 -15
  520. package/src/services/1.js +0 -6
@@ -47,6 +47,7 @@ import { SettingService } from './setting.service';
47
47
  import { UserActivityHistoryService } from './user-activity-history.service';
48
48
  import { UserService } from './user.service';
49
49
  import { SmsFactory } from 'src/factories/sms.factory';
50
+ import { SolidRegistry } from 'src/helpers/solid-registry';
50
51
 
51
52
  enum LoginProvider {
52
53
  LOCAL = 'local',
@@ -83,6 +84,7 @@ export class AuthenticationService {
83
84
 
84
85
  @InjectDataSource()
85
86
  private readonly dataSource: DataSource,
87
+ private readonly solidRegistry: SolidRegistry,
86
88
  ) {
87
89
  // this.mailService = this.mailServiceFactory.getMailService();
88
90
  }
@@ -142,62 +144,57 @@ export class AuthenticationService {
142
144
  }
143
145
  }
144
146
 
145
- async signUp(signUpDto: SignUpDto, activeUser: ActiveUserData = null): Promise<User> {
146
- // If public registrations are disabled and no activeUser is present when invoking signUp then we throw an exception.
147
- // if (!(this.settingService.getConfigValue<SolidCoreSetting>('allowPublicRegistration')) && !activeUser) {
148
- // throw new BadRequestException(ERROR_MESSAGES.PUBLIC_REGISTRATION_DISABLED);
149
- // }
147
+ private static readonly SIGNUP_DTO_KEYS = new Set(['username', 'email', 'password', 'fullName', 'mobile', 'roles', 'forcePasswordChange']);
150
148
 
149
+ async signUp(signUpDto: SignUpDto & Record<string, any>, activeUser: ActiveUserData = null): Promise<User> {
150
+ const hasExtensionFields = Object.keys(signUpDto).some(k => !AuthenticationService.SIGNUP_DTO_KEYS.has(k));
151
+ if (hasExtensionFields) {
152
+ const provider = this.solidRegistry.getExtensionUserCreationProvider();
153
+ if (!provider) {
154
+ throw new InternalServerErrorException(
155
+ 'No ExtensionUserCreationProvider registered. Register one to handle extension user creation.',
156
+ );
157
+ }
158
+ const entity = await provider.buildExtensionEntity(signUpDto);
159
+ const effectiveDto = { ...signUpDto, roles: provider.roles(signUpDto) };
160
+ return this.performSignUp(effectiveDto, entity, provider.repo as Repository<User>);
161
+ }
162
+ return this.performSignUp(signUpDto, new User(), this.userRepository);
163
+ }
164
+
165
+ private async performSignUp<T extends User>(signUpDto: SignUpDto, entity: T, repo: Repository<T>): Promise<T> {
151
166
  try {
152
167
  const onForcePasswordChange = this.settingService.getConfigValue<SolidCoreSetting>('forceChangePasswordOnFirstLogin');
153
168
  const activateUserOnRegistration = this.settingService.getConfigValue<SolidCoreSetting>('activateUserOnRegistration');
154
169
  const defaultRole = this.settingService.getConfigValue<SolidCoreSetting>('defaultRole');
155
170
 
156
- var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(new User(), signUpDto, activateUserOnRegistration, onForcePasswordChange);
171
+ var { user, pwd, autoGeneratedPwd } = await this.populateForSignup<T>(entity, signUpDto, activateUserOnRegistration, onForcePasswordChange);
157
172
  const privateDto = signUpDto as { isAllowedToGenerateApiKeys?: boolean };
158
173
  if (privateDto.isAllowedToGenerateApiKeys !== undefined) {
159
174
  user.isAllowedToGenerateApiKeys = privateDto.isAllowedToGenerateApiKeys;
160
175
  }
161
- const savedUser = await this.userRepository.save(user);
162
- // Also assign a default role to the newly created user.
176
+ const savedUser = await repo.save(user);
163
177
  const userRoles = signUpDto.roles ?? [];
164
- if (signUpDto.username !== 'sa' && defaultRole) {
178
+ if ((signUpDto.roles?.length ?? 0) === 0 && signUpDto.username !== 'sa' && defaultRole) {
165
179
  userRoles.push(defaultRole);
166
180
  }
167
181
  await this.handlePostSignup(savedUser, userRoles, pwd, autoGeneratedPwd);
168
182
 
169
- // TODO: make provision to trigger a welcome email also.
170
-
171
183
  return savedUser;
172
184
  } catch (err) {
173
185
  const pgUniqueViolationErrorCode = '23505';
174
186
  if (err.code === pgUniqueViolationErrorCode) {
175
- throw new ConflictException(ERROR_MESSAGES.USER_ALREADY_EXISTS);
187
+ throw new ConflictException(parseUniqueConstraintError(err.detail || ERROR_MESSAGES.UNIQUE_CONSTRAINT_VIOLATION));
176
188
  }
177
189
  throw err;
178
190
  }
179
191
  }
180
192
 
193
+ /** @deprecated Use IExtensionUserCreationProvider instead. Kept for backward compatibility. */
181
194
  async signupForExtensionUser<T extends User, U extends CreateUserDto>(signUpDto: SignUpDto, extensionUserDto: U, extensionUserRepo: Repository<T>): Promise<T> {
182
- try {
183
- const onForcePasswordChange = this.settingService.getConfigValue<SolidCoreSetting>('forceChangePasswordOnFirstLogin');
184
- // Merge the extended signUpDto attributes into the user entity
185
- //@ts-ignore
186
- const extensionUser = extensionUserRepo.merge(extensionUserRepo.create() as T, extensionUserDto);
187
- var { user, pwd, autoGeneratedPwd } = await this.populateForSignup<T>(extensionUser, signUpDto, extensionUserDto.active ?? true, onForcePasswordChange);
188
- const savedUser = await extensionUserRepo.save(user);
189
-
190
- await this.handlePostSignup(savedUser, signUpDto.roles, pwd, autoGeneratedPwd);
191
-
192
- return savedUser;
193
- }
194
- catch (err) {
195
- const pgUniqueViolationErrorCode = '23505';
196
- if (err.code === pgUniqueViolationErrorCode) {
197
- throw new ConflictException(parseUniqueConstraintError(err.detail || ERROR_MESSAGES.UNIQUE_CONSTRAINT_VIOLATION));
198
- }
199
- throw err;
200
- }
195
+ // @ts-ignore
196
+ const entity = extensionUserRepo.merge(extensionUserRepo.create() as T, extensionUserDto);
197
+ return this.performSignUp(signUpDto, entity, extensionUserRepo);
201
198
  }
202
199
 
203
200
 
@@ -1,7 +1,10 @@
1
- import { BadRequestException, NotFoundException } from "@nestjs/common";
1
+ import { BadRequestException, InternalServerErrorException, NotFoundException } from "@nestjs/common";
2
2
  import { DiscoveryService, ModuleRef } from "@nestjs/core";
3
3
  import { isArray } from "class-validator";
4
- import { CommonEntity, SettingService, SolidBaseRepository, User } from "src";
4
+ import { CommonEntity } from "../entities/common.entity";
5
+ import { User } from "../entities/user.entity";
6
+ import { SolidBaseRepository } from "../repository/solid-base.repository";
7
+ import { SettingService } from "./setting.service";
5
8
  import { ERROR_MESSAGES } from "src/constants/error-messages";
6
9
  import { SUCCESS_MESSAGES } from "src/constants/success-messages";
7
10
  import { EntityManager, FindOptionsWhere, In, IsNull, Not, QueryFailedError, SelectQueryBuilder } from "typeorm";
@@ -34,6 +37,7 @@ import { UUIDFieldCrudManager } from "../helpers/field-crud-managers/UUIDFieldCr
34
37
  import { FieldCrudManager, MediaWithFullUrl } from "../interfaces";
35
38
  import { CrudHelperService, FilterCombinator, UserIdFields } from "./crud-helper.service";
36
39
  import { HashingService } from "./hashing.service";
40
+ import { SolidRegistry } from "src/helpers/solid-registry";
37
41
  import { getMediaStorageProvider } from "./mediaStorageProviders";
38
42
  import { ModelMetadataService } from "./model-metadata.service";
39
43
  import { RequestContextService } from "./request-context.service";
@@ -72,7 +76,23 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
72
76
  return this._settingService ??= this.moduleRef.get(SettingService, { strict: false });
73
77
  }
74
78
 
79
+ private async tryCreateAsExtensionUser(createDto: any): Promise<T | null> {
80
+ if (this.repo.metadata?.parentEntityMetadata?.target !== User) return null;
81
+ const registry = this.moduleRef.get(SolidRegistry, { strict: false });
82
+ if (!registry?.getExtensionUserCreationProvider()) {
83
+ throw new InternalServerErrorException(
84
+ `No ExtensionUserCreationProvider registered. Register one to create ${this.repo.metadata.name} entities.`,
85
+ );
86
+ }
87
+ const { AuthenticationService } = await import('./authentication.service');
88
+ const authService = this.moduleRef.get(AuthenticationService, { strict: false });
89
+ return authService.signUp(createDto) as unknown as T;
90
+ }
91
+
75
92
  async create(createDto: any, files: Express.Multer.File[] = [], solidRequestContext: any = {}): Promise<T> {
93
+ const asExtensionUser = await this.tryCreateAsExtensionUser(createDto);
94
+ if (asExtensionUser !== null) return asExtensionUser;
95
+
76
96
  // This class will be extended by the generated service class i.e PersonService
77
97
  // The data required to identify the model and module name will be passed from the generate CrudService subclass
78
98
  //TODO: Algorithm to create the entity
@@ -11,7 +11,7 @@ import { SolidRegistry } from 'src/helpers/solid-registry';
11
11
  import { DashboardQuestion } from '../entities/dashboard-question.entity';
12
12
  import { SqlExpression, SqlExpressionOperator } from './question-data-providers/chartjs-sql-data-provider.service';
13
13
  import { DashboardQuestionRepository } from 'src/repository/dashboard-question.repository';
14
- import { QuestionSqlDataProviderContext } from 'src';
14
+ import { QuestionSqlDataProviderContext } from '../interfaces';
15
15
 
16
16
  enum SOURCE_TYPE {
17
17
  SQL = 'sql',
@@ -8,7 +8,7 @@ import { CRUDService } from 'src/services/crud.service';
8
8
 
9
9
  import { SecurityRule } from '../entities/security-rule.entity';
10
10
  import { SolidRegistry } from 'src/helpers/solid-registry';
11
- import { SecurityRuleRepository } from 'src';
11
+ import { SecurityRuleRepository } from '../repository/security-rule.repository';
12
12
 
13
13
  @Injectable()
14
14
  export class SecurityRuleService extends CRUDService<SecurityRule> implements OnApplicationBootstrap {
@@ -13,6 +13,7 @@ import { IS_MAIL_PROVIDER } from 'src/decorators/mail-provider.decorator';
13
13
  import { IS_SCHEDULED_JOB_PROVIDER } from 'src/decorators/scheduled-job-provider.decorator';
14
14
  import { IS_SECURITY_RULE_CONFIG_PROVIDER } from 'src/decorators/security-rule-config-provider.decorator';
15
15
  import { IS_SELECTION_PROVIDER } from 'src/decorators/selection-provider.decorator';
16
+ import { IS_EXTENSION_USER_CREATION_PROVIDER } from 'src/decorators/extension-user-creation-provider.decorator';
16
17
  import { IS_SOLID_DATABASE_MODULE } from 'src/decorators/solid-database-module.decorator';
17
18
  import { IS_WA_PROVIDER } from 'src/decorators/whatsapp-provider.decorator';
18
19
  import { SolidRegistry } from 'src/helpers/solid-registry';
@@ -144,6 +145,12 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
144
145
  this.solidRegistry.registerSecurityRuleConfigProvider(securityRuleConfigProvider);
145
146
  });
146
147
 
148
+ // Register IExtensionUserCreationProvider implementation (at most one per project)
149
+ const extensionUserCreationProviders = this.discoveryService.getProviders().filter((provider) => this.isExtensionUserCreationProvider(provider));
150
+ extensionUserCreationProviders.forEach((provider) => {
151
+ this.solidRegistry.registerExtensionUserCreationProvider(provider);
152
+ });
153
+
147
154
  // Register the core subscribers against all the configured database modules / datasources
148
155
  await this.bootstrapCoreTypeOrmSubscribers(solidDatabaseModules);
149
156
  await this.cacheAuditableModels();
@@ -287,6 +294,12 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
287
294
  return !!isSelectionProvider;
288
295
  }
289
296
 
297
+ private isExtensionUserCreationProvider(provider: InstanceWrapper): boolean {
298
+ const { instance } = provider;
299
+ if (!instance) return false;
300
+ return !!this.reflector.get<boolean>(IS_EXTENSION_USER_CREATION_PROVIDER, instance.constructor);
301
+ }
302
+
290
303
  private isSettingsProvider(provider: InstanceWrapper) {
291
304
  const { instance } = provider;
292
305
  if (!instance) return false;
@@ -18,6 +18,7 @@ export interface TestingUserSpec {
18
18
  fullName?: string;
19
19
  mobile?: string;
20
20
  roles?: string[];
21
+ [key: string]: any;
21
22
  }
22
23
 
23
24
  export interface TestingMetadata {
@@ -22,6 +22,15 @@ export function registerAssertionSteps(registry: StepRegistry): void {
22
22
  await page.waitForSelector(input.selector, { state: "visible" });
23
23
  });
24
24
 
25
+ registry.register("ui.expectHidden", async (ctx: TestContext, step: OpStep) => {
26
+ const page = requirePage(ctx, "ui.expectHidden");
27
+ const input = (step.with ?? {}) as VisibleInput;
28
+ if (!input.selector) {
29
+ throw new Error('Missing "selector" in step.with for op "ui.expectHidden"');
30
+ }
31
+ await page.waitForSelector(input.selector, { state: "hidden" });
32
+ });
33
+
25
34
  registry.register("ui.expectText", async (ctx: TestContext, step: OpStep) => {
26
35
  const page = requirePage(ctx, "ui.expectText");
27
36
  const input = (step.with ?? {}) as ExpectTextInput;
@@ -1,9 +1,12 @@
1
+ import * as path from "path";
2
+
1
3
  import type { TestContext } from "../../contracts/runtime-context.types";
2
4
  import type { OpStep } from "../../contracts/testing-metadata.types";
3
5
  import { StepRegistry } from "../../core/step-registry";
4
6
 
5
7
  type FillInput = { selector: string; value: string };
6
8
  type SelectInput = { selector: string; value: string };
9
+ type UploadFileInput = { selector: string; filePath: string | string[] };
7
10
 
8
11
  function requirePage(ctx: TestContext, op: string) {
9
12
  if (!ctx.ui || !ctx.ui.page) {
@@ -36,4 +39,20 @@ export function registerFormSteps(registry: StepRegistry): void {
36
39
  }
37
40
  await page.selectOption(input.selector, String(input.value));
38
41
  });
42
+
43
+ registry.register("ui.uploadFile", async (ctx: TestContext, step: OpStep) => {
44
+ const page = requirePage(ctx, "ui.uploadFile");
45
+ const input = (step.with ?? {}) as UploadFileInput;
46
+ if (!input.selector) {
47
+ throw new Error('Missing "selector" in step.with for op "ui.uploadFile"');
48
+ }
49
+ if (input.filePath === undefined || input.filePath === null) {
50
+ throw new Error('Missing "filePath" in step.with for op "ui.uploadFile"');
51
+ }
52
+ const cwd = process.cwd();
53
+ const resolved = Array.isArray(input.filePath)
54
+ ? input.filePath.map((p) => path.resolve(cwd, String(p)))
55
+ : path.resolve(cwd, String(input.filePath));
56
+ await page.setInputFiles(input.selector, resolved);
57
+ });
39
58
  }
package/tsconfig.json CHANGED
@@ -12,6 +12,9 @@
12
12
  "outDir": "./dist",
13
13
  "rootDir": "./src",
14
14
  "baseUrl": "./",
15
+ "paths": {
16
+ "src/*": ["./src/*"]
17
+ },
15
18
  "incremental": false,
16
19
  "skipLibCheck": true,
17
20
  "strictNullChecks": false,
@@ -1,15 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(node -e:*)",
5
- "WebFetch(domain:docs.solidxai.com)",
6
- "WebFetch(domain:github.com)",
7
- "Read(//Users/oswald/projects/Solid_Starters/solidctl/**)",
8
- "Read(//Users/oswald/projects/Solid_Starters/**)",
9
- "Bash(find /Users/oswald/projects/Solid_Starters/solid-core-module -type d -name migration* -o -name *database*)"
10
- ],
11
- "additionalDirectories": [
12
- "/Users/oswald/projects/Solid_Starters/solidctl"
13
- ]
14
- }
15
- }
package/src/services/1.js DELETED
@@ -1,6 +0,0 @@
1
- 1. Do i need to create a storeStreams method for aws service too?
2
- - Handle later
3
- 2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
4
- - startExport should either return the data or return the transaction id
5
- 3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
6
- - show the userKey