@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidxai/core",
3
- "version": "0.1.9-beta.1",
3
+ "version": "0.1.9-beta.4",
4
4
  "description": "This module is a NestJS module containing all the required core providers required by a Solid application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  "solidCore": "dist/cli.js"
13
13
  },
14
14
  "scripts": {
15
- "build": "nest build",
15
+ "build": "nest build && tsc-alias",
16
16
  "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
17
17
  "start": "nest start",
18
18
  "start:dev": "nest start --watch",
@@ -41,7 +41,6 @@
41
41
  "@nestjs/throttler": "^6.4.0",
42
42
  "amqplib": "^0.10.4",
43
43
  "axios": "^1.7.0",
44
- "form-data": "^4.0.0",
45
44
  "bcrypt": "^5.1.1",
46
45
  "bson": "^6.10.1",
47
46
  "cache-manager": "^5.5.2",
@@ -52,6 +51,7 @@
52
51
  "dayjs": "^1.11.18",
53
52
  "exceljs": "^4.4.0",
54
53
  "fast-csv": "^5.0.2",
54
+ "form-data": "^4.0.0",
55
55
  "handlebars": "^4.7.8",
56
56
  "helmet": "^8.1.0",
57
57
  "ioredis": "^5.4.1",
@@ -67,9 +67,9 @@
67
67
  "passport-jwt": "^4.0.1",
68
68
  "passport-local": "^1.0.0",
69
69
  "pg": "^8.11.3",
70
- "qs": "^6.12.0",
71
70
  "pluralize": "^8.0.0",
72
71
  "puppeteer": "^23.2.0",
72
+ "qs": "^6.12.0",
73
73
  "r2r-js": "^0.4.43",
74
74
  "rxjs": "^7.8.1",
75
75
  "swagger-ui-express": "^5.0.0",
@@ -84,7 +84,6 @@
84
84
  }
85
85
  },
