@solidxai/core 0.1.9-beta.1 → 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 (779) 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-session.entity.d.ts +1 -1
  130. package/dist/entities/ai-interaction.entity.d.ts +2 -2
  131. package/dist/entities/chatter-message-details.entity.d.ts +2 -2
  132. package/dist/entities/chatter-message.entity.d.ts +3 -2
  133. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  134. package/dist/entities/chatter-message.entity.js +5 -1
  135. package/dist/entities/chatter-message.entity.js.map +1 -1
  136. package/dist/entities/dashboard-layout.entity.d.ts +2 -2
  137. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +2 -2
  138. package/dist/entities/dashboard-question.entity.d.ts +3 -3
  139. package/dist/entities/dashboard-variable.entity.d.ts +2 -2
  140. package/dist/entities/dashboard.entity.d.ts +4 -4
  141. package/dist/entities/email-template.entity.d.ts +1 -1
  142. package/dist/entities/export-template.entity.d.ts +2 -2
  143. package/dist/entities/export-transaction.entity.d.ts +2 -2
  144. package/dist/entities/field-metadata.entity.d.ts +2 -2
  145. package/dist/entities/import-transaction-error-log.entity.d.ts +2 -2
  146. package/dist/entities/import-transaction.entity.d.ts +3 -3
  147. package/dist/entities/list-of-values.entity.d.ts +2 -2
  148. package/dist/entities/locale.entity.d.ts +1 -1
  149. package/dist/entities/media-storage-provider-metadata.entity.d.ts +1 -1
  150. package/dist/entities/media.entity.d.ts +4 -4
  151. package/dist/entities/menu-item-metadata.entity.d.ts +4 -4
  152. package/dist/entities/model-metadata.entity.d.ts +1 -1
  153. package/dist/entities/model-sequence.entity.d.ts +4 -4
  154. package/dist/entities/module-metadata.entity.d.ts +1 -1
  155. package/dist/entities/mq-message-queue.entity.d.ts +2 -2
  156. package/dist/entities/mq-message.entity.d.ts +2 -2
  157. package/dist/entities/permission-metadata.entity.d.ts +2 -2
  158. package/dist/entities/role-metadata.entity.d.ts +4 -4
  159. package/dist/entities/saved-filters.entity.d.ts +4 -4
  160. package/dist/entities/scheduled-job.entity.d.ts +1 -1
  161. package/dist/entities/security-rule.entity.d.ts +3 -3
  162. package/dist/entities/setting.entity.d.ts +2 -2
  163. package/dist/entities/sms-template.entity.d.ts +1 -1
  164. package/dist/entities/user-activity-history.entity.d.ts +2 -2
  165. package/dist/entities/user-api-key.entity.d.ts +1 -1
  166. package/dist/entities/user-view-metadata.entity.d.ts +3 -3
  167. package/dist/entities/user.entity.d.ts +12 -4
  168. package/dist/entities/user.entity.d.ts.map +1 -1
  169. package/dist/entities/user.entity.js +34 -1
  170. package/dist/entities/user.entity.js.map +1 -1
  171. package/dist/entities/view-metadata.entity.d.ts +4 -4
  172. package/dist/factories/mail.factory.d.ts +3 -3
  173. package/dist/factories/sms.factory.d.ts +3 -3
  174. package/dist/factories/whatsapp.factory.d.ts +3 -3
  175. package/dist/filters/http-exception.filter.d.ts +1 -1
  176. package/dist/guards/api-key.guard.d.ts +1 -1
  177. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  178. package/dist/helpers/bootstrap.helper.js +4 -1
  179. package/dist/helpers/bootstrap.helper.js.map +1 -1
  180. package/dist/helpers/cors.helper.js +1 -1
  181. package/dist/helpers/cors.helper.js.map +1 -1
  182. package/dist/helpers/error-mapper.service.d.ts +2 -2
  183. package/dist/helpers/facebook-oauth.helper.d.ts +8 -0
  184. package/dist/helpers/facebook-oauth.helper.d.ts.map +1 -0
  185. package/dist/helpers/facebook-oauth.helper.js +11 -0
  186. package/dist/helpers/facebook-oauth.helper.js.map +1 -0
  187. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts +1 -1
  188. package/dist/helpers/field-crud-managers/BooleanFieldCrudManager.d.ts +1 -1
  189. package/dist/helpers/field-crud-managers/ComputedFieldCrudManager.d.ts +2 -2
  190. package/dist/helpers/field-crud-managers/DateFieldCrudManager.d.ts +1 -1
  191. package/dist/helpers/field-crud-managers/DecimalFieldCrudManager.d.ts +1 -1
  192. package/dist/helpers/field-crud-managers/EmailFieldCrudManager.d.ts +1 -1
  193. package/dist/helpers/field-crud-managers/IntFieldCrudManager.d.ts +1 -1
  194. package/dist/helpers/field-crud-managers/JsonFieldCrudManager.d.ts +1 -1
  195. package/dist/helpers/field-crud-managers/LongTextFieldCrudManager.d.ts +1 -1
  196. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +1 -1
  197. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +5 -5
  198. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  199. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +1 -1
  200. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
  201. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +2 -2
  202. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  203. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -1
  204. package/dist/helpers/field-crud-managers/NoOpsFieldCrudManager.d.ts +1 -1
  205. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +1 -1
  206. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +5 -5
  207. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  208. package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.d.ts +2 -2
  209. package/dist/helpers/field-crud-managers/RichTextFieldCrudManager.d.ts +1 -1
  210. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts +2 -2
  211. package/dist/helpers/field-crud-managers/SelectionStaticFieldCrudManager.d.ts +2 -2
  212. package/dist/helpers/field-crud-managers/ShortTextFieldCrudManager.d.ts +1 -1
  213. package/dist/helpers/field-crud-managers/UUIDFieldCrudManager.d.ts +1 -1
  214. package/dist/helpers/microsoft-oauth.helper.d.ts +9 -0
  215. package/dist/helpers/microsoft-oauth.helper.d.ts.map +1 -0
  216. package/dist/helpers/microsoft-oauth.helper.js +12 -0
  217. package/dist/helpers/microsoft-oauth.helper.js.map +1 -0
  218. package/dist/helpers/model-metadata-helper.service.d.ts +1 -1
  219. package/dist/helpers/module-metadata-helper.service.d.ts +1 -1
  220. package/dist/helpers/module-metadata-helper.service.js +3 -3
  221. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  222. package/dist/helpers/security.helper.d.ts.map +1 -1
  223. package/dist/helpers/solid-core-error-codes-provider.service.d.ts +1 -1
  224. package/dist/helpers/solid-registry.d.ts +11 -5
  225. package/dist/helpers/solid-registry.d.ts.map +1 -1
  226. package/dist/helpers/solid-registry.js +15 -2
  227. package/dist/helpers/solid-registry.js.map +1 -1
  228. package/dist/helpers/string.helper.d.ts +1 -0
  229. package/dist/helpers/string.helper.d.ts.map +1 -1
  230. package/dist/helpers/string.helper.js +4 -1
  231. package/dist/helpers/string.helper.js.map +1 -1
  232. package/dist/helpers/user-helper.d.ts.map +1 -1
  233. package/dist/helpers/user-helper.js +4 -0
  234. package/dist/helpers/user-helper.js.map +1 -1
  235. package/dist/index.d.ts +3 -0
  236. package/dist/index.d.ts.map +1 -1
  237. package/dist/index.js +3 -0
  238. package/dist/index.js.map +1 -1
  239. package/dist/interfaces/mq.d.ts +1 -1
  240. package/dist/interfaces/mq.d.ts.map +1 -1
  241. package/dist/interfaces/mq.js.map +1 -1
  242. package/dist/interfaces.d.ts +30 -3
  243. package/dist/interfaces.d.ts.map +1 -1
  244. package/dist/interfaces.js.map +1 -1
  245. package/dist/jobs/database/api-email-publisher-database.service.d.ts +4 -4
  246. package/dist/jobs/database/api-email-queue-options-database.d.ts +1 -1
  247. package/dist/jobs/database/api-email-subscriber-database.service.d.ts +8 -8
  248. package/dist/jobs/database/api-email-subscriber-database.service.js +1 -1
  249. package/dist/jobs/database/api-email-subscriber-database.service.js.map +1 -1
  250. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts +1 -1
  251. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts +4 -4
  252. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.d.ts +5 -5
  253. package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.d.ts +8 -8
  254. package/dist/jobs/database/generate-code-publisher-database.service.d.ts +1 -1
  255. package/dist/jobs/database/generate-code-subscriber-database.service.d.ts +4 -4
  256. package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts +4 -4
  257. package/dist/jobs/database/msg91-sms-queue-database-options.d.ts +1 -1
  258. package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts +7 -7
  259. package/dist/jobs/database/msg91-whatsapp-publisher-database.service.d.ts +4 -4
  260. package/dist/jobs/database/msg91-whatsapp-queue-options-database.d.ts +1 -1
  261. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.d.ts +8 -8
  262. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js +1 -1
  263. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js.map +1 -1
  264. package/dist/jobs/database/otp-publisher-database.service.d.ts +4 -4
  265. package/dist/jobs/database/otp-queue-options-database.d.ts +1 -1
  266. package/dist/jobs/database/otp-subscriber-database.service.d.ts +7 -7
  267. package/dist/jobs/database/smtp-email-publisher-database.service.d.ts +4 -4
  268. package/dist/jobs/database/smtp-email-queue-options-database.d.ts +1 -1
  269. package/dist/jobs/database/smtp-email-subscriber-database.service.d.ts +7 -7
  270. package/dist/jobs/database/test-queue-publisher-database.service.d.ts +1 -1
  271. package/dist/jobs/database/test-queue-subscriber-database.service.d.ts +3 -3
  272. package/dist/jobs/database/three60-whatsapp-publisher-database.service.d.ts +4 -4
  273. package/dist/jobs/database/three60-whatsapp-queue-options-database.d.ts +1 -1
  274. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.d.ts +8 -8
  275. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js +1 -1
  276. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js.map +1 -1
  277. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +4 -4
  278. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +1 -1
  279. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +8 -8
  280. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  281. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +2 -2
  282. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  283. package/dist/jobs/database/twilio-sms-publisher-database.service.d.ts +4 -4
  284. package/dist/jobs/database/twilio-sms-queue-database-options.d.ts +1 -1
  285. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +7 -7
  286. package/dist/jobs/rabbitmq/api-email-publisher.service.d.ts +3 -3
  287. package/dist/jobs/rabbitmq/api-email-subscriber.service.d.ts +5 -5
  288. package/dist/jobs/rabbitmq/api-email-subscriber.service.js +1 -1
  289. package/dist/jobs/rabbitmq/api-email-subscriber.service.js.map +1 -1
  290. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts +1 -1
  291. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts +3 -3
  292. package/dist/jobs/rabbitmq/computed-field-evaluation-publisher.service.d.ts +5 -5
  293. package/dist/jobs/rabbitmq/computed-field-evaluation-subscriber.service.d.ts +8 -8
  294. package/dist/jobs/rabbitmq/generate-code-publisher.service.d.ts +1 -1
  295. package/dist/jobs/rabbitmq/generate-code-subscriber.service.d.ts +7 -7
  296. package/dist/jobs/rabbitmq/msg91-otp-publisher.service.d.ts +3 -3
  297. package/dist/jobs/rabbitmq/msg91-otp-subscriber.service.d.ts +5 -5
  298. package/dist/jobs/rabbitmq/msg91-sms-publisher.service.d.ts +3 -3
  299. package/dist/jobs/rabbitmq/msg91-sms-subscriber.service.d.ts +5 -5
  300. package/dist/jobs/rabbitmq/msg91-whatsapp-publisher.service.d.ts +3 -3
  301. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.d.ts +5 -5
  302. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js +1 -1
  303. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js.map +1 -1
  304. package/dist/jobs/rabbitmq/smtp-email-publisher.service.d.ts +3 -3
  305. package/dist/jobs/rabbitmq/smtp-email-subscriber.service.d.ts +4 -4
  306. package/dist/jobs/rabbitmq/test-queue-publisher.service.d.ts +1 -1
  307. package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts +3 -3
  308. package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts.map +1 -1
  309. package/dist/jobs/rabbitmq/test-queue-subscriber.service.js +6 -3
  310. package/dist/jobs/rabbitmq/test-queue-subscriber.service.js.map +1 -1
  311. package/dist/jobs/rabbitmq/three60-whatsapp-publisher.service.d.ts +3 -3
  312. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.d.ts +6 -6
  313. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js +1 -1
  314. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js.map +1 -1
  315. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +3 -3
  316. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +6 -6
  317. package/dist/jobs/rabbitmq/twilio-sms-publisher.service.d.ts +3 -3
  318. package/dist/jobs/rabbitmq/twilio-sms-subscriber.service.d.ts +6 -6
  319. package/dist/jobs/redis/api-email-publisher-redis.service.d.ts +1 -1
  320. package/dist/jobs/redis/api-email-subscriber-redis.service.d.ts +3 -3
  321. package/dist/jobs/redis/api-email-subscriber-redis.service.js +1 -1
  322. package/dist/jobs/redis/api-email-subscriber-redis.service.js.map +1 -1
  323. package/dist/jobs/redis/chatter-queue-publisher-redis.service.d.ts +1 -1
  324. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts +2 -2
  325. package/dist/jobs/redis/computed-field-evaluation-publisher-redis.service.d.ts +2 -2
  326. package/dist/jobs/redis/computed-field-evaluation-subscriber-redis.service.d.ts +4 -4
  327. package/dist/jobs/redis/generate-code-publisher-redis.service.d.ts +1 -1
  328. package/dist/jobs/redis/generate-code-subscriber-redis.service.d.ts +3 -3
  329. package/dist/jobs/redis/msg91-otp-publisher-redis.service.d.ts +1 -1
  330. package/dist/jobs/redis/msg91-otp-subscriber-redis.service.d.ts +3 -3
  331. package/dist/jobs/redis/msg91-sms-publisher-redis.service.d.ts +1 -1
  332. package/dist/jobs/redis/msg91-sms-subscriber-redis.service.d.ts +3 -3
  333. package/dist/jobs/redis/msg91-whatsapp-publisher-redis.service.d.ts +1 -1
  334. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.d.ts +3 -3
  335. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js +1 -1
  336. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js.map +1 -1
  337. package/dist/jobs/redis/smtp-email-publisher-redis.service.d.ts +1 -1
  338. package/dist/jobs/redis/smtp-email-subscriber-redis.service.d.ts +2 -2
  339. package/dist/jobs/redis/test-queue-publisher-redis.service.d.ts +1 -1
  340. package/dist/jobs/redis/test-queue-subscriber-redis.service.d.ts +2 -2
  341. package/dist/jobs/redis/three60-whatsapp-publisher-redis.service.d.ts +1 -1
  342. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.d.ts +3 -3
  343. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js +1 -1
  344. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js.map +1 -1
  345. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +1 -1
  346. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +2 -2
  347. package/dist/jobs/redis/twilio-sms-publisher-redis.service.d.ts +1 -1
  348. package/dist/jobs/redis/twilio-sms-subscriber-redis.service.d.ts +3 -3
  349. package/dist/mappers/dashboard-mapper.d.ts +1 -1
  350. package/dist/mappers/list-of-values-mapper.d.ts +1 -1
  351. package/dist/passport-strategies/facebook-oauth.strategy.d.ts +14 -0
  352. package/dist/passport-strategies/facebook-oauth.strategy.d.ts.map +1 -0
  353. package/dist/passport-strategies/facebook-oauth.strategy.js +73 -0
  354. package/dist/passport-strategies/facebook-oauth.strategy.js.map +1 -0
  355. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts +14 -0
  356. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts.map +1 -0
  357. package/dist/passport-strategies/microsoft-oauth.strategy.js +77 -0
  358. package/dist/passport-strategies/microsoft-oauth.strategy.js.map +1 -0
  359. package/dist/repository/action-metadata.repository.d.ts +2 -2
  360. package/dist/repository/agent-event.repository.d.ts +2 -2
  361. package/dist/repository/agent-session.repository.d.ts +2 -2
  362. package/dist/repository/ai-interaction.repository.d.ts +2 -2
  363. package/dist/repository/chatter-message-details.repository.d.ts +2 -2
  364. package/dist/repository/chatter-message-details.repository.d.ts.map +1 -1
  365. package/dist/repository/chatter-message-details.repository.js +7 -6
  366. package/dist/repository/chatter-message-details.repository.js.map +1 -1
  367. package/dist/repository/chatter-message.repository.d.ts +2 -2
  368. package/dist/repository/chatter-message.repository.d.ts.map +1 -1
  369. package/dist/repository/chatter-message.repository.js +4 -4
  370. package/dist/repository/chatter-message.repository.js.map +1 -1
  371. package/dist/repository/dashboard-layout.repository.d.ts +2 -2
  372. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +2 -2
  373. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +1 -1
  374. package/dist/repository/dashboard-question-sql-dataset-config.repository.js +2 -2
  375. package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +1 -1
  376. package/dist/repository/dashboard-question.repository.d.ts +2 -2
  377. package/dist/repository/dashboard-question.repository.d.ts.map +1 -1
  378. package/dist/repository/dashboard-question.repository.js +2 -2
  379. package/dist/repository/dashboard-question.repository.js.map +1 -1
  380. package/dist/repository/dashboard-variable.repository.d.ts +2 -2
  381. package/dist/repository/dashboard-variable.repository.d.ts.map +1 -1
  382. package/dist/repository/dashboard-variable.repository.js +2 -2
  383. package/dist/repository/dashboard-variable.repository.js.map +1 -1
  384. package/dist/repository/dashboard.repository.d.ts +2 -2
  385. package/dist/repository/email-template.repository.d.ts +2 -2
  386. package/dist/repository/email-template.repository.d.ts.map +1 -1
  387. package/dist/repository/email-template.repository.js +2 -2
  388. package/dist/repository/email-template.repository.js.map +1 -1
  389. package/dist/repository/export-template.repository.d.ts +2 -2
  390. package/dist/repository/export-template.repository.d.ts.map +1 -1
  391. package/dist/repository/export-template.repository.js +2 -2
  392. package/dist/repository/export-template.repository.js.map +1 -1
  393. package/dist/repository/export-transaction.repository.d.ts +2 -2
  394. package/dist/repository/export-transaction.repository.d.ts.map +1 -1
  395. package/dist/repository/export-transaction.repository.js +2 -2
  396. package/dist/repository/export-transaction.repository.js.map +1 -1
  397. package/dist/repository/field-metadata.repository.d.ts +1 -1
  398. package/dist/repository/import-transaction-error-log.repository.d.ts +2 -2
  399. package/dist/repository/import-transaction-error-log.repository.d.ts.map +1 -1
  400. package/dist/repository/import-transaction-error-log.repository.js +2 -2
  401. package/dist/repository/import-transaction-error-log.repository.js.map +1 -1
  402. package/dist/repository/import-transaction.repository.d.ts +2 -2
  403. package/dist/repository/import-transaction.repository.d.ts.map +1 -1
  404. package/dist/repository/import-transaction.repository.js +2 -2
  405. package/dist/repository/import-transaction.repository.js.map +1 -1
  406. package/dist/repository/list-of-values.repository.d.ts +2 -2
  407. package/dist/repository/list-of-values.repository.d.ts.map +1 -1
  408. package/dist/repository/list-of-values.repository.js +2 -2
  409. package/dist/repository/list-of-values.repository.js.map +1 -1
  410. package/dist/repository/locale.repository.d.ts +2 -2
  411. package/dist/repository/locale.repository.d.ts.map +1 -1
  412. package/dist/repository/locale.repository.js +2 -2
  413. package/dist/repository/locale.repository.js.map +1 -1
  414. package/dist/repository/media-storage-provider-metadata.repository.d.ts +1 -1
  415. package/dist/repository/media.repository.d.ts +2 -2
  416. package/dist/repository/menu-item-metadata.repository.d.ts +2 -2
  417. package/dist/repository/menu-item-metadata.repository.d.ts.map +1 -1
  418. package/dist/repository/menu-item-metadata.repository.js +2 -2
  419. package/dist/repository/menu-item-metadata.repository.js.map +1 -1
  420. package/dist/repository/model-metadata.repository.d.ts +1 -1
  421. package/dist/repository/model-metadata.repository.d.ts.map +1 -1
  422. package/dist/repository/model-metadata.repository.js +2 -2
  423. package/dist/repository/model-metadata.repository.js.map +1 -1
  424. package/dist/repository/model-sequence.repository.d.ts +3 -3
  425. package/dist/repository/module-metadata.repository.d.ts +1 -1
  426. package/dist/repository/module-metadata.repository.d.ts.map +1 -1
  427. package/dist/repository/module-metadata.repository.js +2 -2
  428. package/dist/repository/module-metadata.repository.js.map +1 -1
  429. package/dist/repository/mq-message-queue.repository.d.ts +2 -2
  430. package/dist/repository/mq-message-queue.repository.d.ts.map +1 -1
  431. package/dist/repository/mq-message-queue.repository.js +2 -2
  432. package/dist/repository/mq-message-queue.repository.js.map +1 -1
  433. package/dist/repository/mq-message.repository.d.ts +2 -2
  434. package/dist/repository/mq-message.repository.d.ts.map +1 -1
  435. package/dist/repository/mq-message.repository.js +2 -2
  436. package/dist/repository/mq-message.repository.js.map +1 -1
  437. package/dist/repository/permission-metadata.repository.d.ts +2 -2
  438. package/dist/repository/permission-metadata.repository.d.ts.map +1 -1
  439. package/dist/repository/permission-metadata.repository.js +2 -2
  440. package/dist/repository/permission-metadata.repository.js.map +1 -1
  441. package/dist/repository/role-metadata.repository.d.ts +2 -2
  442. package/dist/repository/role-metadata.repository.d.ts.map +1 -1
  443. package/dist/repository/role-metadata.repository.js +2 -2
  444. package/dist/repository/role-metadata.repository.js.map +1 -1
  445. package/dist/repository/saved-filters.repository.d.ts +2 -2
  446. package/dist/repository/scheduled-job.repository.d.ts +3 -3
  447. package/dist/repository/security-rule.repository.d.ts +7 -7
  448. package/dist/repository/setting.repository.d.ts +2 -2
  449. package/dist/repository/setting.repository.d.ts.map +1 -1
  450. package/dist/repository/setting.repository.js +2 -2
  451. package/dist/repository/setting.repository.js.map +1 -1
  452. package/dist/repository/sms-template.repository.d.ts +2 -2
  453. package/dist/repository/sms-template.repository.d.ts.map +1 -1
  454. package/dist/repository/sms-template.repository.js +2 -2
  455. package/dist/repository/sms-template.repository.js.map +1 -1
  456. package/dist/repository/solid-base.repository.d.ts +2 -2
  457. package/dist/repository/solid-base.repository.js +2 -2
  458. package/dist/repository/solid-base.repository.js.map +1 -1
  459. package/dist/repository/user-activity-history.repository.d.ts +2 -2
  460. package/dist/repository/user-activity-history.repository.d.ts.map +1 -1
  461. package/dist/repository/user-activity-history.repository.js +2 -2
  462. package/dist/repository/user-activity-history.repository.js.map +1 -1
  463. package/dist/repository/user-api-key.repository.d.ts +2 -2
  464. package/dist/repository/user-view-metadata.repository.d.ts +2 -2
  465. package/dist/repository/user-view-metadata.repository.d.ts.map +1 -1
  466. package/dist/repository/user-view-metadata.repository.js +2 -2
  467. package/dist/repository/user-view-metadata.repository.js.map +1 -1
  468. package/dist/repository/user.repository.d.ts +2 -2
  469. package/dist/repository/view-metadata.repository.d.ts +2 -2
  470. package/dist/seeders/module-metadata-seeder.service.d.ts +17 -14
  471. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  472. package/dist/seeders/module-metadata-seeder.service.js +65 -38
  473. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  474. package/dist/seeders/module-test-data.service.d.ts +1 -1
  475. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  476. package/dist/seeders/module-test-data.service.js +5 -12
  477. package/dist/seeders/module-test-data.service.js.map +1 -1
  478. package/dist/seeders/permission-metadata-seeder.service.d.ts +2 -2
  479. package/dist/seeders/seed-data/solid-core-metadata.json +40 -89
  480. package/dist/seeders/system-fields-seeder.service.d.ts +3 -3
  481. package/dist/services/action-metadata.service.d.ts +2 -2
  482. package/dist/services/agent-event.service.d.ts +2 -2
  483. package/dist/services/agent-session.service.d.ts +2 -2
  484. package/dist/services/ai-interaction.service.d.ts +4 -4
  485. package/dist/services/api-key.service.d.ts +23 -7
  486. package/dist/services/api-key.service.d.ts.map +1 -1
  487. package/dist/services/api-key.service.js +38 -2
  488. package/dist/services/api-key.service.js.map +1 -1
  489. package/dist/services/authentication.service.d.ts +58 -19
  490. package/dist/services/authentication.service.d.ts.map +1 -1
  491. package/dist/services/authentication.service.js +344 -171
  492. package/dist/services/authentication.service.js.map +1 -1
  493. package/dist/services/chatter-message-details.service.d.ts +2 -2
  494. package/dist/services/chatter-message.service.d.ts +8 -7
  495. package/dist/services/chatter-message.service.d.ts.map +1 -1
  496. package/dist/services/chatter-message.service.js +17 -0
  497. package/dist/services/chatter-message.service.js.map +1 -1
  498. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts +3 -3
  499. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +3 -3
  500. package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.d.ts +2 -2
  501. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +3 -3
  502. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -1
  503. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +2 -2
  504. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -1
  505. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts +2 -2
  506. package/dist/services/crud-helper.service.d.ts +1 -1
  507. package/dist/services/crud-helper.service.d.ts.map +1 -1
  508. package/dist/services/crud-helper.service.js +9 -9
  509. package/dist/services/crud-helper.service.js.map +1 -1
  510. package/dist/services/crud.service.d.ts +4 -1
  511. package/dist/services/crud.service.d.ts.map +1 -1
  512. package/dist/services/crud.service.js +52 -3
  513. package/dist/services/crud.service.js.map +1 -1
  514. package/dist/services/dashboard-layout.service.d.ts +4 -4
  515. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -2
  516. package/dist/services/dashboard-question.service.d.ts +3 -3
  517. package/dist/services/dashboard-question.service.js.map +1 -1
  518. package/dist/services/dashboard-variable.service.d.ts +2 -2
  519. package/dist/services/dashboard.service.d.ts +7 -7
  520. package/dist/services/email-template.service.d.ts +1 -1
  521. package/dist/services/export-template.service.d.ts +5 -5
  522. package/dist/services/export-transaction.service.d.ts +7 -7
  523. package/dist/services/export-transaction.service.d.ts.map +1 -1
  524. package/dist/services/export-transaction.service.js +4 -3
  525. package/dist/services/export-transaction.service.js.map +1 -1
  526. package/dist/services/field-metadata.service.d.ts +5 -5
  527. package/dist/services/field-metadata.service.d.ts.map +1 -1
  528. package/dist/services/field-metadata.service.js +7 -7
  529. package/dist/services/field-metadata.service.js.map +1 -1
  530. package/dist/services/fixtures.service.d.ts +1 -1
  531. package/dist/services/fixtures.service.js +2 -2
  532. package/dist/services/fixtures.service.js.map +1 -1
  533. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +1 -1
  534. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +1 -1
  535. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +2 -2
  536. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +1 -1
  537. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +1 -1
  538. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +2 -2
  539. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +1 -1
  540. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +1 -1
  541. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +1 -1
  542. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +1 -1
  543. package/dist/services/import-transaction-error-log.service.d.ts +2 -2
  544. package/dist/services/import-transaction.service.d.ts +6 -6
  545. package/dist/services/import-transaction.service.d.ts.map +1 -1
  546. package/dist/services/import-transaction.service.js +2 -2
  547. package/dist/services/import-transaction.service.js.map +1 -1
  548. package/dist/services/list-of-values.service.d.ts +4 -4
  549. package/dist/services/locale.service.d.ts +4 -4
  550. package/dist/services/mail/elastic-email.service.d.ts +1 -1
  551. package/dist/services/mail/smtp-email.service.d.ts +1 -1
  552. package/dist/services/media-storage-provider-metadata.service.d.ts +1 -1
  553. package/dist/services/media.service.d.ts +8 -8
  554. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +5 -5
  555. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
  556. package/dist/services/menu-item-metadata.service.d.ts +4 -4
  557. package/dist/services/menu-item-metadata.service.js +2 -2
  558. package/dist/services/menu-item-metadata.service.js.map +1 -1
  559. package/dist/services/model-metadata.service.d.ts +4 -4
  560. package/dist/services/model-metadata.service.d.ts.map +1 -1
  561. package/dist/services/model-metadata.service.js +12 -11
  562. package/dist/services/model-metadata.service.js.map +1 -1
  563. package/dist/services/model-sequence.service.d.ts +1 -1
  564. package/dist/services/module-metadata.service.d.ts +4 -4
  565. package/dist/services/module-metadata.service.d.ts.map +1 -1
  566. package/dist/services/module-metadata.service.js +2 -2
  567. package/dist/services/module-metadata.service.js.map +1 -1
  568. package/dist/services/mq-message-queue.service.d.ts +2 -2
  569. package/dist/services/mq-message.service.d.ts +2 -2
  570. package/dist/services/permission-metadata.service.d.ts +2 -2
  571. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +2 -2
  572. package/dist/services/question-data-providers/helpers.d.ts +1 -1
  573. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +2 -2
  574. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +2 -2
  575. package/dist/services/queues/database-subscriber.service.d.ts +1 -1
  576. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  577. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  578. package/dist/services/queues/publisher-factory.service.d.ts +1 -1
  579. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
  580. package/dist/services/queues/publisher-factory.service.js +2 -2
  581. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  582. package/dist/services/queues/rabbitmq-subscriber.service.d.ts +1 -1
  583. package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
  584. package/dist/services/queues/rabbitmq-subscriber.service.js +3 -1
  585. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  586. package/dist/services/queues/redis-subscriber.service.d.ts +1 -1
  587. package/dist/services/queues/redis-subscriber.service.d.ts.map +1 -1
  588. package/dist/services/queues/redis-subscriber.service.js.map +1 -1
  589. package/dist/services/request-context.service.d.ts +2 -2
  590. package/dist/services/role-metadata.service.d.ts +3 -3
  591. package/dist/services/saved-filters.service.d.ts +2 -2
  592. package/dist/services/scheduled-job.service.d.ts +3 -3
  593. package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts +1 -1
  594. package/dist/services/scheduled-jobs/scheduler.interface.d.ts +1 -1
  595. package/dist/services/scheduled-jobs/scheduler.service.d.ts +3 -3
  596. package/dist/services/security-rule.service.d.ts +3 -3
  597. package/dist/services/security-rule.service.d.ts.map +1 -1
  598. package/dist/services/security-rule.service.js +3 -3
  599. package/dist/services/security-rule.service.js.map +1 -1
  600. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +1 -1
  601. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +1 -1
  602. package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts +1 -1
  603. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts +1 -1
  604. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +3 -3
  605. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -1
  606. package/dist/services/setting.service.d.ts +10 -7
  607. package/dist/services/setting.service.d.ts.map +1 -1
  608. package/dist/services/setting.service.js +52 -7
  609. package/dist/services/setting.service.js.map +1 -1
  610. package/dist/services/settings/default-settings-provider.service.d.ts +829 -9
  611. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  612. package/dist/services/settings/default-settings-provider.service.js +1033 -118
  613. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  614. package/dist/services/short-url/tiny-url.service.d.ts +1 -1
  615. package/dist/services/sms/Msg91BaseSMSService.d.ts +1 -1
  616. package/dist/services/sms/Msg91OTPService.d.ts +1 -1
  617. package/dist/services/sms/Msg91SMSService.d.ts +1 -1
  618. package/dist/services/sms/TwilioSMSService.d.ts +1 -1
  619. package/dist/services/sms-template.service.d.ts +1 -1
  620. package/dist/services/solid-introspect.service.d.ts +9 -8
  621. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  622. package/dist/services/solid-introspect.service.js +13 -2
  623. package/dist/services/solid-introspect.service.js.map +1 -1
  624. package/dist/services/user-activity-history.service.d.ts +3 -3
  625. package/dist/services/user-view-metadata.service.d.ts +4 -4
  626. package/dist/services/user.service.d.ts +5 -3
  627. package/dist/services/user.service.d.ts.map +1 -1
  628. package/dist/services/user.service.js +72 -0
  629. package/dist/services/user.service.js.map +1 -1
  630. package/dist/services/view-metadata.service.d.ts +4 -4
  631. package/dist/services/view-metadata.service.d.ts.map +1 -1
  632. package/dist/services/view-metadata.service.js +2 -2
  633. package/dist/services/view-metadata.service.js.map +1 -1
  634. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +1 -1
  635. package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -1
  636. package/dist/solid-core.module.d.ts.map +1 -1
  637. package/dist/solid-core.module.js +11 -3
  638. package/dist/solid-core.module.js.map +1 -1
  639. package/dist/subscribers/audit.subscriber.d.ts +4 -4
  640. package/dist/subscribers/computed-entity-field.subscriber.d.ts +2 -2
  641. package/dist/subscribers/computed-entity-field.subscriber.js +6 -6
  642. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  643. package/dist/subscribers/created-by-updated-by.subscriber.d.ts +1 -1
  644. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +3 -3
  645. package/dist/subscribers/dashboard-question.subscriber.d.ts +3 -3
  646. package/dist/subscribers/dashboard-variable.subscriber.d.ts +3 -3
  647. package/dist/subscribers/dashboard.subscriber.d.ts +3 -3
  648. package/dist/subscribers/list-of-values.subscriber.d.ts +3 -3
  649. package/dist/subscribers/model-metadata.subscriber.d.ts +1 -1
  650. package/dist/subscribers/scheduled-job.subscriber.d.ts +3 -3
  651. package/dist/subscribers/security-rule.subscriber.d.ts +3 -3
  652. package/dist/subscribers/view-metadata.subscriber.d.ts +2 -2
  653. package/dist/testing/contracts/testing-metadata.types.d.ts +1 -0
  654. package/dist/testing/contracts/testing-metadata.types.d.ts.map +1 -1
  655. package/dist/testing/contracts/testing-metadata.types.js.map +1 -1
  656. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
  657. package/dist/testing/steps/ui/assertions.step.js +8 -0
  658. package/dist/testing/steps/ui/assertions.step.js.map +1 -1
  659. package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
  660. package/dist/testing/steps/ui/form.step.js +49 -0
  661. package/dist/testing/steps/ui/form.step.js.map +1 -1
  662. package/dist/transformers/array-transformer.d.ts.map +1 -1
  663. package/dist/transformers/boolean-transformer.d.ts.map +1 -1
  664. package/dist/transformers/datetime-transformer.d.ts.map +1 -1
  665. package/dist/transformers/integer-transformer.d.ts.map +1 -1
  666. package/dist/validators/is-parsable-int.d.ts.map +1 -1
  667. package/dist/winston.logger.js +1 -1
  668. package/dist/winston.logger.js.map +1 -1
  669. package/nest +0 -0
  670. package/package.json +13 -7
  671. package/src/constants/chatter-message.constants.ts +7 -0
  672. package/src/controllers/authentication.controller.ts +8 -1
  673. package/src/controllers/chatter-message.controller.ts +6 -0
  674. package/src/controllers/facebook-authentication.controller.ts +113 -0
  675. package/src/controllers/menu-item-metadata.controller.ts +21 -15
  676. package/src/controllers/microsoft-authentication.controller.ts +116 -0
  677. package/src/controllers/otp-authentication.controller.ts +2 -2
  678. package/src/controllers/setting.controller.ts +2 -2
  679. package/src/decorators/extension-user-creation-provider.decorator.ts +5 -0
  680. package/src/dtos/create-chatter-message.dto.ts +11 -0
  681. package/src/dtos/create-field-metadata.dto.ts +1 -1
  682. package/src/dtos/create-user.dto.ts +4 -0
  683. package/src/dtos/post-chatter-message.dto.ts +4 -0
  684. package/src/dtos/update-chatter-message.dto.ts +13 -1
  685. package/src/dtos/update-user.dto.ts +4 -0
  686. package/src/entities/chatter-message.entity.ts +4 -1
  687. package/src/entities/user.entity.ts +33 -0
  688. package/src/helpers/bootstrap.helper.ts +5 -2
  689. package/src/helpers/cors.helper.ts +1 -1
  690. package/src/helpers/facebook-oauth.helper.ts +17 -0
  691. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +1 -1
  692. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +1 -2
  693. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +1 -1
  694. package/src/helpers/microsoft-oauth.helper.ts +19 -0
  695. package/src/helpers/module-metadata-helper.service.ts +3 -3
  696. package/src/helpers/solid-registry.ts +19 -1
  697. package/src/helpers/string.helper.ts +3 -0
  698. package/src/helpers/user-helper.ts +4 -0
  699. package/src/index.ts +3 -0
  700. package/src/interfaces/mq.ts +2 -2
  701. package/src/interfaces.ts +41 -1
  702. package/src/jobs/database/api-email-subscriber-database.service.ts +1 -1
  703. package/src/jobs/database/msg91-whatsapp-subscriber-database.service.ts +1 -1
  704. package/src/jobs/database/three60-whatsapp-subscriber-database.service.ts +1 -1
  705. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +1 -1
  706. package/src/jobs/rabbitmq/api-email-subscriber.service.ts +1 -1
  707. package/src/jobs/rabbitmq/msg91-whatsapp-subscriber.service.ts +1 -1
  708. package/src/jobs/rabbitmq/test-queue-subscriber.service.ts +6 -7
  709. package/src/jobs/rabbitmq/three60-whatsapp-subscriber.service.ts +1 -1
  710. package/src/jobs/redis/api-email-subscriber-redis.service.ts +1 -1
  711. package/src/jobs/redis/msg91-whatsapp-subscriber-redis.service.ts +1 -1
  712. package/src/jobs/redis/three60-whatsapp-subscriber-redis.service.ts +1 -1
  713. package/src/passport-strategies/facebook-oauth.strategy.ts +64 -0
  714. package/src/passport-strategies/microsoft-oauth.strategy.ts +70 -0
  715. package/src/repository/chatter-message-details.repository.ts +4 -3
  716. package/src/repository/chatter-message.repository.ts +4 -4
  717. package/src/repository/dashboard-question-sql-dataset-config.repository.ts +1 -1
  718. package/src/repository/dashboard-question.repository.ts +1 -1
  719. package/src/repository/dashboard-variable.repository.ts +1 -1
  720. package/src/repository/email-template.repository.ts +1 -1
  721. package/src/repository/export-template.repository.ts +2 -1
  722. package/src/repository/export-transaction.repository.ts +1 -1
  723. package/src/repository/import-transaction-error-log.repository.ts +1 -1
  724. package/src/repository/import-transaction.repository.ts +1 -1
  725. package/src/repository/list-of-values.repository.ts +1 -1
  726. package/src/repository/locale.repository.ts +1 -1
  727. package/src/repository/menu-item-metadata.repository.ts +1 -1
  728. package/src/repository/model-metadata.repository.ts +1 -1
  729. package/src/repository/module-metadata.repository.ts +1 -1
  730. package/src/repository/mq-message-queue.repository.ts +2 -1
  731. package/src/repository/mq-message.repository.ts +1 -1
  732. package/src/repository/permission-metadata.repository.ts +1 -1
  733. package/src/repository/role-metadata.repository.ts +1 -1
  734. package/src/repository/setting.repository.ts +1 -1
  735. package/src/repository/sms-template.repository.ts +1 -1
  736. package/src/repository/solid-base.repository.ts +2 -2
  737. package/src/repository/user-activity-history.repository.ts +1 -1
  738. package/src/repository/user-view-metadata.repository.ts +1 -1
  739. package/src/seeders/module-metadata-seeder.service.ts +50 -25
  740. package/src/seeders/module-test-data.service.ts +2 -9
  741. package/src/seeders/seed-data/solid-core-metadata.json +40 -89
  742. package/src/services/api-key.service.ts +77 -35
  743. package/src/services/authentication.service.ts +1745 -1308
  744. package/src/services/chatter-message.service.ts +22 -4
  745. package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +1 -2
  746. package/src/services/crud-helper.service.ts +1 -4
  747. package/src/services/crud.service.ts +22 -2
  748. package/src/services/dashboard-question.service.ts +1 -1
  749. package/src/services/export-transaction.service.ts +3 -4
  750. package/src/services/field-metadata.service.ts +1 -4
  751. package/src/services/fixtures.service.ts +1 -1
  752. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +1 -2
  753. package/src/services/import-transaction.service.ts +1 -1
  754. package/src/services/menu-item-metadata.service.ts +2 -2
  755. package/src/services/model-metadata.service.ts +11 -13
  756. package/src/services/module-metadata.service.ts +1 -2
  757. package/src/services/queues/database-subscriber.service.ts +1 -1
  758. package/src/services/queues/publisher-factory.service.ts +1 -2
  759. package/src/services/queues/rabbitmq-subscriber.service.ts +13 -11
  760. package/src/services/queues/redis-subscriber.service.ts +2 -2
  761. package/src/services/security-rule.service.ts +1 -1
  762. package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +1 -1
  763. package/src/services/setting.service.ts +64 -8
  764. package/src/services/settings/default-settings-provider.service.ts +1104 -154
  765. package/src/services/solid-introspect.service.ts +14 -1
  766. package/src/services/user.service.ts +87 -0
  767. package/src/services/view-metadata.service.ts +1 -5
  768. package/src/solid-core.module.ts +25 -8
  769. package/src/subscribers/computed-entity-field.subscriber.ts +6 -6
  770. package/src/testing/contracts/testing-metadata.types.ts +1 -0
  771. package/src/testing/steps/ui/assertions.step.ts +9 -0
  772. package/src/testing/steps/ui/form.step.ts +19 -0
  773. package/src/winston.logger.ts +1 -1
  774. package/tsconfig.json +3 -0
  775. package/dev-grooming-docs/ozzy-prompts.txt +0 -70
  776. package/docs/grouping-enhancements.md +0 -89
  777. package/docs/seed-changes.md +0 -65
  778. package/docs/test-data-workflow.md +0 -200
  779. package/docs/type-declaration-import-issue.md +0 -24
