@solidxai/core 0.1.9-beta.0 → 0.1.9-beta.10

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 (790) 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/constants/chatter-message.constants.d.ts +6 -0
  12. package/dist/constants/chatter-message.constants.d.ts.map +1 -1
  13. package/dist/constants/chatter-message.constants.js +7 -1
  14. package/dist/constants/chatter-message.constants.js.map +1 -1
  15. package/dist/controllers/action-metadata.controller.d.ts +1 -1
  16. package/dist/controllers/agent-event.controller.d.ts +3 -3
  17. package/dist/controllers/agent-session.controller.d.ts +3 -3
  18. package/dist/controllers/ai-interaction.controller.d.ts +1 -1
  19. package/dist/controllers/authentication.controller.d.ts +12 -0
  20. package/dist/controllers/authentication.controller.d.ts.map +1 -1
  21. package/dist/controllers/authentication.controller.js +13 -0
  22. package/dist/controllers/authentication.controller.js.map +1 -1
  23. package/dist/controllers/chatter-message.controller.d.ts +1 -0
  24. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  25. package/dist/controllers/chatter-message.controller.js +12 -0
  26. package/dist/controllers/chatter-message.controller.js.map +1 -1
  27. package/dist/controllers/dashboard-layout.controller.d.ts +3 -3
  28. package/dist/controllers/dashboard-question.controller.d.ts +1 -1
  29. package/dist/controllers/dashboard.controller.d.ts +1 -1
  30. package/dist/controllers/export-template.controller.d.ts +2 -2
  31. package/dist/controllers/facebook-authentication.controller.d.ts +27 -0
  32. package/dist/controllers/facebook-authentication.controller.d.ts.map +1 -0
  33. package/dist/controllers/facebook-authentication.controller.js +117 -0
  34. package/dist/controllers/facebook-authentication.controller.js.map +1 -0
  35. package/dist/controllers/field-metadata.controller.d.ts +1 -1
  36. package/dist/controllers/google-authentication.controller.d.ts +1 -1
  37. package/dist/controllers/import-transaction.controller.d.ts +1 -1
  38. package/dist/controllers/locale.controller.d.ts +3 -3
  39. package/dist/controllers/media.controller.d.ts +3 -3
  40. package/dist/controllers/menu-item-metadata.controller.d.ts +3 -2
  41. package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
  42. package/dist/controllers/menu-item-metadata.controller.js +15 -0
  43. package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
  44. package/dist/controllers/microsoft-authentication.controller.d.ts +27 -0
  45. package/dist/controllers/microsoft-authentication.controller.d.ts.map +1 -0
  46. package/dist/controllers/microsoft-authentication.controller.js +118 -0
  47. package/dist/controllers/microsoft-authentication.controller.js.map +1 -0
  48. package/dist/controllers/model-metadata.controller.d.ts +1 -1
  49. package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
  50. package/dist/controllers/mq-message.controller.d.ts +1 -1
  51. package/dist/controllers/otp-authentication.controller.js.map +1 -1
  52. package/dist/controllers/permission-metadata.controller.d.ts +1 -1
  53. package/dist/controllers/role-metadata.controller.d.ts +1 -1
  54. package/dist/controllers/scheduled-job.controller.d.ts +3 -3
  55. package/dist/controllers/service.controller.d.ts +4 -4
  56. package/dist/controllers/setting.controller.d.ts +3 -3
  57. package/dist/controllers/setting.controller.js +4 -4
  58. package/dist/controllers/setting.controller.js.map +1 -1
  59. package/dist/controllers/test-queue.controller.d.ts +1 -1
  60. package/dist/controllers/test.controller.d.ts +2 -2
  61. package/dist/controllers/user-view-metadata.controller.d.ts +2 -2
  62. package/dist/controllers/user.controller.d.ts +2 -2
  63. package/dist/controllers/view-metadata.controller.d.ts +2 -2
  64. package/dist/decorators/auth.decorator.d.ts.map +1 -1
  65. package/dist/decorators/computed-field-provider.decorator.d.ts.map +1 -1
  66. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +1 -1
  67. package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +1 -1
  68. package/dist/decorators/disallow-in-production.decorator.d.ts.map +1 -1
  69. package/dist/decorators/error-codes-provider.decorator.d.ts.map +1 -1
  70. package/dist/decorators/extension-user-creation-provider.decorator.d.ts +3 -0
  71. package/dist/decorators/extension-user-creation-provider.decorator.d.ts.map +1 -0
  72. package/dist/decorators/extension-user-creation-provider.decorator.js +7 -0
  73. package/dist/decorators/extension-user-creation-provider.decorator.js.map +1 -0
  74. package/dist/decorators/is-not-in-enum.decorator.d.ts.map +1 -1
  75. package/dist/decorators/mail-provider.decorator.d.ts.map +1 -1
  76. package/dist/decorators/roles.decorator.d.ts.map +1 -1
  77. package/dist/decorators/scheduled-job-provider.decorator.d.ts.map +1 -1
  78. package/dist/decorators/security-rule-config-provider.decorator.d.ts.map +1 -1
  79. package/dist/decorators/selection-provider.decorator.d.ts.map +1 -1
  80. package/dist/decorators/sms-provider.decorator.d.ts.map +1 -1
  81. package/dist/decorators/solid-database-module.decorator.d.ts.map +1 -1
  82. package/dist/decorators/solid-password.decorator.d.ts +1 -1
  83. package/dist/decorators/whatsapp-provider.decorator.d.ts.map +1 -1
  84. package/dist/dtos/create-chatter-message.dto.d.ts +1 -0
  85. package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -1
  86. package/dist/dtos/create-chatter-message.dto.js +7 -1
  87. package/dist/dtos/create-chatter-message.dto.js.map +1 -1
  88. package/dist/dtos/create-dashboard-question.dto.d.ts +1 -1
  89. package/dist/dtos/create-dashboard.dto.d.ts +2 -2
  90. package/dist/dtos/create-field-metadata.dto.js +1 -2
  91. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  92. package/dist/dtos/create-import-transaction.dto.d.ts +1 -1
  93. package/dist/dtos/create-menu-item-metadata.dto.d.ts +1 -1
  94. package/dist/dtos/create-mq-message-queue.dto.d.ts +1 -1
  95. package/dist/dtos/create-permission-metadata.dto.d.ts +1 -1
  96. package/dist/dtos/create-role-metadata.dto.d.ts +3 -3
  97. package/dist/dtos/create-user.dto.d.ts +3 -2
  98. package/dist/dtos/create-user.dto.d.ts.map +1 -1
  99. package/dist/dtos/create-user.dto.js +8 -1
  100. package/dist/dtos/create-user.dto.js.map +1 -1
  101. package/dist/dtos/create-view-metadata.dto.d.ts +1 -1
  102. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +1 -1
  103. package/dist/dtos/fetch-roles.dto.d.ts +1 -1
  104. package/dist/dtos/post-chatter-message.dto.d.ts +1 -0
  105. package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -1
  106. package/dist/dtos/post-chatter-message.dto.js +6 -1
  107. package/dist/dtos/post-chatter-message.dto.js.map +1 -1
  108. package/dist/dtos/selection-dynamic-query.dto.d.ts +1 -1
  109. package/dist/dtos/solid-request-context.dto.d.ts +1 -1
  110. package/dist/dtos/sort-filter.dto.d.ts +1 -1
  111. package/dist/dtos/update-chatter-message.dto.d.ts +1 -0
  112. package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -1
  113. package/dist/dtos/update-chatter-message.dto.js +7 -1
  114. package/dist/dtos/update-chatter-message.dto.js.map +1 -1
  115. package/dist/dtos/update-dashboard-question.dto.d.ts +1 -1
  116. package/dist/dtos/update-dashboard.dto.d.ts +2 -2
  117. package/dist/dtos/update-import-transaction.dto.d.ts +1 -1
  118. package/dist/dtos/update-menu-item-metadata.dto.d.ts +1 -1
  119. package/dist/dtos/update-mq-message-queue.dto.d.ts +1 -1
  120. package/dist/dtos/update-permission-metadata.dto.d.ts +1 -1
  121. package/dist/dtos/update-role-metadata.dto.d.ts +3 -3
  122. package/dist/dtos/update-user.dto.d.ts +3 -2
  123. package/dist/dtos/update-user.dto.d.ts.map +1 -1
  124. package/dist/dtos/update-user.dto.js +7 -1
  125. package/dist/dtos/update-user.dto.js.map +1 -1
  126. package/dist/dtos/update-view-metadata.dto.d.ts +1 -1
  127. package/dist/entities/action-metadata.entity.d.ts +4 -4
  128. package/dist/entities/agent-event.entity.d.ts +1 -1
  129. package/dist/entities/agent-event.entity.js +1 -1
  130. package/dist/entities/agent-event.entity.js.map +1 -1
  131. package/dist/entities/agent-session.entity.d.ts +1 -1
  132. package/dist/entities/ai-interaction.entity.d.ts +2 -2
  133. package/dist/entities/chatter-message-details.entity.d.ts +2 -2
  134. package/dist/entities/chatter-message.entity.d.ts +3 -2
  135. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  136. package/dist/entities/chatter-message.entity.js +5 -1
  137. package/dist/entities/chatter-message.entity.js.map +1 -1
  138. package/dist/entities/dashboard-layout.entity.d.ts +2 -2
  139. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +2 -2
  140. package/dist/entities/dashboard-question.entity.d.ts +3 -3
  141. package/dist/entities/dashboard-variable.entity.d.ts +2 -2
  142. package/dist/entities/dashboard.entity.d.ts +4 -4
  143. package/dist/entities/email-template.entity.d.ts +1 -1
  144. package/dist/entities/export-template.entity.d.ts +2 -2
  145. package/dist/entities/export-transaction.entity.d.ts +2 -2
  146. package/dist/entities/field-metadata.entity.d.ts +2 -2
  147. package/dist/entities/import-transaction-error-log.entity.d.ts +2 -2
  148. package/dist/entities/import-transaction.entity.d.ts +3 -3
  149. package/dist/entities/list-of-values.entity.d.ts +2 -2
  150. package/dist/entities/locale.entity.d.ts +1 -1
  151. package/dist/entities/media-storage-provider-metadata.entity.d.ts +1 -1
  152. package/dist/entities/media.entity.d.ts +4 -4
  153. package/dist/entities/menu-item-metadata.entity.d.ts +4 -4
  154. package/dist/entities/model-metadata.entity.d.ts +1 -1
  155. package/dist/entities/model-sequence.entity.d.ts +4 -4
  156. package/dist/entities/module-metadata.entity.d.ts +1 -1
  157. package/dist/entities/mq-message-queue.entity.d.ts +2 -2
  158. package/dist/entities/mq-message.entity.d.ts +2 -2
  159. package/dist/entities/permission-metadata.entity.d.ts +2 -2
  160. package/dist/entities/role-metadata.entity.d.ts +4 -4
  161. package/dist/entities/saved-filters.entity.d.ts +4 -4
  162. package/dist/entities/scheduled-job.entity.d.ts +1 -1
  163. package/dist/entities/security-rule.entity.d.ts +3 -3
  164. package/dist/entities/setting.entity.d.ts +2 -2
  165. package/dist/entities/sms-template.entity.d.ts +1 -1
  166. package/dist/entities/user-activity-history.entity.d.ts +2 -2
  167. package/dist/entities/user-api-key.entity.d.ts +1 -1
  168. package/dist/entities/user-view-metadata.entity.d.ts +3 -3
  169. package/dist/entities/user.entity.d.ts +12 -4
  170. package/dist/entities/user.entity.d.ts.map +1 -1
  171. package/dist/entities/user.entity.js +34 -1
  172. package/dist/entities/user.entity.js.map +1 -1
  173. package/dist/entities/view-metadata.entity.d.ts +4 -4
  174. package/dist/factories/mail.factory.d.ts +3 -3
  175. package/dist/factories/sms.factory.d.ts +3 -3
  176. package/dist/factories/whatsapp.factory.d.ts +3 -3
  177. package/dist/filters/http-exception.filter.d.ts +1 -1
  178. package/dist/guards/api-key.guard.d.ts +1 -1
  179. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  180. package/dist/helpers/bootstrap.helper.js +4 -1
  181. package/dist/helpers/bootstrap.helper.js.map +1 -1
  182. package/dist/helpers/cors.helper.js +1 -1
  183. package/dist/helpers/cors.helper.js.map +1 -1
  184. package/dist/helpers/error-mapper.service.d.ts +2 -2
  185. package/dist/helpers/facebook-oauth.helper.d.ts +8 -0
  186. package/dist/helpers/facebook-oauth.helper.d.ts.map +1 -0
  187. package/dist/helpers/facebook-oauth.helper.js +11 -0
  188. package/dist/helpers/facebook-oauth.helper.js.map +1 -0
  189. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts +1 -1
  190. package/dist/helpers/field-crud-managers/BooleanFieldCrudManager.d.ts +1 -1
  191. package/dist/helpers/field-crud-managers/ComputedFieldCrudManager.d.ts +2 -2
  192. package/dist/helpers/field-crud-managers/DateFieldCrudManager.d.ts +1 -1
  193. package/dist/helpers/field-crud-managers/DecimalFieldCrudManager.d.ts +1 -1
  194. package/dist/helpers/field-crud-managers/EmailFieldCrudManager.d.ts +1 -1
  195. package/dist/helpers/field-crud-managers/IntFieldCrudManager.d.ts +1 -1
  196. package/dist/helpers/field-crud-managers/JsonFieldCrudManager.d.ts +1 -1
  197. package/dist/helpers/field-crud-managers/LongTextFieldCrudManager.d.ts +1 -1
  198. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +1 -1
  199. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +5 -5
  200. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  201. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +1 -1
  202. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
  203. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +2 -2
  204. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  205. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -1
  206. package/dist/helpers/field-crud-managers/NoOpsFieldCrudManager.d.ts +1 -1
  207. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +1 -1
  208. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +5 -5
  209. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  210. package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.d.ts +2 -2
  211. package/dist/helpers/field-crud-managers/RichTextFieldCrudManager.d.ts +1 -1
  212. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts +2 -2
  213. package/dist/helpers/field-crud-managers/SelectionStaticFieldCrudManager.d.ts +2 -2
  214. package/dist/helpers/field-crud-managers/ShortTextFieldCrudManager.d.ts +1 -1
  215. package/dist/helpers/field-crud-managers/UUIDFieldCrudManager.d.ts +1 -1
  216. package/dist/helpers/microsoft-oauth.helper.d.ts +9 -0
  217. package/dist/helpers/microsoft-oauth.helper.d.ts.map +1 -0
  218. package/dist/helpers/microsoft-oauth.helper.js +12 -0
  219. package/dist/helpers/microsoft-oauth.helper.js.map +1 -0
  220. package/dist/helpers/model-metadata-helper.service.d.ts +1 -1
  221. package/dist/helpers/module-metadata-helper.service.d.ts +1 -1
  222. package/dist/helpers/module-metadata-helper.service.js +3 -3
  223. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  224. package/dist/helpers/module.helper.d.ts.map +1 -1
  225. package/dist/helpers/module.helper.js +3 -3
  226. package/dist/helpers/module.helper.js.map +1 -1
  227. package/dist/helpers/schematic.service.d.ts.map +1 -1
  228. package/dist/helpers/schematic.service.js +1 -1
  229. package/dist/helpers/schematic.service.js.map +1 -1
  230. package/dist/helpers/security.helper.d.ts.map +1 -1
  231. package/dist/helpers/solid-core-error-codes-provider.service.d.ts +1 -1
  232. package/dist/helpers/solid-registry.d.ts +11 -5
  233. package/dist/helpers/solid-registry.d.ts.map +1 -1
  234. package/dist/helpers/solid-registry.js +15 -2
  235. package/dist/helpers/solid-registry.js.map +1 -1
  236. package/dist/helpers/string.helper.d.ts +1 -0
  237. package/dist/helpers/string.helper.d.ts.map +1 -1
  238. package/dist/helpers/string.helper.js +4 -1
  239. package/dist/helpers/string.helper.js.map +1 -1
  240. package/dist/helpers/user-helper.d.ts.map +1 -1
  241. package/dist/helpers/user-helper.js +4 -0
  242. package/dist/helpers/user-helper.js.map +1 -1
  243. package/dist/index.d.ts +4 -0
  244. package/dist/index.d.ts.map +1 -1
  245. package/dist/index.js +4 -0
  246. package/dist/index.js.map +1 -1
  247. package/dist/interfaces/mq.d.ts +1 -1
  248. package/dist/interfaces/mq.d.ts.map +1 -1
  249. package/dist/interfaces/mq.js.map +1 -1
  250. package/dist/interfaces.d.ts +30 -3
  251. package/dist/interfaces.d.ts.map +1 -1
  252. package/dist/interfaces.js.map +1 -1
  253. package/dist/jobs/database/api-email-publisher-database.service.d.ts +4 -4
  254. package/dist/jobs/database/api-email-queue-options-database.d.ts +1 -1
  255. package/dist/jobs/database/api-email-subscriber-database.service.d.ts +8 -8
  256. package/dist/jobs/database/api-email-subscriber-database.service.js +1 -1
  257. package/dist/jobs/database/api-email-subscriber-database.service.js.map +1 -1
  258. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts +1 -1
  259. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts +4 -4
  260. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.d.ts +5 -5
  261. package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.d.ts +8 -8
  262. package/dist/jobs/database/generate-code-publisher-database.service.d.ts +1 -1
  263. package/dist/jobs/database/generate-code-subscriber-database.service.d.ts +4 -4
  264. package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts +4 -4
  265. package/dist/jobs/database/msg91-sms-queue-database-options.d.ts +1 -1
  266. package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts +7 -7
  267. package/dist/jobs/database/msg91-whatsapp-publisher-database.service.d.ts +4 -4
  268. package/dist/jobs/database/msg91-whatsapp-queue-options-database.d.ts +1 -1
  269. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.d.ts +8 -8
  270. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js +1 -1
  271. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js.map +1 -1
  272. package/dist/jobs/database/otp-publisher-database.service.d.ts +4 -4
  273. package/dist/jobs/database/otp-queue-options-database.d.ts +1 -1
  274. package/dist/jobs/database/otp-subscriber-database.service.d.ts +7 -7
  275. package/dist/jobs/database/smtp-email-publisher-database.service.d.ts +4 -4
  276. package/dist/jobs/database/smtp-email-queue-options-database.d.ts +1 -1
  277. package/dist/jobs/database/smtp-email-subscriber-database.service.d.ts +7 -7
  278. package/dist/jobs/database/test-queue-publisher-database.service.d.ts +1 -1
  279. package/dist/jobs/database/test-queue-subscriber-database.service.d.ts +3 -3
  280. package/dist/jobs/database/three60-whatsapp-publisher-database.service.d.ts +4 -4
  281. package/dist/jobs/database/three60-whatsapp-queue-options-database.d.ts +1 -1
  282. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.d.ts +8 -8
  283. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js +1 -1
  284. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js.map +1 -1
  285. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +4 -4
  286. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +1 -1
  287. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +8 -8
  288. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  289. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +2 -2
  290. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  291. package/dist/jobs/database/twilio-sms-publisher-database.service.d.ts +4 -4
  292. package/dist/jobs/database/twilio-sms-queue-database-options.d.ts +1 -1
  293. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +7 -7
  294. package/dist/jobs/rabbitmq/api-email-publisher.service.d.ts +3 -3
  295. package/dist/jobs/rabbitmq/api-email-subscriber.service.d.ts +5 -5
  296. package/dist/jobs/rabbitmq/api-email-subscriber.service.js +1 -1
  297. package/dist/jobs/rabbitmq/api-email-subscriber.service.js.map +1 -1
  298. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts +1 -1
  299. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts +3 -3
  300. package/dist/jobs/rabbitmq/computed-field-evaluation-publisher.service.d.ts +5 -5
  301. package/dist/jobs/rabbitmq/computed-field-evaluation-subscriber.service.d.ts +8 -8
  302. package/dist/jobs/rabbitmq/generate-code-publisher.service.d.ts +1 -1
  303. package/dist/jobs/rabbitmq/generate-code-subscriber.service.d.ts +7 -7
  304. package/dist/jobs/rabbitmq/msg91-otp-publisher.service.d.ts +3 -3
  305. package/dist/jobs/rabbitmq/msg91-otp-subscriber.service.d.ts +5 -5
  306. package/dist/jobs/rabbitmq/msg91-sms-publisher.service.d.ts +3 -3
  307. package/dist/jobs/rabbitmq/msg91-sms-subscriber.service.d.ts +5 -5
  308. package/dist/jobs/rabbitmq/msg91-whatsapp-publisher.service.d.ts +3 -3
  309. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.d.ts +5 -5
  310. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js +1 -1
  311. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js.map +1 -1
  312. package/dist/jobs/rabbitmq/smtp-email-publisher.service.d.ts +3 -3
  313. package/dist/jobs/rabbitmq/smtp-email-subscriber.service.d.ts +4 -4
  314. package/dist/jobs/rabbitmq/test-queue-publisher.service.d.ts +1 -1
  315. package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts +3 -3
  316. package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts.map +1 -1
  317. package/dist/jobs/rabbitmq/test-queue-subscriber.service.js +6 -3
  318. package/dist/jobs/rabbitmq/test-queue-subscriber.service.js.map +1 -1
  319. package/dist/jobs/rabbitmq/three60-whatsapp-publisher.service.d.ts +3 -3
  320. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.d.ts +6 -6
  321. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js +1 -1
  322. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js.map +1 -1
  323. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +3 -3
  324. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +6 -6
  325. package/dist/jobs/rabbitmq/twilio-sms-publisher.service.d.ts +3 -3
  326. package/dist/jobs/rabbitmq/twilio-sms-subscriber.service.d.ts +6 -6
  327. package/dist/jobs/redis/api-email-publisher-redis.service.d.ts +1 -1
  328. package/dist/jobs/redis/api-email-subscriber-redis.service.d.ts +3 -3
  329. package/dist/jobs/redis/api-email-subscriber-redis.service.js +1 -1
  330. package/dist/jobs/redis/api-email-subscriber-redis.service.js.map +1 -1
  331. package/dist/jobs/redis/chatter-queue-publisher-redis.service.d.ts +1 -1
  332. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts +2 -2
  333. package/dist/jobs/redis/computed-field-evaluation-publisher-redis.service.d.ts +2 -2
  334. package/dist/jobs/redis/computed-field-evaluation-subscriber-redis.service.d.ts +4 -4
  335. package/dist/jobs/redis/generate-code-publisher-redis.service.d.ts +1 -1
  336. package/dist/jobs/redis/generate-code-subscriber-redis.service.d.ts +3 -3
  337. package/dist/jobs/redis/msg91-otp-publisher-redis.service.d.ts +1 -1
  338. package/dist/jobs/redis/msg91-otp-subscriber-redis.service.d.ts +3 -3
  339. package/dist/jobs/redis/msg91-sms-publisher-redis.service.d.ts +1 -1
  340. package/dist/jobs/redis/msg91-sms-subscriber-redis.service.d.ts +3 -3
  341. package/dist/jobs/redis/msg91-whatsapp-publisher-redis.service.d.ts +1 -1
  342. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.d.ts +3 -3
  343. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js +1 -1
  344. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js.map +1 -1
  345. package/dist/jobs/redis/smtp-email-publisher-redis.service.d.ts +1 -1
  346. package/dist/jobs/redis/smtp-email-subscriber-redis.service.d.ts +2 -2
  347. package/dist/jobs/redis/test-queue-publisher-redis.service.d.ts +1 -1
  348. package/dist/jobs/redis/test-queue-subscriber-redis.service.d.ts +2 -2
  349. package/dist/jobs/redis/three60-whatsapp-publisher-redis.service.d.ts +1 -1
  350. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.d.ts +3 -3
  351. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js +1 -1
  352. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js.map +1 -1
  353. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +1 -1
  354. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +2 -2
  355. package/dist/jobs/redis/twilio-sms-publisher-redis.service.d.ts +1 -1
  356. package/dist/jobs/redis/twilio-sms-subscriber-redis.service.d.ts +3 -3
  357. package/dist/mappers/dashboard-mapper.d.ts +1 -1
  358. package/dist/mappers/list-of-values-mapper.d.ts +1 -1
  359. package/dist/passport-strategies/facebook-oauth.strategy.d.ts +14 -0
  360. package/dist/passport-strategies/facebook-oauth.strategy.d.ts.map +1 -0
  361. package/dist/passport-strategies/facebook-oauth.strategy.js +73 -0
  362. package/dist/passport-strategies/facebook-oauth.strategy.js.map +1 -0
  363. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts +14 -0
  364. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts.map +1 -0
  365. package/dist/passport-strategies/microsoft-oauth.strategy.js +77 -0
  366. package/dist/passport-strategies/microsoft-oauth.strategy.js.map +1 -0
  367. package/dist/repository/action-metadata.repository.d.ts +2 -2
  368. package/dist/repository/agent-event.repository.d.ts +2 -2
  369. package/dist/repository/agent-session.repository.d.ts +2 -2
  370. package/dist/repository/ai-interaction.repository.d.ts +2 -2
  371. package/dist/repository/chatter-message-details.repository.d.ts +2 -2
  372. package/dist/repository/chatter-message-details.repository.d.ts.map +1 -1
  373. package/dist/repository/chatter-message-details.repository.js +7 -6
  374. package/dist/repository/chatter-message-details.repository.js.map +1 -1
  375. package/dist/repository/chatter-message.repository.d.ts +2 -2
  376. package/dist/repository/chatter-message.repository.d.ts.map +1 -1
  377. package/dist/repository/chatter-message.repository.js +4 -4
  378. package/dist/repository/chatter-message.repository.js.map +1 -1
  379. package/dist/repository/dashboard-layout.repository.d.ts +2 -2
  380. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +2 -2
  381. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +1 -1
  382. package/dist/repository/dashboard-question-sql-dataset-config.repository.js +2 -2
  383. package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +1 -1
  384. package/dist/repository/dashboard-question.repository.d.ts +2 -2
  385. package/dist/repository/dashboard-question.repository.d.ts.map +1 -1
  386. package/dist/repository/dashboard-question.repository.js +2 -2
  387. package/dist/repository/dashboard-question.repository.js.map +1 -1
  388. package/dist/repository/dashboard-variable.repository.d.ts +2 -2
  389. package/dist/repository/dashboard-variable.repository.d.ts.map +1 -1
  390. package/dist/repository/dashboard-variable.repository.js +2 -2
  391. package/dist/repository/dashboard-variable.repository.js.map +1 -1
  392. package/dist/repository/dashboard.repository.d.ts +2 -2
  393. package/dist/repository/email-template.repository.d.ts +2 -2
  394. package/dist/repository/email-template.repository.d.ts.map +1 -1
  395. package/dist/repository/email-template.repository.js +2 -2
  396. package/dist/repository/email-template.repository.js.map +1 -1
  397. package/dist/repository/export-template.repository.d.ts +2 -2
  398. package/dist/repository/export-template.repository.d.ts.map +1 -1
  399. package/dist/repository/export-template.repository.js +2 -2
  400. package/dist/repository/export-template.repository.js.map +1 -1
  401. package/dist/repository/export-transaction.repository.d.ts +2 -2
  402. package/dist/repository/export-transaction.repository.d.ts.map +1 -1
  403. package/dist/repository/export-transaction.repository.js +2 -2
  404. package/dist/repository/export-transaction.repository.js.map +1 -1
  405. package/dist/repository/field-metadata.repository.d.ts +1 -1
  406. package/dist/repository/import-transaction-error-log.repository.d.ts +2 -2
  407. package/dist/repository/import-transaction-error-log.repository.d.ts.map +1 -1
  408. package/dist/repository/import-transaction-error-log.repository.js +2 -2
  409. package/dist/repository/import-transaction-error-log.repository.js.map +1 -1
  410. package/dist/repository/import-transaction.repository.d.ts +2 -2
  411. package/dist/repository/import-transaction.repository.d.ts.map +1 -1
  412. package/dist/repository/import-transaction.repository.js +2 -2
  413. package/dist/repository/import-transaction.repository.js.map +1 -1
  414. package/dist/repository/list-of-values.repository.d.ts +2 -2
  415. package/dist/repository/list-of-values.repository.d.ts.map +1 -1
  416. package/dist/repository/list-of-values.repository.js +2 -2
  417. package/dist/repository/list-of-values.repository.js.map +1 -1
  418. package/dist/repository/locale.repository.d.ts +2 -2
  419. package/dist/repository/locale.repository.d.ts.map +1 -1
  420. package/dist/repository/locale.repository.js +2 -2
  421. package/dist/repository/locale.repository.js.map +1 -1
  422. package/dist/repository/media-storage-provider-metadata.repository.d.ts +1 -1
  423. package/dist/repository/media.repository.d.ts +2 -2
  424. package/dist/repository/menu-item-metadata.repository.d.ts +2 -2
  425. package/dist/repository/menu-item-metadata.repository.d.ts.map +1 -1
  426. package/dist/repository/menu-item-metadata.repository.js +2 -2
  427. package/dist/repository/menu-item-metadata.repository.js.map +1 -1
  428. package/dist/repository/model-metadata.repository.d.ts +1 -1
  429. package/dist/repository/model-metadata.repository.d.ts.map +1 -1
  430. package/dist/repository/model-metadata.repository.js +2 -2
  431. package/dist/repository/model-metadata.repository.js.map +1 -1
  432. package/dist/repository/model-sequence.repository.d.ts +3 -3
  433. package/dist/repository/module-metadata.repository.d.ts +1 -1
  434. package/dist/repository/module-metadata.repository.d.ts.map +1 -1
  435. package/dist/repository/module-metadata.repository.js +2 -2
  436. package/dist/repository/module-metadata.repository.js.map +1 -1
  437. package/dist/repository/mq-message-queue.repository.d.ts +2 -2
  438. package/dist/repository/mq-message-queue.repository.d.ts.map +1 -1
  439. package/dist/repository/mq-message-queue.repository.js +2 -2
  440. package/dist/repository/mq-message-queue.repository.js.map +1 -1
  441. package/dist/repository/mq-message.repository.d.ts +2 -2
  442. package/dist/repository/mq-message.repository.d.ts.map +1 -1
  443. package/dist/repository/mq-message.repository.js +2 -2
  444. package/dist/repository/mq-message.repository.js.map +1 -1
  445. package/dist/repository/permission-metadata.repository.d.ts +2 -2
  446. package/dist/repository/permission-metadata.repository.d.ts.map +1 -1
  447. package/dist/repository/permission-metadata.repository.js +2 -2
  448. package/dist/repository/permission-metadata.repository.js.map +1 -1
  449. package/dist/repository/role-metadata.repository.d.ts +2 -2
  450. package/dist/repository/role-metadata.repository.d.ts.map +1 -1
  451. package/dist/repository/role-metadata.repository.js +2 -2
  452. package/dist/repository/role-metadata.repository.js.map +1 -1
  453. package/dist/repository/saved-filters.repository.d.ts +2 -2
  454. package/dist/repository/scheduled-job.repository.d.ts +3 -3
  455. package/dist/repository/security-rule.repository.d.ts +7 -7
  456. package/dist/repository/setting.repository.d.ts +2 -2
  457. package/dist/repository/setting.repository.d.ts.map +1 -1
  458. package/dist/repository/setting.repository.js +2 -2
  459. package/dist/repository/setting.repository.js.map +1 -1
  460. package/dist/repository/sms-template.repository.d.ts +2 -2
  461. package/dist/repository/sms-template.repository.d.ts.map +1 -1
  462. package/dist/repository/sms-template.repository.js +2 -2
  463. package/dist/repository/sms-template.repository.js.map +1 -1
  464. package/dist/repository/solid-base.repository.d.ts +2 -2
  465. package/dist/repository/solid-base.repository.js +2 -2
  466. package/dist/repository/solid-base.repository.js.map +1 -1
  467. package/dist/repository/user-activity-history.repository.d.ts +2 -2
  468. package/dist/repository/user-activity-history.repository.d.ts.map +1 -1
  469. package/dist/repository/user-activity-history.repository.js +2 -2
  470. package/dist/repository/user-activity-history.repository.js.map +1 -1
  471. package/dist/repository/user-api-key.repository.d.ts +2 -2
  472. package/dist/repository/user-view-metadata.repository.d.ts +2 -2
  473. package/dist/repository/user-view-metadata.repository.d.ts.map +1 -1
  474. package/dist/repository/user-view-metadata.repository.js +2 -2
  475. package/dist/repository/user-view-metadata.repository.js.map +1 -1
  476. package/dist/repository/user.repository.d.ts +2 -2
  477. package/dist/repository/view-metadata.repository.d.ts +2 -2
  478. package/dist/seeders/module-metadata-seeder.service.d.ts +17 -14
  479. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  480. package/dist/seeders/module-metadata-seeder.service.js +65 -38
  481. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  482. package/dist/seeders/module-test-data.service.d.ts +1 -1
  483. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  484. package/dist/seeders/module-test-data.service.js +5 -12
  485. package/dist/seeders/module-test-data.service.js.map +1 -1
  486. package/dist/seeders/permission-metadata-seeder.service.d.ts +2 -2
  487. package/dist/seeders/seed-data/solid-core-metadata.json +44 -93
  488. package/dist/seeders/system-fields-seeder.service.d.ts +3 -3
  489. package/dist/services/action-metadata.service.d.ts +2 -2
  490. package/dist/services/agent-event.service.d.ts +2 -2
  491. package/dist/services/agent-session.service.d.ts +2 -2
  492. package/dist/services/ai-interaction.service.d.ts +4 -4
  493. package/dist/services/api-key.service.d.ts +23 -7
  494. package/dist/services/api-key.service.d.ts.map +1 -1
  495. package/dist/services/api-key.service.js +38 -2
  496. package/dist/services/api-key.service.js.map +1 -1
  497. package/dist/services/authentication.service.d.ts +58 -19
  498. package/dist/services/authentication.service.d.ts.map +1 -1
  499. package/dist/services/authentication.service.js +344 -171
  500. package/dist/services/authentication.service.js.map +1 -1
  501. package/dist/services/chatter-message-details.service.d.ts +2 -2
  502. package/dist/services/chatter-message.service.d.ts +8 -7
  503. package/dist/services/chatter-message.service.d.ts.map +1 -1
  504. package/dist/services/chatter-message.service.js +17 -0
  505. package/dist/services/chatter-message.service.js.map +1 -1
  506. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts +3 -3
  507. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +3 -3
  508. package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.d.ts +2 -2
  509. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +3 -3
  510. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -1
  511. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +2 -2
  512. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -1
  513. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts +2 -2
  514. package/dist/services/crud-helper.service.d.ts +1 -1
  515. package/dist/services/crud-helper.service.d.ts.map +1 -1
  516. package/dist/services/crud-helper.service.js +9 -9
  517. package/dist/services/crud-helper.service.js.map +1 -1
  518. package/dist/services/crud.service.d.ts +4 -1
  519. package/dist/services/crud.service.d.ts.map +1 -1
  520. package/dist/services/crud.service.js +52 -3
  521. package/dist/services/crud.service.js.map +1 -1
  522. package/dist/services/dashboard-layout.service.d.ts +4 -4
  523. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -2
  524. package/dist/services/dashboard-question.service.d.ts +3 -3
  525. package/dist/services/dashboard-question.service.js.map +1 -1
  526. package/dist/services/dashboard-variable.service.d.ts +2 -2
  527. package/dist/services/dashboard.service.d.ts +7 -7
  528. package/dist/services/email-template.service.d.ts +1 -1
  529. package/dist/services/export-template.service.d.ts +5 -5
  530. package/dist/services/export-transaction.service.d.ts +7 -7
  531. package/dist/services/export-transaction.service.d.ts.map +1 -1
  532. package/dist/services/export-transaction.service.js +4 -3
  533. package/dist/services/export-transaction.service.js.map +1 -1
  534. package/dist/services/field-metadata.service.d.ts +5 -5
  535. package/dist/services/field-metadata.service.d.ts.map +1 -1
  536. package/dist/services/field-metadata.service.js +7 -7
  537. package/dist/services/field-metadata.service.js.map +1 -1
  538. package/dist/services/fixtures.service.d.ts +1 -1
  539. package/dist/services/fixtures.service.js +2 -2
  540. package/dist/services/fixtures.service.js.map +1 -1
  541. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +1 -1
  542. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +1 -1
  543. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +2 -2
  544. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +1 -1
  545. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +1 -1
  546. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +2 -2
  547. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +1 -1
  548. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +1 -1
  549. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +1 -1
  550. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +1 -1
  551. package/dist/services/import-transaction-error-log.service.d.ts +2 -2
  552. package/dist/services/import-transaction.service.d.ts +6 -6
  553. package/dist/services/import-transaction.service.d.ts.map +1 -1
  554. package/dist/services/import-transaction.service.js +2 -2
  555. package/dist/services/import-transaction.service.js.map +1 -1
  556. package/dist/services/list-of-values.service.d.ts +4 -4
  557. package/dist/services/locale.service.d.ts +4 -4
  558. package/dist/services/mail/elastic-email.service.d.ts +1 -1
  559. package/dist/services/mail/smtp-email.service.d.ts +1 -1
  560. package/dist/services/media-storage-provider-metadata.service.d.ts +1 -1
  561. package/dist/services/media.service.d.ts +8 -8
  562. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +5 -5
  563. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
  564. package/dist/services/menu-item-metadata.service.d.ts +4 -4
  565. package/dist/services/menu-item-metadata.service.js +2 -2
  566. package/dist/services/menu-item-metadata.service.js.map +1 -1
  567. package/dist/services/model-metadata.service.d.ts +4 -4
  568. package/dist/services/model-metadata.service.d.ts.map +1 -1
  569. package/dist/services/model-metadata.service.js +12 -11
  570. package/dist/services/model-metadata.service.js.map +1 -1
  571. package/dist/services/model-sequence.service.d.ts +1 -1
  572. package/dist/services/module-metadata.service.d.ts +4 -4
  573. package/dist/services/module-metadata.service.d.ts.map +1 -1
  574. package/dist/services/module-metadata.service.js +2 -2
  575. package/dist/services/module-metadata.service.js.map +1 -1
  576. package/dist/services/mq-message-queue.service.d.ts +2 -2
  577. package/dist/services/mq-message.service.d.ts +2 -2
  578. package/dist/services/permission-metadata.service.d.ts +2 -2
  579. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +2 -2
  580. package/dist/services/question-data-providers/helpers.d.ts +1 -1
  581. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +2 -2
  582. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +2 -2
  583. package/dist/services/queues/database-subscriber.service.d.ts +1 -1
  584. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  585. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  586. package/dist/services/queues/publisher-factory.service.d.ts +1 -1
  587. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
  588. package/dist/services/queues/publisher-factory.service.js +2 -2
  589. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  590. package/dist/services/queues/rabbitmq-subscriber.service.d.ts +1 -1
  591. package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
  592. package/dist/services/queues/rabbitmq-subscriber.service.js +3 -1
  593. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  594. package/dist/services/queues/redis-subscriber.service.d.ts +1 -1
  595. package/dist/services/queues/redis-subscriber.service.d.ts.map +1 -1
  596. package/dist/services/queues/redis-subscriber.service.js.map +1 -1
  597. package/dist/services/request-context.service.d.ts +2 -2
  598. package/dist/services/role-metadata.service.d.ts +3 -3
  599. package/dist/services/saved-filters.service.d.ts +2 -2
  600. package/dist/services/scheduled-job.service.d.ts +3 -3
  601. package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts +1 -1
  602. package/dist/services/scheduled-jobs/scheduler.interface.d.ts +1 -1
  603. package/dist/services/scheduled-jobs/scheduler.service.d.ts +3 -3
  604. package/dist/services/security-rule.service.d.ts +3 -3
  605. package/dist/services/security-rule.service.d.ts.map +1 -1
  606. package/dist/services/security-rule.service.js +3 -3
  607. package/dist/services/security-rule.service.js.map +1 -1
  608. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +1 -1
  609. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +1 -1
  610. package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts +1 -1
  611. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts +1 -1
  612. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +3 -3
  613. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -1
  614. package/dist/services/setting.service.d.ts +10 -7
  615. package/dist/services/setting.service.d.ts.map +1 -1
  616. package/dist/services/setting.service.js +52 -7
  617. package/dist/services/setting.service.js.map +1 -1
  618. package/dist/services/settings/default-settings-provider.service.d.ts +829 -9
  619. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  620. package/dist/services/settings/default-settings-provider.service.js +1033 -118
  621. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  622. package/dist/services/short-url/tiny-url.service.d.ts +1 -1
  623. package/dist/services/sms/Msg91BaseSMSService.d.ts +1 -1
  624. package/dist/services/sms/Msg91OTPService.d.ts +1 -1
  625. package/dist/services/sms/Msg91SMSService.d.ts +1 -1
  626. package/dist/services/sms/TwilioSMSService.d.ts +1 -1
  627. package/dist/services/sms-template.service.d.ts +1 -1
  628. package/dist/services/solid-introspect.service.d.ts +9 -8
  629. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  630. package/dist/services/solid-introspect.service.js +13 -2
  631. package/dist/services/solid-introspect.service.js.map +1 -1
  632. package/dist/services/user-activity-history.service.d.ts +3 -3
  633. package/dist/services/user-view-metadata.service.d.ts +4 -4
  634. package/dist/services/user.service.d.ts +5 -3
  635. package/dist/services/user.service.d.ts.map +1 -1
  636. package/dist/services/user.service.js +72 -0
  637. package/dist/services/user.service.js.map +1 -1
  638. package/dist/services/view-metadata.service.d.ts +4 -4
  639. package/dist/services/view-metadata.service.d.ts.map +1 -1
  640. package/dist/services/view-metadata.service.js +2 -2
  641. package/dist/services/view-metadata.service.js.map +1 -1
  642. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +1 -1
  643. package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -1
  644. package/dist/solid-core.module.d.ts.map +1 -1
  645. package/dist/solid-core.module.js +11 -3
  646. package/dist/solid-core.module.js.map +1 -1
  647. package/dist/subscribers/audit.subscriber.d.ts +4 -4
  648. package/dist/subscribers/computed-entity-field.subscriber.d.ts +2 -2
  649. package/dist/subscribers/computed-entity-field.subscriber.js +6 -6
  650. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  651. package/dist/subscribers/created-by-updated-by.subscriber.d.ts +1 -1
  652. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +3 -3
  653. package/dist/subscribers/dashboard-question.subscriber.d.ts +3 -3
  654. package/dist/subscribers/dashboard-variable.subscriber.d.ts +3 -3
  655. package/dist/subscribers/dashboard.subscriber.d.ts +3 -3
  656. package/dist/subscribers/list-of-values.subscriber.d.ts +3 -3
  657. package/dist/subscribers/model-metadata.subscriber.d.ts +1 -1
  658. package/dist/subscribers/scheduled-job.subscriber.d.ts +3 -3
  659. package/dist/subscribers/security-rule.subscriber.d.ts +3 -3
  660. package/dist/subscribers/view-metadata.subscriber.d.ts +2 -2
  661. package/dist/testing/contracts/testing-metadata.types.d.ts +1 -0
  662. package/dist/testing/contracts/testing-metadata.types.d.ts.map +1 -1
  663. package/dist/testing/contracts/testing-metadata.types.js.map +1 -1
  664. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
  665. package/dist/testing/steps/ui/assertions.step.js +8 -0
  666. package/dist/testing/steps/ui/assertions.step.js.map +1 -1
  667. package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
  668. package/dist/testing/steps/ui/form.step.js +49 -0
  669. package/dist/testing/steps/ui/form.step.js.map +1 -1
  670. package/dist/transformers/array-transformer.d.ts.map +1 -1
  671. package/dist/transformers/boolean-transformer.d.ts.map +1 -1
  672. package/dist/transformers/datetime-transformer.d.ts.map +1 -1
  673. package/dist/transformers/integer-transformer.d.ts.map +1 -1
  674. package/dist/validators/is-parsable-int.d.ts.map +1 -1
  675. package/dist/winston.logger.js +1 -1
  676. package/dist/winston.logger.js.map +1 -1
  677. package/nest +0 -0
  678. package/package.json +13 -7
  679. package/src/constants/chatter-message.constants.ts +7 -0
  680. package/src/controllers/authentication.controller.ts +8 -1
  681. package/src/controllers/chatter-message.controller.ts +6 -0
  682. package/src/controllers/facebook-authentication.controller.ts +113 -0
  683. package/src/controllers/menu-item-metadata.controller.ts +21 -15
  684. package/src/controllers/microsoft-authentication.controller.ts +116 -0
  685. package/src/controllers/otp-authentication.controller.ts +2 -2
  686. package/src/controllers/setting.controller.ts +2 -2
  687. package/src/decorators/extension-user-creation-provider.decorator.ts +5 -0
  688. package/src/dtos/create-chatter-message.dto.ts +11 -0
  689. package/src/dtos/create-field-metadata.dto.ts +1 -1
  690. package/src/dtos/create-user.dto.ts +4 -0
  691. package/src/dtos/post-chatter-message.dto.ts +4 -0
  692. package/src/dtos/update-chatter-message.dto.ts +13 -1
  693. package/src/dtos/update-user.dto.ts +4 -0
  694. package/src/entities/agent-event.entity.ts +1 -1
  695. package/src/entities/chatter-message.entity.ts +4 -1
  696. package/src/entities/user.entity.ts +33 -0
  697. package/src/helpers/bootstrap.helper.ts +5 -2
  698. package/src/helpers/cors.helper.ts +1 -1
  699. package/src/helpers/facebook-oauth.helper.ts +17 -0
  700. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +1 -1
  701. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +1 -2
  702. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +1 -1
  703. package/src/helpers/microsoft-oauth.helper.ts +19 -0
  704. package/src/helpers/module-metadata-helper.service.ts +3 -3
  705. package/src/helpers/module.helper.ts +4 -6
  706. package/src/helpers/schematic.service.ts +7 -1
  707. package/src/helpers/solid-registry.ts +19 -1
  708. package/src/helpers/string.helper.ts +3 -0
  709. package/src/helpers/user-helper.ts +4 -0
  710. package/src/index.ts +4 -0
  711. package/src/interfaces/mq.ts +2 -2
  712. package/src/interfaces.ts +41 -1
  713. package/src/jobs/database/api-email-subscriber-database.service.ts +1 -1
  714. package/src/jobs/database/msg91-whatsapp-subscriber-database.service.ts +1 -1
  715. package/src/jobs/database/three60-whatsapp-subscriber-database.service.ts +1 -1
  716. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +1 -1
  717. package/src/jobs/rabbitmq/api-email-subscriber.service.ts +1 -1
  718. package/src/jobs/rabbitmq/msg91-whatsapp-subscriber.service.ts +1 -1
  719. package/src/jobs/rabbitmq/test-queue-subscriber.service.ts +6 -7
  720. package/src/jobs/rabbitmq/three60-whatsapp-subscriber.service.ts +1 -1
  721. package/src/jobs/redis/api-email-subscriber-redis.service.ts +1 -1
  722. package/src/jobs/redis/msg91-whatsapp-subscriber-redis.service.ts +1 -1
  723. package/src/jobs/redis/three60-whatsapp-subscriber-redis.service.ts +1 -1
  724. package/src/passport-strategies/facebook-oauth.strategy.ts +64 -0
  725. package/src/passport-strategies/microsoft-oauth.strategy.ts +70 -0
  726. package/src/repository/chatter-message-details.repository.ts +4 -3
  727. package/src/repository/chatter-message.repository.ts +4 -4
  728. package/src/repository/dashboard-question-sql-dataset-config.repository.ts +1 -1
  729. package/src/repository/dashboard-question.repository.ts +1 -1
  730. package/src/repository/dashboard-variable.repository.ts +1 -1
  731. package/src/repository/email-template.repository.ts +1 -1
  732. package/src/repository/export-template.repository.ts +2 -1
  733. package/src/repository/export-transaction.repository.ts +1 -1
  734. package/src/repository/import-transaction-error-log.repository.ts +1 -1
  735. package/src/repository/import-transaction.repository.ts +1 -1
  736. package/src/repository/list-of-values.repository.ts +1 -1
  737. package/src/repository/locale.repository.ts +1 -1
  738. package/src/repository/menu-item-metadata.repository.ts +1 -1
  739. package/src/repository/model-metadata.repository.ts +1 -1
  740. package/src/repository/module-metadata.repository.ts +1 -1
  741. package/src/repository/mq-message-queue.repository.ts +2 -1
  742. package/src/repository/mq-message.repository.ts +1 -1
  743. package/src/repository/permission-metadata.repository.ts +1 -1
  744. package/src/repository/role-metadata.repository.ts +1 -1
  745. package/src/repository/setting.repository.ts +1 -1
  746. package/src/repository/sms-template.repository.ts +1 -1
  747. package/src/repository/solid-base.repository.ts +2 -2
  748. package/src/repository/user-activity-history.repository.ts +1 -1
  749. package/src/repository/user-view-metadata.repository.ts +1 -1
  750. package/src/seeders/module-metadata-seeder.service.ts +50 -25
  751. package/src/seeders/module-test-data.service.ts +2 -9
  752. package/src/seeders/seed-data/solid-core-metadata.json +44 -93
  753. package/src/services/api-key.service.ts +77 -35
  754. package/src/services/authentication.service.ts +1745 -1308
  755. package/src/services/chatter-message.service.ts +22 -4
  756. package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +1 -2
  757. package/src/services/crud-helper.service.ts +1 -4
  758. package/src/services/crud.service.ts +22 -2
  759. package/src/services/dashboard-question.service.ts +1 -1
  760. package/src/services/export-transaction.service.ts +3 -4
  761. package/src/services/field-metadata.service.ts +1 -4
  762. package/src/services/fixtures.service.ts +1 -1
  763. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +1 -2
  764. package/src/services/import-transaction.service.ts +1 -1
  765. package/src/services/menu-item-metadata.service.ts +2 -2
  766. package/src/services/model-metadata.service.ts +11 -13
  767. package/src/services/module-metadata.service.ts +1 -2
  768. package/src/services/queues/database-subscriber.service.ts +1 -1
  769. package/src/services/queues/publisher-factory.service.ts +1 -2
  770. package/src/services/queues/rabbitmq-subscriber.service.ts +13 -11
  771. package/src/services/queues/redis-subscriber.service.ts +2 -2
  772. package/src/services/security-rule.service.ts +1 -1
  773. package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +1 -1
  774. package/src/services/setting.service.ts +64 -8
  775. package/src/services/settings/default-settings-provider.service.ts +1104 -154
  776. package/src/services/solid-introspect.service.ts +14 -1
  777. package/src/services/user.service.ts +87 -0
  778. package/src/services/view-metadata.service.ts +1 -5
  779. package/src/solid-core.module.ts +25 -8
  780. package/src/subscribers/computed-entity-field.subscriber.ts +6 -6
  781. package/src/testing/contracts/testing-metadata.types.ts +1 -0
  782. package/src/testing/steps/ui/assertions.step.ts +9 -0
  783. package/src/testing/steps/ui/form.step.ts +19 -0
  784. package/src/winston.logger.ts +1 -1
  785. package/tsconfig.json +3 -0
  786. package/dev-grooming-docs/ozzy-prompts.txt +0 -70
  787. package/docs/grouping-enhancements.md +0 -89
  788. package/docs/seed-changes.md +0 -65
  789. package/docs/test-data-workflow.md +0 -200
  790. package/docs/type-declaration-import-issue.md +0 -24
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManyToOneRelationFieldCrudManager = void 0;
4
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
4
+ const string_helper_1 = require("../string.helper");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const class_validator_1 = require("class-validator");
7
7
  const is_parsable_int_1 = require("../../validators/is-parsable-int");
