@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
@@ -38,6 +38,7 @@ const setting_service_1 = require("./setting.service");
38
38
  const user_activity_history_service_1 = require("./user-activity-history.service");
39
39
  const user_service_1 = require("./user.service");
40
40
  const sms_factory_1 = require("../factories/sms.factory");
41
+ const solid_registry_1 = require("../helpers/solid-registry");
41
42
  var LoginProvider;
42
43
  (function (LoginProvider) {
43
44
  LoginProvider["LOCAL"] = "local";
@@ -45,7 +46,7 @@ var LoginProvider;
45
46
  LoginProvider["OTP"] = "otp";
46
47
  })(LoginProvider || (LoginProvider = {}));
47
48
  let AuthenticationService = AuthenticationService_1 = class AuthenticationService {
48
- constructor(userService, userRepository, hashingService, jwtService, refreshTokenIdsStorage, httpService, mailServiceFactory, smsFactory, eventEmitter, settingService, roleMetadataService, userActivityHistoryService, ssoCodeStorage, dataSource) {
49
+ constructor(userService, userRepository, hashingService, jwtService, refreshTokenIdsStorage, httpService, mailServiceFactory, smsFactory, eventEmitter, settingService, roleMetadataService, userActivityHistoryService, ssoCodeStorage, dataSource, solidRegistry) {
49
50
  this.userService = userService;
50
51
  this.userRepository = userRepository;
51
52
  this.hashingService = hashingService;
@@ -60,20 +61,18 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
60
61
  this.userActivityHistoryService = userActivityHistoryService;
61
62
  this.ssoCodeStorage = ssoCodeStorage;
62
63
  this.dataSource = dataSource;
64
+ this.solidRegistry = solidRegistry;
63
65
  this.logger = new common_1.Logger(AuthenticationService_1.name);
64
66
  }
65
67
  async getCompanyLogo() {
66
- return this.settingService.getConfigValue('companylogo');
68
+ return this.settingService.getConfigValue("companylogo");
67
69
  }
68
70
  async resolveUser(username, email) {
69
71
  return await this.userRepository.findOne({
70
- where: [
71
- { username: username },
72
- { email: email },
73
- ],
72
+ where: [{ username: username }, { email: email }],
74
73
  relations: {
75
- roles: true
76
- }
74
+ roles: true,
75
+ },
77
76
  });
78
77
  }
79
78
  async updatePasswordDetails(user, newPassword) {
@@ -85,14 +84,14 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
85
84
  password: user.password,
86
85
  passwordScheme: user.passwordScheme,
87
86
  passwordSchemeVersion: user.passwordSchemeVersion,
88
- rehashedAt: user.rehashedAt
87
+ rehashedAt: user.rehashedAt,
89
88
  });
90
89
  return user;
91
90
  }
92
91
  async resolveUserByVerificationToken(token) {
93
92
  return await this.userRepository.findOne({
94
93
  where: { verificationTokenOnForgotPassword: token },
95
- relations: { roles: true }
94
+ relations: { roles: true },
96
95
  });
97
96
  }
98
97
  async validateUserForPasswordLogin(user, password) {
@@ -112,18 +111,31 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
112
111
  }
113
112
  }