@@ -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":"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
@@ -1 +1 @@
1
- {"version":3,"file":"solid-registry.js","sourceRoot":"","sources":["../../src/helpers/solid-registry.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { ComputedFieldTriggerConfig, ComputedFieldValueType } from 'src/dtos/create-field-metadata.dto';\nimport { CommonEntity } from 'src/entities/common.entity';\nimport { Locale } from 'src/entities/locale.entity';\nimport { SecurityRule } from 'src/entities/security-rule.entity';\nimport { IScheduledJob } from 'src/services/scheduled-jobs/scheduled-job.interface';\nimport { IDashboardQuestionDataProvider, IDashboardVariableSelectionProvider, IErrorCodeProvider, ISecurityRuleConfigProvider, ISelectionProvider, ISelectionProviderContext, ISolidDatabaseModule } from \"../interfaces\";\nimport { ObjectLiteral } from 'typeorm';\n\ntype ControllerMetadata = {\n name: string;\n methods: string[];\n};\n\nexport enum RESERVED_SOLID_KEYWORDS {\n moduleMetadata = \"moduleMetadata\",\n modelMetadata = \"modelMetadata\",\n fieldMetadata = \"fieldMetadata\",\n dataSource = \"dataSource\",\n repository = \"repository\",\n entityManager = \"entityManager\",\n actionMetadata = \"actionMetadata\",\n emailAttachment = \"emailAttachment\",\n emailTemplate = \"emailTemplate\",\n listOfValues = \"listOfValues\",\n mediaStorageProvider = \"mediaStorageProvider\",\n media = \"media\",\n menuItemMetadata = \"menuItemMetadata\",\n mqMessageQueue = \"mqMessageQueue\",\n mqMessage = \"mqMessage\",\n permissionMetadata = \"permissionMetadata\",\n roleMetadata = \"roleMetadata\",\n securityRule = \"securityRule\",\n setting = \"setting\",\n smsTemplate = \"smsTemplate\",\n userMetadata = \"userMetadata\",\n user = \"user\",\n locale = \"locale\"\n}\n\nexport interface TypeOrmEventContext {\n eventType?: string;\n entity?: ObjectLiteral | undefined;\n databaseEntity?: any;\n entityId?: any;\n metadataName?: string;\n updatedColumns?: string[];\n updatedRelations?: string[];\n}\n\nexport interface ComputedFieldMetadata<TContext = any> {\n moduleName: string; // Name of the module where the computed field is defined\n modelName: string; // Name of the model where the computed field is defined\n fieldName: string; // Name of the field that is computed\n computedFieldValueType: ComputedFieldValueType; // Type of the computed field value (e.g., string, number, etc.)\n computedFieldTriggerConfig: ComputedFieldTriggerConfig[]; // JSON stringified object containing the trigger configuration\n // Example: '{\"models\": [\"User\", \"Product\"], \"operations\": [\"create\", \"update\"]}'\n computedFieldValueProviderName: string; // Name of the provider that computes the field value\n // Example: '{\"contextKey\": \"contextValue\"}'\n computedFieldValueProviderCtxt: TContext; // Context for the computed field value\n eventContext: TypeOrmEventContext;\n}\n\n@Injectable()\nexport class SolidRegistry {\n private seeders: Set<InstanceWrapper> = new Set();\n private scheduledJobProviders: Set<InstanceWrapper> = new Set();\n private selectionProviders: Set<InstanceWrapper> = new Set();\n private computedFieldProviders: Set<InstanceWrapper> = new Set();\n private solidDatabaseModules: Set<InstanceWrapper> = new Set();\n private controllers: Set<ControllerMetadata> = new Set();\n private modules: Set<InstanceWrapper> = new Set();\n private securityRules: SecurityRule[] = [];\n private locales: Locale[] = [];\n private computedFieldMetadata: ComputedFieldMetadata[] = [];\n private dashboardVariableSelectionProviders: Set<InstanceWrapper> = new Set();\n private dashboardQuestionDataProviders: Set<InstanceWrapper> = new Set();\n private mailProviders: Set<InstanceWrapper> = new Set();\n private whatsappProviders: Set<InstanceWrapper> = new Set();\n private smsProviders: Set<InstanceWrapper> = new Set();\n private securityRuleConfigProviders: Set<InstanceWrapper> = new Set();\n private errorCodeProviders: Set<InstanceWrapper> = new Set();\n private settingsProviders: Set<InstanceWrapper> = new Set();\n private auditableModels: Set<string> = new Set();\n\n registerErrorCodeProvider(errorCodeProvider: InstanceWrapper): void {\n this.errorCodeProviders.add(errorCodeProvider);\n }\n\n registerWhatsappProvider(whatsappProvider: InstanceWrapper): void {\n this.whatsappProviders.add(whatsappProvider);\n }\n\n registerSmsProvider(smsProvider: InstanceWrapper): void {\n this.smsProviders.add(smsProvider);\n }\n\n registerSecurityRuleConfigProvider(securityRuleConfigProvider: InstanceWrapper): void {\n this.securityRuleConfigProviders.add(securityRuleConfigProvider);\n }\n\n registerMailProvider(mailProvider: InstanceWrapper): void {\n this.mailProviders.add(mailProvider);\n }\n\n registerController(name: string, methodNames: string[]): void {\n this.controllers.add({ name: name, methods: methodNames });\n }\n\n registerControllers(controllers: Set<ControllerMetadata>): void {\n this.controllers = controllers;\n }\n\n registerSeeder(seeder: InstanceWrapper): void {\n this.seeders.add(seeder);\n }\n\n registerSelectionProvider(selectionProvider: InstanceWrapper): void {\n this.selectionProviders.add(selectionProvider);\n }\n\n registerDashboardVariableSelectionProvider(dashboardSelectionProvider: InstanceWrapper): void {\n this.dashboardVariableSelectionProviders.add(dashboardSelectionProvider);\n }\n\n registerDashboardQuestionDataProvider(dashboardQuestionDataProvider: InstanceWrapper): void {\n this.dashboardQuestionDataProviders.add(dashboardQuestionDataProvider);\n }\n\n registerComputedFieldProvider(computedFieldProvider: InstanceWrapper): void {\n this.computedFieldProviders.add(computedFieldProvider);\n }\n\n registerScheduledJobProvider(scheduledJobProvider: InstanceWrapper): void {\n this.scheduledJobProviders.add(scheduledJobProvider);\n }\n\n registerSolidDatabaseModule(solidDatabaseModule: InstanceWrapper): void {\n this.solidDatabaseModules.add(solidDatabaseModule);\n }\n\n registerModules(modules: InstanceWrapper[]): void {\n this.modules = new Set(modules);\n }\n\n registerSettingsProvider(provider: InstanceWrapper) {\n this.settingsProviders.add(provider);\n }\n\n registerSecurityRules(securityRules: SecurityRule[]) {\n this.securityRules = securityRules;\n }\n\n registerlocales(locales: Locale[]) {\n this.locales = locales;\n }\n\n registerComputedFieldMetadata(computedFieldMetadata: ComputedFieldMetadata[]) {\n this.computedFieldMetadata = computedFieldMetadata;\n }\n\n getSettingsProviders(): InstanceWrapper[] {\n return Array.from(this.settingsProviders);\n }\n\n getSettingsProviderInstance<T extends ISelectionProviderContext>(name: string): ISelectionProvider<T> {\n const settingsProviders = this.getSettingsProviders();\n\n for (let i = 0; i < settingsProviders.length; i++) {\n const settingsProvider = settingsProviders[i];\n if (settingsProvider.instance.name() === name) {\n return settingsProvider.instance;\n }\n }\n }\n\n getMailProviders(): Array<InstanceWrapper> {\n return Array.from(this.mailProviders);\n }\n\n getWhatsappProviders(): Array<InstanceWrapper> {\n return Array.from(this.whatsappProviders);\n }\n\n getSmsProviders(): Array<InstanceWrapper> {\n return Array.from(this.smsProviders);\n }\n\n getSecurityRuleConfigProviders(): Array<InstanceWrapper> {\n return Array.from(this.securityRuleConfigProviders);\n }\n\n getSecurityRuleConfigProviderInstance(name: string): ISecurityRuleConfigProvider {\n const securityRuleConfigProviders = this.getSecurityRuleConfigProviders();\n\n for (let i = 0; i < securityRuleConfigProviders.length; i++) {\n const securityRuleConfigProvider = securityRuleConfigProviders[i];\n if (securityRuleConfigProvider.name === name) {\n return securityRuleConfigProvider.instance;\n }\n }\n }\n\n getSeeders(): Array<InstanceWrapper> {\n return Array.from(this.seeders);\n }\n\n getControllers(): ControllerMetadata[] {\n return Array.from(this.controllers);\n }\n\n getSelectionProviders(): Array<InstanceWrapper> {\n return Array.from(this.selectionProviders);\n }\n\n getSelectionProviderInstance<T extends ISelectionProviderContext>(name: string): ISelectionProvider<T> {\n const selectionProviders = this.getSelectionProviders();\n\n for (let i = 0; i < selectionProviders.length; i++) {\n const selectionProvider = selectionProviders[i];\n if (selectionProvider.instance.name() === name) {\n return selectionProvider.instance;\n }\n }\n }\n\n getDashboardVariableSelectionProviders(): Array<InstanceWrapper> {\n return Array.from(this.dashboardVariableSelectionProviders);\n }\n\n getDashboardVariableSelectionProviderInstance<T extends ISelectionProviderContext>(name: string): IDashboardVariableSelectionProvider<T> {\n const dashboardSelectionProviders = this.getDashboardVariableSelectionProviders();\n\n for (let i = 0; i < dashboardSelectionProviders.length; i++) {\n const dashboardSelectionProvider = dashboardSelectionProviders[i];\n if (dashboardSelectionProvider.instance.name() === name) {\n return dashboardSelectionProvider.instance;\n }\n }\n }\n\n getErrorCodeProviders(): Array<InstanceWrapper> {\n return Array.from(this.errorCodeProviders);\n }\n\n getErrorCodeProviderInstance(name: string): IErrorCodeProvider | undefined {\n const providers = this.getErrorCodeProviders();\n for (let i = 0; i < providers.length; i++) {\n const p = providers[i];\n if (p.instance?.name?.() === name) return p.instance as IErrorCodeProvider;\n }\n return undefined;\n }\n\n getDashboardQuestionDataProviders(): Array<InstanceWrapper> {\n return Array.from(this.dashboardQuestionDataProviders)\n }\n\n getDashboardQuestionDataProviderInstance<TContext, TData>(name: string): IDashboardQuestionDataProvider<TContext, TData> {\n const dashboardQuestionDataProviders = this.getDashboardQuestionDataProviders();\n\n for (let i = 0; i < dashboardQuestionDataProviders.length; i++) {\n const dasbhoardQuestionDataProvider = dashboardQuestionDataProviders[i];\n if (dasbhoardQuestionDataProvider.instance.name() === name) {\n return dasbhoardQuestionDataProvider.instance;\n }\n }\n }\n\n getComputedFieldProviders(): Array<InstanceWrapper> {\n return Array.from(this.computedFieldProviders);\n }\n\n getScheduledJobProviders(): Array<InstanceWrapper> {\n return Array.from(this.scheduledJobProviders);\n }\n\n getScheduledJobProviderInstance(name: string): IScheduledJob {\n const scheduledJobProviders = this.getScheduledJobProviders();\n\n for (let i = 0; i < scheduledJobProviders.length; i++) {\n const scheduledJobProvider = scheduledJobProviders[i];\n if (scheduledJobProvider.name === name) {\n return scheduledJobProvider.instance;\n }\n }\n }\n\n getComputedFieldProvider(name: string): InstanceWrapper {\n const provider = this.getComputedFieldProviders().filter((provider) => provider.name === name).pop();\n if (!provider) {\n throw new Error(`Computed Field Provider with name ${name} not found`);\n }\n return provider\n }\n\n getSolidDatabaseModules(): Array<InstanceWrapper> {\n return Array.from(this.solidDatabaseModules);\n }\n\n getDefaultSolidDatabaseModule(): ISolidDatabaseModule {\n const solidDatabaseModulesAsArray = Array.from(this.solidDatabaseModules);\n for (let i = 0; i < solidDatabaseModulesAsArray.length; i++) {\n const solidDatabaseModule = solidDatabaseModulesAsArray[i];\n const solidDatabaseModuleInstance: ISolidDatabaseModule = solidDatabaseModule.instance;\n if (solidDatabaseModuleInstance.name() === 'default') {\n return solidDatabaseModuleInstance;\n }\n }\n }\n\n getModules(): Array<InstanceWrapper> {\n return Array.from(this.modules);\n }\n\n getModule(name: string): InstanceWrapper {\n const module = this.getModules().filter((module) => module.name === name).pop();\n return module\n }\n\n getComputedFieldMetadata(): ComputedFieldMetadata[] {\n return this.computedFieldMetadata;\n }\n\n //TODO:getlocales from locale model and return default locale where isDefault:true \n getDefaultLocale(): Locale | null {\n return this.locales.find(locale => locale.isDefault === true) || null;\n }\n\n getSecurityRules(modelSingularName: string, roleNames: string[] = []): SecurityRule[] {\n // If no role is provided, return all security rules for the model\n if (roleNames.length === 0) {\n return this.securityRules.filter((rule) => rule.modelMetadata.singularName === modelSingularName);\n }\n // If roles are provided, filter the security rules by model and roles\n return this.securityRules.filter((rule) => {\n return rule.modelMetadata.singularName === modelSingularName && roleNames.includes(rule.role.name);\n });\n }\n\n registerAuditableModels(models: Set<string>): void {\n this.auditableModels = models;\n }\n\n isAuditableModel(modelSingularName: string): boolean {\n return this.auditableModels.has(modelSingularName.toLowerCase());\n }\n\n getCommonEntityKeys(): (keyof CommonEntity | 'createdBy' | 'updatedBy')[] {\n return ['id', 'createdAt', 'updatedAt', 'deletedAt', 'createdBy', 'updatedBy', 'deletedTracker', 'localeName', 'defaultEntityLocaleId', 'publishedAt'];\n // return Reflect.getMetadataKeys(CommonEntity.prototype) as (keyof CommonEntity)[];\n }\n\n\n getAllSettingsProviderInstance<T extends ISelectionProviderContext>(): ISelectionProvider<T> {\n const settingsProviders = this.getSettingsProviders();\n\n for (let i = 0; i < settingsProviders.length; i++) {\n const settingsProvider = settingsProviders[i];\n return settingsProvider.instance;\n }\n }\n}\n\n"]}
1
+ {"version":3,"file":"solid-registry.js","sourceRoot":"","sources":["../../src/helpers/solid-registry.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { IExtensionUserCreationProvider } from 'src/interfaces';\nimport { User } from 'src/entities/user.entity';\nimport { ComputedFieldTriggerConfig, ComputedFieldValueType } from 'src/dtos/create-field-metadata.dto';\nimport { CommonEntity } from 'src/entities/common.entity';\nimport { Locale } from 'src/entities/locale.entity';\nimport { SecurityRule } from 'src/entities/security-rule.entity';\nimport { IScheduledJob } from 'src/services/scheduled-jobs/scheduled-job.interface';\nimport { IDashboardQuestionDataProvider, IDashboardVariableSelectionProvider, IErrorCodeProvider, ISecurityRuleConfigProvider, ISelectionProvider, ISelectionProviderContext, ISolidDatabaseModule } from \"../interfaces\";\nimport { ObjectLiteral } from 'typeorm';\n\ntype ControllerMetadata = {\n name: string;\n methods: string[];\n};\n\nexport enum RESERVED_SOLID_KEYWORDS {\n moduleMetadata = \"moduleMetadata\",\n modelMetadata = \"modelMetadata\",\n fieldMetadata = \"fieldMetadata\",\n dataSource = \"dataSource\",\n repository = \"repository\",\n entityManager = \"entityManager\",\n actionMetadata = \"actionMetadata\",\n emailAttachment = \"emailAttachment\",\n emailTemplate = \"emailTemplate\",\n listOfValues = \"listOfValues\",\n mediaStorageProvider = \"mediaStorageProvider\",\n media = \"media\",\n menuItemMetadata = \"menuItemMetadata\",\n mqMessageQueue = \"mqMessageQueue\",\n mqMessage = \"mqMessage\",\n permissionMetadata = \"permissionMetadata\",\n roleMetadata = \"roleMetadata\",\n securityRule = \"securityRule\",\n setting = \"setting\",\n smsTemplate = \"smsTemplate\",\n userMetadata = \"userMetadata\",\n user = \"user\",\n locale = \"locale\"\n}\n\nexport interface TypeOrmEventContext {\n eventType?: string;\n entity?: ObjectLiteral | undefined;\n databaseEntity?: any;\n entityId?: any;\n metadataName?: string;\n updatedColumns?: string[];\n updatedRelations?: string[];\n}\n\nexport interface ComputedFieldMetadata<TContext = any> {\n moduleName: string; // Name of the module where the computed field is defined\n modelName: string; // Name of the model where the computed field is defined\n fieldName: string; // Name of the field that is computed\n computedFieldValueType: ComputedFieldValueType; // Type of the computed field value (e.g., string, number, etc.)\n computedFieldTriggerConfig: ComputedFieldTriggerConfig[]; // JSON stringified object containing the trigger configuration\n // Example: '{\"models\": [\"User\", \"Product\"], \"operations\": [\"create\", \"update\"]}'\n computedFieldValueProviderName: string; // Name of the provider that computes the field value\n // Example: '{\"contextKey\": \"contextValue\"}'\n computedFieldValueProviderCtxt: TContext; // Context for the computed field value\n eventContext: TypeOrmEventContext;\n}\n\n@Injectable()\nexport class SolidRegistry {\n private readonly logger = new Logger(SolidRegistry.name);\n private extensionUserCreationProvider: InstanceWrapper | null = null;\n private seeders: Set<InstanceWrapper> = new Set();\n private scheduledJobProviders: Set<InstanceWrapper> = new Set();\n private selectionProviders: Set<InstanceWrapper> = new Set();\n private computedFieldProviders: Set<InstanceWrapper> = new Set();\n private solidDatabaseModules: Set<InstanceWrapper> = new Set();\n private controllers: Set<ControllerMetadata> = new Set();\n private modules: Set<InstanceWrapper> = new Set();\n private securityRules: SecurityRule[] = [];\n private locales: Locale[] = [];\n private computedFieldMetadata: ComputedFieldMetadata[] = [];\n private dashboardVariableSelectionProviders: Set<InstanceWrapper> = new Set();\n private dashboardQuestionDataProviders: Set<InstanceWrapper> = new Set();\n private mailProviders: Set<InstanceWrapper> = new Set();\n private whatsappProviders: Set<InstanceWrapper> = new Set();\n private smsProviders: Set<InstanceWrapper> = new Set();\n private securityRuleConfigProviders: Set<InstanceWrapper> = new Set();\n private errorCodeProviders: Set<InstanceWrapper> = new Set();\n private settingsProviders: Set<InstanceWrapper> = new Set();\n private auditableModels: Set<string> = new Set();\n\n registerExtensionUserCreationProvider(provider: InstanceWrapper): void {\n if (this.extensionUserCreationProvider) {\n this.logger.warn(\n `ExtensionUserCreationProvider already registered by ${this.extensionUserCreationProvider.name}; ignoring ${provider.name}`,\n );\n return;\n }\n this.extensionUserCreationProvider = provider;\n }\n\n getExtensionUserCreationProvider<T extends User = User>(): IExtensionUserCreationProvider<T, any> | null {\n return (this.extensionUserCreationProvider?.instance as IExtensionUserCreationProvider<T, any>) ?? null;\n }\n\n registerErrorCodeProvider(errorCodeProvider: InstanceWrapper): void {\n this.errorCodeProviders.add(errorCodeProvider);\n }\n\n registerWhatsappProvider(whatsappProvider: InstanceWrapper): void {\n this.whatsappProviders.add(whatsappProvider);\n }\n\n registerSmsProvider(smsProvider: InstanceWrapper): void {\n this.smsProviders.add(smsProvider);\n }\n\n registerSecurityRuleConfigProvider(securityRuleConfigProvider: InstanceWrapper): void {\n this.securityRuleConfigProviders.add(securityRuleConfigProvider);\n }\n\n registerMailProvider(mailProvider: InstanceWrapper): void {\n this.mailProviders.add(mailProvider);\n }\n\n registerController(name: string, methodNames: string[]): void {\n this.controllers.add({ name: name, methods: methodNames });\n }\n\n registerControllers(controllers: Set<ControllerMetadata>): void {\n this.controllers = controllers;\n }\n\n registerSeeder(seeder: InstanceWrapper): void {\n this.seeders.add(seeder);\n }\n\n registerSelectionProvider(selectionProvider: InstanceWrapper): void {\n this.selectionProviders.add(selectionProvider);\n }\n\n registerDashboardVariableSelectionProvider(dashboardSelectionProvider: InstanceWrapper): void {\n this.dashboardVariableSelectionProviders.add(dashboardSelectionProvider);\n }\n\n registerDashboardQuestionDataProvider(dashboardQuestionDataProvider: InstanceWrapper): void {\n this.dashboardQuestionDataProviders.add(dashboardQuestionDataProvider);\n }\n\n registerComputedFieldProvider(computedFieldProvider: InstanceWrapper): void {\n this.computedFieldProviders.add(computedFieldProvider);\n }\n\n registerScheduledJobProvider(scheduledJobProvider: InstanceWrapper): void {\n this.scheduledJobProviders.add(scheduledJobProvider);\n }\n\n registerSolidDatabaseModule(solidDatabaseModule: InstanceWrapper): void {\n this.solidDatabaseModules.add(solidDatabaseModule);\n }\n\n registerModules(modules: InstanceWrapper[]): void {\n this.modules = new Set(modules);\n }\n\n registerSettingsProvider(provider: InstanceWrapper) {\n this.settingsProviders.add(provider);\n }\n\n registerSecurityRules(securityRules: SecurityRule[]) {\n this.securityRules = securityRules;\n }\n\n registerlocales(locales: Locale[]) {\n this.locales = locales;\n }\n\n registerComputedFieldMetadata(computedFieldMetadata: ComputedFieldMetadata[]) {\n this.computedFieldMetadata = computedFieldMetadata;\n }\n\n getSettingsProviders(): InstanceWrapper[] {\n return Array.from(this.settingsProviders);\n }\n\n getSettingsProviderInstance<T extends ISelectionProviderContext>(name: string): ISelectionProvider<T> {\n const settingsProviders = this.getSettingsProviders();\n\n for (let i = 0; i < settingsProviders.length; i++) {\n const settingsProvider = settingsProviders[i];\n if (settingsProvider.instance.name() === name) {\n return settingsProvider.instance;\n }\n }\n }\n\n getMailProviders(): Array<InstanceWrapper> {\n return Array.from(this.mailProviders);\n }\n\n getWhatsappProviders(): Array<InstanceWrapper> {\n return Array.from(this.whatsappProviders);\n }\n\n getSmsProviders(): Array<InstanceWrapper> {\n return Array.from(this.smsProviders);\n }\n\n getSecurityRuleConfigProviders(): Array<InstanceWrapper> {\n return Array.from(this.securityRuleConfigProviders);\n }\n\n getSecurityRuleConfigProviderInstance(name: string): ISecurityRuleConfigProvider {\n const securityRuleConfigProviders = this.getSecurityRuleConfigProviders();\n\n for (let i = 0; i < securityRuleConfigProviders.length; i++) {\n const securityRuleConfigProvider = securityRuleConfigProviders[i];\n if (securityRuleConfigProvider.name === name) {\n return securityRuleConfigProvider.instance;\n }\n }\n }\n\n getSeeders(): Array<InstanceWrapper> {\n return Array.from(this.seeders);\n }\n\n getControllers(): ControllerMetadata[] {\n return Array.from(this.controllers);\n }\n\n getSelectionProviders(): Array<InstanceWrapper> {\n return Array.from(this.selectionProviders);\n }\n\n getSelectionProviderInstance<T extends ISelectionProviderContext>(name: string): ISelectionProvider<T> {\n const selectionProviders = this.getSelectionProviders();\n\n for (let i = 0; i < selectionProviders.length; i++) {\n const selectionProvider = selectionProviders[i];\n if (selectionProvider.instance.name() === name) {\n return selectionProvider.instance;\n }\n }\n }\n\n getDashboardVariableSelectionProviders(): Array<InstanceWrapper> {\n return Array.from(this.dashboardVariableSelectionProviders);\n }\n\n getDashboardVariableSelectionProviderInstance<T extends ISelectionProviderContext>(name: string): IDashboardVariableSelectionProvider<T> {\n const dashboardSelectionProviders = this.getDashboardVariableSelectionProviders();\n\n for (let i = 0; i < dashboardSelectionProviders.length; i++) {\n const dashboardSelectionProvider = dashboardSelectionProviders[i];\n if (dashboardSelectionProvider.instance.name() === name) {\n return dashboardSelectionProvider.instance;\n }\n }\n }\n\n getErrorCodeProviders(): Array<InstanceWrapper> {\n return Array.from(this.errorCodeProviders);\n }\n\n getErrorCodeProviderInstance(name: string): IErrorCodeProvider | undefined {\n const providers = this.getErrorCodeProviders();\n for (let i = 0; i < providers.length; i++) {\n const p = providers[i];\n if (p.instance?.name?.() === name) return p.instance as IErrorCodeProvider;\n }\n return undefined;\n }\n\n getDashboardQuestionDataProviders(): Array<InstanceWrapper> {\n return Array.from(this.dashboardQuestionDataProviders)\n }\n\n getDashboardQuestionDataProviderInstance<TContext, TData>(name: string): IDashboardQuestionDataProvider<TContext, TData> {\n const dashboardQuestionDataProviders = this.getDashboardQuestionDataProviders();\n\n for (let i = 0; i < dashboardQuestionDataProviders.length; i++) {\n const dasbhoardQuestionDataProvider = dashboardQuestionDataProviders[i];\n if (dasbhoardQuestionDataProvider.instance.name() === name) {\n return dasbhoardQuestionDataProvider.instance;\n }\n }\n }\n\n getComputedFieldProviders(): Array<InstanceWrapper> {\n return Array.from(this.computedFieldProviders);\n }\n\n getScheduledJobProviders(): Array<InstanceWrapper> {\n return Array.from(this.scheduledJobProviders);\n }\n\n getScheduledJobProviderInstance(name: string): IScheduledJob {\n const scheduledJobProviders = this.getScheduledJobProviders();\n\n for (let i = 0; i < scheduledJobProviders.length; i++) {\n const scheduledJobProvider = scheduledJobProviders[i];\n if (scheduledJobProvider.name === name) {\n return scheduledJobProvider.instance;\n }\n }\n }\n\n getComputedFieldProvider(name: string): InstanceWrapper {\n const provider = this.getComputedFieldProviders().filter((provider) => provider.name === name).pop();\n if (!provider) {\n throw new Error(`Computed Field Provider with name ${name} not found`);\n }\n return provider\n }\n\n getSolidDatabaseModules(): Array<InstanceWrapper> {\n return Array.from(this.solidDatabaseModules);\n }\n\n getDefaultSolidDatabaseModule(): ISolidDatabaseModule {\n const solidDatabaseModulesAsArray = Array.from(this.solidDatabaseModules);\n for (let i = 0; i < solidDatabaseModulesAsArray.length; i++) {\n const solidDatabaseModule = solidDatabaseModulesAsArray[i];\n const solidDatabaseModuleInstance: ISolidDatabaseModule = solidDatabaseModule.instance;\n if (solidDatabaseModuleInstance.name() === 'default') {\n return solidDatabaseModuleInstance;\n }\n }\n }\n\n getModules(): Array<InstanceWrapper> {\n return Array.from(this.modules);\n }\n\n getModule(name: string): InstanceWrapper {\n const module = this.getModules().filter((module) => module.name === name).pop();\n return module\n }\n\n getComputedFieldMetadata(): ComputedFieldMetadata[] {\n return this.computedFieldMetadata;\n }\n\n //TODO:getlocales from locale model and return default locale where isDefault:true \n getDefaultLocale(): Locale | null {\n return this.locales.find(locale => locale.isDefault === true) || null;\n }\n\n getSecurityRules(modelSingularName: string, roleNames: string[] = []): SecurityRule[] {\n // If no role is provided, return all security rules for the model\n if (roleNames.length === 0) {\n return this.securityRules.filter((rule) => rule.modelMetadata.singularName === modelSingularName);\n }\n // If roles are provided, filter the security rules by model and roles\n return this.securityRules.filter((rule) => {\n return rule.modelMetadata.singularName === modelSingularName && roleNames.includes(rule.role.name);\n });\n }\n\n registerAuditableModels(models: Set<string>): void {\n this.auditableModels = models;\n }\n\n isAuditableModel(modelSingularName: string): boolean {\n return this.auditableModels.has(modelSingularName.toLowerCase());\n }\n\n getCommonEntityKeys(): (keyof CommonEntity | 'createdBy' | 'updatedBy')[] {\n return ['id', 'createdAt', 'updatedAt', 'deletedAt', 'createdBy', 'updatedBy', 'deletedTracker', 'localeName', 'defaultEntityLocaleId', 'publishedAt'];\n // return Reflect.getMetadataKeys(CommonEntity.prototype) as (keyof CommonEntity)[];\n }\n\n\n getAllSettingsProviderInstance<T extends ISelectionProviderContext>(): ISelectionProvider<T> {\n const settingsProviders = this.getSettingsProviders();\n\n for (let i = 0; i < settingsProviders.length; i++) {\n const settingsProvider = settingsProviders[i];\n return settingsProvider.instance;\n }\n }\n}\n\n"]}
@@ -1,2 +1,3 @@
1
1
  export declare const lowerFirst: (str: string) => string;
2
+ export declare const classify: (s: string) => string;
2
3
  //# sourceMappingURL=string.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/string.helper.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,MAGxC,CAAA"}
1
+ {"version":3,"file":"string.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/string.helper.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAGxC,CAAA;AAGD,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,KAAG,MAAkC,CAAC"}