86
86
  "peerDependencies": {
87
- "playwright": ">=1.0.0",
88
87
  "@nestjs/axios": "^3.0.2",
89
88
  "@nestjs/cache-manager": "^2.2.2",
90
89
  "@nestjs/common": "^10.0.0",
@@ -102,6 +101,7 @@
102
101
  "nest-commander": "^3.12.5",
103
102
  "nest-winston": "^1.9.7",
104
103
  "nestjs-cls": "^5.4.3",
104
+ "playwright": ">=1.0.0",
105
105
  "reflect-metadata": "^0.2.2",
106
106
  "typeorm": "^0.3.20",
107
107
  "typeorm-naming-strategies": "^4.1.0",
@@ -138,8 +138,8 @@
138
138
  "@types/passport-google-oauth2": "^0.1.8",
139
139
  "@types/passport-jwt": "^4.0.1",
140
140
  "@types/passport-local": "^1.0.38",
141
- "@types/qs": "^6.9.15",
142
141
  "@types/pluralize": "^0.0.33",
142
+ "@types/qs": "^6.9.15",
143
143
  "@types/supertest": "^2.0.12",
144
144
  "@types/uuid": "^9.0.8",
145
145
  "@typescript-eslint/eslint-plugin": "^6.0.0",
@@ -158,6 +158,7 @@
158
158
  "ts-jest": "^29.1.0",
159
159
  "ts-loader": "^9.4.3",
160
160
  "ts-node": "^10.9.1",
161
+ "tsc-alias": "^1.8.16",
161
162
  "tsconfig-paths": "^4.2.0",
162
163
  "typeorm": "^0.3.20",
163
164
  "typeorm-naming-strategies": "^4.1.0",
@@ -0,0 +1,5 @@
1
+ export const IS_EXTENSION_USER_CREATION_PROVIDER = 'IS_EXTENSION_USER_CREATION_PROVIDER';
2
+
3
+ export const ExtensionUserCreationProvider = () =>
4
+ (target: Function) =>
5
+ Reflect.defineMetadata(IS_EXTENSION_USER_CREATION_PROVIDER, true, target);
@@ -385,7 +385,7 @@ export class CreateFieldMetadataDto {
385
385
  @ApiProperty({ description: 'Static values for selection. Only for type=selectionStatic', })
386
386
  @IsArray()
387
387
  @IsString({ each: true })
388
- @Matches(/^[\w\s\d\-\/]+:[\w\s\-\/]+$/, { each: true })
388
+ // @Matches(/^[\w\s\d\-\/]+:[\w\s\-\/]+$/, { each: true })
389
389
  @IsOptional()
390
390
  selectionStaticValues: string[];
391
391
 
@@ -126,6 +126,10 @@ export class CreateUserDto {
126
126
  @ApiProperty()
127
127
  customPayload: string;
128
128
  @IsOptional()
129
+ @IsBoolean()
130
+ @ApiProperty()
131
+ isAllowedToGenerateApiKeys: boolean = false;
132
+ @IsOptional()
129
133
  @ApiProperty()
130
134
  @IsArray()
131
135
  @ValidateNested({ each: true })
@@ -130,6 +130,10 @@ export class UpdateUserDto {
130
130
  @ApiProperty()
131
131
  customPayload: string;
132
132
  @IsOptional()
133
+ @IsBoolean()
134
+ @ApiProperty()
135
+ isAllowedToGenerateApiKeys: boolean;
136
+ @IsOptional()
133
137
  @ApiProperty()
134
138
  @IsArray()
135
139
  @ValidateNested({ each: true })
@@ -1,5 +1,7 @@
1
- import { Injectable } from '@nestjs/common';
1
+ import { Injectable, Logger } from '@nestjs/common';
2
2
  import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
3
+ import { IExtensionUserCreationProvider } from 'src/interfaces';
4
+ import { User } from 'src/entities/user.entity';
3
5
  import { ComputedFieldTriggerConfig, ComputedFieldValueType } from 'src/dtos/create-field-metadata.dto';
4
6
  import { CommonEntity } from 'src/entities/common.entity';
5
7
  import { Locale } from 'src/entities/locale.entity';
@@ -64,6 +66,8 @@ export interface ComputedFieldMetadata<TContext = any> {
64
66
 
65
67
  @Injectable()
66
68
  export class SolidRegistry {
69
+ private readonly logger = new Logger(SolidRegistry.name);
70
+ private extensionUserCreationProvider: InstanceWrapper | null = null;
67
71
  private seeders: Set<InstanceWrapper> = new Set();
68
72
  private scheduledJobProviders: Set<InstanceWrapper> = new Set();
69
73
  private selectionProviders: Set<InstanceWrapper> = new Set();
@@ -84,6 +88,20 @@ export class SolidRegistry {
84
88
  private settingsProviders: Set<InstanceWrapper> = new Set();
85
89
  private auditableModels: Set<string> = new Set();
86
90
 
91
+ registerExtensionUserCreationProvider(provider: InstanceWrapper): void {
92
+ if (this.extensionUserCreationProvider) {
93
+ this.logger.warn(
94
+ `ExtensionUserCreationProvider already registered by ${this.extensionUserCreationProvider.name}; ignoring ${provider.name}`,
95
+ );
96
+ return;
97
+ }
98
+ this.extensionUserCreationProvider = provider;
99
+ }
100
+
101
+ getExtensionUserCreationProvider<T extends User = User>(): IExtensionUserCreationProvider<T, any> | null {
102
+ return (this.extensionUserCreationProvider?.instance as IExtensionUserCreationProvider<T, any>) ?? null;
103
+ }
104
+
87
105
  registerErrorCodeProvider(errorCodeProvider: InstanceWrapper): void {
88
106
  this.errorCodeProviders.add(errorCodeProvider);
89
107
  }
package/src/index.ts CHANGED
@@ -26,6 +26,7 @@ export * from './decorators/mail-provider.decorator'
26
26
  export * from './decorators/security-rule-config-provider.decorator'
27
27
  export * from './decorators/sms-provider.decorator'
28
28
  export * from './decorators/settings-provider.decorator'
29
+ export * from './decorators/extension-user-creation-provider.decorator'
29
30
 
30
31
  export * from './dtos/post-chatter-message.dto'
31
32
  export * from './dtos/security-rule-config.dto'
package/src/interfaces.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { Repository } from 'typeorm';
2
+ import { User } from 'src/entities/user.entity';
3
+ import { CreateUserDto } from 'src/dtos/create-user.dto';
1
4
  import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';
2
5
  import { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';
3
6
  import { SignUpDto } from 'src/dtos/sign-up.dto';
@@ -197,6 +200,12 @@ export class EventDetails<T> {
197
200
  ) { }
198
201
  }
199
202
 
203
+ export interface IExtensionUserCreationProvider<T extends User = User, TDto extends CreateUserDto = CreateUserDto> {
204
+ readonly repo: Repository<T>;
205
+ buildExtensionEntity(dto: TDto): Promise<T>;
206
+ roles(dto: TDto): string[];
207
+ }
208
+
200
209
  export interface IMail<TResponse = unknown> {
201
210
  sendEmail(
202
211
  to: string,
@@ -1,5 +1,5 @@
1
1
  import { Injectable, Logger } from '@nestjs/common';
2
- import { ModelMetadataService } from 'src';
2
+ import { ModelMetadataService } from '../../services/model-metadata.service';
3
3
  import { SolidRegistry } from 'src/helpers/solid-registry';
4
4
  import { QueueMessage } from 'src/interfaces/mq';
5
5
  import { DashboardRepository } from 'src/repository/dashboard.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { DashboardQuestionSqlDatasetConfig } from 'src';
2
+ import { DashboardQuestionSqlDatasetConfig } from '../entities/dashboard-question-sql-dataset-config.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { DashboardQuestion } from 'src';
2
+ import { DashboardQuestion } from '../entities/dashboard-question.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { DashboardVariable } from 'src';
2
+ import { DashboardVariable } from '../entities/dashboard-variable.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { EmailTemplate } from 'src';
2
+ import { EmailTemplate } from '../entities/email-template.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,6 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { EmailTemplate, ExportTemplate } from 'src';
2
+ import { EmailTemplate } from '../entities/email-template.entity';
3
+ import { ExportTemplate } from '../entities/export-template.entity';
3
4
  import { RequestContextService } from 'src/services/request-context.service';
4
5
  import { DataSource } from 'typeorm';
5
6
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { ExportTransaction } from 'src';
2
+ import { ExportTransaction } from '../entities/export-transaction.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { ImportTransactionErrorLog } from 'src';
2
+ import { ImportTransactionErrorLog } from '../entities/import-transaction-error-log.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { ImportTransaction } from 'src';
2
+ import { ImportTransaction } from '../entities/import-transaction.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { ListOfValues } from 'src';
2
+ import { ListOfValues } from '../entities/list-of-values.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { Locale } from 'src';
2
+ import { Locale } from '../entities/locale.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { MenuItemMetadata } from 'src';
2
+ import { MenuItemMetadata } from '../entities/menu-item-metadata.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -2,7 +2,7 @@ import { CACHE_MANAGER } from '@nestjs/cache-manager';
2
2
  import { Inject, Injectable } from '@nestjs/common';
3
3
  import { Cache } from 'cache-manager';
4
4
  import { createHash } from 'crypto';
5
- import { ModelMetadata } from 'src';
5
+ import { ModelMetadata } from '../entities/model-metadata.entity';
6
6
  import { shouldUseCache } from 'src/helpers/cache.helper';
7
7
  import { DataSource } from 'typeorm';
8
8
  import { SolidBaseRepository } from './solid-base.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { ModuleMetadata } from 'src';
2
+ import { ModuleMetadata } from '../entities/module-metadata.entity';
3
3
  import { DataSource } from 'typeorm';
4
4
  import { SolidBaseRepository } from './solid-base.repository';
5
5
 
@@ -1,5 +1,6 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { MenuItemMetadata, MqMessageQueue } from 'src';
2
+ import { MenuItemMetadata } from '../entities/menu-item-metadata.entity';
3
+ import { MqMessageQueue } from '../entities/mq-message-queue.entity';
3
4
  import { RequestContextService } from 'src/services/request-context.service';
4
5
  import { DataSource } from 'typeorm';
5
6
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { MqMessage } from 'src';
2
+ import { MqMessage } from '../entities/mq-message.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { PermissionMetadata } from 'src';
2
+ import { PermissionMetadata } from '../entities/permission-metadata.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { RoleMetadata } from 'src';
2
+ import { RoleMetadata } from '../entities/role-metadata.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { Setting } from 'src';
2
+ import { Setting } from '../entities/setting.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { SmsTemplate } from 'src';
2
+ import { SmsTemplate } from '../entities/sms-template.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { UserActivityHistory } from 'src';
2
+ import { UserActivityHistory } from '../entities/user-activity-history.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { UserViewMetadata } from 'src';
2
+ import { UserViewMetadata } from '../entities/user-view-metadata.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -31,7 +31,13 @@ import { ViewMetadataService } from '../services/view-metadata.service';
31
31
  import solidCoreMetadata from './seed-data/solid-core-metadata.json';
32
32
  import { SystemFieldsSeederService } from './system-fields-seeder.service';
33
33
  // import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
34
- import { ActionMetadata, DEFAULT_SA_PASSWORD, 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';
34
+ import { ActionMetadata } from '../entities/action-metadata.entity';
35
+ import { MenuItemMetadata } from '../entities/menu-item-metadata.entity';
36
+ import { ModuleMetadata } from '../entities/module-metadata.entity';
37
+ import { RoleMetadata } from '../entities/role-metadata.entity';
38
+ import { MENU_ROLE_JOIN_TABLE_NAME, MENU_ROLE_JOIN_TABLE_NAME_MENU_COL, MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL } from '../dtos/create-menu-item-metadata.dto';
39
+ import { DEFAULT_SA_PASSWORD } from '../dtos/create-user.dto';
40
+ import { SignUpDto } from '../dtos/sign-up.dto';
35
41
  import { ADMIN_ROLE_NAME, CreateRoleMetadataDto } from 'src/dtos/create-role-metadata.dto';
36
42
  import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
37
43
  import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
@@ -151,6 +157,11 @@ export class ModuleMetadataSeederService {
151
157
  const moduleModelFieldCounts = await this.seedModuleModelFields(moduleMetadata);
152
158
  console.log(`${this.formatSeedResult(moduleMetadata.name, 'Module/Model/Fields', moduleModelFieldCounts)}`);
153
159
 
160
+ currentStep = 'seedPermissions';
161
+ this.logger.log(`Seeding Permissions`);
162
+ const permissionCounts = await this.seedPermissions(overallMetadata);
163
+ console.log(`${this.formatSeedResult(moduleMetadata.name, 'Permissions', permissionCounts)}`);
164
+
154
165
  currentStep = 'seedRoles';
155
166
  this.logger.log(`Seeding Roles`);
156
167
  const roleCounts = await this.seedRoles(overallMetadata);
@@ -282,6 +293,7 @@ export class ModuleMetadataSeederService {
282
293
  this.logger.debug(`About to add all permissions to the Admin role`);
283
294
  await this.roleService.addAllPermissionsToRole(ADMIN_ROLE_NAME);
284
295
 
296
+ // The below code is commented out for now as we are including permissions for these roles from the seeder json for the Internal and Public role.
285
297
  // 2. Give permissions to the Internal / Public role.
286
298
  // this.logger.debug(`About to add all permissions to the Internal role`);
287
299
  // await this.roleService.addPermissionToRole(INTERNAL_ROLE_NAME, INTERNAL_ROLE_PERMISSIONS);
@@ -379,6 +391,14 @@ export class ModuleMetadataSeederService {
379
391
  return { pruned: 0, upserted: overallMetadata.roles?.length ?? 0 };
380
392
  }
381
393
 
394
+ private async seedPermissions(overallMetadata: any): Promise<{ pruned: number; upserted: number }> {
395
+ this.logger.debug(`[Start] Processing permissions`);
396
+ const permissions = overallMetadata.permissions ?? [];
397
+ await this.handleSeedPermissions(permissions);
398
+ this.logger.debug(`[End] Processing permissions`);
399
+ return { pruned: 0, upserted: permissions?.length ?? 0 };
400
+ }
401
+
382
402
  // OK
383
403
  private get seedDataFiles(): any[] {
384
404
  const typedSolidCoreMetadata = structuredClone(solidCoreMetadata);
@@ -401,7 +421,7 @@ export class ModuleMetadataSeederService {
401
421
  // OK
402
422
  private async seedGlobalMetadata() {
403
423
  this.logger.log(`Seeding Permissions`);
404
- await this.seedPermissions();
424
+ await this.seedControllerPermissions();
405
425
 
406
426
  // this.logger.log(`Seeding Default Media Storage Providers`);
407
427
  // await this.seedDefaultMediaStorageProviders();
@@ -422,7 +442,7 @@ export class ModuleMetadataSeederService {
422
442
  }
423
443
 
424
444
  // OK
425
- private async seedPermissions() {
445
+ private async seedControllerPermissions() {
426
446
 
427
447
  const controllers = this.solidRegistry.getControllers();
428
448
  const permissionNames: string[] = [];
@@ -440,28 +460,7 @@ export class ModuleMetadataSeederService {
440
460
  const permissionName = `${controller.name}.${methodName}`;
441
461
  permissionNames.push(permissionName);
442
462
 
443
- const existingPermission = await this.permissionRepo.findOne({
444
- where: {
445
- name: permissionName
446
- }
447
- });
448
-
449
- // if (existingPermission) {
450
- // this.logger.log(`Permission ${permissionName} already exists.`);
451
- // }
452
- // else { }
453
-
454
- if (!existingPermission) {
455
-
456
- this.logger.log(`Permission ${permissionName} does not exist, creating new.`);
457
-
458
- const newPermission = this.permissionRepo.create({
459
- name: permissionName
460
- });
461
- await this.permissionRepo.save(newPermission);
462
-
463
-
464
- }
463
+ await this.createPermissionIfNotExists(permissionName);
465
464
  }
466
465
 
467
466
  } catch (error) {
@@ -474,6 +473,32 @@ export class ModuleMetadataSeederService {
474
473
  }
475
474
  }
476
475
 
476
+ private async createPermissionIfNotExists(permissionName: string): Promise<void> {
477
+ const existingPermission = await this.permissionRepo.findOne({
478
+ where: {
479
+ name: permissionName
480
+ }
481
+ });
482
+
483
+ if (!existingPermission) {
484
+ this.logger.log(`Permission ${permissionName} does not exist, creating new.`);
485
+
486
+ const newPermission = this.permissionRepo.create({
487
+ name: permissionName
488
+ });
489
+ await this.permissionRepo.save(newPermission);
490
+ }
491
+ }
492
+
493
+ private async handleSeedPermissions(permissions: any[]): Promise<void> {
494
+ for (const permission of permissions) {
495
+ const permissionName = typeof permission === 'string' ? permission : permission?.name;
496
+ if (permissionName) {
497
+ await this.createPermissionIfNotExists(permissionName);
498
+ }
499
+ }
500
+ }
501
+
477
502
  // OK
478
503
  // private async seedDefaultMediaStorageProviders() {
479
504
  // await this.mediaStorageProviderSeederService.seed();
@@ -391,14 +391,7 @@ export class ModuleTestDataService {
391
391
  continue;
392
392
  }
393
393
 
394
- await authService.signUp({
395
- username: user.username,
396
- email: user.email,
397
- password: user.password,
398
- fullName: user.fullName,
399
- mobile: user.mobile,
400
- roles: user.roles,
401
- });
394
+ await authService.signUp({ ...user });
402
395
  this.logger.log(`Created test user "${user.username}"${user.roles?.length ? ` with roles [${user.roles.join(', ')}]` : ''}`);
403
396
  }
404
397
  }
@@ -5905,6 +5905,10 @@
5905
5905
  }
5906
5906
  ]
5907
5907
  },
5908
+ "permissions": [
5909
+ "mcp:invoke",
5910
+ "agent:invoke"
5911
+ ],
5908
5912
  "roles": [
5909
5913
  {
5910
5914
  "name": "Admin"
@@ -5961,7 +5965,9 @@
5961
5965
  "AgentSessionController.findMany",
5962
5966
  "AgentSessionController.findOne",
5963
5967
  "AgentEventController.findMany",
5964
- "AgentEventController.findOne"
5968
+ "AgentEventController.findOne",
5969
+ "mcp:invoke",
5970
+ "agent:invoke"
5965
5971
  ]
5966
5972
  },
5967
5973
  {