@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
@@ -1,12 +1,12 @@
1
1
  import { ModuleRef } from "@nestjs/core";
2
- import { CRUDService } from 'src/services/crud.service';
3
- import { EntityManager, Repository } from 'typeorm';
4
- import { OauthUserDto } from '../dtos/oauth-user-dto';
5
- import { User } from '../entities/user.entity';
6
- import { ActiveUserData } from '../interfaces/active-user-data.interface';
7
- import { UserRepository } from 'src/repository/user.repository';
8
- import { RoleMetadataRepository } from 'src/repository/role-metadata.repository';
9
- import { HashingService } from './hashing.service';
2
+ import { CRUDService } from "../services/crud.service";
3
+ import { EntityManager, Repository } from "typeorm";
4
+ import { OauthUserDto } from "../dtos/oauth-user-dto";
5
+ import { User } from "../entities/user.entity";
6
+ import { ActiveUserData } from "../interfaces/active-user-data.interface";
7
+ import { UserRepository } from "../repository/user.repository";
8
+ import { RoleMetadataRepository } from "../repository/role-metadata.repository";
9
+ import { HashingService } from "./hashing.service";
10
10
  export declare class UserService extends CRUDService<User> {
11
11
  readonly hashingService: HashingService;
12
12
  readonly entityManager: EntityManager;
@@ -14,6 +14,8 @@ export declare class UserService extends CRUDService<User> {
14
14
  readonly nonSecurityRuleAwareRepo: Repository<User>;
15
15
  private readonly roleRepository;
16
16
  readonly moduleRef: ModuleRef;
17
+ private buildFacebookUsernameBase;
18
+ private resolveUniqueUsername;
17
19
  constructor(hashingService: HashingService, entityManager: EntityManager, repo: UserRepository, nonSecurityRuleAwareRepo: Repository<User>, roleRepository: RoleMetadataRepository, moduleRef: ModuleRef);
18
20
  delete(id: number, solidRequestContext?: any): Promise<User>;
19
21
  deleteMany(ids: number[], solidRequestContext?: any): Promise<any>;
@@ -25,6 +27,8 @@ export declare class UserService extends CRUDService<User> {
25
27
  addRolesToUser(username: string, roleNames: string[]): Promise<User>;
26
28
  removeRoleFromUser(username: string, roleName: string): Promise<User>;
27
29
  resolveUserOnOauthGoogle(oauthUserDto: OauthUserDto): Promise<User>;
30
+ resolveUserOnOauthFacebook(oauthUserDto: OauthUserDto): Promise<User>;
31
+ resolveUserOnOauthMicrosoft(oauthUserDto: OauthUserDto): Promise<User>;
28
32
  findUsersByRole(roleName: string, relations?: any): Promise<User[]>;
29
33
  checkIfPermissionExists(query: any, activeUser: ActiveUserData): Promise<string[]>;
30
34
  initializeRolesForNewUser(roles: string[], user: User): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBACa,WAAY,SAAQ,WAAW,CAAC,IAAI,CAAC;IAE9C,QAAQ,CAAC,cAAc,EAAE,cAAc;IAEvC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,cAAc;IAE7B,QAAQ,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,CAAC;IAGnD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAVpB,cAAc,EAAE,cAAc,EAE9B,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,cAAc,EAEpB,wBAAwB,EAAE,UAAU,CAAC,IAAI,CAAC,EAGlC,cAAc,EAAE,sBAAsB,EAC9C,SAAS,EAAE,SAAS;IAMhB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,GAAE,GAAQ;IAUhD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,mBAAmB,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAa/E,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,mBAAmB,GAAE,GAAQ;IAgBnE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BhE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCpE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,wBAAwB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CnE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAWvE,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc;IAM9D,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IAgBrD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CAWH"}
1
+ {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBACa,WAAY,SAAQ,WAAW,CAAC,IAAI,CAAC;IA8B9C,QAAQ,CAAC,cAAc,EAAE,cAAc;IAEvC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,cAAc;IAE7B,QAAQ,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,CAAC;IAGnD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAvC/B,OAAO,CAAC,yBAAyB;YASnB,qBAAqB;gBAoBxB,cAAc,EAAE,cAAc,EAE9B,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,cAAc,EAEpB,wBAAwB,EAAE,UAAU,CAAC,IAAI,CAAC,EAGlC,cAAc,EAAE,sBAAsB,EAC9C,SAAS,EAAE,SAAS;IAKhB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,GAAE,GAAQ;IAUhD,UAAU,CACvB,GAAG,EAAE,MAAM,EAAE,EACb,mBAAmB,GAAE,GAAQ,GAC5B,OAAO,CAAC,GAAG,CAAC;IAgBT,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,mBAAmB,GAAE,GAAQ;IAgBnE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrE,wBAAwB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CnE,0BAA0B,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAuErE,2BAA2B,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CtE,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,GAAQ,GAClB,OAAO,CAAC,IAAI,EAAE,CAAC;IAWZ,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc;IAO9D,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IAgBrD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CASH"}
@@ -24,8 +24,27 @@ const user_repository_1 = require("../repository/user.repository");
24
24
  const role_metadata_repository_1 = require("../repository/role-metadata.repository");
25
25
  const hashing_service_1 = require("./hashing.service");
26
26
  let UserService = class UserService extends crud_service_1.CRUDService {
27
+ buildFacebookUsernameBase(name) {
28
+ const normalized = (name || "")
29
+ .trim()
30
+ .toLowerCase()
31
+ .replace(/[^a-z0-9]+/g, "_")
32
+ .replace(/^_+|_+$/g, "");
33
+ return normalized || "facebook_user";
34
+ }
35
+ async resolveUniqueUsername(preferredUsername) {
36
+ let candidate = preferredUsername;
37
+ let suffix = 0;
38
+ while (await this.repo.findOne({ where: { username: candidate } })) {
39
+ suffix += 1;
40
+ candidate = `${preferredUsername}_${suffix}`;
41
+ }
42
+ if (candidate) {
43
+ return candidate;
44
+ }
45
+ }
27
46
  constructor(hashingService, entityManager, repo, nonSecurityRuleAwareRepo, roleRepository, moduleRef) {
28
- super(entityManager, repo, 'user', 'solid-core', moduleRef);
47
+ super(entityManager, repo, "user", "solid-core", moduleRef);
29
48
  this.hashingService = hashingService;
30
49
  this.entityManager = entityManager;
31
50
  this.repo = repo;
@@ -43,7 +62,8 @@ let UserService = class UserService extends crud_service_1.CRUDService {
43
62
  if (!ids || ids.length === 0) {
44
63
  throw new Error(error_messages_1.ERROR_MESSAGES.DELETE_IDS_REQUIRED);
45
64
  }
46
- if (solidRequestContext?.activeUser?.sub && ids.includes(solidRequestContext.activeUser.id)) {
65
+ if (solidRequestContext?.activeUser?.sub &&
66
+ ids.includes(solidRequestContext.activeUser.id)) {
47
67
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.DELETE_SELF_NOT_ALLOWED);
48
68
  }
49
69
  return super.deleteMany(ids, solidRequestContext);
@@ -51,33 +71,33 @@ let UserService = class UserService extends crud_service_1.CRUDService {
51
71
  async findOneByEmail(email) {
52
72
  return await this.repo.findOne({
53
73
  where: {
54
- email: email
74
+ email: email,
55
75
  },
56
- relations: {}
76
+ relations: {},
57
77
  });
58
78
  }
59
79
  async findOneByAccessCode(accessCode) {
60
80
  return await this.repo.findOne({
61
81
  where: {
62
- accessCode: accessCode
82
+ accessCode: accessCode,
63
83
  },
64
- relations: {}
84
+ relations: {},
65
85
  });
66
86
  }
67
87
  async findOneByUsername(username) {
68
88
  return await this.repo.findOne({
69
89
  where: {
70
- username: username
90
+ username: username,
71
91
  },
72
- relations: {}
92
+ relations: {},
73
93
  });
74
94
  }
75
95
  async updateUser(id, updateDto, files, solidRequestContext = {}) {
76
96
  const user = await this.repo.findOne({
77
97
  where: { id: id },
78
98
  relations: {
79
- roles: true
80
- }
99
+ roles: true,
100
+ },
81
101
  });
82
102
  if (!user) {
83
103
  throw new Error(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
@@ -91,13 +111,15 @@ let UserService = class UserService extends crud_service_1.CRUDService {
91
111
  const user = await this.repo.findOne({
92
112
  where: { username: username },
93
113
  relations: {
94
- roles: true
95
- }
114
+ roles: true,
115
+ },
96
116
  });
97
117
  if (!user) {
98
118
  throw new Error(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));
99
119
  }
100
- const role = await this.roleRepository.findOne({ where: { name: roleName } });
120
+ const role = await this.roleRepository.findOne({
121
+ where: { name: roleName },
122
+ });
101
123
  if (!role) {
102
124
  throw new Error(error_messages_1.ERROR_MESSAGES.ROLE_NOT_FOUND(roleName));
103
125
  }
@@ -112,43 +134,43 @@ let UserService = class UserService extends crud_service_1.CRUDService {
112
134
  async addRolesToUser(username, roleNames) {
113
135
  const user = await this.nonSecurityRuleAwareRepo.findOne({
114
136
  where: { username: username },
115
- relations: { roles: true }
137
+ relations: { roles: true },
116
138
  });
117
139
  if (!user) {
118
140
  throw new Error(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));
119
141
  }
120
142
  const roles = await this.roleRepository.find({
121
- where: roleNames.map(roleName => ({ name: roleName }))
143
+ where: roleNames.map((roleName) => ({ name: roleName })),
122
144
  });
123
145
  if (roles.length !== roleNames.length) {
124
- const foundRoleNames = roles.map(role => role.name);
125
- const missingRoles = roleNames.filter(roleName => !foundRoleNames.includes(roleName));
146
+ const foundRoleNames = roles.map((role) => role.name);
147
+ const missingRoles = roleNames.filter((roleName) => !foundRoleNames.includes(roleName));
126
148
  throw new Error(error_messages_1.ERROR_MESSAGES.ROLES_NOT_FOUND(missingRoles));
127
149
  }
128
- const currentRoles = user.roles.map(role => role.name);
129
- const rolesToAdd = roles.filter(role => !currentRoles.includes(role.name));
130
- const rolesToRemove = user.roles.filter(role => !roleNames.includes(role.name));
150
+ const currentRoles = user.roles.map((role) => role.name);
151
+ const rolesToAdd = roles.filter((role) => !currentRoles.includes(role.name));
152
+ const rolesToRemove = user.roles.filter((role) => !roleNames.includes(role.name));
131
153
  if (rolesToAdd.length > 0) {
132
154
  user.roles.push(...rolesToAdd);
133
155
  }
134
156
  if (rolesToRemove.length > 0) {
135
- user.roles = user.roles.filter(role => !rolesToRemove.includes(role));
157
+ user.roles = user.roles.filter((role) => !rolesToRemove.includes(role));
136
158
  }
137
159
  return await this.nonSecurityRuleAwareRepo.save(user);
138
160
  }
139
161
  async removeRoleFromUser(username, roleName) {
140
162
  const user = await this.repo.findOne({
141
163
  where: {
142
- username: username
164
+ username: username,
143
165
  },
144
166
  relations: {
145
- roles: true
146
- }
167
+ roles: true,
168
+ },
147
169
  });
148
170
  if (!user) {
149
171
  throw new Error(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));
150
172
  }
151
- user.roles = user.roles.filter(role => role.name !== roleName);
173
+ user.roles = user.roles.filter((role) => role.name !== roleName);
152
174
  return await this.repo.save(user);
153
175
  }
154
176
  async resolveUserOnOauthGoogle(oauthUserDto) {
@@ -157,8 +179,8 @@ let UserService = class UserService extends crud_service_1.CRUDService {
157
179
  email: oauthUserDto.email,
158
180
  },
159
181
  relations: {
160
- roles: true
161
- }
182
+ roles: true,
183
+ },
162
184
  });
163
185
  if (!user) {
164
186
  const user = new user_entity_1.User();
@@ -171,7 +193,7 @@ let UserService = class UserService extends crud_service_1.CRUDService {
171
193
  user.googleId = oauthUserDto.providerId;
172
194
  user.googleProfilePicture = oauthUserDto.picture;
173
195
  const savedUser = await this.repo.save(user);
174
- await this.initializeRolesForNewUser([this.settingService.getConfigValue('defaultRole')], savedUser);
196
+ await this.initializeRolesForNewUser([this.settingService.getConfigValue("defaultRole")], savedUser);
175
197
  }
176
198
  else {
177
199
  const entity = await this.repo.preload({
@@ -186,14 +208,103 @@ let UserService = class UserService extends crud_service_1.CRUDService {
186
208
  }
187
209
  return user;
188
210
  }
211
+ async resolveUserOnOauthFacebook(oauthUserDto) {
212
+ const normalizedEmail = oauthUserDto.email?.trim().toLowerCase() || null;
213
+ let user = null;
214
+ if (oauthUserDto.providerId) {
215
+ user = await this.repo.findOne({
216
+ where: {
217
+ facebookId: oauthUserDto.providerId,
218
+ },
219
+ relations: {
220
+ roles: true,
221
+ },
222
+ });
223
+ }
224
+ if (!user) {
225
+ const facebookProviderFallback = `facebook_${oauthUserDto.providerId}`;
226
+ const facebookNameUsername = this.buildFacebookUsernameBase(oauthUserDto.name);
227
+ let username = facebookNameUsername;
228
+ let email = normalizedEmail;
229
+ if (normalizedEmail) {
230
+ const existingByEmail = await this.repo.findOne({
231
+ where: { email: normalizedEmail },
232
+ });
233
+ if (existingByEmail) {
234
+ username = facebookNameUsername;
235
+ email = null;
236
+ }
237
+ }
238
+ username = await this.resolveUniqueUsername(username);
239
+ const newUser = new user_entity_1.User();
240
+ newUser.username = username;
241
+ newUser.email = email;
242
+ newUser.fullName = oauthUserDto.name;
243
+ newUser.lastLoginProvider = oauthUserDto.provider;
244
+ newUser.accessCode = oauthUserDto.accessCode;
245
+ newUser.facebookAccessToken = oauthUserDto.accessToken;
246
+ newUser.facebookId = oauthUserDto.providerId;
247
+ newUser.facebookProfilePicture = oauthUserDto.picture;
248
+ const savedUser = await this.repo.save(newUser);
249
+ await this.initializeRolesForNewUser([this.settingService.getConfigValue("defaultRole")], savedUser);
250
+ return savedUser;
251
+ }
252
+ else {
253
+ const entity = await this.repo.preload({
254
+ id: user.id,
255
+ lastLoginProvider: oauthUserDto.provider,
256
+ accessCode: oauthUserDto.accessCode,
257
+ facebookAccessToken: oauthUserDto.accessToken,
258
+ facebookId: oauthUserDto.providerId,
259
+ facebookProfilePicture: oauthUserDto.picture,
260
+ });
261
+ await this.repo.save(entity);
262
+ return entity;
263
+ }
264
+ }
265
+ async resolveUserOnOauthMicrosoft(oauthUserDto) {
266
+ const user = await this.repo.findOne({
267
+ where: {
268
+ email: oauthUserDto.email,
269
+ },
270
+ relations: {
271
+ roles: true,
272
+ },
273
+ });
274
+ if (!user) {
275
+ const newUser = new user_entity_1.User();
276
+ newUser.username = oauthUserDto.email;
277
+ newUser.email = oauthUserDto.email;
278
+ newUser.fullName = oauthUserDto.name;
279
+ newUser.lastLoginProvider = oauthUserDto.provider;
280
+ newUser.accessCode = oauthUserDto.accessCode;
281
+ newUser.microsoftAccessToken = oauthUserDto.accessToken;
282
+ newUser.microsoftId = oauthUserDto.providerId;
283
+ newUser.microsoftProfilePicture = oauthUserDto.picture;
284
+ const savedUser = await this.repo.save(newUser);
285
+ await this.initializeRolesForNewUser([this.settingService.getConfigValue("defaultRole")], savedUser);
286
+ }
287
+ else {
288
+ const entity = await this.repo.preload({
289
+ id: user.id,
290
+ lastLoginProvider: oauthUserDto.provider,
291
+ accessCode: oauthUserDto.accessCode,
292
+ microsoftAccessToken: oauthUserDto.accessToken,
293
+ microsoftId: oauthUserDto.providerId,
294
+ microsoftProfilePicture: oauthUserDto.picture,
295
+ });
296
+ await this.repo.save(entity);
297
+ }
298
+ return user;
299
+ }
189
300
  async findUsersByRole(roleName, relations = {}) {
190
301
  return await this.repo.find({
191
302
  where: {
192
303
  roles: {
193
- name: roleName
194
- }
304
+ name: roleName,
305
+ },
195
306
  },
196
- relations: relations
307
+ relations: relations,
197
308
  });
198
309
  }
199
310
  async checkIfPermissionExists(query, activeUser) {
@@ -227,7 +338,7 @@ exports.UserService = UserService;
227
338
  exports.UserService = UserService = __decorate([
228
339
  (0, common_1.Injectable)(),
229
340
  __param(1, (0, typeorm_1.InjectEntityManager)()),
230
- __param(3, (0, typeorm_1.InjectRepository)(user_entity_1.User, 'default')),
341
+ __param(3, (0, typeorm_1.InjectRepository)(user_entity_1.User, "default")),
231
342
  __metadata("design:paramtypes", [hashing_service_1.HashingService,
232
343
  typeorm_2.EntityManager,
233
344
  user_repository_1.UserRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { EntityManager, Repository } from 'typeorm';\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\n\nimport { OauthUserDto } from '../dtos/oauth-user-dto';\nimport { RoleMetadata } from '../entities/role-metadata.entity';\nimport { User } from '../entities/user.entity';\nimport { ActiveUserData } from '../interfaces/active-user-data.interface';\nimport { ERROR_MESSAGES } from 'src/constants/error-messages';\nimport { UserRepository } from 'src/repository/user.repository';\nimport { RoleMetadataRepository } from 'src/repository/role-metadata.repository';\nimport { HashingService } from './hashing.service';\n\n@Injectable()\nexport class UserService extends CRUDService<User> {\n constructor(\n readonly hashingService: HashingService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(User, 'default')\n readonly repo: UserRepository,\n @InjectRepository(User, 'default')\n readonly nonSecurityRuleAwareRepo: Repository<User>,\n // @InjectRepository(RoleMetadata)\n // private readonly roleRepository: Repository<RoleMetadata>,\n private readonly roleRepository: RoleMetadataRepository,\n readonly moduleRef: ModuleRef,\n\n ) {\n super(entityManager, repo, 'user', 'solid-core', moduleRef);\n }\n\n override async delete(id: number, solidRequestContext: any = {}) {\n // Prevent user from deleting themselves\n if (solidRequestContext?.activeUser?.sub === id) {\n throw new BadRequestException(ERROR_MESSAGES.DELETE_SELF_NOT_ALLOWED);\n }\n\n // ✅ Proceed with the default deletion logic\n return super.delete(id, solidRequestContext);\n }\n\n override async deleteMany(ids: number[], solidRequestContext: any = {}): Promise<any> {\n if (!ids || ids.length === 0) {\n throw new Error(ERROR_MESSAGES.DELETE_IDS_REQUIRED);\n }\n\n // ❌ If the active user is trying to delete themselves\n if (solidRequestContext?.activeUser?.sub && ids.includes(solidRequestContext.activeUser.id)) {\n throw new BadRequestException(ERROR_MESSAGES.DELETE_SELF_NOT_ALLOWED);\n }\n\n return super.deleteMany(ids, solidRequestContext);\n }\n\n async findOneByEmail(email: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n email: email\n },\n relations: {}\n });\n // if (!entity) {\n // throw new NotFoundException(`user with email #${email} not found`);\n // }\n // return entity;\n }\n\n async findOneByAccessCode(accessCode: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n accessCode: accessCode\n },\n relations: {}\n });\n }\n\n async findOneByUsername(username: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n username: username\n },\n relations: {}\n });\n // if (!entity) {\n // throw new NotFoundException(`user with username ${username} not found`);\n // }\n // return entity;\n }\n\n async updateUser(id: any, updateDto, files, solidRequestContext: any = {}) {\n const user = await this.repo.findOne({\n where: { id: id },\n relations: {\n roles: true\n }\n });\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND);\n }\n if (updateDto.roles != null) {\n await this.addRolesToUser(user.username, updateDto.roles);\n }\n await this.update(id, updateDto, files, true);\n }\n\n async addRoleToUser(username: string, roleName: string): Promise<User> {\n // Find the role, find the user and populate the many 2 many table.\n const user = await this.repo.findOne({\n where: { username: username },\n relations: {\n roles: true\n }\n });\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));\n }\n const role = await this.roleRepository.findOne({ where: { name: roleName } });\n if (!role) {\n throw new Error(ERROR_MESSAGES.ROLE_NOT_FOUND(roleName));\n }\n\n if (user.roles && user.roles.length > 0) {\n user.roles.push(role);\n }\n else {\n user.roles = [role];\n }\n\n return await this.repo.save(user);\n }\n\n async addRolesToUser(username: string, roleNames: string[]): Promise<User> {\n const user = await this.nonSecurityRuleAwareRepo.findOne({\n where: { username: username },\n relations: { roles: true }\n });\n\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));\n }\n\n const roles = await this.roleRepository.find({\n where: roleNames.map(roleName => ({ name: roleName }))\n });\n\n if (roles.length !== roleNames.length) {\n const foundRoleNames = roles.map(role => role.name);\n const missingRoles = roleNames.filter(roleName => !foundRoleNames.includes(roleName));\n throw new Error(ERROR_MESSAGES.ROLES_NOT_FOUND(missingRoles));\n }\n\n const currentRoles = user.roles.map(role => role.name);\n\n const rolesToAdd = roles.filter(role => !currentRoles.includes(role.name));\n\n const rolesToRemove = user.roles.filter(role => !roleNames.includes(role.name));\n\n if (rolesToAdd.length > 0) {\n user.roles.push(...rolesToAdd);\n }\n\n if (rolesToRemove.length > 0) {\n user.roles = user.roles.filter(role => !rolesToRemove.includes(role));\n }\n\n return await this.nonSecurityRuleAwareRepo.save(user);\n }\n\n\n async removeRoleFromUser(username: string, roleName: string): Promise<User> {\n\n // load the role with the respective permissions.\n const user = await this.repo.findOne({\n where: {\n username: username\n },\n relations: {\n roles: true\n }\n });\n\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));\n }\n\n // modify the permissions array.\n user.roles = user.roles.filter(role => role.name !== roleName);\n\n return await this.repo.save(user);\n }\n\n // PROVIDER SPECIFIC CODE\n async resolveUserOnOauthGoogle(oauthUserDto: OauthUserDto): Promise<User> {\n const user = await this.repo.findOne({\n where: {\n email: oauthUserDto.email,\n },\n relations: {\n roles: true\n }\n });\n\n // if we are unable to find a user then we need to create one. \n if (!user) {\n const user = new User();\n user.username = oauthUserDto.email;\n user.email = oauthUserDto.email;\n user.fullName = oauthUserDto.name;\n user.lastLoginProvider = oauthUserDto.provider;\n user.accessCode = oauthUserDto.accessCode;\n user.googleAccessToken = oauthUserDto.accessToken;\n user.googleId = oauthUserDto.providerId;\n user.googleProfilePicture = oauthUserDto.picture;\n\n const savedUser = await this.repo.save(user);\n\n // Initialize the user roles\n await this.initializeRolesForNewUser([this.settingService.getConfigValue<SolidCoreSetting>('defaultRole')], savedUser);\n }\n // else we update the user and store the generated code & access token. \n else {\n const entity = await this.repo.preload({\n id: user.id,\n lastLoginProvider: oauthUserDto.provider,\n accessCode: oauthUserDto.accessCode,\n googleAccessToken: oauthUserDto.accessToken,\n googleId: oauthUserDto.providerId,\n googleProfilePicture: oauthUserDto.picture,\n });\n\n await this.repo.save(entity);\n }\n\n return user;\n }\n\n async findUsersByRole(roleName: string, relations: any = {}): Promise<User[]> {\n return await this.repo.find({\n where: {\n roles: {\n name: roleName\n }\n },\n relations: relations\n });\n }\n\n async checkIfPermissionExists(query: any, activeUser: ActiveUserData) {\n\n const matchingPermssions = activeUser.permissions.filter((p) => query.permissionNames.includes(p));\n return matchingPermssions\n }\n\n async initializeRolesForNewUser(roles: string[], user: User) {\n if (!user.id) {\n throw new BadRequestException(ERROR_MESSAGES.USER_MISSING_ID);\n }\n let userRoles = [];\n // Default Internal user role assigned \n userRoles.push(\"Internal User\");\n if (roles) {\n userRoles = [...userRoles, ...roles];\n }\n userRoles = Array.from(new Set([...userRoles]));\n if (userRoles.length > 0) {\n await this.addRolesToUser(user.username, userRoles);\n }\n }\n\n async hashPassword(password: string): Promise<{\n password: string;\n passwordScheme: string;\n passwordSchemeVersion: number;\n }> {\n const hashedPassword = await this.hashingService.hash(password);\n\n return {\n password: hashedPassword,\n passwordScheme: this.hashingService.name(),\n passwordSchemeVersion: this.hashingService.currentVersion(),\n };\n }\n\n\n}\n\n"]}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,uCAAyC;AACzC,6CAAwE;AACxE,iDAAwD;AACxD,qCAAoD;AAKpD,yDAA+C;AAE/C,gEAA8D;AAC9D,mEAAgE;AAChE,qFAAiF;AACjF,uDAAmD;AAG5C,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,0BAAiB;IACxC,yBAAyB,CAAC,IAAa;QAC7C,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aAC5B,IAAI,EAAE;aACN,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3B,OAAO,UAAU,IAAI,eAAe,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,iBAAyB;QAGzB,IAAI,SAAS,GAAG,iBAAiB,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS,GAAG,GAAG,iBAAiB,IAAI,MAAM,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;IAGH,CAAC;IAED,YACW,cAA8B,EAE9B,aAA4B,EAE5B,IAAoB,EAEpB,wBAA0C,EAGlC,cAAsC,EAC9C,SAAoB;QAE7B,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAZnD,mBAAc,GAAd,cAAc,CAAgB;QAE9B,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAgB;QAEpB,6BAAwB,GAAxB,wBAAwB,CAAkB;QAGlC,mBAAc,GAAd,cAAc,CAAwB;QAC9C,cAAS,GAAT,SAAS,CAAW;IAG/B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,sBAA2B,EAAE;QAE7D,IAAI,mBAAmB,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,4BAAmB,CAAC,+BAAc,CAAC,uBAAuB,CAAC,CAAC;QACxE,CAAC;QAGD,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IAEQ,KAAK,CAAC,UAAU,CACvB,GAAa,EACb,sBAA2B,EAAE;QAE7B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,+BAAc,CAAC,mBAAmB,CAAC,CAAC;QACtD,CAAC;QAGD,IACE,mBAAmB,EAAE,UAAU,EAAE,GAAG;YACpC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,4BAAmB,CAAC,+BAAc,CAAC,uBAAuB,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK;aACb;YACD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IAKL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAC1C,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACL,UAAU,EAAE,UAAU;aACvB;YACD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ;aACnB;YACD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IAKL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAO,EAAE,SAAS,EAAE,KAAK,EAAE,sBAA2B,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACjB,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAAc,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,QAAgB;QAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC7B,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,SAAmB;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;YACvD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC7B,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC3C,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SACzD,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CACnC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACjD,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,+BAAc,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5C,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,QAAgB;QAEzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ;aACnB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEjE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAGD,KAAK,CAAC,wBAAwB,CAAC,YAA0B;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE;gBACL,KAAK,EAAE,YAAY,CAAC,KAAK;aAC1B;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;QAGH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,IAAI,kBAAI,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,QAAQ,CAAC;YAC/C,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC1C,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,WAAW,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC;YAEjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAG7C,MAAM,IAAI,CAAC,yBAAyB,CAClC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,aAAa,CAAC,CAAC,EACrE,SAAS,CACV,CAAC;QACJ,CAAC;aAEI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,iBAAiB,EAAE,YAAY,CAAC,QAAQ;gBACxC,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,iBAAiB,EAAE,YAAY,CAAC,WAAW;gBAC3C,QAAQ,EAAE,YAAY,CAAC,UAAU;gBACjC,oBAAoB,EAAE,YAAY,CAAC,OAAO;aAC3C,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,YAA0B;QACzD,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC;QACzE,IAAI,IAAI,GAAgB,IAAI,CAAC;QAE7B,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,KAAK,EAAE;oBACL,UAAU,EAAE,YAAY,CAAC,UAAU;iBACpC;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,wBAAwB,GAAG,YAAY,YAAY,CAAC,UAAU,EAAE,CAAC;YACvE,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CACzD,YAAY,CAAC,IAAI,CAClB,CAAC;YAEF,IAAI,QAAQ,GAAG,oBAAoB,CAAC;YAEpC,IAAI,KAAK,GAAG,eAAe,CAAC;YAG5B,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;iBAClC,CAAC,CAAC;gBACH,IAAI,eAAe,EAAE,CAAC;oBACpB,QAAQ,GAAG,oBAAoB,CAAC;oBAChC,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;YACH,CAAC;YACD,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACzC,QAAQ,CAET,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC5B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;YACrC,OAAO,CAAC,iBAAiB,GAAG,YAAY,CAAC,QAAQ,CAAC;YAClD,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC7C,OAAO,CAAC,mBAAmB,GAAG,YAAY,CAAC,WAAW,CAAC;YACvD,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC7C,OAAO,CAAC,sBAAsB,GAAG,YAAY,CAAC,OAAO,CAAC;YAEtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,IAAI,CAAC,yBAAyB,CAClC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,aAAa,CAAC,CAAC,EACrE,SAAS,CACV,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,iBAAiB,EAAE,YAAY,CAAC,QAAQ;gBACxC,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,mBAAmB,EAAE,YAAY,CAAC,WAAW;gBAC7C,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,sBAAsB,EAAE,YAAY,CAAC,OAAO;aAC7C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,YAA0B;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE;gBACL,KAAK,EAAE,YAAY,CAAC,KAAK;aAC1B;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,IAAI,kBAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;YACtC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;YACrC,OAAO,CAAC,iBAAiB,GAAG,YAAY,CAAC,QAAQ,CAAC;YAClD,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC7C,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC,WAAW,CAAC;YACxD,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;YAC9C,OAAO,CAAC,uBAAuB,GAAG,YAAY,CAAC,OAAO,CAAC;YAEvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,IAAI,CAAC,yBAAyB,CAClC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,aAAa,CAAC,CAAC,EACrE,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,iBAAiB,EAAE,YAAY,CAAC,QAAQ;gBACxC,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,oBAAoB,EAAE,YAAY,CAAC,WAAW;gBAC9C,WAAW,EAAE,YAAY,CAAC,UAAU;gBACpC,uBAAuB,EAAE,YAAY,CAAC,OAAO;aAC9C,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,YAAiB,EAAE;QAEnB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAAU,EAAE,UAA0B;QAClE,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClC,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAAe,EAAE,IAAU;QACzD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAC,+BAAc,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChC,IAAI,KAAK,EAAE,CAAC;YACV,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QAKjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhE,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;SAC5D,CAAC;IACJ,CAAC;CACF,CAAA;AA3aY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAgCR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAIrB,WAAA,IAAA,0BAAgB,EAAC,kBAAI,EAAE,SAAS,CAAC,CAAA;qCALT,gCAAc;QAEf,uBAAa;QAEtB,gCAAc;QAEM,oBAAU;QAGZ,iDAAsB;QACnC,gBAAS;GAxCpB,WAAW,CA2avB","sourcesContent":["import {\n BadRequestException,\n forwardRef,\n Inject,\n Injectable,\n} from \"@nestjs/common\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from \"@nestjs/typeorm\";\nimport { CRUDService } from \"src/services/crud.service\";\nimport { EntityManager, Repository } from \"typeorm\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\nimport { OauthUserDto } from \"../dtos/oauth-user-dto\";\nimport { RoleMetadata } from \"../entities/role-metadata.entity\";\nimport { User } from \"../entities/user.entity\";\nimport { ActiveUserData } from \"../interfaces/active-user-data.interface\";\nimport { ERROR_MESSAGES } from \"src/constants/error-messages\";\nimport { UserRepository } from \"src/repository/user.repository\";\nimport { RoleMetadataRepository } from \"src/repository/role-metadata.repository\";\nimport { HashingService } from \"./hashing.service\";\n\n@Injectable()\nexport class UserService extends CRUDService<User> {\n private buildFacebookUsernameBase(name?: string): string {\n const normalized = (name || \"\")\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"_\")\n .replace(/^_+|_+$/g, \"\");\n return normalized || \"facebook_user\";\n }\n\n private async resolveUniqueUsername(\n preferredUsername: string,\n // fallbackUsername: string,\n ): Promise<string> {\n let candidate = preferredUsername;\n let suffix = 0;\n\n while (await this.repo.findOne({ where: { username: candidate } })) {\n suffix += 1;\n candidate = `${preferredUsername}_${suffix}`;\n }\n\n if (candidate) {\n return candidate;\n }\n\n // return fallbackUsername;\n }\n\n constructor(\n readonly hashingService: HashingService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(User, 'default')\n readonly repo: UserRepository,\n @InjectRepository(User, \"default\")\n readonly nonSecurityRuleAwareRepo: Repository<User>,\n // @InjectRepository(RoleMetadata)\n // private readonly roleRepository: Repository<RoleMetadata>,\n private readonly roleRepository: RoleMetadataRepository,\n readonly moduleRef: ModuleRef,\n ) {\n super(entityManager, repo, \"user\", \"solid-core\", moduleRef);\n }\n\n override async delete(id: number, solidRequestContext: any = {}) {\n // Prevent user from deleting themselves\n if (solidRequestContext?.activeUser?.sub === id) {\n throw new BadRequestException(ERROR_MESSAGES.DELETE_SELF_NOT_ALLOWED);\n }\n\n // ✅ Proceed with the default deletion logic\n return super.delete(id, solidRequestContext);\n }\n\n override async deleteMany(\n ids: number[],\n solidRequestContext: any = {},\n ): Promise<any> {\n if (!ids || ids.length === 0) {\n throw new Error(ERROR_MESSAGES.DELETE_IDS_REQUIRED);\n }\n\n // ❌ If the active user is trying to delete themselves\n if (\n solidRequestContext?.activeUser?.sub &&\n ids.includes(solidRequestContext.activeUser.id)\n ) {\n throw new BadRequestException(ERROR_MESSAGES.DELETE_SELF_NOT_ALLOWED);\n }\n\n return super.deleteMany(ids, solidRequestContext);\n }\n\n async findOneByEmail(email: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n email: email,\n },\n relations: {},\n });\n // if (!entity) {\n // throw new NotFoundException(`user with email #${email} not found`);\n // }\n // return entity;\n }\n\n async findOneByAccessCode(accessCode: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n accessCode: accessCode,\n },\n relations: {},\n });\n }\n\n async findOneByUsername(username: string): Promise<User> {\n return await this.repo.findOne({\n where: {\n username: username,\n },\n relations: {},\n });\n // if (!entity) {\n // throw new NotFoundException(`user with username ${username} not found`);\n // }\n // return entity;\n }\n\n async updateUser(id: any, updateDto, files, solidRequestContext: any = {}) {\n const user = await this.repo.findOne({\n where: { id: id },\n relations: {\n roles: true,\n },\n });\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND);\n }\n if (updateDto.roles != null) {\n await this.addRolesToUser(user.username, updateDto.roles);\n }\n await this.update(id, updateDto, files, true);\n }\n\n async addRoleToUser(username: string, roleName: string): Promise<User> {\n // Find the role, find the user and populate the many 2 many table.\n const user = await this.repo.findOne({\n where: { username: username },\n relations: {\n roles: true,\n },\n });\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));\n }\n const role = await this.roleRepository.findOne({\n where: { name: roleName },\n });\n if (!role) {\n throw new Error(ERROR_MESSAGES.ROLE_NOT_FOUND(roleName));\n }\n\n if (user.roles && user.roles.length > 0) {\n user.roles.push(role);\n } else {\n user.roles = [role];\n }\n\n return await this.repo.save(user);\n }\n\n async addRolesToUser(username: string, roleNames: string[]): Promise<User> {\n const user = await this.nonSecurityRuleAwareRepo.findOne({\n where: { username: username },\n relations: { roles: true },\n });\n\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));\n }\n\n const roles = await this.roleRepository.find({\n where: roleNames.map((roleName) => ({ name: roleName })),\n });\n\n if (roles.length !== roleNames.length) {\n const foundRoleNames = roles.map((role) => role.name);\n const missingRoles = roleNames.filter(\n (roleName) => !foundRoleNames.includes(roleName),\n );\n throw new Error(ERROR_MESSAGES.ROLES_NOT_FOUND(missingRoles));\n }\n\n const currentRoles = user.roles.map((role) => role.name);\n\n const rolesToAdd = roles.filter(\n (role) => !currentRoles.includes(role.name),\n );\n\n const rolesToRemove = user.roles.filter(\n (role) => !roleNames.includes(role.name),\n );\n\n if (rolesToAdd.length > 0) {\n user.roles.push(...rolesToAdd);\n }\n\n if (rolesToRemove.length > 0) {\n user.roles = user.roles.filter((role) => !rolesToRemove.includes(role));\n }\n\n return await this.nonSecurityRuleAwareRepo.save(user);\n }\n\n async removeRoleFromUser(username: string, roleName: string): Promise<User> {\n // load the role with the respective permissions.\n const user = await this.repo.findOne({\n where: {\n username: username,\n },\n relations: {\n roles: true,\n },\n });\n\n if (!user) {\n throw new Error(ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));\n }\n\n // modify the permissions array.\n user.roles = user.roles.filter((role) => role.name !== roleName);\n\n return await this.repo.save(user);\n }\n\n // PROVIDER SPECIFIC CODE\n async resolveUserOnOauthGoogle(oauthUserDto: OauthUserDto): Promise<User> {\n const user = await this.repo.findOne({\n where: {\n email: oauthUserDto.email,\n },\n relations: {\n roles: true,\n },\n });\n\n // if we are unable to find a user then we need to create one.\n if (!user) {\n const user = new User();\n user.username = oauthUserDto.email;\n user.email = oauthUserDto.email;\n user.fullName = oauthUserDto.name;\n user.lastLoginProvider = oauthUserDto.provider;\n user.accessCode = oauthUserDto.accessCode;\n user.googleAccessToken = oauthUserDto.accessToken;\n user.googleId = oauthUserDto.providerId;\n user.googleProfilePicture = oauthUserDto.picture;\n\n const savedUser = await this.repo.save(user);\n\n // Initialize the user roles\n await this.initializeRolesForNewUser(\n [this.settingService.getConfigValue<SolidCoreSetting>(\"defaultRole\")],\n savedUser,\n );\n }\n // else we update the user and store the generated code & access token.\n else {\n const entity = await this.repo.preload({\n id: user.id,\n lastLoginProvider: oauthUserDto.provider,\n accessCode: oauthUserDto.accessCode,\n googleAccessToken: oauthUserDto.accessToken,\n googleId: oauthUserDto.providerId,\n googleProfilePicture: oauthUserDto.picture,\n });\n\n await this.repo.save(entity);\n }\n\n return user;\n }\n\n async resolveUserOnOauthFacebook(oauthUserDto: OauthUserDto): Promise<User> {\n const normalizedEmail = oauthUserDto.email?.trim().toLowerCase() || null;\n let user: User | null = null;\n\n if (oauthUserDto.providerId) {\n user = await this.repo.findOne({\n where: {\n facebookId: oauthUserDto.providerId,\n },\n relations: {\n roles: true,\n },\n });\n }\n\n if (!user) {\n const facebookProviderFallback = `facebook_${oauthUserDto.providerId}`;\n const facebookNameUsername = this.buildFacebookUsernameBase(\n oauthUserDto.name,\n );\n // let username = normalizedEmail || facebookNameUsername;\n let username = facebookNameUsername;\n\n let email = normalizedEmail;\n\n // Avoid clashing with local users that already own the same email/username.\n if (normalizedEmail) {\n const existingByEmail = await this.repo.findOne({\n where: { email: normalizedEmail },\n });\n if (existingByEmail) {\n username = facebookNameUsername;\n email = null;\n }\n }\n username = await this.resolveUniqueUsername(\n username,\n // facebookProviderFallback,\n );\n\n const newUser = new User();\n newUser.username = username;\n newUser.email = email;\n newUser.fullName = oauthUserDto.name;\n newUser.lastLoginProvider = oauthUserDto.provider;\n newUser.accessCode = oauthUserDto.accessCode;\n newUser.facebookAccessToken = oauthUserDto.accessToken;\n newUser.facebookId = oauthUserDto.providerId;\n newUser.facebookProfilePicture = oauthUserDto.picture;\n\n const savedUser = await this.repo.save(newUser);\n\n await this.initializeRolesForNewUser(\n [this.settingService.getConfigValue<SolidCoreSetting>(\"defaultRole\")],\n savedUser,\n );\n return savedUser;\n } else {\n const entity = await this.repo.preload({\n id: user.id,\n lastLoginProvider: oauthUserDto.provider,\n accessCode: oauthUserDto.accessCode,\n facebookAccessToken: oauthUserDto.accessToken,\n facebookId: oauthUserDto.providerId,\n facebookProfilePicture: oauthUserDto.picture,\n });\n await this.repo.save(entity);\n return entity;\n }\n }\n\n async resolveUserOnOauthMicrosoft(oauthUserDto: OauthUserDto): Promise<User> {\n const user = await this.repo.findOne({\n where: {\n email: oauthUserDto.email,\n },\n relations: {\n roles: true,\n },\n });\n\n if (!user) {\n const newUser = new User();\n newUser.username = oauthUserDto.email;\n newUser.email = oauthUserDto.email;\n newUser.fullName = oauthUserDto.name;\n newUser.lastLoginProvider = oauthUserDto.provider;\n newUser.accessCode = oauthUserDto.accessCode;\n newUser.microsoftAccessToken = oauthUserDto.accessToken;\n newUser.microsoftId = oauthUserDto.providerId;\n newUser.microsoftProfilePicture = oauthUserDto.picture;\n\n const savedUser = await this.repo.save(newUser);\n\n await this.initializeRolesForNewUser(\n [this.settingService.getConfigValue<SolidCoreSetting>(\"defaultRole\")],\n savedUser,\n );\n } else {\n const entity = await this.repo.preload({\n id: user.id,\n lastLoginProvider: oauthUserDto.provider,\n accessCode: oauthUserDto.accessCode,\n microsoftAccessToken: oauthUserDto.accessToken,\n microsoftId: oauthUserDto.providerId,\n microsoftProfilePicture: oauthUserDto.picture,\n });\n\n await this.repo.save(entity);\n }\n return user;\n }\n\n async findUsersByRole(\n roleName: string,\n relations: any = {},\n ): Promise<User[]> {\n return await this.repo.find({\n where: {\n roles: {\n name: roleName,\n },\n },\n relations: relations,\n });\n }\n\n async checkIfPermissionExists(query: any, activeUser: ActiveUserData) {\n const matchingPermssions = activeUser.permissions.filter((p) =>\n query.permissionNames.includes(p),\n );\n return matchingPermssions;\n }\n\n async initializeRolesForNewUser(roles: string[], user: User) {\n if (!user.id) {\n throw new BadRequestException(ERROR_MESSAGES.USER_MISSING_ID);\n }\n let userRoles = [];\n // Default Internal user role assigned\n userRoles.push(\"Internal User\");\n if (roles) {\n userRoles = [...userRoles, ...roles];\n }\n userRoles = Array.from(new Set([...userRoles]));\n if (userRoles.length > 0) {\n await this.addRolesToUser(user.username, userRoles);\n }\n }\n\n async hashPassword(password: string): Promise<{\n password: string;\n passwordScheme: string;\n passwordSchemeVersion: number;\n }> {\n const hashedPassword = await this.hashingService.hash(password);\n\n return {\n password: hashedPassword,\n passwordScheme: this.hashingService.name(),\n passwordSchemeVersion: this.hashingService.currentVersion(),\n };\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { ModuleRef } from "@nestjs/core";
2
- import { CRUDService } from 'src/services/crud.service';
2
+ import { CRUDService } from '../services/crud.service';
3
3
  import { EntityManager } from 'typeorm';
4
- import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
5
- import { ModelMetadataRepository } from 'src/repository/model-metadata.repository';
6
- import { ViewMetadataRepository } from 'src/repository/view-metadata.repository';
4
+ import { ModelMetadataHelperService } from '../helpers/model-metadata-helper.service';
5
+ import { ModelMetadataRepository } from '../repository/model-metadata.repository';
6
+ import { ViewMetadataRepository } from '../repository/view-metadata.repository';
7
7
  import { UpdateViewMetadataDto } from '../dtos/update-view-metadata.dto';
8
8
  import { FieldMetadata } from '../entities/field-metadata.entity';
9
9
  import { ViewMetadata } from '../entities/view-metadata.entity';
@@ -1 +1 @@
1
- {"version":3,"file":"view-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/view-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBACa,mBAAoB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAE9D,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IACzD,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB;IAClD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IAEzD,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,sBAAsB;IAMrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAfpB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,iBAAiB,EAAE,sBAAsB,EACzC,uBAAuB,EAAE,uBAAuB,EAEhD,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,sBAAsB,EAMpB,iBAAiB,EAAE,uBAAuB,EAC1C,0BAA0B,EAAE,0BAA0B,EAC9D,SAAS,EAAE,SAAS;IAK/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;YAGjD,4BAA4B;IA8DpC,SAAS,CAAC,KAAK,KAAA,EAAE,UAAU,KAAA;;;;;;;;;YAwRnB,kBAAkB;IAyB1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,KAAK;IAU7C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB;IAgBhD,kBAAkB,CAAC,kBAAkB,EAAE,qBAAqB;CAgBnE"}
1
+ {"version":3,"file":"view-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/view-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBACa,mBAAoB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAE9D,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IACzD,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB;IAClD,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB;IAEzD,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,sBAAsB;IAMrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAfpB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,iBAAiB,EAAE,sBAAsB,EACzC,uBAAuB,EAAE,uBAAuB,EAEhD,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,sBAAsB,EAMpB,iBAAiB,EAAE,uBAAuB,EAC1C,0BAA0B,EAAE,0BAA0B,EAC9D,SAAS,EAAE,SAAS;IAK/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;YAGjD,4BAA4B;IA8DpC,SAAS,CAAC,KAAK,KAAA,EAAE,UAAU,KAAA;;;;;;;;;YAqRnB,kBAAkB;IAyB1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,KAAK;IAU7C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB;IAgBhD,kBAAkB,CAAC,kBAAkB,EAAE,qBAAqB;CAgBnE"}
@@ -19,7 +19,7 @@ const core_1 = require("@nestjs/core");
19
19
  const typeorm_1 = require("@nestjs/typeorm");
20
20
  const crud_service_1 = require("./crud.service");
21
21
  const typeorm_2 = require("typeorm");
22
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
22
+ const string_helper_1 = require("../helpers/string.helper");
23
23
  const locale_entity_1 = require("../entities/locale.entity");
24
24
  const model_metadata_helper_service_1 = require("../helpers/model-metadata-helper.service");
25
25
  const solid_registry_1 = require("../helpers/solid-registry");
@@ -45,7 +45,7 @@ let ViewMetadataService = ViewMetadataService_1 = class ViewMetadataService exte
45
45
  }
46
46
  async getEntityRecordsInAllLocales(modelName, id, defaultEntityLocaleIdFromQuery) {
47
47
  const solidRegistry = await this.moduleRef.get(solid_registry_1.SolidRegistry, { strict: false });
48
- const currentEntityRepository = this.entityManager.getRepository((0, strings_1.classify)(modelName));
48
+ const currentEntityRepository = this.entityManager.getRepository((0, string_helper_1.classify)(modelName));
49
49
  if (id === 'new' && !defaultEntityLocaleIdFromQuery) {
50
50
  this.logger.debug(`Creating new record without cloning from any defaultEntityLocaleId.`);
51
51
  return { records: [], defaultEntityLocaleId: null };