114
113
  async signUp(signUpDto, activeUser = null) {
114
+ const hasExtensionFields = Object.keys(signUpDto).some(k => !AuthenticationService_1.SIGNUP_DTO_KEYS.has(k));
115
+ if (hasExtensionFields) {
116
+ const provider = this.solidRegistry.getExtensionUserCreationProvider();
117
+ if (!provider) {
118
+ throw new common_1.InternalServerErrorException('No ExtensionUserCreationProvider registered. Register one to handle extension user creation.');
119
+ }
120
+ const entity = await provider.buildExtensionEntity(signUpDto);
121
+ const effectiveDto = { ...signUpDto, roles: provider.roles(signUpDto) };
122
+ return this.performSignUp(effectiveDto, entity, provider.repo);
123
+ }
124
+ return this.performSignUp(signUpDto, new user_entity_1.User(), this.userRepository);
125
+ }
126
+ async performSignUp(signUpDto, entity, repo) {
115
127
  try {
116
128
  const onForcePasswordChange = this.settingService.getConfigValue('forceChangePasswordOnFirstLogin');
117
129
  const activateUserOnRegistration = this.settingService.getConfigValue('activateUserOnRegistration');
118
130
  const defaultRole = this.settingService.getConfigValue('defaultRole');
119
- var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(new user_entity_1.User(), signUpDto, activateUserOnRegistration, onForcePasswordChange);
131
+ var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(entity, signUpDto, activateUserOnRegistration, onForcePasswordChange);
120
132
  const privateDto = signUpDto;
121
133
  if (privateDto.isAllowedToGenerateApiKeys !== undefined) {
122
134
  user.isAllowedToGenerateApiKeys = privateDto.isAllowedToGenerateApiKeys;
123
135
  }
124
- const savedUser = await this.userRepository.save(user);
136
+ const savedUser = await repo.save(user);
125
137
  const userRoles = signUpDto.roles ?? [];
126
- if (signUpDto.username !== 'sa' && defaultRole) {
138
+ if ((signUpDto.roles?.length ?? 0) === 0 && signUpDto.username !== 'sa' && defaultRole) {
127
139
  userRoles.push(defaultRole);
128
140
  }
129
141
  await this.handlePostSignup(savedUser, userRoles, pwd, autoGeneratedPwd);
@@ -132,30 +144,17 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
132
144
  catch (err) {
133
145
  const pgUniqueViolationErrorCode = '23505';
134
146
  if (err.code === pgUniqueViolationErrorCode) {
135
- throw new common_1.ConflictException(error_messages_1.ERROR_MESSAGES.USER_ALREADY_EXISTS);
147
+ throw new common_1.ConflictException(parseUniqueConstraintError(err.detail || error_messages_1.ERROR_MESSAGES.UNIQUE_CONSTRAINT_VIOLATION));
136
148
  }
137
149
  throw err;
138
150
  }
139
151
  }
140
152
  async signupForExtensionUser(signUpDto, extensionUserDto, extensionUserRepo) {
141
- try {
142
- const onForcePasswordChange = this.settingService.getConfigValue('forceChangePasswordOnFirstLogin');
143
- const extensionUser = extensionUserRepo.merge(extensionUserRepo.create(), extensionUserDto);
144
- var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(extensionUser, signUpDto, extensionUserDto.active ?? true, onForcePasswordChange);
145
- const savedUser = await extensionUserRepo.save(user);
146
- await this.handlePostSignup(savedUser, signUpDto.roles, pwd, autoGeneratedPwd);
147
- return savedUser;
148
- }
149
- catch (err) {
150
- const pgUniqueViolationErrorCode = '23505';
151
- if (err.code === pgUniqueViolationErrorCode) {
152
- throw new common_1.ConflictException(parseUniqueConstraintError(err.detail || error_messages_1.ERROR_MESSAGES.UNIQUE_CONSTRAINT_VIOLATION));
153
- }
154
- throw err;
155
- }
153
+ const entity = extensionUserRepo.merge(extensionUserRepo.create(), extensionUserDto);
154
+ return this.performSignUp(signUpDto, entity, extensionUserRepo);
156
155
  }
157
156
  async populateForSignup(user, signUpDto, isUserActive = true, onForcePasswordChange) {
158
- let autoGeneratedPwdPermission = this.settingService.getConfigValue('iamAutoGeneratedPassword');
157
+ let autoGeneratedPwdPermission = this.settingService.getConfigValue("iamAutoGeneratedPassword");
159
158
  if (signUpDto.roles && signUpDto.roles.length > 0) {
160
159
  for (let i = 0; i < signUpDto.roles.length; i++) {
161
160
  const roleName = signUpDto.roles[i];
@@ -169,20 +168,20 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
169
168
  if (signUpDto.mobile) {
170
169
  user.mobile = signUpDto.mobile;
171
170
  }
172
- let pwd = '';
173
- let autoGeneratedPwd = '';
171
+ let pwd = "";
172
+ let autoGeneratedPwd = "";
174
173
  if (signUpDto.password) {
175
174
  pwd = await this.hashingService.hash(signUpDto.password);
176
175
  }
177
176
  else {
178
- if (autoGeneratedPwdPermission?.toString().toLowerCase() === 'true') {
177
+ if (autoGeneratedPwdPermission?.toString().toLowerCase() === "true") {
179
178
  autoGeneratedPwd = this.generatePassword();
180
179
  pwd = await this.hashingService.hash(autoGeneratedPwd);
181
180
  user.forcePasswordChange = true;
182
181
  }
183
182
  else {
184
- if (!await this.isPasswordlessRegistrationEnabled()) {
185
- this.logger.error('User being created without password, and password less login is also not enabled in the system. Is this intentional?');
183
+ if (!(await this.isPasswordlessRegistrationEnabled())) {
184
+ this.logger.error("User being created without password, and password less login is also not enabled in the system. Is this intentional?");
186
185
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.PASSWORDLESS_REGISTRATION_DISABLED);
187
186
  }
188
187
  pwd = await this.hashingService.hash(pwd);
@@ -217,48 +216,48 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
217
216
  async notifyUserOnForcePasswordChange(user, autoGeneratedPwd) {
218
217
  const companyLogo = await this.getCompanyLogo();
219
218
  const mailService = this.mailServiceFactory.getMailService();
220
- mailService.sendEmailUsingTemplate(user.email, 'on-force-password-change', {
221
- solidAppName: this.settingService.getConfigValue('appTitle'),
222
- solidAppWebsiteUrl: this.settingService.getConfigValue('solidAppWebsiteUrl'),
223
- frontendLoginPageUrl: this.settingService.getConfigValue('frontendLoginPageUrl'),
219
+ mailService.sendEmailUsingTemplate(user.email, "on-force-password-change", {
220
+ solidAppName: this.settingService.getConfigValue("appTitle"),
221
+ solidAppWebsiteUrl: this.settingService.getConfigValue("solidAppWebsiteUrl"),
222
+ frontendLoginPageUrl: this.settingService.getConfigValue("frontendLoginPageUrl"),
224
223
  email: user.email,
225
224
  fullName: user.fullName,
226
225
  userName: user.username,
227
226
  password: autoGeneratedPwd,
228
- companyLogoUrl: companyLogo
229
- }, this.settingService.getConfigValue('shouldQueueEmails'), null, null, 'user', user.id);
227
+ companyLogoUrl: companyLogo,
228
+ }, this.settingService.getConfigValue("shouldQueueEmails"), null, null, "user", user.id);
230
229
  }
231
230
  async isWelcomeEmailEnabled() {
232
- const sendWelcomeEmailOnSignup = this.settingService.getConfigValue('sendWelcomeEmailOnSignup');
231
+ const sendWelcomeEmailOnSignup = this.settingService.getConfigValue("sendWelcomeEmailOnSignup");
233
232
  return sendWelcomeEmailOnSignup;
234
233
  }
235
234
  async isWelcomeSmsEnabled() {
236
- const sendWelcomeSmsOnSignup = this.settingService.getConfigValue('sendWelcomeSmsOnSignup');
235
+ const sendWelcomeSmsOnSignup = this.settingService.getConfigValue("sendWelcomeSmsOnSignup");
237
236
  return sendWelcomeSmsOnSignup;
238
237
  }
239
238
  async notifyUserOnSignup(user) {
240
239
  const companyLogo = await this.getCompanyLogo();
241
240
  if (await this.isWelcomeEmailEnabled()) {
242
241
  const mailService = this.mailServiceFactory.getMailService();
243
- mailService.sendEmailUsingTemplate(user.email, 'email-on-signup', {
244
- solidAppName: this.settingService.getConfigValue('appTitle'),
245
- solidAppWebsiteUrl: this.settingService.getConfigValue('solidAppWebsiteUrl'),
246
- frontendLoginPageUrl: this.settingService.getConfigValue('frontendLoginPageUrl'),
242
+ mailService.sendEmailUsingTemplate(user.email, "email-on-signup", {
243
+ solidAppName: this.settingService.getConfigValue("appTitle"),
244
+ solidAppWebsiteUrl: this.settingService.getConfigValue("solidAppWebsiteUrl"),
245
+ frontendLoginPageUrl: this.settingService.getConfigValue("frontendLoginPageUrl"),
247
246
  email: user.email,
248
247
  fullName: user.fullName,
249
248
  userName: user.username,
250
- companyLogoUrl: companyLogo
251
- }, this.settingService.getConfigValue('shouldQueueEmails'), null, null, 'user', user.id);
249
+ companyLogoUrl: companyLogo,
250
+ }, this.settingService.getConfigValue("shouldQueueEmails"), null, null, "user", user.id);
252
251
  }
253
252
  const isWelcomeSmsEnabled = await this.isWelcomeSmsEnabled();
254
253
  if (isWelcomeSmsEnabled && user.mobile) {
255
254
  const smsService = this.smsFactory.getSmsService();
256
- smsService.sendSMSUsingTemplate(user.mobile, 'text-on-signup', {
257
- solidAppName: this.settingService.getConfigValue('appTitle'),
258
- frontendLoginPageUrl: this.settingService.getConfigValue('frontendLoginPageUrl'),
255
+ smsService.sendSMSUsingTemplate(user.mobile, "text-on-signup", {
256
+ solidAppName: this.settingService.getConfigValue("appTitle"),
257
+ frontendLoginPageUrl: this.settingService.getConfigValue("frontendLoginPageUrl"),
259
258
  firstName: user.username,
260
- fullName: user.fullName ? user.fullName : user.username
261
- }, this.settingService.getConfigValue('shouldQueueSms'));
259
+ fullName: user.fullName ? user.fullName : user.username,
260
+ }, this.settingService.getConfigValue("shouldQueueSms"));
262
261
  }
263
262
  }
264
263
  async otpInitiateRegistration(signUpDto) {
@@ -277,7 +276,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
277
276
  await this.notifyUserOnOtpInitiateRegistration(user, validationSource);
278
277
  }
279
278
  catch (err) {
280
- if (err.code === '23505') {
279
+ if (err.code === "23505") {
281
280
  throw new common_1.ConflictException(error_messages_1.ERROR_MESSAGES.USER_ALREADY_EXISTS);
282
281
  }
283
282
  throw err;
@@ -285,10 +284,12 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
285
284
  return { message: success_messages_1.SUCCESS_MESSAGES.OTP_SENT_SUCCESS_REGISTRATION };
286
285
  }
287
286
  validateOtpRegistrationInput(signUpDto, validationSource) {
288
- if (validationSource === constants_1.PasswordlessRegistrationValidateWhatSources.EMAIL && (0, class_validator_1.isEmpty)(signUpDto.email)) {
287
+ if (validationSource === constants_1.PasswordlessRegistrationValidateWhatSources.EMAIL &&
288
+ (0, class_validator_1.isEmpty)(signUpDto.email)) {
289
289
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.EMAIL_REQUIRED_FOR_VALIDATION);
290
290
  }
291
- if (validationSource === constants_1.PasswordlessRegistrationValidateWhatSources.MOBILE && (0, class_validator_1.isEmpty)(signUpDto.mobile)) {
291
+ if (validationSource === constants_1.PasswordlessRegistrationValidateWhatSources.MOBILE &&
292
+ (0, class_validator_1.isEmpty)(signUpDto.mobile)) {
292
293
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.MOBILE_REQUIRED_FOR_VALIDATION);
293
294
  }
294
295
  }
@@ -298,16 +299,17 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
298
299
  { email: signUpDto.email },
299
300
  { mobile: signUpDto.mobile },
300
301
  { username: signUpDto.username },
301
- ]
302
+ ],
302
303
  });
303
304
  }
304
305
  resolvePasswordlessValidationSource() {
305
- return this.settingService.getConfigValue('passwordlessRegistrationValidateWhat');
306
+ return this.settingService.getConfigValue("passwordlessRegistrationValidateWhat");
306
307
  }
307
308
  async upsertUserWithRegistrationVerificationTokens(existingUser, signUpDto, validationSource) {
308
309
  let user = existingUser;
309
310
  if ((0, class_validator_1.isEmpty)(user)) {
310
311
  user = this.createUser(signUpDto);
312
+ user.active = false;
311
313
  await this.assignRegistrationOtp(validationSource, user);
312
314
  await this.userRepository.save(user);
313
315
  await this.userService.addRoleToUser(user.username, this.settingService.getConfigValue('defaultRole'));
@@ -331,8 +333,9 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
331
333
  if (!passwordlessRegistrationValidateWhat) {
332
334
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.VALIDATION_SOURCE_REQUIRED);
333
335
  }
334
- const autoLoginUserOnRegistration = this.settingService.getConfigValue('autoLoginUserOnRegistration');
335
- if (passwordlessRegistrationValidateWhat === constants_1.PasswordlessRegistrationValidateWhatSources.EMAIL) {
336
+ const autoLoginUserOnRegistration = this.settingService.getConfigValue("autoLoginUserOnRegistration");
337
+ if (passwordlessRegistrationValidateWhat ===
338
+ constants_1.PasswordlessRegistrationValidateWhatSources.EMAIL) {
336
339
  const { token, expiresAt } = await this.otp();
337
340
  user.emailVerificationTokenOnRegistration = token;
338
341
  user.emailVerificationTokenOnRegistrationExpiresAt = expiresAt;
@@ -341,7 +344,8 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
341
344
  user.emailVerificationTokenOnLoginExpiresAt = expiresAt;
342
345
  }
343
346
  }
344
- if (passwordlessRegistrationValidateWhat === constants_1.PasswordlessRegistrationValidateWhatSources.MOBILE) {
347
+ if (passwordlessRegistrationValidateWhat ===
348
+ constants_1.PasswordlessRegistrationValidateWhatSources.MOBILE) {
345
349
  const { token, expiresAt } = await this.otp();
346
350
  user.mobileVerificationTokenOnRegistration = token;
347
351
  user.mobileVerificationTokenOnRegistrationExpiresAt = expiresAt;
@@ -353,27 +357,29 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
353
357
  }
354
358
  async notifyUserOnOtpInitiateRegistration(user, registrationValidationSource) {
355
359
  const companyLogo = await this.getCompanyLogo();
356
- if (registrationValidationSource === constants_1.PasswordlessLoginValidateWhatSources.EMAIL) {
360
+ if (registrationValidationSource ===
361
+ constants_1.PasswordlessLoginValidateWhatSources.EMAIL) {
357
362
  const mailService = this.mailServiceFactory.getMailService();
358
- mailService.sendEmailUsingTemplate(user.email, 'otp-on-register', {
359
- solidAppName: this.settingService.getConfigValue('appTitle'),
360
- solidAppWebsiteUrl: this.settingService.getConfigValue('solidAppWebsiteUrl'),
363
+ mailService.sendEmailUsingTemplate(user.email, "otp-on-register", {
364
+ solidAppName: this.settingService.getConfigValue("appTitle"),
365
+ solidAppWebsiteUrl: this.settingService.getConfigValue("solidAppWebsiteUrl"),
361
366
  firstName: user.username,
362
367
  fullName: user.fullName ? user.fullName : user.username,
363
368
  emailVerificationTokenOnRegistration: user.emailVerificationTokenOnRegistration,
364
- companyLogoUrl: companyLogo
365
- }, this.settingService.getConfigValue('shouldQueueEmails'), null, null, 'user', user.id);
369
+ companyLogoUrl: companyLogo,
370
+ }, this.settingService.getConfigValue("shouldQueueEmails"), null, null, "user", user.id);
366
371
  }
367
- if (registrationValidationSource === constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
372
+ if (registrationValidationSource ===
373
+ constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
368
374
  const smsService = this.smsFactory.getSmsService();
369
- smsService.sendSMSUsingTemplate(user.mobile, 'otp-on-register', {
370
- solidAppName: this.settingService.getConfigValue('appTitle'),
375
+ smsService.sendSMSUsingTemplate(user.mobile, "otp-on-register", {
376
+ solidAppName: this.settingService.getConfigValue("appTitle"),
371
377
  otp: user.mobileVerificationTokenOnRegistration,
372
378
  mobileVerificationTokenOnRegistration: user.mobileVerificationTokenOnRegistration,
373
379
  firstName: user.username,
374
380
  fullName: user.fullName ? user.fullName : user.username,
375
- companyLogoUrl: companyLogo
376
- }, this.settingService.getConfigValue('shouldQueueSms'));
381
+ companyLogoUrl: companyLogo,
382
+ }, this.settingService.getConfigValue("shouldQueueSms"));
377
383
  }
378
384
  }
379
385
  async otpConfirmRegistration(confirmSignUpDto) {
@@ -389,11 +395,15 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
389
395
  const user = await this.findUserByRegistrationIdentifier(type, identifier);
390
396
  this.validateRegistrationOtp(user, otp, type);
391
397
  this.clearRegistrationOtp(user, type);
392
- user.active = this.settingService.getConfigValue('activateUserOnRegistration') &&
393
- await this.areAllPasswordlessRegistrationValidationSourcesVerified(user);
398
+ user.active =
399
+ this.settingService.getConfigValue("activateUserOnRegistration") &&
400
+ (await this.areAllPasswordlessRegistrationValidationSourcesVerified(user));
394
401
  const savedUser = await this.userRepository.save(user);
395
402
  this.triggerRegistrationEvent(savedUser);
396
- return { active: savedUser.active, message: `User registration verified for ${type}` };
403
+ return {
404
+ active: savedUser.active,
405
+ message: `User registration verified for ${type}`,
406
+ };
397
407
  }
398
408
  async findUserByRegistrationIdentifier(type, identifier) {
399
409
  const where = type === constants_1.PasswordlessRegistrationValidateWhatSources.EMAIL
@@ -407,8 +417,12 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
407
417
  }
408
418
  validateRegistrationOtp(user, otp, type) {
409
419
  const isEmail = type === constants_1.PasswordlessRegistrationValidateWhatSources.EMAIL;
410
- const token = isEmail ? user.emailVerificationTokenOnRegistration : user.mobileVerificationTokenOnRegistration;
411
- const expiresAt = isEmail ? user.emailVerificationTokenOnRegistrationExpiresAt : user.mobileVerificationTokenOnRegistrationExpiresAt;
420
+ const token = isEmail
421
+ ? user.emailVerificationTokenOnRegistration
422
+ : user.mobileVerificationTokenOnRegistration;
423
+ const expiresAt = isEmail
424
+ ? user.emailVerificationTokenOnRegistrationExpiresAt
425
+ : user.mobileVerificationTokenOnRegistrationExpiresAt;
412
426
  if (token !== otp) {
413
427
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_OTP);
414
428
  }
@@ -434,12 +448,14 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
434
448
  }
435
449
  async areAllPasswordlessRegistrationValidationSourcesVerified(user) {
436
450
  const registrationValidationSource = this.resolvePasswordlessValidationSource();
437
- if (registrationValidationSource === constants_1.PasswordlessLoginValidateWhatSources.EMAIL) {
451
+ if (registrationValidationSource ===
452
+ constants_1.PasswordlessLoginValidateWhatSources.EMAIL) {
438
453
  if (!user.emailVerifiedOnRegistrationAt) {
439
454
  return false;
440
455
  }
441
456
  }
442
- if (registrationValidationSource === constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
457
+ if (registrationValidationSource ===
458
+ constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
443
459
  if (!user.mobileVerifiedOnRegistrationAt) {
444
460
  return false;
445
461
  }
@@ -448,7 +464,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
448
464
  }
449
465
  async otp() {
450
466
  const now = new Date();
451
- const otpExpiry = this.settingService.getConfigValue('otpExpiry');
467
+ const otpExpiry = this.settingService.getConfigValue("otpExpiry");
452
468
  now.setMinutes(now.getMinutes() + otpExpiry);
453
469
  return {
454
470
  token: (0, crypto_1.randomInt)(100000, 999999).toString(),
@@ -456,7 +472,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
456
472
  };
457
473
  }
458
474
  getDummyOtpForUser(user) {
459
- const dummyOtp = this.settingService.getConfigValue('dummyOtp');
475
+ const dummyOtp = this.settingService.getConfigValue("dummyOtp");
460
476
  if (!dummyOtp || !user?.username) {
461
477
  return undefined;
462
478
  }
@@ -471,12 +487,12 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
471
487
  return allowedUsers.has(username) ? dummyOtp : undefined;
472
488
  }
473
489
  getDummyOtpUsers() {
474
- const rawUsers = this.settingService.getConfigValue('dummyOtpUsers');
475
- if (!rawUsers || typeof rawUsers !== 'string') {
490
+ const rawUsers = this.settingService.getConfigValue("dummyOtpUsers");
491
+ if (!rawUsers || typeof rawUsers !== "string") {
476
492
  return new Set();
477
493
  }
478
494
  return new Set(rawUsers
479
- .split(',')
495
+ .split(",")
480
496
  .map((value) => value.trim().toLowerCase())
481
497
  .filter(Boolean));
482
498
  }
@@ -489,7 +505,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
489
505
  await this.rehashPasswordIfRequired(user, signInDto.password);
490
506
  await this.resetFailedAttempts(user);
491
507
  const tokens = await this.generateTokens(user);
492
- await this.userActivityHistoryService.logEvent('login', user);
508
+ await this.userActivityHistoryService.logEvent("login", user);
493
509
  return {
494
510
  user: {
495
511
  email: user.email,
@@ -497,15 +513,15 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
497
513
  username: user.username,
498
514
  forcePasswordChange: user.forcePasswordChange,
499
515
  id: user.id,
500
- roles: user.roles.map((role) => role.name)
516
+ roles: user.roles.map((role) => role.name),
501
517
  },
502
- ...tokens
518
+ ...tokens,
503
519
  };
504
520
  }
505
521
  maskEmail(email) {
506
522
  if (!email)
507
523
  return null;
508
- const [localPart, domain] = email.split('@');
524
+ const [localPart, domain] = email.split("@");
509
525
  if (localPart.length <= 2) {
510
526
  return `${localPart[0]}***@${domain}`;
511
527
  }
@@ -537,7 +553,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
537
553
  return this.buildLoginOtpResponse(user, type);
538
554
  }
539
555
  resolveLoginType(signInDto) {
540
- const setting = this.settingService.getConfigValue('passwordlessLoginValidateWhat');
556
+ const setting = this.settingService.getConfigValue("passwordlessLoginValidateWhat");
541
557
  if (setting === constants_1.PasswordlessLoginValidateWhatSources.SELECTABLE) {
542
558
  if (signInDto.type !== constants_1.PasswordlessLoginValidateWhatSources.EMAIL &&
543
559
  signInDto.type !== constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
@@ -590,7 +606,10 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
590
606
  const maskedIdentifier = type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
591
607
  ? { email: this.maskEmail(user.email) }
592
608
  : { mobile: this.maskMobile(user.mobile) };
593
- return { message: success_messages_1.SUCCESS_MESSAGES.OTP_SENT_SUCCESS_LOGIN, user: maskedIdentifier };
609
+ return {
610
+ message: success_messages_1.SUCCESS_MESSAGES.OTP_SENT_SUCCESS_LOGIN,
611
+ user: maskedIdentifier,
612
+ };
594
613
  }
595
614
  async notifyUserOnOtpInititateLogin(user, loginType) {
596
615
  const companyLogo = await this.getCompanyLogo();
@@ -599,25 +618,25 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
599
618
  return;
600
619
  if (loginType === constants_1.PasswordlessLoginValidateWhatSources.EMAIL) {
601
620
  const mailService = this.mailServiceFactory.getMailService();
602
- mailService.sendEmailUsingTemplate(user.email, 'otp-on-login', {
603
- solidAppName: this.settingService.getConfigValue('appTitle'),
604
- solidAppWebsiteUrl: this.settingService.getConfigValue('solidAppWebsiteUrl'),
621
+ mailService.sendEmailUsingTemplate(user.email, "otp-on-login", {
622
+ solidAppName: this.settingService.getConfigValue("appTitle"),
623
+ solidAppWebsiteUrl: this.settingService.getConfigValue("solidAppWebsiteUrl"),
605
624
  firstName: user.username,
606
625
  emailVerificationTokenOnLogin: user.emailVerificationTokenOnLogin,
607
626
  fullName: user.fullName ? user.fullName : user.username,
608
- companyLogoUrl: companyLogo
609
- }, this.settingService.getConfigValue('shouldQueueEmails'), null, null, 'user', user.id);
627
+ companyLogoUrl: companyLogo,
628
+ }, this.settingService.getConfigValue("shouldQueueEmails"), null, null, "user", user.id);
610
629
  }
611
630
  if (loginType === constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
612
631
  const smsService = this.smsFactory.getSmsService();
613
- smsService.sendSMSUsingTemplate(user.mobile, 'otp-on-login', {
614
- solidAppName: this.settingService.getConfigValue('appTitle'),
632
+ smsService.sendSMSUsingTemplate(user.mobile, "otp-on-login", {
633
+ solidAppName: this.settingService.getConfigValue("appTitle"),
615
634
  otp: user.mobileVerificationTokenOnLogin,
616
635
  mobileVerificationTokenOnLogin: user.mobileVerificationTokenOnLogin,
617
636
  firstName: user.username,
618
637
  fullName: user.fullName ? user.fullName : user.username,
619
- companyLogoUrl: companyLogo
620
- }, this.settingService.getConfigValue('shouldQueueSms'));
638
+ companyLogoUrl: companyLogo,
639
+ }, this.settingService.getConfigValue("shouldQueueSms"));
621
640
  }
622
641
  }
623
642
  async otpConfirmLogin(confirmSignInDto) {
@@ -630,7 +649,9 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
630
649
  type !== constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
631
650
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.INVALID_VERIFICATION_TYPE);
632
651
  }
633
- const user = await this.findUserForLogin(type, identifier, { withRoles: true });
652
+ const user = await this.findUserForLogin(type, identifier, {
653
+ withRoles: true,
654
+ });
634
655
  this.checkAccountBlocked(user);
635
656
  const dummyOtp = this.getDummyOtpForUser(user);
636
657
  if (dummyOtp) {
@@ -647,14 +668,18 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
647
668
  throw e;
648
669
  }
649
670
  await this.clearLoginOtp(user, type);
650
- await this.userActivityHistoryService.logEvent('login', user);
671
+ await this.userActivityHistoryService.logEvent("login", user);
651
672
  await this.resetFailedAttempts(user);
652
673
  return this.buildLoginTokenResponse(user);
653
674
  }
654
675
  validateLoginOtp(user, otp, type) {
655
676
  const isEmail = type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL;
656
- const token = isEmail ? user.emailVerificationTokenOnLogin : user.mobileVerificationTokenOnLogin;
657
- const expiresAt = isEmail ? user.emailVerificationTokenOnLoginExpiresAt : user.mobileVerificationTokenOnLoginExpiresAt;
677
+ const token = isEmail
678
+ ? user.emailVerificationTokenOnLogin
679
+ : user.mobileVerificationTokenOnLogin;
680
+ const expiresAt = isEmail
681
+ ? user.emailVerificationTokenOnLoginExpiresAt
682
+ : user.mobileVerificationTokenOnLoginExpiresAt;
658
683
  if (token !== otp) {
659
684
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_OTP);
660
685
  }
@@ -697,7 +722,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
697
722
  }
698
723
  async changePassword(changePasswordDto, activeUser) {
699
724
  const user = await this.userRepository.findOne({
700
- where: { id: changePasswordDto.id }
725
+ where: { id: changePasswordDto.id },
701
726
  });
702
727
  if (!user) {
703
728
  throw new common_1.NotFoundException(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
@@ -705,7 +730,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
705
730
  if (!user.active) {
706
731
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.USER_INACTIVE);
707
732
  }
708
- if (user.lastLoginProvider !== 'local') {
733
+ if (user.lastLoginProvider !== "local") {
709
734
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.NON_LOCAL_PROVIDER);
710
735
  }
711
736
  if (!(user.id === activeUser.sub)) {
@@ -729,7 +754,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
729
754
  }
730
755
  async generateForgotPasswordToken(user) {
731
756
  const expiryTime = new Date();
732
- const forgotPasswordVerificationTokenExpiry = this.settingService.getConfigValue('forgotPasswordVerificationTokenExpiry');
757
+ const forgotPasswordVerificationTokenExpiry = this.settingService.getConfigValue("forgotPasswordVerificationTokenExpiry");
733
758
  const dummyOtp = this.getDummyOtpForUser(user);
734
759
  expiryTime.setMinutes(expiryTime.getMinutes() + forgotPasswordVerificationTokenExpiry);
735
760
  return {
@@ -746,7 +771,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
746
771
  if (isValidUser && !user?.active) {
747
772
  isValidUser = false;
748
773
  }
749
- if (isValidUser && user?.lastLoginProvider !== 'local') {
774
+ if (isValidUser && user?.lastLoginProvider !== "local") {
750
775
  isValidUser = false;
751
776
  }
752
777
  if (isValidUser) {
@@ -757,40 +782,43 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
757
782
  await this.notifyUserOnForgotPassword(user);
758
783
  }
759
784
  return {
760
- status: 'success',
785
+ status: "success",
761
786
  message: success_messages_1.SUCCESS_MESSAGES.FORGOT_PASSWORD_TOKEN_SENT,
762
- error: '',
763
- errorCode: '',
787
+ error: "",
788
+ errorCode: "",
764
789
  data: {
765
790
  user: {
766
791
  email: user?.email,
767
792
  },
768
- }
793
+ },
769
794
  };
770
795
  }
771
796
  async notifyUserOnForgotPassword(user) {
772
797
  const companyLogo = await this.getCompanyLogo();
773
- const forgotPasswordSendVerificationTokenOn = this.settingService.getConfigValue('forgotPasswordSendVerificationTokenOn');
774
- if (forgotPasswordSendVerificationTokenOn == constants_1.ForgotPasswordSendVerificationTokenOn.EMAIL) {
798
+ const forgotPasswordSendVerificationTokenOn = this.settingService.getConfigValue("forgotPasswordSendVerificationTokenOn");
799
+ if (forgotPasswordSendVerificationTokenOn ==
800
+ constants_1.ForgotPasswordSendVerificationTokenOn.EMAIL) {
775
801
  const mailService = this.mailServiceFactory.getMailService();
776
- mailService.sendEmailUsingTemplate(user.email, 'forgot-password', {
777
- solidAppName: this.settingService.getConfigValue('appTitle'),
778
- solidAppWebsiteUrl: this.settingService.getConfigValue('solidAppWebsiteUrl'),
802
+ mailService.sendEmailUsingTemplate(user.email, "forgot-password", {
803
+ solidAppName: this.settingService.getConfigValue("appTitle"),
804
+ solidAppWebsiteUrl: this.settingService.getConfigValue("solidAppWebsiteUrl"),
779
805
  firstName: user.username,
780
806
  fullName: user.fullName,
781
- passwordResetLink: `${this.settingService.getConfigValue('frontendForgotPasswordPageUrl')}?token=${user.verificationTokenOnForgotPassword}`,
782
- companyLogoUrl: companyLogo
783
- }, this.settingService.getConfigValue('shouldQueueEmails'), null, null, 'user', user.id);
807
+ passwordResetLink: `${this.settingService.getConfigValue("frontendForgotPasswordPageUrl")}?token=${user.verificationTokenOnForgotPassword}`,
808
+ companyLogoUrl: companyLogo,
809
+ }, this.settingService.getConfigValue("shouldQueueEmails"), null, null, "user", user.id);
784
810
  }
785
- if (forgotPasswordSendVerificationTokenOn == constants_1.ForgotPasswordSendVerificationTokenOn.MOBILE && user.mobile) {
811
+ if (forgotPasswordSendVerificationTokenOn ==
812
+ constants_1.ForgotPasswordSendVerificationTokenOn.MOBILE &&
813
+ user.mobile) {
786
814
  const smsService = this.smsFactory.getSmsService();
787
- smsService.sendSMSUsingTemplate(user.mobile, 'forgot-password', {
788
- solidAppName: this.settingService.getConfigValue('appTitle'),
815
+ smsService.sendSMSUsingTemplate(user.mobile, "forgot-password", {
816
+ solidAppName: this.settingService.getConfigValue("appTitle"),
789
817
  otp: user.verificationTokenOnForgotPassword,
790
818
  verificationTokenOnForgotPassword: user.verificationTokenOnForgotPassword,
791
819
  firstName: user.username,
792
- companyLogoUrl: companyLogo
793
- }, this.settingService.getConfigValue('shouldQueueSms'));
820
+ companyLogoUrl: companyLogo,
821
+ }, this.settingService.getConfigValue("shouldQueueSms"));
794
822
  }
795
823
  }
796
824
  async confirmForgotPassword(confirmForgotPasswordDto) {
@@ -798,7 +826,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
798
826
  const user = await this.resolveUserByVerificationToken(confirmForgotPasswordDto.verificationToken);
799
827
  if (!user)
800
828
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_CREDENTIALS);
801
- if (user.lastLoginProvider !== 'local')
829
+ if (user.lastLoginProvider !== "local")
802
830
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_CREDENTIALS);
803
831
  if (!user.active)
804
832
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_CREDENTIALS);
@@ -806,13 +834,15 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
806
834
  .createQueryBuilder()
807
835
  .update(user_entity_1.User)
808
836
  .set({
809
- forgotPasswordConfirmedAt: () => 'NOW()',
810
- verificationTokenOnForgotPassword: () => 'NULL',
811
- verificationTokenOnForgotPasswordExpiresAt: () => 'NULL',
837
+ forgotPasswordConfirmedAt: () => "NOW()",
838
+ verificationTokenOnForgotPassword: () => "NULL",
839
+ verificationTokenOnForgotPasswordExpiresAt: () => "NULL",
812
840
  })
813
- .where('id = :id', { id: user.id })
814
- .andWhere('verificationTokenOnForgotPassword = :token', { token: confirmForgotPasswordDto.verificationToken })
815
- .andWhere('verificationTokenOnForgotPasswordExpiresAt > NOW()')
841
+ .where("id = :id", { id: user.id })
842
+ .andWhere("verificationTokenOnForgotPassword = :token", {
843
+ token: confirmForgotPasswordDto.verificationToken,
844
+ })
845
+ .andWhere("verificationTokenOnForgotPasswordExpiresAt > NOW()")
816
846
  .execute();
817
847
  if (affected !== 1) {
818
848
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_CREDENTIALS);
@@ -820,41 +850,48 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
820
850
  const pwdHash = await this.hashingService.hash(confirmForgotPasswordDto.password);
821
851
  const pwdScheme = this.hashingService.name();
822
852
  const pwdSchemeVersion = this.hashingService.currentVersion();
823
- await m.getRepository(user_entity_1.User).update({ id: user.id }, { password: pwdHash, passwordScheme: pwdScheme, passwordSchemeVersion: pwdSchemeVersion });
853
+ await m.getRepository(user_entity_1.User).update({ id: user.id }, {
854
+ password: pwdHash,
855
+ passwordScheme: pwdScheme,
856
+ passwordSchemeVersion: pwdSchemeVersion,
857
+ });
824
858
  await this.notifyUserOnPasswordChanged(user);
825
859
  return {
826
- status: 'success',
860
+ status: "success",
827
861
  message: success_messages_1.SUCCESS_MESSAGES.FORGOT_PASSWORD_CONFIRMED,
828
- error: '',
829
- errorCode: '',
862
+ error: "",
863
+ errorCode: "",
830
864
  data: {},
831
865
  };
832
866
  });
833
867
  }
834
868
  async notifyUserOnPasswordChanged(user) {
835
869
  const companyLogo = await this.getCompanyLogo();
836
- const forgotPasswordSendVerificationTokenOn = this.settingService.getConfigValue('forgotPasswordSendVerificationTokenOn');
837
- if (forgotPasswordSendVerificationTokenOn == constants_1.ForgotPasswordSendVerificationTokenOn.EMAIL) {
870
+ const forgotPasswordSendVerificationTokenOn = this.settingService.getConfigValue("forgotPasswordSendVerificationTokenOn");
871
+ if (forgotPasswordSendVerificationTokenOn ==
872
+ constants_1.ForgotPasswordSendVerificationTokenOn.EMAIL) {
838
873
  const mailService = this.mailServiceFactory.getMailService();
839
- mailService.sendEmailUsingTemplate(user.email, 'password-changed', {
840
- solidAppName: this.settingService.getConfigValue('appTitle'),
841
- solidAppWebsiteUrl: this.settingService.getConfigValue('solidAppWebsiteUrl'),
874
+ mailService.sendEmailUsingTemplate(user.email, "password-changed", {
875
+ solidAppName: this.settingService.getConfigValue("appTitle"),
876
+ solidAppWebsiteUrl: this.settingService.getConfigValue("solidAppWebsiteUrl"),
842
877
  email: user.email,
843
878
  firstName: user.username,
844
879
  fullName: user.fullName,
845
- passwordResetLink: `${this.settingService.getConfigValue('frontendForgotPasswordPageUrl')}?token=${user.verificationTokenOnForgotPassword}`,
846
- companyLogoUrl: companyLogo
847
- }, this.settingService.getConfigValue('shouldQueueEmails'), null, null, 'user', user.id);
880
+ passwordResetLink: `${this.settingService.getConfigValue("frontendForgotPasswordPageUrl")}?token=${user.verificationTokenOnForgotPassword}`,
881
+ companyLogoUrl: companyLogo,
882
+ }, this.settingService.getConfigValue("shouldQueueEmails"), null, null, "user", user.id);
848
883
  }
849
- if (forgotPasswordSendVerificationTokenOn == constants_1.ForgotPasswordSendVerificationTokenOn.MOBILE && user.mobile) {
884
+ if (forgotPasswordSendVerificationTokenOn ==
885
+ constants_1.ForgotPasswordSendVerificationTokenOn.MOBILE &&
886
+ user.mobile) {
850
887
  const smsService = this.smsFactory.getSmsService();
851
- smsService.sendSMSUsingTemplate(user.mobile, 'forgot-password', {
852
- solidAppName: this.settingService.getConfigValue('appTitle'),
888
+ smsService.sendSMSUsingTemplate(user.mobile, "forgot-password", {
889
+ solidAppName: this.settingService.getConfigValue("appTitle"),
853
890
  otp: user.verificationTokenOnForgotPassword,
854
891
  verificationTokenOnForgotPassword: user.verificationTokenOnForgotPassword,
855
892
  firstName: user.username,
856
- companyLogoUrl: companyLogo
857
- }, this.settingService.getConfigValue('shouldQueueSms'));
893
+ companyLogoUrl: companyLogo,
894
+ }, this.settingService.getConfigValue("shouldQueueSms"));
858
895
  }
859
896
  }
860
897
  async generateTokens(user) {
@@ -897,14 +934,14 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
897
934
  id: sub,
898
935
  },
899
936
  relations: {
900
- roles: true
901
- }
937
+ roles: true,
938
+ },
902
939
  });
903
940
  if (!user) {
904
941
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.SESSION_INVALID);
905
942
  }
906
943
  const currentRefreshToken = await this.refreshTokenIdsStorage.validateAndRotate(user, refreshTokenDto.refreshToken);
907
- await this.userActivityHistoryService.logEvent('tokenRefreshed', user);
944
+ await this.userActivityHistoryService.logEvent("tokenRefreshed", user);
908
945
  return {
909
946
  accessToken: await this.generateAccessToken(user),
910
947
  refreshToken: currentRefreshToken,
@@ -935,7 +972,8 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
935
972
  try {
936
973
  const response = await this.httpService.axiosRef.get(`https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=${user.googleAccessToken}`);
937
974
  const userProfile = response.data;
938
- if (userProfile.email === user.email && userProfile.id === user.googleId) {
975
+ if (userProfile.email === user.email &&
976
+ userProfile.id === user.googleId) {
939
977
  return userProfile;
940
978
  }
941
979
  else {
@@ -949,11 +987,11 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
949
987
  async signInUsingGoogle(accessCode) {
950
988
  const user = await this.userRepository.findOne({
951
989
  where: {
952
- accessCode: accessCode
990
+ accessCode: accessCode,
953
991
  },
954
992
  relations: {
955
- roles: true
956
- }
993
+ roles: true,
994
+ },
957
995
  });
958
996
  if (!user) {
959
997
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
@@ -974,24 +1012,156 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
974
1012
  mobile: user.mobile,
975
1013
  username: user.username,
976
1014
  id: user.id,
977
- roles: user.roles.map((role) => role.name)
1015
+ roles: user.roles.map((role) => role.name),
1016
+ },
1017
+ ...tokens,
1018
+ };
1019
+ }
1020
+ async validateUserUsingFacebook(user) {
1021
+ try {
1022
+ const response = await this.httpService.axiosRef.get(`https://graph.facebook.com/me?fields=id,name,email&access_token=${user.facebookAccessToken}`);
1023
+ const userProfile = response.data;
1024
+ if (userProfile.id === user.facebookId &&
1025
+ (!user.email || !userProfile.email || userProfile.email === user.email)) {
1026
+ return userProfile;
1027
+ }
1028
+ else {
1029
+ throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_USER_PROFILE);
1030
+ }
1031
+ }
1032
+ catch (error) {
1033
+ throw new common_1.UnauthorizedException("Facebook OAuth profile fetch failed");
1034
+ }
1035
+ }
1036
+ async signInUsingFacebook(accessCode) {
1037
+ const user = await this.userRepository.findOne({
1038
+ where: {
1039
+ accessCode: accessCode,
1040
+ },
1041
+ relations: {
1042
+ roles: true,
1043
+ },
1044
+ });
1045
+ if (!user) {
1046
+ throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
1047
+ }
1048
+ this.checkAccountBlocked(user);
1049
+ try {
1050
+ await this.validateUserUsingFacebook(user);
1051
+ }
1052
+ catch (e) {
1053
+ await this.incrementFailedAttempts(user);
1054
+ throw e;
1055
+ }
1056
+ await this.resetFailedAttempts(user);
1057
+ const tokens = await this.generateTokens(user);
1058
+ return {
1059
+ user: {
1060
+ email: user.email,
1061
+ mobile: user.mobile,
1062
+ username: user.username,
1063
+ id: user.id,
1064
+ roles: user.roles.map((role) => role.name),
978
1065
  },
979
- ...tokens
1066
+ ...tokens,
1067
+ };
1068
+ }
1069
+ async validateUserUsingMicrosoft(user) {
1070
+ try {
1071
+ const response = await this.httpService.axiosRef.get(`https://graph.microsoft.com/v1.0/me`, {
1072
+ headers: {
1073
+ Authorization: `Bearer ${user.microsoftAccessToken}`,
1074
+ },
1075
+ });
1076
+ const userProfile = response.data;
1077
+ const profileEmail = userProfile.mail || userProfile.userPrincipalName;
1078
+ if (userProfile.id === user.microsoftId &&
1079
+ (!user.email || profileEmail === user.email)) {
1080
+ return userProfile;
1081
+ }
1082
+ else {
1083
+ throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_USER_PROFILE);
1084
+ }
1085
+ }
1086
+ catch (error) {
1087
+ throw new common_1.UnauthorizedException("Microsoft OAuth profile fetch failed");
1088
+ }
1089
+ }
1090
+ async signInUsingMicrosoft(accessCode) {
1091
+ const user = await this.userRepository.findOne({
1092
+ where: {
1093
+ accessCode: accessCode,
1094
+ },
1095
+ relations: {
1096
+ roles: true,
1097
+ },
1098
+ });
1099
+ if (!user) {
1100
+ throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
1101
+ }
1102
+ this.checkAccountBlocked(user);
1103
+ try {
1104
+ await this.validateUserUsingMicrosoft(user);
1105
+ }
1106
+ catch (e) {
1107
+ await this.incrementFailedAttempts(user);
1108
+ throw e;
1109
+ }
1110
+ await this.resetFailedAttempts(user);
1111
+ const tokens = await this.generateTokens(user);
1112
+ return {
1113
+ user: {
1114
+ email: user.email,
1115
+ mobile: user.mobile,
1116
+ username: user.username,
1117
+ id: user.id,
1118
+ roles: user.roles.map((role) => role.name),
1119
+ },
1120
+ ...tokens,
1121
+ };
1122
+ }
1123
+ async signInUsingApple(accessCode) {
1124
+ const user = await this.userRepository.findOne({
1125
+ where: {
1126
+ accessCode: accessCode,
1127
+ },
1128
+ relations: {
1129
+ roles: true,
1130
+ },
1131
+ });
1132
+ if (!user) {
1133
+ throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
1134
+ }
1135
+ this.checkAccountBlocked(user);
1136
+ await this.resetFailedAttempts(user);
1137
+ const tokens = await this.generateTokens(user);
1138
+ return {
1139
+ user: {
1140
+ email: user.email,
1141
+ mobile: user.mobile,
1142
+ username: user.username,
1143
+ id: user.id,
1144
+ roles: user.roles.map((role) => role.name),
1145
+ },
1146
+ ...tokens,
980
1147
  };
981
1148
  }
982
1149
  async isPasswordlessRegistrationEnabled() {
983
- return this.settingService.getConfigValue('passwordLessAuth');
1150
+ return this.settingService.getConfigValue("passwordLessAuth");
984
1151
  }
985
1152
  checkAccountBlocked(user) {
986
- const maxFailedAttempts = this.settingService.getConfigValue('maxFailedLoginAttempts');
987
- if (maxFailedAttempts > 0 && user.failedLoginAttempts >= maxFailedAttempts) {
1153
+ const maxFailedAttempts = this.settingService.getConfigValue("maxFailedLoginAttempts");
1154
+ if (maxFailedAttempts > 0 &&
1155
+ user.failedLoginAttempts >= maxFailedAttempts) {
988
1156
  throw new common_1.ForbiddenException(error_messages_1.ERROR_MESSAGES.ACCOUNT_BLOCKED);
989
1157
  }
990
1158
  }
991
1159
  async incrementFailedAttempts(user) {
992
1160
  const nextFailedAttempts = (user.failedLoginAttempts ?? 0) + 1;
993
1161
  user.failedLoginAttempts = nextFailedAttempts;
994
- await this.userRepository.update(user.id, { failedLoginAttempts: nextFailedAttempts });
1162
+ await this.userRepository.update(user.id, {
1163
+ failedLoginAttempts: nextFailedAttempts,
1164
+ });
995
1165
  }
996
1166
  async resetFailedAttempts(user) {
997
1167
  if (user.failedLoginAttempts === 0)
@@ -1010,13 +1180,14 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
1010
1180
  const user = await this.userRepository.findOne({
1011
1181
  where: {
1012
1182
  id: userId,
1013
- }
1183
+ },
1014
1184
  });
1015
- await this.userActivityHistoryService.logEvent('logout', user);
1185
+ await this.userActivityHistoryService.logEvent("logout", user);
1016
1186
  return { message: success_messages_1.SUCCESS_MESSAGES.LOGOUT_SUCCESS };
1017
1187
  }
1018
1188
  catch (err) {
1019
- throw err instanceof common_1.UnauthorizedException || err instanceof common_1.InternalServerErrorException
1189
+ throw err instanceof common_1.UnauthorizedException ||
1190
+ err instanceof common_1.InternalServerErrorException
1020
1191
  ? err
1021
1192
  : new common_1.InternalServerErrorException(error_messages_1.ERROR_MESSAGES.LOGOUT_FAILED);
1022
1193
  }
@@ -1035,8 +1206,8 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
1035
1206
  id: activeUser.sub,
1036
1207
  },
1037
1208
  relations: {
1038
- roles: true
1039
- }
1209
+ roles: true,
1210
+ },
1040
1211
  });
1041
1212
  const refreshTokenState = await this.refreshTokenIdsStorage.getCurrentRefreshTokenState(user.id);
1042
1213
  const response = {
@@ -1069,6 +1240,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
1069
1240
  }
1070
1241
  };
1071
1242
  exports.AuthenticationService = AuthenticationService;
1243
+ AuthenticationService.SIGNUP_DTO_KEYS = new Set(['username', 'email', 'password', 'fullName', 'mobile', 'roles', 'forcePasswordChange']);
1072
1244
  exports.AuthenticationService = AuthenticationService = AuthenticationService_1 = __decorate([
1073
1245
  (0, common_1.Injectable)(),
1074
1246
  __param(13, (0, typeorm_1.InjectDataSource)()),
@@ -1085,7 +1257,8 @@ exports.AuthenticationService = AuthenticationService = AuthenticationService_1
1085
1257
  role_metadata_service_1.RoleMetadataService,
1086
1258
  user_activity_history_service_1.UserActivityHistoryService,
1087
1259
  sso_code_storage_service_1.SsoCodeStorageService,
1088
- typeorm_2.DataSource])
1260
+ typeorm_2.DataSource,
1261
+ solid_registry_1.SolidRegistry])
1089
1262
  ], AuthenticationService);
1090
1263
  function parseUniqueConstraintError(detail) {
1091
1264
  const match = detail.match(/Key \(([^)]+)\)=\(([^)]+)\) already exists\./);
@@ -1093,9 +1266,9 @@ function parseUniqueConstraintError(detail) {
1093
1266
  const field = match[1];
1094
1267
  const value = match[2];
1095
1268
  const fieldMap = {
1096
- username: 'username',
1097
- email: 'email address',
1098
- full_name_user_key: 'full name',
1269
+ username: "username",
1270
+ email: "email address",
1271
+ full_name_user_key: "full name",
1099
1272
  };
1100
1273
  const friendlyField = fieldMap[field] || field;
1101
1274
  return `A user with ${friendlyField} "${value}" already exists.`;