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

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