@@ -48,7 +48,7 @@ class ManyToOneRelationFieldCrudManager {
48
48
  if (!this.options.relationCoModelSingularName) {
49
49
  throw new common_1.BadRequestException(`ManyToOneRelationFieldCrudManager: relationCoModelSingularName is not defined in the field: ${this.options.fieldName}`);
50
50
  }
51
- const coModelEntityName = (0, strings_1.classify)(this.options.relationCoModelSingularName);
51
+ const coModelEntityName = (0, string_helper_1.classify)(this.options.relationCoModelSingularName);
52
52
  if ((0, class_validator_1.isNotEmpty)(fieldId)) {
53
53
  dto[this.options.fieldName] = await this.options.entityManager.getRepository(coModelEntityName).findOneBy({ id: fieldId });
54
54
  if (this.options.required && (0, class_validator_1.isEmpty)(dto[this.options.fieldName])) {
@@ -1 +1 @@
1
- {"version":3,"file":"ManyToOneRelationFieldCrudManager.js","sourceRoot":"","sources":["../../../src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from \"@angular-devkit/core/src/utils/strings\";\nimport { BadRequestException } from \"@nestjs/common\";\nimport { isEmpty, isNotEmpty, isString } from \"class-validator\";\nimport { FieldCrudManager, ValidationError } from \"src/interfaces\";\nimport { IsParsableInt } from \"src/validators/is-parsable-int\";\nimport { EntityManager } from \"typeorm\";\n\nexport interface ManyToOneRelationFieldOptions {\n // Add options for relation field\n required: boolean | undefined | null;\n relationCoModelSingularName: string | undefined | null;\n fieldName: string | undefined | null;\n // modelUserKeyFieldName: string | undefined | null;\n modelSingularName: string | undefined | null;\n entityManager: EntityManager;\n relationCoModelUserKeyFieldName: string | undefined | null; \n}\n\n// This implementation is meant to be used for many-to-one relation field\nexport class ManyToOneRelationFieldCrudManager implements FieldCrudManager {\n private idFieldName: string;\n private userKeyFieldName: string;\n constructor(private readonly options: ManyToOneRelationFieldOptions) {\n // this.options = options;\n this.idFieldName = `${options.fieldName}Id`;\n this.userKeyFieldName = `${options.fieldName}UserKey`;\n }\n validate(dto: any) {\n const fieldId: number = dto[this.idFieldName];\n const fieldUserKey: string = dto[this.userKeyFieldName];\n return this.applyValidations(fieldId, fieldUserKey);\n }\n\n private applyValidations(fieldId: any, fieldUserKey: string): ValidationError[] {\n const errors: ValidationError[] = [];\n this.isApplyRequiredValidation() && isEmpty(fieldId) && isEmpty(fieldUserKey) ? errors.push({ field: this.options.fieldName, error: `Field: ${this.options.fieldName} is required. Either pass ${this.idFieldName} or ${this.userKeyFieldName}.` }) : \"no errors\";\n if (isNotEmpty(fieldId)) {\n errors.push(...this.applyIdFormatValidations(fieldId));\n }\n if (isNotEmpty(fieldUserKey)) {\n errors.push(...this.applyUserKeyFormatValidations(fieldUserKey));\n }\n return errors;\n }\n\n private applyIdFormatValidations(fieldId: any): ValidationError[] { //FIXME fieldId is any because it can be string or number. Keeping it any for compatibility with isParsableInt. \n const errors: ValidationError[] = [];\n !IsParsableInt(fieldId) ? errors.push({ field: this.options.fieldName, error: 'Field is not a integer' }) : \"no errors\";\n return errors;\n }\n\n private applyUserKeyFormatValidations(fieldUserKey: string): ValidationError[] {\n const errors: ValidationError[] = [];\n !isString(fieldUserKey) ? errors.push({ field: this.options.fieldName, error: 'Field is not a string' }) : \"no errors\";\n if (isEmpty(this.options.relationCoModelUserKeyFieldName)) {\n errors.push({ field: this.options.fieldName, error: `UserKey field name is not defined in the model ${this.options.relationCoModelSingularName}` });\n }\n return errors;\n }\n\n async transformForCreate(dto: any): Promise<any> {\n const fieldId: number = dto[this.idFieldName];\n const fieldUserKeyValue: string = dto[this.userKeyFieldName];\n\n // Avoid transforming if both fieldId and fieldUserKey is empty\n if ((isEmpty(fieldId)) && isEmpty(fieldUserKeyValue)) return dto;\n\n if (!this.options.relationCoModelSingularName) {\n throw new BadRequestException(`ManyToOneRelationFieldCrudManager: relationCoModelSingularName is not defined in the field: ${this.options.fieldName}`);\n }\n // // Load the related entity from the database, using the repository of the related entity\n //const entityTarget = this.getRelatedEntityTarget(classify(this.options.relationCoModelSingularName));\n const coModelEntityName = classify(this.options.relationCoModelSingularName);\n\n //Load the related entity from the database, using the repository of the related entity\n //const entityTarget = this.getRelatedEntityTarget(classify(this.options.relationCoModelSingularName));\n if (isNotEmpty(fieldId)) {\n dto[this.options.fieldName] = await this.options.entityManager.getRepository(coModelEntityName).findOneBy({ id: fieldId });\n if (this.options.required && isEmpty(dto[this.options.fieldName])) {\n throw new Error(`Field ${this.options.fieldName} resolution failed. Record with id: ${fieldId} not found in ${this.options.relationCoModelSingularName}`);\n }\n }\n else {\n dto[this.options.fieldName] = await this.options.entityManager.getRepository(coModelEntityName).findOneBy({ [this.options.relationCoModelUserKeyFieldName]: fieldUserKeyValue });\n if (this.options.required && isEmpty(dto[this.options.fieldName])) {\n throw new Error(`Field ${this.options.fieldName} resolution failed. Record with userKey: ${this.options.relationCoModelUserKeyFieldName}: ${fieldUserKeyValue} not found in ${this.options.relationCoModelSingularName}`);\n }\n }\n\n\n return dto;\n }\n\n private isApplyRequiredValidation(): boolean {\n return this.options.required;\n }\n\n // Returns the entity target class from the entity name\n // private getRelatedEntityTarget(relatedEntityName: string): any {\n // const entityMetadatas = this.options.entityManager.connection.entityMetadatas;\n // const relatedEntityMetadata = entityMetadatas.find(em => em.name === relatedEntityName);\n // return relatedEntityMetadata.target;\n // }\n\n}"]}
1
+ {"version":3,"file":"ManyToOneRelationFieldCrudManager.js","sourceRoot":"","sources":["../../../src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from '../string.helper';\nimport { BadRequestException } from \"@nestjs/common\";\nimport { isEmpty, isNotEmpty, isString } from \"class-validator\";\nimport { FieldCrudManager, ValidationError } from \"src/interfaces\";\nimport { IsParsableInt } from \"src/validators/is-parsable-int\";\nimport { EntityManager } from \"typeorm\";\n\nexport interface ManyToOneRelationFieldOptions {\n // Add options for relation field\n required: boolean | undefined | null;\n relationCoModelSingularName: string | undefined | null;\n fieldName: string | undefined | null;\n // modelUserKeyFieldName: string | undefined | null;\n modelSingularName: string | undefined | null;\n entityManager: EntityManager;\n relationCoModelUserKeyFieldName: string | undefined | null; \n}\n\n// This implementation is meant to be used for many-to-one relation field\nexport class ManyToOneRelationFieldCrudManager implements FieldCrudManager {\n private idFieldName: string;\n private userKeyFieldName: string;\n constructor(private readonly options: ManyToOneRelationFieldOptions) {\n // this.options = options;\n this.idFieldName = `${options.fieldName}Id`;\n this.userKeyFieldName = `${options.fieldName}UserKey`;\n }\n validate(dto: any) {\n const fieldId: number = dto[this.idFieldName];\n const fieldUserKey: string = dto[this.userKeyFieldName];\n return this.applyValidations(fieldId, fieldUserKey);\n }\n\n private applyValidations(fieldId: any, fieldUserKey: string): ValidationError[] {\n const errors: ValidationError[] = [];\n this.isApplyRequiredValidation() && isEmpty(fieldId) && isEmpty(fieldUserKey) ? errors.push({ field: this.options.fieldName, error: `Field: ${this.options.fieldName} is required. Either pass ${this.idFieldName} or ${this.userKeyFieldName}.` }) : \"no errors\";\n if (isNotEmpty(fieldId)) {\n errors.push(...this.applyIdFormatValidations(fieldId));\n }\n if (isNotEmpty(fieldUserKey)) {\n errors.push(...this.applyUserKeyFormatValidations(fieldUserKey));\n }\n return errors;\n }\n\n private applyIdFormatValidations(fieldId: any): ValidationError[] { //FIXME fieldId is any because it can be string or number. Keeping it any for compatibility with isParsableInt. \n const errors: ValidationError[] = [];\n !IsParsableInt(fieldId) ? errors.push({ field: this.options.fieldName, error: 'Field is not a integer' }) : \"no errors\";\n return errors;\n }\n\n private applyUserKeyFormatValidations(fieldUserKey: string): ValidationError[] {\n const errors: ValidationError[] = [];\n !isString(fieldUserKey) ? errors.push({ field: this.options.fieldName, error: 'Field is not a string' }) : \"no errors\";\n if (isEmpty(this.options.relationCoModelUserKeyFieldName)) {\n errors.push({ field: this.options.fieldName, error: `UserKey field name is not defined in the model ${this.options.relationCoModelSingularName}` });\n }\n return errors;\n }\n\n async transformForCreate(dto: any): Promise<any> {\n const fieldId: number = dto[this.idFieldName];\n const fieldUserKeyValue: string = dto[this.userKeyFieldName];\n\n // Avoid transforming if both fieldId and fieldUserKey is empty\n if ((isEmpty(fieldId)) && isEmpty(fieldUserKeyValue)) return dto;\n\n if (!this.options.relationCoModelSingularName) {\n throw new BadRequestException(`ManyToOneRelationFieldCrudManager: relationCoModelSingularName is not defined in the field: ${this.options.fieldName}`);\n }\n // // Load the related entity from the database, using the repository of the related entity\n //const entityTarget = this.getRelatedEntityTarget(classify(this.options.relationCoModelSingularName));\n const coModelEntityName = classify(this.options.relationCoModelSingularName);\n\n //Load the related entity from the database, using the repository of the related entity\n //const entityTarget = this.getRelatedEntityTarget(classify(this.options.relationCoModelSingularName));\n if (isNotEmpty(fieldId)) {\n dto[this.options.fieldName] = await this.options.entityManager.getRepository(coModelEntityName).findOneBy({ id: fieldId });\n if (this.options.required && isEmpty(dto[this.options.fieldName])) {\n throw new Error(`Field ${this.options.fieldName} resolution failed. Record with id: ${fieldId} not found in ${this.options.relationCoModelSingularName}`);\n }\n }\n else {\n dto[this.options.fieldName] = await this.options.entityManager.getRepository(coModelEntityName).findOneBy({ [this.options.relationCoModelUserKeyFieldName]: fieldUserKeyValue });\n if (this.options.required && isEmpty(dto[this.options.fieldName])) {\n throw new Error(`Field ${this.options.fieldName} resolution failed. Record with userKey: ${this.options.relationCoModelUserKeyFieldName}: ${fieldUserKeyValue} not found in ${this.options.relationCoModelSingularName}`);\n }\n }\n\n return dto;\n }\n\n private isApplyRequiredValidation(): boolean {\n return this.options.required;\n }\n\n // Returns the entity target class from the entity name\n // private getRelatedEntityTarget(relatedEntityName: string): any {\n // const entityMetadatas = this.options.entityManager.connection.entityMetadatas;\n // const relatedEntityMetadata = entityMetadatas.find(em => em.name === relatedEntityName);\n // return relatedEntityMetadata.target;\n // }\n\n}"]}
@@ -1,4 +1,4 @@
1
- import { FieldCrudManager, ValidationError } from "src/interfaces";
1
+ import { FieldCrudManager, ValidationError } from "../../interfaces";
2
2
  export declare enum SolidMediaType {
3
3
  mediaSingle = "mediaSingle",
4
4
  mediaMultiple = "mediaMultiple"
@@ -1,4 +1,4 @@
1
- import { FieldCrudManager } from "src/interfaces";
1
+ import { FieldCrudManager } from "../../interfaces";
2
2
  export declare class NoOpsFieldCrudManager implements FieldCrudManager {
3
3
  createDto: any;
4
4
  constructor();
@@ -1,4 +1,4 @@
1
- import { FieldCrudManager, ValidationError } from "src/interfaces";
1
+ import { FieldCrudManager, ValidationError } from "../../interfaces";
2
2
  import { EntityManager } from "typeorm";
3
3
  export interface OneToManyRelationFieldOptions {
4
4
  required: boolean | undefined | null;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OneToManyRelationFieldCrudManager = void 0;
4
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
4
+ const string_helper_1 = require("../string.helper");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const class_validator_1 = require("class-validator");
7
7
  const create_field_metadata_dto_1 = require("../../dtos/create-field-metadata.dto");
@@ -54,9 +54,9 @@ class OneToManyRelationFieldCrudManager {
54
54
  return errors;
55
55
  }
56
56
  async transformForCreate(dto) {
57
- const currentEntityName = (0, strings_1.classify)(this.options.modelSingularName);
57
+ const currentEntityName = (0, string_helper_1.classify)(this.options.modelSingularName);
58
58
  const currentEntityRepository = this.options.entityManager.getRepository(currentEntityName);
59
- const relatedEntityName = (0, strings_1.classify)(this.options.relationCoModelSingularName);
59
+ const relatedEntityName = (0, string_helper_1.classify)(this.options.relationCoModelSingularName);
60
60
  const relatedEntityRepository = this.options.entityManager.getRepository(relatedEntityName);
61
61
  const result = await this.transformByCommand(dto, relatedEntityRepository, currentEntityRepository);
62
62
  if (result !== undefined) {
@@ -115,7 +115,7 @@ class OneToManyRelationFieldCrudManager {
115
115
  }
116
116
  await this.options.entityManager
117
117
  .createQueryBuilder()
118
- .relation((0, strings_1.classify)(this.options.modelSingularName), this.valueFieldName)
118
+ .relation((0, string_helper_1.classify)(this.options.modelSingularName), this.valueFieldName)
119
119
  .of(this.options.entityId)
120
120
  .add(ids);
121
121
  return undefined;
@@ -126,7 +126,7 @@ class OneToManyRelationFieldCrudManager {
126
126
  }
127
127
  await this.options.entityManager
128
128
  .createQueryBuilder()
129
- .relation((0, strings_1.classify)(this.options.modelSingularName), this.valueFieldName)
129
+ .relation((0, string_helper_1.classify)(this.options.modelSingularName), this.valueFieldName)
130
130
  .of(this.options.entityId)
131
131
  .remove(ids);
132
132
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"OneToManyRelationFieldCrudManager.js","sourceRoot":"","sources":["../../../src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from \"@angular-devkit/core/src/utils/strings\";\nimport { Logger } from \"@nestjs/common\";\nimport { isEmpty, isEnum, isInt, isNotEmpty } from \"class-validator\";\nimport { RelationFieldsCommand } from \"src/dtos/create-field-metadata.dto\";\nimport { FieldCrudManager, ValidationError } from \"src/interfaces\";\nimport { EntityManager, In } from \"typeorm\";\n\nexport interface OneToManyRelationFieldOptions {\n // Add options for relation field\n required: boolean | undefined | null;\n relationCoModelSingularName: string | undefined | null;\n inverseRelationCoModelFieldName: string | undefined | null;\n modelSingularName: string | undefined | null;\n inverseFieldName: string | undefined | null;\n entityManager: EntityManager | undefined | null;\n isUpdate?: boolean;\n entityId?: number;\n}\n\nconst linkCommands = [RelationFieldsCommand.link, RelationFieldsCommand.unlink, RelationFieldsCommand.set];\n\n// This implementation is meant to be used for many-to-one relation field\nexport class OneToManyRelationFieldCrudManager implements FieldCrudManager {\n private readonly logger = new Logger(OneToManyRelationFieldCrudManager.name);\n\n private readonly valueFieldName: string;\n private readonly idFieldName: string;\n private readonly commandFieldName: string;\n\n constructor(private readonly options: OneToManyRelationFieldOptions) {\n this.valueFieldName = this.options.inverseRelationCoModelFieldName ?? `${this.options.relationCoModelSingularName}s`;\n this.idFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Ids`;\n this.commandFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Command`;\n }\n\n validate(dto: any) {\n return this.applyValidations(dto);\n }\n\n private applyValidations(dto: any): ValidationError[] { \n const errors: ValidationError[] = [];\n\n const commandFieldName = this.commandFieldName;\n const commandValue = dto[commandFieldName];\n this.isApplyRequiredValidation() && isEmpty(commandValue) ? errors.push({ field: commandFieldName, error: 'Command field is required' }) : \"no errors\";\n if (isNotEmpty(commandValue)) {\n !isEnum(commandValue, RelationFieldsCommand)? errors.push({ field: this.options.inverseFieldName, error: 'Command Field has invalid value' }) : \"no errors\";\n } \n \n var fieldValue = null\n if (commandValue === RelationFieldsCommand.clear) {\n return errors;\n } else if (linkCommands.includes(commandValue)) {\n fieldValue = dto[this.idFieldName];\n } \n else {\n fieldValue = dto[this.valueFieldName];\n }\n\n this.isApplyRequiredValidation() && isEmpty(fieldValue) ? errors.push({ field: this.options.inverseFieldName, error: `Field: ${this.options.inverseFieldName} is required` }) : \"no errors\";\n if (isNotEmpty(fieldValue)) {\n errors.push(...this.applyFormatValidations(fieldValue, commandValue, commandFieldName));\n }\n return errors;\n }\n\n private applyFormatValidations(fieldValue: any[], commandValue: RelationFieldsCommand, commandFieldName: string): ValidationError[] {\n const errors: ValidationError[] = [];\n if (linkCommands.includes(commandValue)) {\n for (const id of fieldValue) {\n if (!isInt(id)) {\n errors.push({ field: this.options.inverseFieldName, error: `Invalid ids in ${commandFieldName}` });\n }\n }\n }\n return errors;\n }\n\n async transformForCreate(dto: any): Promise<any> {\n const currentEntityName = classify(this.options.modelSingularName);\n const currentEntityRepository = this.options.entityManager.getRepository(currentEntityName);\n\n const relatedEntityName = classify(this.options.relationCoModelSingularName);\n const relatedEntityRepository = this.options.entityManager.getRepository(relatedEntityName);\n\n const result = await this.transformByCommand(dto, relatedEntityRepository, currentEntityRepository);\n if (result !== undefined) {\n dto[this.valueFieldName] = result;\n } else {\n delete dto[this.valueFieldName];\n }\n return dto;\n }\n\n private async transformByCommand(dto: any, relatedEntityRepository: any, currentEntityRepository: any): Promise<any[] | undefined> {\n // TODO : Need to add support for the multiple commands\n const command = dto[this.commandFieldName];\n const values = dto[this.valueFieldName];\n const ids = dto[this.idFieldName];\n \n switch (command) {\n case RelationFieldsCommand.create:\n return await this.transformForCommandCreate(values, relatedEntityRepository);\n case RelationFieldsCommand.update:\n return await this.transformForCommandUpdate(values, relatedEntityRepository, dto, currentEntityRepository);\n case RelationFieldsCommand.delete:\n return await this.transformForCommandDelete(values, relatedEntityRepository);\n case RelationFieldsCommand.clear:\n return this.transformForCommandClear();\n case RelationFieldsCommand.set:\n return await this.transformForCommandSet(ids, relatedEntityRepository);\n case RelationFieldsCommand.link:\n return await this.tranformForCommandLink(ids, relatedEntityRepository);\n case RelationFieldsCommand.unlink:\n return await this.transformForCommandUnLink(ids);\n default:\n this.logger.log(`Invalid command ${command}`);\n return null;\n }\n }\n\n private transformForCommandClear() {\n return []\n }\n\n private async transformForCommandSet(ids: any[], relatedEntityRepository: any): Promise<any[]> {\n const loadedEntities: any[] = await relatedEntityRepository.find({\n where : {id: In(ids) }\n })\n if (loadedEntities.length !== ids.length) {\n throw new Error('Invalid entity ids provided for set');\n }\n\n return loadedEntities;\n }\n\n private async tranformForCommandLink(ids: any[], relatedEntityRepository: any): Promise<undefined> {\n if (!this.options.isUpdate) {\n throw new Error('Link command is only supported for update operations');\n }\n\n const count: number = await relatedEntityRepository.count({\n where: { id: In(ids) }\n });\n if (count !== ids.length) {\n throw new Error('Invalid entity ids provided for linking');\n }\n\n await this.options.entityManager\n .createQueryBuilder()\n .relation(classify(this.options.modelSingularName), this.valueFieldName)\n .of(this.options.entityId)\n .add(ids);\n\n return undefined;\n }\n\n private async transformForCommandUnLink(ids: any[]): Promise<undefined> {\n if (!this.options.isUpdate) {\n throw new Error('Unlink command is only supported for update operations');\n }\n\n await this.options.entityManager\n .createQueryBuilder()\n .relation(classify(this.options.modelSingularName), this.valueFieldName)\n .of(this.options.entityId)\n .remove(ids);\n\n return undefined;\n }\n\n private async transformForCommandCreate(values: any[], relatedEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n return transformedRelatedFields;\n }\n\n private async transformForCommandUpdate(values: any[], relatedEntityRepository: any, dto: any, currentEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n if (entity.id) {\n const transformed = await relatedEntityRepository.preload(entity);\n transformedRelatedFields.push(transformed);\n }\n else {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n }\n\n return transformedRelatedFields;\n }\n\n private async transformForCommandDelete(values: any[], relatedEntityRepository: any): Promise<any[]> {\n // Map and get the ids from the values\n const ids = values.map((value) => value.id);\n\n // Delete the ids linked to the associated entity\n await relatedEntityRepository.delete(ids);\n return null\n }\n\n private isApplyRequiredValidation(): boolean {\n return this.options.required;\n }\n\n // TODO: We have moved this to SolidRegistry service, refactor to use that service.\n // Returns the entity target class from the entity name\n // private getEntityTarget(entityName: string): any { //TODO Can be refactored to use this function from crud helper service\n // const entityMetadatas = this.options.entityManager.connection.entityMetadatas;\n // const entityMetadata = entityMetadatas.find(em => em.name === entityName);\n // return entityMetadata.target;\n // }\n}"]}
1
+ {"version":3,"file":"OneToManyRelationFieldCrudManager.js","sourceRoot":"","sources":["../../../src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from '../string.helper';\nimport { Logger } from \"@nestjs/common\";\nimport { isEmpty, isEnum, isInt, isNotEmpty } from \"class-validator\";\nimport { RelationFieldsCommand } from \"src/dtos/create-field-metadata.dto\";\nimport { FieldCrudManager, ValidationError } from \"src/interfaces\";\nimport { EntityManager, In } from \"typeorm\";\n\nexport interface OneToManyRelationFieldOptions {\n // Add options for relation field\n required: boolean | undefined | null;\n relationCoModelSingularName: string | undefined | null;\n inverseRelationCoModelFieldName: string | undefined | null;\n modelSingularName: string | undefined | null;\n inverseFieldName: string | undefined | null;\n entityManager: EntityManager | undefined | null;\n isUpdate?: boolean;\n entityId?: number;\n}\n\nconst linkCommands = [RelationFieldsCommand.link, RelationFieldsCommand.unlink, RelationFieldsCommand.set];\n\n// This implementation is meant to be used for many-to-one relation field\nexport class OneToManyRelationFieldCrudManager implements FieldCrudManager {\n private readonly logger = new Logger(OneToManyRelationFieldCrudManager.name);\n\n private readonly valueFieldName: string;\n private readonly idFieldName: string;\n private readonly commandFieldName: string;\n\n constructor(private readonly options: OneToManyRelationFieldOptions) {\n this.valueFieldName = this.options.inverseRelationCoModelFieldName ?? `${this.options.relationCoModelSingularName}s`;\n this.idFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Ids`;\n this.commandFieldName = `${this.options.inverseRelationCoModelFieldName ?? this.options.relationCoModelSingularName}Command`;\n }\n\n validate(dto: any) {\n return this.applyValidations(dto);\n }\n\n private applyValidations(dto: any): ValidationError[] { \n const errors: ValidationError[] = [];\n\n const commandFieldName = this.commandFieldName;\n const commandValue = dto[commandFieldName];\n this.isApplyRequiredValidation() && isEmpty(commandValue) ? errors.push({ field: commandFieldName, error: 'Command field is required' }) : \"no errors\";\n if (isNotEmpty(commandValue)) {\n !isEnum(commandValue, RelationFieldsCommand)? errors.push({ field: this.options.inverseFieldName, error: 'Command Field has invalid value' }) : \"no errors\";\n } \n \n var fieldValue = null\n if (commandValue === RelationFieldsCommand.clear) {\n return errors;\n } else if (linkCommands.includes(commandValue)) {\n fieldValue = dto[this.idFieldName];\n } \n else {\n fieldValue = dto[this.valueFieldName];\n }\n\n this.isApplyRequiredValidation() && isEmpty(fieldValue) ? errors.push({ field: this.options.inverseFieldName, error: `Field: ${this.options.inverseFieldName} is required` }) : \"no errors\";\n if (isNotEmpty(fieldValue)) {\n errors.push(...this.applyFormatValidations(fieldValue, commandValue, commandFieldName));\n }\n return errors;\n }\n\n private applyFormatValidations(fieldValue: any[], commandValue: RelationFieldsCommand, commandFieldName: string): ValidationError[] {\n const errors: ValidationError[] = [];\n if (linkCommands.includes(commandValue)) {\n for (const id of fieldValue) {\n if (!isInt(id)) {\n errors.push({ field: this.options.inverseFieldName, error: `Invalid ids in ${commandFieldName}` });\n }\n }\n }\n return errors;\n }\n\n async transformForCreate(dto: any): Promise<any> {\n const currentEntityName = classify(this.options.modelSingularName);\n const currentEntityRepository = this.options.entityManager.getRepository(currentEntityName);\n\n const relatedEntityName = classify(this.options.relationCoModelSingularName);\n const relatedEntityRepository = this.options.entityManager.getRepository(relatedEntityName);\n\n const result = await this.transformByCommand(dto, relatedEntityRepository, currentEntityRepository);\n if (result !== undefined) {\n dto[this.valueFieldName] = result;\n } else {\n delete dto[this.valueFieldName];\n }\n return dto;\n }\n\n private async transformByCommand(dto: any, relatedEntityRepository: any, currentEntityRepository: any): Promise<any[] | undefined> {\n // TODO : Need to add support for the multiple commands\n const command = dto[this.commandFieldName];\n const values = dto[this.valueFieldName];\n const ids = dto[this.idFieldName];\n \n switch (command) {\n case RelationFieldsCommand.create:\n return await this.transformForCommandCreate(values, relatedEntityRepository);\n case RelationFieldsCommand.update:\n return await this.transformForCommandUpdate(values, relatedEntityRepository, dto, currentEntityRepository);\n case RelationFieldsCommand.delete:\n return await this.transformForCommandDelete(values, relatedEntityRepository);\n case RelationFieldsCommand.clear:\n return this.transformForCommandClear();\n case RelationFieldsCommand.set:\n return await this.transformForCommandSet(ids, relatedEntityRepository);\n case RelationFieldsCommand.link:\n return await this.tranformForCommandLink(ids, relatedEntityRepository);\n case RelationFieldsCommand.unlink:\n return await this.transformForCommandUnLink(ids);\n default:\n this.logger.log(`Invalid command ${command}`);\n return null;\n }\n }\n\n private transformForCommandClear() {\n return []\n }\n\n private async transformForCommandSet(ids: any[], relatedEntityRepository: any): Promise<any[]> {\n const loadedEntities: any[] = await relatedEntityRepository.find({\n where : {id: In(ids) }\n })\n if (loadedEntities.length !== ids.length) {\n throw new Error('Invalid entity ids provided for set');\n }\n\n return loadedEntities;\n }\n\n private async tranformForCommandLink(ids: any[], relatedEntityRepository: any): Promise<undefined> {\n if (!this.options.isUpdate) {\n throw new Error('Link command is only supported for update operations');\n }\n\n const count: number = await relatedEntityRepository.count({\n where: { id: In(ids) }\n });\n if (count !== ids.length) {\n throw new Error('Invalid entity ids provided for linking');\n }\n\n await this.options.entityManager\n .createQueryBuilder()\n .relation(classify(this.options.modelSingularName), this.valueFieldName)\n .of(this.options.entityId)\n .add(ids);\n\n return undefined;\n }\n\n private async transformForCommandUnLink(ids: any[]): Promise<undefined> {\n if (!this.options.isUpdate) {\n throw new Error('Unlink command is only supported for update operations');\n }\n\n await this.options.entityManager\n .createQueryBuilder()\n .relation(classify(this.options.modelSingularName), this.valueFieldName)\n .of(this.options.entityId)\n .remove(ids);\n\n return undefined;\n }\n\n private async transformForCommandCreate(values: any[], relatedEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n return transformedRelatedFields;\n }\n\n private async transformForCommandUpdate(values: any[], relatedEntityRepository: any, dto: any, currentEntityRepository: any): Promise<any[]> {\n const transformedRelatedFields = [];\n for (const entity of values) {\n if (entity.id) {\n const transformed = await relatedEntityRepository.preload(entity);\n transformedRelatedFields.push(transformed);\n }\n else {\n const transformed = relatedEntityRepository.create(entity);\n transformedRelatedFields.push(transformed);\n }\n }\n\n return transformedRelatedFields;\n }\n\n private async transformForCommandDelete(values: any[], relatedEntityRepository: any): Promise<any[]> {\n // Map and get the ids from the values\n const ids = values.map((value) => value.id);\n\n // Delete the ids linked to the associated entity\n await relatedEntityRepository.delete(ids);\n return null\n }\n\n private isApplyRequiredValidation(): boolean {\n return this.options.required;\n }\n\n // TODO: We have moved this to SolidRegistry service, refactor to use that service.\n // Returns the entity target class from the entity name\n // private getEntityTarget(entityName: string): any { //TODO Can be refactored to use this function from crud helper service\n // const entityMetadatas = this.options.entityManager.connection.entityMetadatas;\n // const entityMetadata = entityMetadatas.find(em => em.name === entityName);\n // return entityMetadata.target;\n // }\n}"]}
@@ -1,5 +1,5 @@
1
- import { FieldCrudManager, ValidationError } from "src/interfaces";
2
- import { HashingService } from "src/services/hashing.service";
1
+ import { FieldCrudManager, ValidationError } from "../../interfaces";
2
+ import { HashingService } from "../../services/hashing.service";
3
3
  export interface PasswordFieldOptions {
4
4
  min: number | undefined | null;
5
5
  max: number | undefined | null;
@@ -1,4 +1,4 @@
1
- import { FieldCrudManager, ValidationError } from "src/interfaces";
1
+ import { FieldCrudManager, ValidationError } from "../../interfaces";
2
2
  export interface RichTextFieldOptions {
3
3
  regexPattern: string | undefined | null;
4
4
  required: boolean | undefined | null;
@@ -1,6 +1,6 @@
1
1
  import { DiscoveryService } from "@nestjs/core";
2
- import { SelectionValueType } from "src/dtos/create-field-metadata.dto";
3
- import { FieldCrudManager, ISelectionProviderContext, ValidationError } from "src/interfaces";
2
+ import { SelectionValueType } from "../../dtos/create-field-metadata.dto";
3
+ import { FieldCrudManager, ISelectionProviderContext, ValidationError } from "../../interfaces";
4
4
  export interface SelectionDynamicFieldOptions {
5
5
  selectionDynamicProvider: string;
6
6
  selectionValueType: SelectionValueType;
@@ -1,5 +1,5 @@
1
- import { SelectionValueType } from "src/dtos/create-field-metadata.dto";
2
- import { FieldCrudManager, ValidationError } from "src/interfaces";
1
+ import { SelectionValueType } from "../../dtos/create-field-metadata.dto";
2
+ import { FieldCrudManager, ValidationError } from "../../interfaces";
3
3
  export interface SelectionStaticFieldOptions {
4
4
  selectionStaticValues: string[];
5
5
  selectionValueType: SelectionValueType;
@@ -1,4 +1,4 @@
1
- import { FieldCrudManager, ValidationError } from "src/interfaces";
1
+ import { FieldCrudManager, ValidationError } from "../../interfaces";
2
2
  export interface ShortTextFieldOptions {
3
3
  length: number | undefined | null;
4
4
  regexPattern: string | undefined | null;
@@ -1,4 +1,4 @@
1
- import { FieldCrudManager, ValidationError } from "src/interfaces";
1
+ import { FieldCrudManager, ValidationError } from "../../interfaces";
2
2
  export interface UUIDFieldOptions {
3
3
  fieldName: string;
4
4
  }
@@ -0,0 +1,9 @@
1
+ export type MicrosoftAuthConfiguration = {
2
+ clientID: string;
3
+ clientSecret: string;
4
+ tenant: string;
5
+ callbackURL: string;
6
+ redirectURL: string;
7
+ };
8
+ export declare const isMicrosoftOAuthConfigured: (config: MicrosoftAuthConfiguration) => boolean;
9
+ //# sourceMappingURL=microsoft-oauth.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-oauth.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/microsoft-oauth.helper.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,QAAQ,0BAA0B,KACjC,OAQF,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMicrosoftOAuthConfigured = void 0;
4
+ const isMicrosoftOAuthConfigured = (config) => {
5
+ return !!(config.clientID &&
6
+ config.clientSecret &&
7
+ config.tenant &&
8
+ config.callbackURL &&
9
+ config.redirectURL);
10
+ };
11
+ exports.isMicrosoftOAuthConfigured = isMicrosoftOAuthConfigured;
12
+ //# sourceMappingURL=microsoft-oauth.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-oauth.helper.js","sourceRoot":"","sources":["../../src/helpers/microsoft-oauth.helper.ts"],"names":[],"mappings":";;;AAQO,MAAM,0BAA0B,GAAG,CACxC,MAAkC,EACzB,EAAE;IACX,OAAO,CAAC,CAAC,CACP,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,YAAY;QACnB,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,WAAW,CACnB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,0BAA0B,8BAUrC","sourcesContent":["export type MicrosoftAuthConfiguration = {\n clientID: string;\n clientSecret: string;\n tenant: string;\n callbackURL: string;\n redirectURL: string;\n};\n\nexport const isMicrosoftOAuthConfigured = (\n config: MicrosoftAuthConfiguration,\n): boolean => {\n return !!(\n config.clientID &&\n config.clientSecret &&\n config.tenant &&\n config.callbackURL &&\n config.redirectURL\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { ModelMetadataRepository } from "src/repository/model-metadata.repository";
1
+ import { ModelMetadataRepository } from "../repository/model-metadata.repository";
2
2
  import { SolidRegistry } from "./solid-registry";
3
3
  export declare class ModelMetadataHelperService {
4
4
  private readonly registry;
@@ -1,4 +1,4 @@
1
- import { DiskFileService } from "src/services/file";
1
+ import { DiskFileService } from "../services/file";
2
2
  export declare class ModuleMetadataHelperService {
3
3
  private readonly fileService;
4
4
  private readonly logger;
@@ -44,7 +44,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
44
44
  var ModuleMetadataHelperService_1;
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.ModuleMetadataHelperService = void 0;
47
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
47
+ const lodash_1 = require("lodash");
48
48
  const common_1 = require("@nestjs/common");
49
49
  const fs = __importStar(require("fs/promises"));
50
50
  const path = __importStar(require("path"));
@@ -78,7 +78,7 @@ let ModuleMetadataHelperService = ModuleMetadataHelperService_1 = class ModuleMe
78
78
  if (!moduleName) {
79
79
  return '';
80
80
  }
81
- const dashModuleName = (0, strings_1.dasherize)(moduleName);
81
+ const dashModuleName = (0, lodash_1.kebabCase)(moduleName);
82
82
  const folderPath = path.resolve(process.cwd(), 'module-metadata', dashModuleName);
83
83
  const filePath = path.join(folderPath, `${dashModuleName}-metadata.json`);
84
84
  const fileExists = await this.fileService.exists(filePath);
@@ -95,7 +95,7 @@ let ModuleMetadataHelperService = ModuleMetadataHelperService_1 = class ModuleMe
95
95
  if (!moduleName) {
96
96
  return '';
97
97
  }
98
- const dashModuleName = (0, strings_1.dasherize)(moduleName);
98
+ const dashModuleName = (0, lodash_1.kebabCase)(moduleName);
99
99
  const folderPath = path.resolve(process.cwd(), 'module-metadata', dashModuleName);
100
100
  const exists = await this.fileService.exists(folderPath);
101
101
  return exists ? folderPath : '';
@@ -1 +1 @@
1
- {"version":3,"file":"module-metadata-helper.service.js","sourceRoot":"","sources":["../../src/helpers/module-metadata-helper.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { dasherize } from \"@angular-devkit/core/src/utils/strings\";\nimport { Injectable, Logger } from \"@nestjs/common\";\nimport * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await\nimport * as path from 'path'; // To handle file paths\nimport { SOLID_CORE_MODULE_NAME } from \"src/constants\";\nimport { DiskFileService } from \"src/services/file\";\n\n@Injectable()\nexport class ModuleMetadataHelperService {\n private readonly logger = new Logger(ModuleMetadataHelperService.name);\n constructor(private readonly fileService: DiskFileService) { }\n // async getModuleMetadataConfig(moduleName: string): Promise<ModuleMetadata> {\n // const filePath = this.getModuleMetadataFilePath(moduleName);\n // const metadata = await this.getModuleMetadata(filePath);\n // return metadata;\n // }\n\n async getModuleMetadataConfiguration(configFilePath: string): Promise<any> {\n if (!configFilePath) {\n return null;\n }\n try {\n const fileContent = await fs.readFile(configFilePath, 'utf8');\n return JSON.parse(fileContent);\n }\n catch (error) {\n this.logger.error(`module metadata configuration non existent at: ${configFilePath}`);\n }\n\n return null;\n }\n\n async getModulePath(moduleName: string): Promise<string> {\n if (!moduleName) {\n return '';\n }\n return path.resolve(process.cwd(), 'src', moduleName);\n }\n\n async getModuleMetadataFilePath(moduleName: string): Promise<string> {\n if (!moduleName) {\n return '';\n }\n const dashModuleName = dasherize(moduleName);\n const folderPath = path.resolve(process.cwd(), 'module-metadata', dashModuleName);\n const filePath = path.join(folderPath, `${dashModuleName}-metadata.json`);\n // Check if filePath exists\n const fileExists = await this.fileService.exists(filePath);\n // this.logger.debug(`File exists: ${fileExists} at ${filePath}`);\n if (!fileExists) {\n // If the module is solid-core, try the fallback path, in case the current root directory is the solid core project\n if (dashModuleName === SOLID_CORE_MODULE_NAME) {\n const fallbackPath = path.resolve(process.cwd(), 'src', 'seeders', 'seed-data', `${dashModuleName}-metadata.json`);\n this.logger.debug(`Fallback path: ${fallbackPath}`);\n return fallbackPath;\n }\n }\n return filePath;\n }\n async getModuleMetadataFolderPath(moduleName: string): Promise<string> {\n if (!moduleName) {\n return '';\n }\n\n const dashModuleName = dasherize(moduleName);\n\n const folderPath = path.resolve(\n process.cwd(),\n 'module-metadata',\n dashModuleName,\n );\n\n const exists = await this.fileService.exists(folderPath);\n return exists ? folderPath : '';\n }\n\n}\n"]}
1
+ {"version":3,"file":"module-metadata-helper.service.js","sourceRoot":"","sources":["../../src/helpers/module-metadata-helper.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { kebabCase } from 'lodash';\nimport { Injectable, Logger } from \"@nestjs/common\";\nimport * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await\nimport * as path from 'path'; // To handle file paths\nimport { SOLID_CORE_MODULE_NAME } from \"src/constants\";\nimport { DiskFileService } from \"src/services/file\";\n\n@Injectable()\nexport class ModuleMetadataHelperService {\n private readonly logger = new Logger(ModuleMetadataHelperService.name);\n constructor(private readonly fileService: DiskFileService) { }\n // async getModuleMetadataConfig(moduleName: string): Promise<ModuleMetadata> {\n // const filePath = this.getModuleMetadataFilePath(moduleName);\n // const metadata = await this.getModuleMetadata(filePath);\n // return metadata;\n // }\n\n async getModuleMetadataConfiguration(configFilePath: string): Promise<any> {\n if (!configFilePath) {\n return null;\n }\n try {\n const fileContent = await fs.readFile(configFilePath, 'utf8');\n return JSON.parse(fileContent);\n }\n catch (error) {\n this.logger.error(`module metadata configuration non existent at: ${configFilePath}`);\n }\n\n return null;\n }\n\n async getModulePath(moduleName: string): Promise<string> {\n if (!moduleName) {\n return '';\n }\n return path.resolve(process.cwd(), 'src', moduleName);\n }\n\n async getModuleMetadataFilePath(moduleName: string): Promise<string> {\n if (!moduleName) {\n return '';\n }\n const dashModuleName = kebabCase(moduleName);\n const folderPath = path.resolve(process.cwd(), 'module-metadata', dashModuleName);\n const filePath = path.join(folderPath, `${dashModuleName}-metadata.json`);\n // Check if filePath exists\n const fileExists = await this.fileService.exists(filePath);\n // this.logger.debug(`File exists: ${fileExists} at ${filePath}`);\n if (!fileExists) {\n // If the module is solid-core, try the fallback path, in case the current root directory is the solid core project\n if (dashModuleName === SOLID_CORE_MODULE_NAME) {\n const fallbackPath = path.resolve(process.cwd(), 'src', 'seeders', 'seed-data', `${dashModuleName}-metadata.json`);\n this.logger.debug(`Fallback path: ${fallbackPath}`);\n return fallbackPath;\n }\n }\n return filePath;\n }\n async getModuleMetadataFolderPath(moduleName: string): Promise<string> {\n if (!moduleName) {\n return '';\n }\n\n const dashModuleName = kebabCase(moduleName);\n\n const folderPath = path.resolve(\n process.cwd(),\n 'module-metadata',\n dashModuleName,\n );\n\n const exists = await this.fileService.exists(folderPath);\n return exists ? folderPath : '';\n }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"module.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,QAAO,MAAM,EA+B9C,CAAA;AAED,eAAO,MAAM,oCAAoC,QAAO,MAAM,EAgC7D,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,MAAM,EAG3C,CAAA"}
1
+ {"version":3,"file":"module.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,QAAO,MAAM,EA6B9C,CAAA;AAED,eAAO,MAAM,oCAAoC,QAAO,MAAM,EAgC7D,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,MAAM,EAG3C,CAAA"}
@@ -49,9 +49,9 @@ const getDynamicModuleNames = () => {
49
49
  const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);
50
50
  if (!isValidDirectory)
51
51
  return false;
52
- const fullPath = path.join(srcPath, dirent.name);
53
- const files = fs.readdirSync(fullPath);
54
- return files.length > 0;
52
+ const moduleManifestPath = path.join(srcPath, dirent.name, `${dirent.name}.module.ts`);
53
+ const stats = fs.statSync(moduleManifestPath, { throwIfNoEntry: false });
54
+ return !!stats && stats.isFile();
55
55
  })
56
56
  .map(dirent => dirent.name);
57
57
  return enabledModules;
@@ -1 +1 @@
1
- {"version":3,"file":"module.helper.js","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { Logger } from '@nestjs/common';\nimport * as fs from 'fs'; // Use the Promise-based version of fs for async/await\nimport * as path from 'path'; // To handle file paths\n\nconst logger = new Logger('module.helper');\n\nexport const getDynamicModuleNames = (): string[] => {\n const dynamicModulesToExclude = process.env.SOLID_DYNAMIC_MODULES_TO_EXCLUDE?.split(',') || [];\n\n // Adjust if 'src' is in a different location\n const srcPath = path.join(process.cwd(), 'src');\n const coreModuleNames = getCoreModuleNames();\n const allExcludedModules = [...new Set([...coreModuleNames, ...dynamicModulesToExclude])];\n\n const directories = fs.readdirSync(srcPath, { withFileTypes: true });\n // const enabledModules = directories\n // .filter(d => d.isDirectory() && !allExcludedModules.includes(d.name))\n // .map(d => d.name);\n\n const enabledModules = directories\n .filter(dirent => {\n const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);\n\n if (!isValidDirectory) return false;\n\n // return true\n const fullPath = path.join(srcPath, dirent.name);\n const files = fs.readdirSync(fullPath);\n // skip if empty directory\n return files.length > 0;\n })\n .map(dirent => dirent.name);\n\n // logger.debug(`Enabled dynamic modules:`, enabledModules);\n // console.log(`Dynamic Modules Are:`, enabledModules);\n\n return enabledModules;\n}\n\nexport const getDynamicModuleNamesBasedOnMetadata = (): string[] => {\n const dynamicModulesToExclude = process.env.SOLID_DYNAMIC_MODULES_TO_EXCLUDE?.split(',') || [];\n\n // Find a path that is ../${srcPath}/module-metadata save it in a variable.\n // const srcPath = path.join(process.cwd(), 'src');\n const moduleMetadataPath = path.join(process.cwd(), 'module-metadata');\n const coreModuleNames = getCoreModuleNames();\n const allExcludedModules = [...new Set([...coreModuleNames, ...dynamicModulesToExclude])];\n\n // if module-metadata path does not exist, return empty array\n if (!fs.existsSync(moduleMetadataPath)) {\n logger.warn(`Module metadata path does not exist: ${moduleMetadataPath}`);\n return [];\n }\n\n const moduleMetadataDirectories = fs.readdirSync(moduleMetadataPath, { withFileTypes: true });\n const enabledModules = moduleMetadataDirectories\n .filter(dirent => {\n const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);\n\n if (!isValidDirectory) return false;\n\n const fullPath = path.join(moduleMetadataPath, dirent.name, `${dirent.name}-metadata.json`);\n\n const stats = fs.statSync(fullPath, { throwIfNoEntry: false });\n return !!stats && stats.isFile();\n })\n .map(dirent => dirent.name);\n\n // logger.debug(`Enabled dynamic modules basis src:`, enabledModules);\n // console.log(`Src Based Dynamic Modules Are:`, enabledModules);\n return enabledModules;\n}\n\nexport const getCoreModuleNames = (): string[] => {\n // return ['iam', 'common', 'queues', 'app-builder'];\n return ['solid-core'];\n}"]}
1
+ {"version":3,"file":"module.helper.js","sourceRoot":"","sources":["../../src/helpers/module.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { Logger } from '@nestjs/common';\nimport * as fs from 'fs'; // Use the Promise-based version of fs for async/await\nimport * as path from 'path'; // To handle file paths\n\nconst logger = new Logger('module.helper');\n\nexport const getDynamicModuleNames = (): string[] => {\n const dynamicModulesToExclude = process.env.SOLID_DYNAMIC_MODULES_TO_EXCLUDE?.split(',') || [];\n\n // Adjust if 'src' is in a different location\n const srcPath = path.join(process.cwd(), 'src');\n const coreModuleNames = getCoreModuleNames();\n const allExcludedModules = [...new Set([...coreModuleNames, ...dynamicModulesToExclude])];\n\n const directories = fs.readdirSync(srcPath, { withFileTypes: true });\n // const enabledModules = directories\n // .filter(d => d.isDirectory() && !allExcludedModules.includes(d.name))\n // .map(d => d.name);\n\n const enabledModules = directories\n .filter(dirent => {\n const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);\n\n if (!isValidDirectory) return false;\n\n const moduleManifestPath = path.join(srcPath, dirent.name, `${dirent.name}.module.ts`);\n const stats = fs.statSync(moduleManifestPath, { throwIfNoEntry: false });\n return !!stats && stats.isFile();\n })\n .map(dirent => dirent.name);\n\n // logger.debug(`Enabled dynamic modules:`, enabledModules);\n // console.log(`Dynamic Modules Are:`, enabledModules);\n\n return enabledModules;\n}\n\nexport const getDynamicModuleNamesBasedOnMetadata = (): string[] => {\n const dynamicModulesToExclude = process.env.SOLID_DYNAMIC_MODULES_TO_EXCLUDE?.split(',') || [];\n\n // Find a path that is ../${srcPath}/module-metadata save it in a variable.\n // const srcPath = path.join(process.cwd(), 'src');\n const moduleMetadataPath = path.join(process.cwd(), 'module-metadata');\n const coreModuleNames = getCoreModuleNames();\n const allExcludedModules = [...new Set([...coreModuleNames, ...dynamicModulesToExclude])];\n\n // if module-metadata path does not exist, return empty array\n if (!fs.existsSync(moduleMetadataPath)) {\n logger.warn(`Module metadata path does not exist: ${moduleMetadataPath}`);\n return [];\n }\n\n const moduleMetadataDirectories = fs.readdirSync(moduleMetadataPath, { withFileTypes: true });\n const enabledModules = moduleMetadataDirectories\n .filter(dirent => {\n const isValidDirectory = dirent.isDirectory() && !allExcludedModules.includes(dirent.name);\n\n if (!isValidDirectory) return false;\n\n const fullPath = path.join(moduleMetadataPath, dirent.name, `${dirent.name}-metadata.json`);\n\n const stats = fs.statSync(fullPath, { throwIfNoEntry: false });\n return !!stats && stats.isFile();\n })\n .map(dirent => dirent.name);\n\n // logger.debug(`Enabled dynamic modules basis src:`, enabledModules);\n // console.log(`Src Based Dynamic Modules Are:`, enabledModules);\n return enabledModules;\n}\n\nexport const getCoreModuleNames = (): string[] => {\n // return ['iam', 'common', 'queues', 'app-builder'];\n return ['solid-core'];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"schematic.service.d.ts","sourceRoot":"","sources":["../../src/helpers/schematic.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAmB,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF,KAAK,8BAA8B,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AACF,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AACrD,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAGrD,qBACa,gBAAgB;IAKf,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJ3F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;gBAEtB,cAAc,EAAE,cAAc,EAAmB,aAAa,EAAE,aAAa;IAEpG,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAAG,8BAA8B,EAC/D,KAAK,UAAQ,GACZ,OAAO,CAAC,MAAM,CAAC;IAKlB,OAAO,CAAC,wBAAwB;IAgChC,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,wBAAwB;CAOjC"}
1
+ {"version":3,"file":"schematic.service.d.ts","sourceRoot":"","sources":["../../src/helpers/schematic.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAmB,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF,KAAK,8BAA8B,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AACF,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AACrD,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAGrD,qBACa,gBAAgB;IAKf,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJ3F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;gBAEtB,cAAc,EAAE,cAAc,EAAmB,aAAa,EAAE,aAAa;IAEpG,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAAG,8BAA8B,EAC/D,KAAK,UAAQ,GACZ,OAAO,CAAC,MAAM,CAAC;IAKlB,OAAO,CAAC,wBAAwB;IAsChC,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,wBAAwB;CAOjC"}
@@ -31,7 +31,7 @@ let SchematicService = SchematicService_1 = class SchematicService {
31
31
  }
32
32
  generateSchematicCommand(command, options, debug) {
33
33
  const schematicName = `${this.SCHEMATIC_PROJECT}:${command}`;
34
- const baseArgs = [schematicName, `--debug=${debug}`];
34
+ const baseArgs = [schematicName, ...(debug ? ['--debug=true'] : [])];
35
35
  if (command === exports.REMOVE_FIELDS_COMMAND ||
36
36
  command === exports.REFRESH_MODEL_COMMAND) {
37
37
  const { fieldNamesForRemoval, ...modelSpecificOptions } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"schematic.service.js","sourceRoot":"","sources":["../../src/helpers/schematic.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { CommandService, CommandWithArgs } from './command.service';\nimport { SolidRegistry } from './solid-registry';\n\nexport const ADD_MODULE_COMMAND = 'add-module';\nexport type GenerateModuleOptions = {\n module: string;\n};\ntype ModelGenerationOptions = Omit<ModelAndFieldGenerationOptions, 'fieldNamesForRemoval'>;\n\ntype ModelAndFieldGenerationOptions = {\n module: string;\n model: string;\n fieldNamesForRemoval: string[];\n};\nexport const REMOVE_FIELDS_COMMAND = 'remove-fields';\nexport const REFRESH_MODEL_COMMAND = 'refresh-model';\n\n//TODO Rename to CodeBuilder service\n@Injectable()\nexport class SchematicService {\n private readonly logger = new Logger(SchematicService.name);\n private readonly SCHEMATIC_PROJECT = '@solidxai/code-builder';\n private readonly SCHEMATICS_COMMAND = 'schematics';\n\n constructor(private readonly commandService: CommandService, private readonly solidRegistry: SolidRegistry) { }\n\n async executeSchematicCommand(\n command: string,\n options: GenerateModuleOptions | ModelAndFieldGenerationOptions,\n debug = false,\n ): Promise<string> {\n const commandWithArgs = this.generateSchematicCommand(command, options, debug);\n return await this.commandService.executeCommandWithArgs(commandWithArgs);\n }\n\n private generateSchematicCommand(\n command: string,\n options: GenerateModuleOptions | ModelAndFieldGenerationOptions,\n debug: boolean,\n ): CommandWithArgs {\n const schematicName = `${this.SCHEMATIC_PROJECT}:${command}`;\n const baseArgs = [schematicName, `--debug=${debug}`];\n\n if (\n command === REMOVE_FIELDS_COMMAND ||\n command === REFRESH_MODEL_COMMAND\n ) {\n const { fieldNamesForRemoval, ...modelSpecificOptions } = options as ModelAndFieldGenerationOptions;\n const modelArgs = this.buildModelGenerationArgs(modelSpecificOptions);\n const fieldArgs: string[] = [];\n if (fieldNamesForRemoval && fieldNamesForRemoval.length > 0) {\n const _fieldArgs = this.buildFieldGenerationArgs(fieldNamesForRemoval);\n fieldArgs.push(..._fieldArgs);\n }\n const args = [...baseArgs, ...modelArgs, ...fieldArgs];\n this.logger.debug('schematicCommand args', args);\n return { command: this.SCHEMATICS_COMMAND, args };\n } else if (command === ADD_MODULE_COMMAND) {\n const moduleOptions = options as GenerateModuleOptions;\n const args = [...baseArgs, `--module=${moduleOptions.module}`];\n this.logger.debug('schematicCommand args', args);\n return { command: this.SCHEMATICS_COMMAND, args };\n } else {\n throw new Error('Schematic command not supported.');\n }\n }\n\n private buildFieldGenerationArgs(fieldNamesForRemoval: string[]): string[] {\n return fieldNamesForRemoval\n .filter((fieldName) => {\n return !this.solidRegistry.getCommonEntityKeys().map(key => key.toString()).includes(fieldName);\n })\n .map((fieldName) => {\n // Using argument array eliminates the need for shell-specific quoting\n return `--field-names-for-removal=${fieldName}`;\n });\n }\n\n private buildModelGenerationArgs(modelSpecificOptions: ModelGenerationOptions): string[] {\n const args: string[] = [\n `--module=${modelSpecificOptions.module}`,\n `--model=${modelSpecificOptions.model}`,\n ];\n return args;\n }\n}\n"]}
1
+ {"version":3,"file":"schematic.service.js","sourceRoot":"","sources":["../../src/helpers/schematic.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { CommandService, CommandWithArgs } from './command.service';\nimport { SolidRegistry } from './solid-registry';\n\nexport const ADD_MODULE_COMMAND = 'add-module';\nexport type GenerateModuleOptions = {\n module: string;\n};\ntype ModelGenerationOptions = Omit<ModelAndFieldGenerationOptions, 'fieldNamesForRemoval'>;\n\ntype ModelAndFieldGenerationOptions = {\n module: string;\n model: string;\n fieldNamesForRemoval: string[];\n};\nexport const REMOVE_FIELDS_COMMAND = 'remove-fields';\nexport const REFRESH_MODEL_COMMAND = 'refresh-model';\n\n//TODO Rename to CodeBuilder service\n@Injectable()\nexport class SchematicService {\n private readonly logger = new Logger(SchematicService.name);\n private readonly SCHEMATIC_PROJECT = '@solidxai/code-builder';\n private readonly SCHEMATICS_COMMAND = 'schematics';\n\n constructor(private readonly commandService: CommandService, private readonly solidRegistry: SolidRegistry) { }\n\n async executeSchematicCommand(\n command: string,\n options: GenerateModuleOptions | ModelAndFieldGenerationOptions,\n debug = false,\n ): Promise<string> {\n const commandWithArgs = this.generateSchematicCommand(command, options, debug);\n return await this.commandService.executeCommandWithArgs(commandWithArgs);\n }\n\n private generateSchematicCommand(\n command: string,\n options: GenerateModuleOptions | ModelAndFieldGenerationOptions,\n debug: boolean,\n ): CommandWithArgs {\n const schematicName = `${this.SCHEMATIC_PROJECT}:${command}`;\n // Only forward --debug when explicitly enabled. The Angular schematics\n // CLI treats the *presence* of --debug as truthy (regardless of the\n // assigned value), and once debug is on it forces dry-run mode — so\n // passing `--debug=false` previously made every schematic invocation\n // silently dry-run, leaving \"CREATE …\" lines in the log but writing\n // nothing to disk.\n const baseArgs = [schematicName, ...(debug ? ['--debug=true'] : [])];\n\n if (\n command === REMOVE_FIELDS_COMMAND ||\n command === REFRESH_MODEL_COMMAND\n ) {\n const { fieldNamesForRemoval, ...modelSpecificOptions } = options as ModelAndFieldGenerationOptions;\n const modelArgs = this.buildModelGenerationArgs(modelSpecificOptions);\n const fieldArgs: string[] = [];\n if (fieldNamesForRemoval && fieldNamesForRemoval.length > 0) {\n const _fieldArgs = this.buildFieldGenerationArgs(fieldNamesForRemoval);\n fieldArgs.push(..._fieldArgs);\n }\n const args = [...baseArgs, ...modelArgs, ...fieldArgs];\n this.logger.debug('schematicCommand args', args);\n return { command: this.SCHEMATICS_COMMAND, args };\n } else if (command === ADD_MODULE_COMMAND) {\n const moduleOptions = options as GenerateModuleOptions;\n const args = [...baseArgs, `--module=${moduleOptions.module}`];\n this.logger.debug('schematicCommand args', args);\n return { command: this.SCHEMATICS_COMMAND, args };\n } else {\n throw new Error('Schematic command not supported.');\n }\n }\n\n private buildFieldGenerationArgs(fieldNamesForRemoval: string[]): string[] {\n return fieldNamesForRemoval\n .filter((fieldName) => {\n return !this.solidRegistry.getCommonEntityKeys().map(key => key.toString()).includes(fieldName);\n })\n .map((fieldName) => {\n // Using argument array eliminates the need for shell-specific quoting\n return `--field-names-for-removal=${fieldName}`;\n });\n }\n\n private buildModelGenerationArgs(modelSpecificOptions: ModelGenerationOptions): string[] {\n const args: string[] = [\n `--module=${modelSpecificOptions.module}`,\n `--model=${modelSpecificOptions.model}`,\n ];\n return args;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"security.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/security.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAUvC,wBAAgB,iCAAiC,IAAI,QAAQ,CAAC,aAAa,CAAC,CAwC3E;AAID,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,KAAK,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAClD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B,EAAE,uBAaxC,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,MAAM,CAKR;AAeD,eAAO,MAAM,qBAAqB,iFAC8C,CAAC;AAEjF,wBAAgB,sBAAsB,WAE5B,OAAO,SAAS,EAAE,OAAO,QACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,UAKvC"}
1
+ {"version":3,"file":"security.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/security.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAUvC,wBAAgB,iCAAiC,IAAI,QAAQ,CAAC,aAAa,CAAC,CAwC3E;AAID,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,KAAK,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAClD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B,EAAE,uBAaxC,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,MAAM,CAKR;AAeD,eAAO,MAAM,qBAAqB,iFAC8C,CAAC;AAEjF,wBAAgB,sBAAsB,KAElC,MAAM,OAAO,SAAS,EAAE,OAAO,EAC/B,MAAM,OAAO,SAAS,EAAE,QAAQ,EAChC,MAAM,OAAO,SAAS,EAAE,YAAY,UAKvC"}
@@ -1,4 +1,4 @@
1
- import { ErrorMeta, ErrorRule, IErrorCodeProvider } from 'src/interfaces';
1
+ import { ErrorMeta, ErrorRule, IErrorCodeProvider } from '../interfaces';
2
2
  export declare class SolidCoreErrorCodesProvider implements IErrorCodeProvider {
3
3
  name(): string;
4
4
  rules(): ReadonlyArray<ErrorRule>;
@@ -1,9 +1,11 @@
1
1
  import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
2
- import { ComputedFieldTriggerConfig, ComputedFieldValueType } from 'src/dtos/create-field-metadata.dto';
3
- import { CommonEntity } from 'src/entities/common.entity';
4
- import { Locale } from 'src/entities/locale.entity';
5
- import { SecurityRule } from 'src/entities/security-rule.entity';
6
- import { IScheduledJob } from 'src/services/scheduled-jobs/scheduled-job.interface';
2
+ import { IExtensionUserCreationProvider } from '../interfaces';
3
+ import { User } from '../entities/user.entity';
4
+ import { ComputedFieldTriggerConfig, ComputedFieldValueType } from '../dtos/create-field-metadata.dto';
5
+ import { CommonEntity } from '../entities/common.entity';
6
+ import { Locale } from '../entities/locale.entity';
7
+ import { SecurityRule } from '../entities/security-rule.entity';
8
+ import { IScheduledJob } from '../services/scheduled-jobs/scheduled-job.interface';
7
9
  import { IDashboardQuestionDataProvider, IDashboardVariableSelectionProvider, IErrorCodeProvider, ISecurityRuleConfigProvider, ISelectionProvider, ISelectionProviderContext, ISolidDatabaseModule } from "../interfaces";
8
10
  import { ObjectLiteral } from 'typeorm';
9
11
  type ControllerMetadata = {
@@ -55,6 +57,8 @@ export interface ComputedFieldMetadata<TContext = any> {
55
57
  eventContext: TypeOrmEventContext;
56
58
  }
57
59
  export declare class SolidRegistry {
60
+ private readonly logger;
61
+ private extensionUserCreationProvider;
58
62
  private seeders;
59
63
  private scheduledJobProviders;
60
64
  private selectionProviders;
@@ -74,6 +78,8 @@ export declare class SolidRegistry {
74
78
  private errorCodeProviders;
75
79
  private settingsProviders;
76
80
  private auditableModels;
81
+ registerExtensionUserCreationProvider(provider: InstanceWrapper): void;
82
+ getExtensionUserCreationProvider<T extends User = User>(): IExtensionUserCreationProvider<T, any> | null;
77
83
  registerErrorCodeProvider(errorCodeProvider: InstanceWrapper): void;
78
84
  registerWhatsappProvider(whatsappProvider: InstanceWrapper): void;
79
85
  registerSmsProvider(smsProvider: InstanceWrapper): void;
@@ -1 +1 @@
1
- {"version":3,"file":"solid-registry.d.ts","sourceRoot":"","sources":["../../src/helpers/solid-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solid-registry.d.ts","sourceRoot":"","sources":["../../src/helpers/solid-registry.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var SolidRegistry_1;
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  exports.SolidRegistry = exports.RESERVED_SOLID_KEYWORDS = void 0;
10
11
  const common_1 = require("@nestjs/common");
@@ -34,8 +35,10 @@ var RESERVED_SOLID_KEYWORDS;
34
35
  RESERVED_SOLID_KEYWORDS["user"] = "user";
35
36
  RESERVED_SOLID_KEYWORDS["locale"] = "locale";
36
37
  })(RESERVED_SOLID_KEYWORDS || (exports.RESERVED_SOLID_KEYWORDS = RESERVED_SOLID_KEYWORDS = {}));
37
- let SolidRegistry = class SolidRegistry {
38
+ let SolidRegistry = SolidRegistry_1 = class SolidRegistry {
38
39
  constructor() {
40
+ this.logger = new common_1.Logger(SolidRegistry_1.name);
41
+ this.extensionUserCreationProvider = null;
39
42
  this.seeders = new Set();
40
43
  this.scheduledJobProviders = new Set();
41
44
  this.selectionProviders = new Set();
@@ -56,6 +59,16 @@ let SolidRegistry = class SolidRegistry {
56
59
  this.settingsProviders = new Set();
57
60
  this.auditableModels = new Set();
58
61
  }
62
+ registerExtensionUserCreationProvider(provider) {
63
+ if (this.extensionUserCreationProvider) {
64
+ this.logger.warn(`ExtensionUserCreationProvider already registered by ${this.extensionUserCreationProvider.name}; ignoring ${provider.name}`);
65
+ return;
66
+ }
67
+ this.extensionUserCreationProvider = provider;
68
+ }
69
+ getExtensionUserCreationProvider() {
70
+ return this.extensionUserCreationProvider?.instance ?? null;
71
+ }
59
72
  registerErrorCodeProvider(errorCodeProvider) {
60
73
  this.errorCodeProviders.add(errorCodeProvider);
61
74
  }
@@ -274,7 +287,7 @@ let SolidRegistry = class SolidRegistry {
274
287
  }
275
288
  };
276
289
  exports.SolidRegistry = SolidRegistry;
277
- exports.SolidRegistry = SolidRegistry = __decorate([
290
+ exports.SolidRegistry = SolidRegistry = SolidRegistry_1 = __decorate([
278
291
  (0, common_1.Injectable)()
279
292
  ], SolidRegistry);
280
293
  //# sourceMappingURL=solid-registry.js.map