@solidstarters/solid-core 1.2.124 → 1.2.127

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 (667) hide show
  1. package/dist/cli.js.map +1 -1
  2. package/dist/commands/helper.js.map +1 -1
  3. package/dist/commands/refresh-model.command.js.map +1 -1
  4. package/dist/commands/refresh-module.command.js.map +1 -1
  5. package/dist/commands/remove-fields.command.js.map +1 -1
  6. package/dist/commands/seed.command.js.map +1 -1
  7. package/dist/config/app-builder.config.js.map +1 -1
  8. package/dist/config/cache.options.js.map +1 -1
  9. package/dist/config/common.config.js.map +1 -1
  10. package/dist/config/iam.config.js.map +1 -1
  11. package/dist/constants.js.map +1 -1
  12. package/dist/controllers/action-metadata.controller.js.map +1 -1
  13. package/dist/controllers/authentication.controller.js.map +1 -1
  14. package/dist/controllers/chatter-message-details.controller.js.map +1 -1
  15. package/dist/controllers/chatter-message.controller.js.map +1 -1
  16. package/dist/controllers/email-template.controller.js.map +1 -1
  17. package/dist/controllers/export-template.controller.js.map +1 -1
  18. package/dist/controllers/export-transaction.controller.js.map +1 -1
  19. package/dist/controllers/field-metadata.controller.js.map +1 -1
  20. package/dist/controllers/google-authentication.controller.js.map +1 -1
  21. package/dist/controllers/import-transaction-error-log.controller.js.map +1 -1
  22. package/dist/controllers/import-transaction.controller.js.map +1 -1
  23. package/dist/controllers/list-of-values.controller.js.map +1 -1
  24. package/dist/controllers/locale.controller.js.map +1 -1
  25. package/dist/controllers/media-storage-provider-metadata.controller.d.ts.map +1 -1
  26. package/dist/controllers/media-storage-provider-metadata.controller.js +3 -0
  27. package/dist/controllers/media-storage-provider-metadata.controller.js.map +1 -1
  28. package/dist/controllers/media.controller.js.map +1 -1
  29. package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
  30. package/dist/controllers/model-metadata.controller.js.map +1 -1
  31. package/dist/controllers/module-metadata.controller.js.map +1 -1
  32. package/dist/controllers/mq-message-queue.controller.js.map +1 -1
  33. package/dist/controllers/mq-message.controller.js.map +1 -1
  34. package/dist/controllers/otp-authentication.controller.js.map +1 -1
  35. package/dist/controllers/permission-metadata.controller.js.map +1 -1
  36. package/dist/controllers/role-metadata.controller.js.map +1 -1
  37. package/dist/controllers/saved-filters.controller.js.map +1 -1
  38. package/dist/controllers/scheduled-job.controller.d.ts +43 -0
  39. package/dist/controllers/scheduled-job.controller.d.ts.map +1 -0
  40. package/dist/controllers/scheduled-job.controller.js +179 -0
  41. package/dist/controllers/scheduled-job.controller.js.map +1 -0
  42. package/dist/controllers/security-rule.controller.js.map +1 -1
  43. package/dist/controllers/service.controller.js.map +1 -1
  44. package/dist/controllers/setting.controller.js.map +1 -1
  45. package/dist/controllers/sms-template.controller.js.map +1 -1
  46. package/dist/controllers/test-queue.controller.d.ts +7 -0
  47. package/dist/controllers/test-queue.controller.d.ts.map +1 -0
  48. package/dist/controllers/{queues-test.controller.js → test-queue.controller.js} +12 -20
  49. package/dist/controllers/test-queue.controller.js.map +1 -0
  50. package/dist/controllers/test.controller.js.map +1 -1
  51. package/dist/controllers/user-activity-history.controller.js.map +1 -1
  52. package/dist/controllers/user-view-metadata.controller.js.map +1 -1
  53. package/dist/controllers/user.controller.js.map +1 -1
  54. package/dist/controllers/view-metadata.controller.js.map +1 -1
  55. package/dist/decorators/active-user.decorator.js.map +1 -1
  56. package/dist/decorators/auth.decorator.js.map +1 -1
  57. package/dist/decorators/computed-field-provider.decorator.js.map +1 -1
  58. package/dist/decorators/disallow-in-production.decorator.js.map +1 -1
  59. package/dist/decorators/is-not-in-enum.decorator.js.map +1 -1
  60. package/dist/decorators/protocol.decorator.js.map +1 -1
  61. package/dist/decorators/public.decorator.js.map +1 -1
  62. package/dist/decorators/roles.decorator.js.map +1 -1
  63. package/dist/decorators/scheduled-job-provider.decorator.d.ts +3 -0
  64. package/dist/decorators/scheduled-job-provider.decorator.d.ts.map +1 -0
  65. package/dist/decorators/scheduled-job-provider.decorator.js +11 -0
  66. package/dist/decorators/scheduled-job-provider.decorator.js.map +1 -0
  67. package/dist/decorators/selection-provider.decorator.js.map +1 -1
  68. package/dist/decorators/solid-database-module.decorator.js.map +1 -1
  69. package/dist/decorators/solid-request-context.decorator.js.map +1 -1
  70. package/dist/decorators/solid-service.decorator.js.map +1 -1
  71. package/dist/dtos/basic-filters.dto.js.map +1 -1
  72. package/dist/dtos/change-password.dto.js.map +1 -1
  73. package/dist/dtos/confirm-forgot-password.dto.js.map +1 -1
  74. package/dist/dtos/create-action-metadata.dto.js.map +1 -1
  75. package/dist/dtos/create-chatter-message-details.dto.js.map +1 -1
  76. package/dist/dtos/create-chatter-message.dto.js.map +1 -1
  77. package/dist/dtos/create-email-attachment.dto.js.map +1 -1
  78. package/dist/dtos/create-email-template.dto.js.map +1 -1
  79. package/dist/dtos/create-export-template.dto.js.map +1 -1
  80. package/dist/dtos/create-export-transaction.dto.js.map +1 -1
  81. package/dist/dtos/create-field-metadata.dto.d.ts +14 -0
  82. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  83. package/dist/dtos/create-field-metadata.dto.js +15 -2
  84. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  85. package/dist/dtos/create-import-transaction-error-log.dto.js.map +1 -1
  86. package/dist/dtos/create-import-transaction.dto.js.map +1 -1
  87. package/dist/dtos/create-list-of-values.dto.js.map +1 -1
  88. package/dist/dtos/create-locale.dto.js.map +1 -1
  89. package/dist/dtos/create-media-storage-provider-metadata.dto.d.ts +1 -0
  90. package/dist/dtos/create-media-storage-provider-metadata.dto.d.ts.map +1 -1
  91. package/dist/dtos/create-media-storage-provider-metadata.dto.js +6 -1
  92. package/dist/dtos/create-media-storage-provider-metadata.dto.js.map +1 -1
  93. package/dist/dtos/create-media.dto.js.map +1 -1
  94. package/dist/dtos/create-menu-item-metadata.dto.js.map +1 -1
  95. package/dist/dtos/create-message.dto.js.map +1 -1
  96. package/dist/dtos/create-model-metadata.dto.js.map +1 -1
  97. package/dist/dtos/create-module-metadata.dto.js.map +1 -1
  98. package/dist/dtos/create-mq-message-queue.dto.js.map +1 -1
  99. package/dist/dtos/create-mq-message.dto.js.map +1 -1
  100. package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
  101. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  102. package/dist/dtos/create-saved-filters.dto.js.map +1 -1
  103. package/dist/dtos/create-scheduled-job.dto.d.ts +15 -0
  104. package/dist/dtos/create-scheduled-job.dto.d.ts.map +1 -0
  105. package/dist/dtos/create-scheduled-job.dto.js +98 -0
  106. package/dist/dtos/create-scheduled-job.dto.js.map +1 -0
  107. package/dist/dtos/create-security-rule.dto.js.map +1 -1
  108. package/dist/dtos/create-setting.dto.js.map +1 -1
  109. package/dist/dtos/create-short-url.dto.js.map +1 -1
  110. package/dist/dtos/create-sms-template.dto.js.map +1 -1
  111. package/dist/dtos/create-user-activity-history.dto.js.map +1 -1
  112. package/dist/dtos/create-user-view-metadata.dto.js.map +1 -1
  113. package/dist/dtos/create-user.dto.js.map +1 -1
  114. package/dist/dtos/create-view-metadata.dto.js.map +1 -1
  115. package/dist/dtos/export.dto.js.map +1 -1
  116. package/dist/dtos/fetch-roles.dto.js.map +1 -1
  117. package/dist/dtos/import-instructions.dto.js.map +1 -1
  118. package/dist/dtos/initiate-forgot-password.dto.js.map +1 -1
  119. package/dist/dtos/mutate-role-permissions.dto.js.map +1 -1
  120. package/dist/dtos/mutate-user-roles-list.dto.js.map +1 -1
  121. package/dist/dtos/mutate-user-roles.dto.js.map +1 -1
  122. package/dist/dtos/oauth-user-dto.js.map +1 -1
  123. package/dist/dtos/otp-confirm-otp.dto.js.map +1 -1
  124. package/dist/dtos/otp-sign-in.dto.js.map +1 -1
  125. package/dist/dtos/otp-sign-up.dto.js.map +1 -1
  126. package/dist/dtos/pagination-query.dto.js.map +1 -1
  127. package/dist/dtos/post-chatter-message.dto.js.map +1 -1
  128. package/dist/dtos/query.dto.js.map +1 -1
  129. package/dist/dtos/refresh-token.dto.js.map +1 -1
  130. package/dist/dtos/register-private.dto.js.map +1 -1
  131. package/dist/dtos/security-rule-config.dto.js.map +1 -1
  132. package/dist/dtos/selection-dynamic-query.dto.js.map +1 -1
  133. package/dist/dtos/sign-in.dto.js.map +1 -1
  134. package/dist/dtos/sign-up.dto.js.map +1 -1
  135. package/dist/dtos/solid-request-context.dto.js.map +1 -1
  136. package/dist/dtos/sort-filter.dto.js.map +1 -1
  137. package/dist/dtos/update-action-metadata.dto.js.map +1 -1
  138. package/dist/dtos/update-chatter-message-details.dto.js.map +1 -1
  139. package/dist/dtos/update-chatter-message.dto.js.map +1 -1
  140. package/dist/dtos/update-email-attachment.dto.js.map +1 -1
  141. package/dist/dtos/update-email-template.dto.js.map +1 -1
  142. package/dist/dtos/update-export-template.dto.js.map +1 -1
  143. package/dist/dtos/update-export-transaction.dto.js.map +1 -1
  144. package/dist/dtos/update-field-metadata.dto.js.map +1 -1
  145. package/dist/dtos/update-import-transaction-error-log.dto.js.map +1 -1
  146. package/dist/dtos/update-import-transaction.dto.js.map +1 -1
  147. package/dist/dtos/update-list-of-values.dto.js.map +1 -1
  148. package/dist/dtos/update-locale.dto.js.map +1 -1
  149. package/dist/dtos/update-media-storage-provider.dto.js.map +1 -1
  150. package/dist/dtos/update-media.dto.js.map +1 -1
  151. package/dist/dtos/update-menu-item-metadata.dto.js.map +1 -1
  152. package/dist/dtos/update-message.dto.js.map +1 -1
  153. package/dist/dtos/update-model-metadata.dto.js.map +1 -1
  154. package/dist/dtos/update-module-metadata.dto.js.map +1 -1
  155. package/dist/dtos/update-mq-message-queue.dto.js.map +1 -1
  156. package/dist/dtos/update-mq-message.dto.js.map +1 -1
  157. package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
  158. package/dist/dtos/update-role-metadata.dto.js.map +1 -1
  159. package/dist/dtos/update-saved-filters.dto.js.map +1 -1
  160. package/dist/dtos/update-scheduled-job.dto.d.ts +16 -0
  161. package/dist/dtos/update-scheduled-job.dto.d.ts.map +1 -0
  162. package/dist/dtos/update-scheduled-job.dto.js +103 -0
  163. package/dist/dtos/update-scheduled-job.dto.js.map +1 -0
  164. package/dist/dtos/update-security-rule.dto.js.map +1 -1
  165. package/dist/dtos/update-setting.dto.js.map +1 -1
  166. package/dist/dtos/update-settings.dto.js.map +1 -1
  167. package/dist/dtos/update-sms-template.dto.js.map +1 -1
  168. package/dist/dtos/update-user-activity-history.dto.js.map +1 -1
  169. package/dist/dtos/update-user-profile.dto.js.map +1 -1
  170. package/dist/dtos/update-user-view-metadata.dto.js.map +1 -1
  171. package/dist/dtos/update-user.dto.js.map +1 -1
  172. package/dist/dtos/update-view-metadata.dto.js.map +1 -1
  173. package/dist/dtos/upsert-user-view-metadata.dto.js.map +1 -1
  174. package/dist/entities/action-metadata.entity.js.map +1 -1
  175. package/dist/entities/chatter-message-details.entity.js.map +1 -1
  176. package/dist/entities/chatter-message.entity.js.map +1 -1
  177. package/dist/entities/common.entity.js.map +1 -1
  178. package/dist/entities/email-attachment.entity.js.map +1 -1
  179. package/dist/entities/email-template.entity.js.map +1 -1
  180. package/dist/entities/export-template.entity.js.map +1 -1
  181. package/dist/entities/export-transaction.entity.js.map +1 -1
  182. package/dist/entities/field-metadata.entity.d.ts +2 -0
  183. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  184. package/dist/entities/field-metadata.entity.js +5 -1
  185. package/dist/entities/field-metadata.entity.js.map +1 -1
  186. package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
  187. package/dist/entities/import-transaction.entity.js.map +1 -1
  188. package/dist/entities/list-of-values.entity.js.map +1 -1
  189. package/dist/entities/locale.entity.js.map +1 -1
  190. package/dist/entities/media-storage-provider-metadata.entity.d.ts +1 -0
  191. package/dist/entities/media-storage-provider-metadata.entity.d.ts.map +1 -1
  192. package/dist/entities/media-storage-provider-metadata.entity.js +5 -1
  193. package/dist/entities/media-storage-provider-metadata.entity.js.map +1 -1
  194. package/dist/entities/media.entity.js.map +1 -1
  195. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  196. package/dist/entities/model-metadata.entity.js.map +1 -1
  197. package/dist/entities/module-metadata.entity.js.map +1 -1
  198. package/dist/entities/mq-message-queue.entity.js.map +1 -1
  199. package/dist/entities/mq-message.entity.js.map +1 -1
  200. package/dist/entities/permission-metadata.entity.js.map +1 -1
  201. package/dist/entities/role-metadata.entity.js.map +1 -1
  202. package/dist/entities/saved-filters.entity.js.map +1 -1
  203. package/dist/entities/scheduled-job.entity.d.ts +16 -0
  204. package/dist/entities/scheduled-job.entity.d.ts.map +1 -0
  205. package/dist/entities/scheduled-job.entity.js +77 -0
  206. package/dist/entities/scheduled-job.entity.js.map +1 -0
  207. package/dist/entities/security-rule.entity.js.map +1 -1
  208. package/dist/entities/setting.entity.js.map +1 -1
  209. package/dist/entities/sms-template.entity.js.map +1 -1
  210. package/dist/entities/user-activity-history.entity.js.map +1 -1
  211. package/dist/entities/user-password-history.entity.js.map +1 -1
  212. package/dist/entities/user-view-metadata.entity.js.map +1 -1
  213. package/dist/entities/user.entity.js.map +1 -1
  214. package/dist/entities/view-metadata.entity.js.map +1 -1
  215. package/dist/enums/auth-type.enum.js.map +1 -1
  216. package/dist/filters/http-exception.filter.js.map +1 -1
  217. package/dist/guards/access-token.guard.js.map +1 -1
  218. package/dist/guards/authentication.guard.js.map +1 -1
  219. package/dist/guards/permissions.guard.js.map +1 -1
  220. package/dist/guards/roles.guard.js.map +1 -1
  221. package/dist/helpers/command.service.js.map +1 -1
  222. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
  223. package/dist/helpers/field-crud-managers/BooleanFieldCrudManager.js.map +1 -1
  224. package/dist/helpers/field-crud-managers/ComputedFieldCrudManager.js.map +1 -1
  225. package/dist/helpers/field-crud-managers/DateFieldCrudManager.js.map +1 -1
  226. package/dist/helpers/field-crud-managers/DecimalFieldCrudManager.js.map +1 -1
  227. package/dist/helpers/field-crud-managers/EmailFieldCrudManager.js.map +1 -1
  228. package/dist/helpers/field-crud-managers/IntFieldCrudManager.js.map +1 -1
  229. package/dist/helpers/field-crud-managers/JsonFieldCrudManager.js.map +1 -1
  230. package/dist/helpers/field-crud-managers/LongTextFieldCrudManager.js.map +1 -1
  231. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  232. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  233. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
  234. package/dist/helpers/field-crud-managers/NoOpsFieldCrudManager.js.map +1 -1
  235. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  236. package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.js.map +1 -1
  237. package/dist/helpers/field-crud-managers/RichTextFieldCrudManager.js.map +1 -1
  238. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js.map +1 -1
  239. package/dist/helpers/field-crud-managers/SelectionStaticFieldCrudManager.js.map +1 -1
  240. package/dist/helpers/field-crud-managers/ShortTextFieldCrudManager.js.map +1 -1
  241. package/dist/helpers/field-crud-managers/UUIDFieldCrudManager.js.map +1 -1
  242. package/dist/helpers/google-oauth.helper.js.map +1 -1
  243. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  244. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  245. package/dist/helpers/module.helper.js.map +1 -1
  246. package/dist/helpers/schematic.service.js.map +1 -1
  247. package/dist/helpers/solid-registry.d.ts +20 -3
  248. package/dist/helpers/solid-registry.d.ts.map +1 -1
  249. package/dist/helpers/solid-registry.js +30 -5
  250. package/dist/helpers/solid-registry.js.map +1 -1
  251. package/dist/index.d.ts +8 -0
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +8 -0
  254. package/dist/index.js.map +1 -1
  255. package/dist/interceptors/logging.interceptor.js.map +1 -1
  256. package/dist/interceptors/wrap-response.interceptor.js.map +1 -1
  257. package/dist/interfaces/active-user-data.interface.js.map +1 -1
  258. package/dist/interfaces/mq.js.map +1 -1
  259. package/dist/interfaces.d.ts +11 -0
  260. package/dist/interfaces.d.ts.map +1 -1
  261. package/dist/interfaces.js.map +1 -1
  262. package/dist/jobs/api-email-publisher.service.js.map +1 -1
  263. package/dist/jobs/api-email-queue-options.js.map +1 -1
  264. package/dist/jobs/api-email-subscriber.service.js.map +1 -1
  265. package/dist/jobs/database/api-email-publisher-database.service.d.ts +11 -0
  266. package/dist/jobs/database/api-email-publisher-database.service.d.ts.map +1 -0
  267. package/dist/jobs/database/api-email-publisher-database.service.js +39 -0
  268. package/dist/jobs/database/api-email-publisher-database.service.js.map +1 -0
  269. package/dist/jobs/database/api-email-queue-options-database.d.ts +8 -0
  270. package/dist/jobs/database/api-email-queue-options-database.d.ts.map +1 -0
  271. package/dist/jobs/database/api-email-queue-options-database.js +10 -0
  272. package/dist/jobs/database/api-email-queue-options-database.js.map +1 -0
  273. package/dist/jobs/database/api-email-subscriber-database.service.d.ts +15 -0
  274. package/dist/jobs/database/api-email-subscriber-database.service.d.ts.map +1 -0
  275. package/dist/jobs/database/api-email-subscriber-database.service.js +45 -0
  276. package/dist/jobs/database/api-email-subscriber-database.service.js.map +1 -0
  277. package/dist/jobs/database/computed-field-evaluation-publisher.service.d.ts +12 -0
  278. package/dist/jobs/database/computed-field-evaluation-publisher.service.d.ts.map +1 -0
  279. package/dist/jobs/database/computed-field-evaluation-publisher.service.js +39 -0
  280. package/dist/jobs/database/computed-field-evaluation-publisher.service.js.map +1 -0
  281. package/dist/jobs/database/computed-field-evaluation-queue-options.d.ts +8 -0
  282. package/dist/jobs/database/computed-field-evaluation-queue-options.d.ts.map +1 -0
  283. package/dist/jobs/database/computed-field-evaluation-queue-options.js +10 -0
  284. package/dist/jobs/database/computed-field-evaluation-queue-options.js.map +1 -0
  285. package/dist/jobs/database/computed-field-evaluation-subscriber.service.d.ts +16 -0
  286. package/dist/jobs/database/computed-field-evaluation-subscriber.service.d.ts.map +1 -0
  287. package/dist/jobs/database/computed-field-evaluation-subscriber.service.js +48 -0
  288. package/dist/jobs/database/computed-field-evaluation-subscriber.service.js.map +1 -0
  289. package/dist/jobs/database/email-publisher-database.service.d.ts +11 -0
  290. package/dist/jobs/database/email-publisher-database.service.d.ts.map +1 -0
  291. package/dist/jobs/database/email-publisher-database.service.js +39 -0
  292. package/dist/jobs/database/email-publisher-database.service.js.map +1 -0
  293. package/dist/jobs/database/email-queue-options-database.d.ts +8 -0
  294. package/dist/jobs/database/email-queue-options-database.d.ts.map +1 -0
  295. package/dist/jobs/database/email-queue-options-database.js +10 -0
  296. package/dist/jobs/database/email-queue-options-database.js.map +1 -0
  297. package/dist/jobs/database/email-subscriber-database.service.d.ts +15 -0
  298. package/dist/jobs/database/email-subscriber-database.service.d.ts.map +1 -0
  299. package/dist/jobs/database/email-subscriber-database.service.js +45 -0
  300. package/dist/jobs/database/email-subscriber-database.service.js.map +1 -0
  301. package/dist/jobs/database/{generate-code-publisher.service.d.ts → generate-code-publisher-database.service.d.ts} +2 -2
  302. package/dist/jobs/database/generate-code-publisher-database.service.d.ts.map +1 -0
  303. package/dist/jobs/database/generate-code-publisher-database.service.js +39 -0
  304. package/dist/jobs/database/generate-code-publisher-database.service.js.map +1 -0
  305. package/dist/jobs/database/{test-queue-db-options.d.ts → generate-code-queue-options-database.d.ts} +1 -1
  306. package/dist/jobs/database/generate-code-queue-options-database.d.ts.map +1 -0
  307. package/dist/jobs/database/{generate-code-queue-options.js → generate-code-queue-options-database.js} +1 -1
  308. package/dist/jobs/database/generate-code-queue-options-database.js.map +1 -0
  309. package/dist/jobs/database/{generate-code-subscriber.service.d.ts → generate-code-subscriber-database.service.d.ts} +2 -2
  310. package/dist/jobs/database/generate-code-subscriber-database.service.d.ts.map +1 -0
  311. package/dist/jobs/database/{generate-code-subscriber.service.js → generate-code-subscriber-database.service.js} +10 -10
  312. package/dist/jobs/database/generate-code-subscriber-database.service.js.map +1 -0
  313. package/dist/jobs/database/otp-publisher-database.service.d.ts +11 -0
  314. package/dist/jobs/database/otp-publisher-database.service.d.ts.map +1 -0
  315. package/dist/jobs/database/{generate-code-publisher.service.js → otp-publisher-database.service.js} +8 -8
  316. package/dist/jobs/database/otp-publisher-database.service.js.map +1 -0
  317. package/dist/jobs/database/otp-queue-options-database.d.ts +8 -0
  318. package/dist/jobs/database/otp-queue-options-database.d.ts.map +1 -0
  319. package/dist/jobs/database/otp-queue-options-database.js +10 -0
  320. package/dist/jobs/database/otp-queue-options-database.js.map +1 -0
  321. package/dist/jobs/database/otp-subscriber-database.service.d.ts +15 -0
  322. package/dist/jobs/database/otp-subscriber-database.service.d.ts.map +1 -0
  323. package/dist/jobs/database/otp-subscriber-database.service.js +45 -0
  324. package/dist/jobs/database/otp-subscriber-database.service.js.map +1 -0
  325. package/dist/jobs/database/sms-publisher-database.service.d.ts +11 -0
  326. package/dist/jobs/database/sms-publisher-database.service.d.ts.map +1 -0
  327. package/dist/jobs/database/{queue-test-db-publisher.service.js → sms-publisher-database.service.js} +8 -8
  328. package/dist/jobs/database/sms-publisher-database.service.js.map +1 -0
  329. package/dist/jobs/database/sms-queue-database-options.d.ts +8 -0
  330. package/dist/jobs/database/sms-queue-database-options.d.ts.map +1 -0
  331. package/dist/jobs/database/sms-queue-database-options.js +10 -0
  332. package/dist/jobs/database/sms-queue-database-options.js.map +1 -0
  333. package/dist/jobs/database/sms-subscriber-database.service.d.ts +15 -0
  334. package/dist/jobs/database/sms-subscriber-database.service.d.ts.map +1 -0
  335. package/dist/jobs/database/sms-subscriber-database.service.js +45 -0
  336. package/dist/jobs/database/sms-subscriber-database.service.js.map +1 -0
  337. package/dist/jobs/database/{generate-code-queue-options.d.ts → test-queue-options-database.d.ts} +1 -1
  338. package/dist/jobs/database/test-queue-options-database.d.ts.map +1 -0
  339. package/dist/jobs/database/{test-queue-db-options.js → test-queue-options-database.js} +1 -1
  340. package/dist/jobs/database/test-queue-options-database.js.map +1 -0
  341. package/dist/jobs/database/{queue-test-db-publisher.service.d.ts → test-queue-publisher-database.service.d.ts} +2 -2
  342. package/dist/jobs/database/test-queue-publisher-database.service.d.ts.map +1 -0
  343. package/dist/jobs/database/test-queue-publisher-database.service.js +39 -0
  344. package/dist/jobs/database/test-queue-publisher-database.service.js.map +1 -0
  345. package/dist/jobs/database/{queue-test-db-subscriber.service.d.ts → test-queue-subscriber-database.service.d.ts} +2 -2
  346. package/dist/jobs/database/test-queue-subscriber-database.service.d.ts.map +1 -0
  347. package/dist/jobs/database/{queue-test-db-subscriber.service.js → test-queue-subscriber-database.service.js} +10 -10
  348. package/dist/jobs/database/test-queue-subscriber-database.service.js.map +1 -0
  349. package/dist/jobs/database/whatsapp-publisher-database.service.d.ts +11 -0
  350. package/dist/jobs/database/whatsapp-publisher-database.service.d.ts.map +1 -0
  351. package/dist/jobs/database/whatsapp-publisher-database.service.js +39 -0
  352. package/dist/jobs/database/whatsapp-publisher-database.service.js.map +1 -0
  353. package/dist/jobs/database/whatsapp-queue-options-database.d.ts +8 -0
  354. package/dist/jobs/database/whatsapp-queue-options-database.d.ts.map +1 -0
  355. package/dist/jobs/database/whatsapp-queue-options-database.js +10 -0
  356. package/dist/jobs/database/whatsapp-queue-options-database.js.map +1 -0
  357. package/dist/jobs/database/whatsapp-subscriber-database.service.d.ts +15 -0
  358. package/dist/jobs/database/whatsapp-subscriber-database.service.d.ts.map +1 -0
  359. package/dist/jobs/database/whatsapp-subscriber-database.service.js +45 -0
  360. package/dist/jobs/database/whatsapp-subscriber-database.service.js.map +1 -0
  361. package/dist/jobs/email-publisher.service.js.map +1 -1
  362. package/dist/jobs/email-queue-options.js.map +1 -1
  363. package/dist/jobs/email-subscriber.service.js.map +1 -1
  364. package/dist/jobs/otp-publisher.service.js.map +1 -1
  365. package/dist/jobs/otp-queue-options.js.map +1 -1
  366. package/dist/jobs/otp-subscriber.service.js.map +1 -1
  367. package/dist/jobs/sms-publisher.service.js.map +1 -1
  368. package/dist/jobs/sms-queue-options.js.map +1 -1
  369. package/dist/jobs/sms-subscriber.service.js.map +1 -1
  370. package/dist/jobs/test-queue-options.d.ts.map +1 -1
  371. package/dist/jobs/test-queue-options.js.map +1 -1
  372. package/dist/jobs/{queue-test-publisher.service.d.ts → test-queue-publisher.service.d.ts} +1 -1
  373. package/dist/jobs/{queue-test-publisher.service.d.ts.map → test-queue-publisher.service.d.ts.map} +1 -1
  374. package/dist/jobs/{queue-test-publisher.service.js → test-queue-publisher.service.js} +1 -1
  375. package/dist/jobs/test-queue-publisher.service.js.map +1 -0
  376. package/dist/jobs/{queue-test-subscriber.service.d.ts → test-queue-subscriber.service.d.ts} +1 -1
  377. package/dist/jobs/{queue-test-subscriber.service.d.ts.map → test-queue-subscriber.service.d.ts.map} +1 -1
  378. package/dist/jobs/{queue-test-subscriber.service.js → test-queue-subscriber.service.js} +1 -1
  379. package/dist/jobs/test-queue-subscriber.service.js.map +1 -0
  380. package/dist/jobs/whatsapp-publisher.service.js.map +1 -1
  381. package/dist/jobs/whatsapp-queue-options.js.map +1 -1
  382. package/dist/jobs/whatsapp-subscriber.service.js.map +1 -1
  383. package/dist/listeners/user-registration.listener.js.map +1 -1
  384. package/dist/passport-strategies/google-oauth.strategy.js.map +1 -1
  385. package/dist/passport-strategies/local.strategy.js.map +1 -1
  386. package/dist/providers/list-of-values-selection-providers.service.js.map +1 -1
  387. package/dist/repository/field-metadata.repository.d.ts +8 -0
  388. package/dist/repository/field-metadata.repository.d.ts.map +1 -0
  389. package/dist/repository/field-metadata.repository.js +38 -0
  390. package/dist/repository/field-metadata.repository.js.map +1 -0
  391. package/dist/repository/field.repository.d.ts +1 -1
  392. package/dist/repository/field.repository.d.ts.map +1 -1
  393. package/dist/repository/field.repository.js +6 -6
  394. package/dist/repository/field.repository.js.map +1 -1
  395. package/dist/repository/media.repository.js.map +1 -1
  396. package/dist/repository/security-rule.repository.js.map +1 -1
  397. package/dist/repository/solid-base.repository.js.map +1 -1
  398. package/dist/seeders/email-template-seeder.service.js.map +1 -1
  399. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  400. package/dist/seeders/module-metadata-seeder.service.js +20 -2
  401. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  402. package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
  403. package/dist/seeders/seed-data/solid-core-metadata.json +559 -1
  404. package/dist/seeders/sms-template-seeder.service.js.map +1 -1
  405. package/dist/seeders/system-fields-seeder.service.d.ts +3 -3
  406. package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
  407. package/dist/seeders/system-fields-seeder.service.js +5 -6
  408. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  409. package/dist/seeders/user-seeder.service.js.map +1 -1
  410. package/dist/services/access-token-storage.service.js.map +1 -1
  411. package/dist/services/action-metadata.service.js +1 -1
  412. package/dist/services/action-metadata.service.js.map +1 -1
  413. package/dist/services/authentication.service.js.map +1 -1
  414. package/dist/services/bcrypt.service.js.map +1 -1
  415. package/dist/services/chatter-message-details.service.js.map +1 -1
  416. package/dist/services/chatter-message.service.js.map +1 -1
  417. package/dist/services/computed-fields/concat-computed-field-provider.service.js.map +1 -1
  418. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +14 -0
  419. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts.map +1 -0
  420. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js +45 -0
  421. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js.map +1 -0
  422. package/dist/services/computed-fields/uuid-external-id-computed-field-provider.service.js.map +1 -1
  423. package/dist/services/crud-helper.service.js.map +1 -1
  424. package/dist/services/crud.service.d.ts +1 -0
  425. package/dist/services/crud.service.d.ts.map +1 -1
  426. package/dist/services/crud.service.js +9 -1
  427. package/dist/services/crud.service.js.map +1 -1
  428. package/dist/services/csv.service.js.map +1 -1
  429. package/dist/services/email-template.service.js.map +1 -1
  430. package/dist/services/excel.service.js.map +1 -1
  431. package/dist/services/export-template.service.js.map +1 -1
  432. package/dist/services/export-transaction.service.js.map +1 -1
  433. package/dist/services/field-metadata.service.d.ts +6 -2
  434. package/dist/services/field-metadata.service.d.ts.map +1 -1
  435. package/dist/services/field-metadata.service.js +21 -4
  436. package/dist/services/field-metadata.service.js.map +1 -1
  437. package/dist/services/file.service.d.ts +1 -0
  438. package/dist/services/file.service.d.ts.map +1 -1
  439. package/dist/services/file.service.js +8 -0
  440. package/dist/services/file.service.js.map +1 -1
  441. package/dist/services/hashing.service.js.map +1 -1
  442. package/dist/services/import-transaction-error-log.service.js.map +1 -1
  443. package/dist/services/import-transaction.service.js.map +1 -1
  444. package/dist/services/list-of-values.service.js.map +1 -1
  445. package/dist/services/locale.service.js.map +1 -1
  446. package/dist/services/mail/ElasticEmailService.d.ts +3 -3
  447. package/dist/services/mail/ElasticEmailService.d.ts.map +1 -1
  448. package/dist/services/mail/ElasticEmailService.js +5 -5
  449. package/dist/services/mail/ElasticEmailService.js.map +1 -1
  450. package/dist/services/mail/SMTPEmailService.d.ts +3 -3
  451. package/dist/services/mail/SMTPEmailService.d.ts.map +1 -1
  452. package/dist/services/mail/SMTPEmailService.js +5 -5
  453. package/dist/services/mail/SMTPEmailService.js.map +1 -1
  454. package/dist/services/media-storage-provider-metadata-seeder.service.js.map +1 -1
  455. package/dist/services/media-storage-provider-metadata.service.js.map +1 -1
  456. package/dist/services/media.service.d.ts.map +1 -1
  457. package/dist/services/media.service.js.map +1 -1
  458. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +4 -2
  459. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  460. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +23 -7
  461. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  462. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  463. package/dist/services/mediaStorageProviders/index.js.map +1 -1
  464. package/dist/services/menu-item-metadata.service.js +1 -1
  465. package/dist/services/menu-item-metadata.service.js.map +1 -1
  466. package/dist/services/model-metadata.service.d.ts +1 -3
  467. package/dist/services/model-metadata.service.d.ts.map +1 -1
  468. package/dist/services/model-metadata.service.js +13 -15
  469. package/dist/services/model-metadata.service.js.map +1 -1
  470. package/dist/services/module-metadata.service.js.map +1 -1
  471. package/dist/services/mq-message-queue.service.js +1 -1
  472. package/dist/services/mq-message-queue.service.js.map +1 -1
  473. package/dist/services/mq-message.service.js +1 -1
  474. package/dist/services/mq-message.service.js.map +1 -1
  475. package/dist/services/pdf.service.js.map +1 -1
  476. package/dist/services/permission-metadata.service.js.map +1 -1
  477. package/dist/services/queues/database-publisher.service.js.map +1 -1
  478. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  479. package/dist/services/queues/database-subscriber.service.js +1 -1
  480. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  481. package/dist/services/queues/publisher-factory.service.d.ts +9 -0
  482. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -0
  483. package/dist/services/queues/publisher-factory.service.js +45 -0
  484. package/dist/services/queues/publisher-factory.service.js.map +1 -0
  485. package/dist/services/queues/rabbitmq-publisher.service.js.map +1 -1
  486. package/dist/services/queues/rabbitmq-subscriber.service.js +1 -1
  487. package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
  488. package/dist/services/queues/redis-publisher.service.js.map +1 -1
  489. package/dist/services/queues/redis-subscriber.service.js.map +1 -1
  490. package/dist/services/refresh-token-ids-storage.service.js.map +1 -1
  491. package/dist/services/request-context.service.js.map +1 -1
  492. package/dist/services/role-metadata.service.js.map +1 -1
  493. package/dist/services/saved-filters.service.js.map +1 -1
  494. package/dist/services/scheduled-job.service.d.ts +23 -0
  495. package/dist/services/scheduled-job.service.d.ts.map +1 -0
  496. package/dist/services/scheduled-job.service.js +59 -0
  497. package/dist/services/scheduled-job.service.js.map +1 -0
  498. package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts +5 -0
  499. package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts.map +1 -0
  500. package/dist/services/scheduled-jobs/scheduled-job.interface.js +3 -0
  501. package/dist/services/scheduled-jobs/scheduled-job.interface.js.map +1 -0
  502. package/dist/services/scheduled-jobs/scheduler.interface.d.ts +4 -0
  503. package/dist/services/scheduled-jobs/scheduler.interface.d.ts.map +1 -0
  504. package/dist/services/scheduled-jobs/scheduler.interface.js +3 -0
  505. package/dist/services/scheduled-jobs/scheduler.interface.js.map +1 -0
  506. package/dist/services/scheduled-jobs/scheduler.service.d.ts +14 -0
  507. package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -0
  508. package/dist/services/scheduled-jobs/scheduler.service.js +124 -0
  509. package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -0
  510. package/dist/services/security-rule.service.js.map +1 -1
  511. package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
  512. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts +11 -0
  513. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts.map +1 -0
  514. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.js +46 -0
  515. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.js.map +1 -0
  516. package/dist/services/selection-providers/locale-list-selection-provider.service.js.map +1 -1
  517. package/dist/services/setting.service.js.map +1 -1
  518. package/dist/services/short-url/tiny-url.service.js.map +1 -1
  519. package/dist/services/sms/Msg91BaseSMSService.d.ts +4 -3
  520. package/dist/services/sms/Msg91BaseSMSService.d.ts.map +1 -1
  521. package/dist/services/sms/Msg91BaseSMSService.js +3 -2
  522. package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
  523. package/dist/services/sms/Msg91OTPService.d.ts +2 -2
  524. package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
  525. package/dist/services/sms/Msg91OTPService.js +4 -4
  526. package/dist/services/sms/Msg91OTPService.js.map +1 -1
  527. package/dist/services/sms/Msg91SMSService.d.ts +2 -2
  528. package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
  529. package/dist/services/sms/Msg91SMSService.js +4 -4
  530. package/dist/services/sms/Msg91SMSService.js.map +1 -1
  531. package/dist/services/sms-template.service.js.map +1 -1
  532. package/dist/services/solid-introspect.service.d.ts +1 -0
  533. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  534. package/dist/services/solid-introspect.service.js +14 -0
  535. package/dist/services/solid-introspect.service.js.map +1 -1
  536. package/dist/services/user-activity-history.service.js.map +1 -1
  537. package/dist/services/user-view-metadata.service.js.map +1 -1
  538. package/dist/services/user.service.js.map +1 -1
  539. package/dist/services/view-metadata.service.d.ts.map +1 -1
  540. package/dist/services/view-metadata.service.js +8 -10
  541. package/dist/services/view-metadata.service.js.map +1 -1
  542. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +2 -2
  543. package/dist/services/whatsapp/Msg91WhatsappService.d.ts.map +1 -1
  544. package/dist/services/whatsapp/Msg91WhatsappService.js +4 -4
  545. package/dist/services/whatsapp/Msg91WhatsappService.js.map +1 -1
  546. package/dist/solid-core-cli-db.module.js.map +1 -1
  547. package/dist/solid-core-cli.module.js.map +1 -1
  548. package/dist/solid-core.module.d.ts.map +1 -1
  549. package/dist/solid-core.module.js +108 -65
  550. package/dist/solid-core.module.js.map +1 -1
  551. package/dist/subscribers/audit.subscriber.js.map +1 -1
  552. package/dist/subscribers/computed-entity-field.subscriber.d.ts +23 -0
  553. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -0
  554. package/dist/subscribers/computed-entity-field.subscriber.js +95 -0
  555. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -0
  556. package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
  557. package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
  558. package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
  559. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  560. package/dist/subscribers/soft-delete-aware-event.subscriber.js.map +1 -1
  561. package/dist/subscribers/view-metadata.subscriber.js.map +1 -1
  562. package/dist/transformers/array-transformer.js.map +1 -1
  563. package/dist/transformers/boolean-transformer.js.map +1 -1
  564. package/dist/transformers/datetime-transformer.js.map +1 -1
  565. package/dist/transformers/integer-transformer.js.map +1 -1
  566. package/dist/tsconfig.tsbuildinfo +1 -1
  567. package/dist/validators/is-parsable-int.js.map +1 -1
  568. package/dist/winston.logger.js.map +1 -1
  569. package/package.json +3 -1
  570. package/src/# computed field pending issues.md +3 -0
  571. package/src/controllers/media-storage-provider-metadata.controller.ts +4 -1
  572. package/src/controllers/scheduled-job.controller.ts +93 -0
  573. package/src/controllers/{queues-test.controller.ts → test-queue.controller.ts} +12 -11
  574. package/src/decorators/scheduled-job-provider.decorator.ts +7 -0
  575. package/src/dtos/create-field-metadata.dto.ts +18 -0
  576. package/src/dtos/create-media-storage-provider-metadata.dto.ts +12 -7
  577. package/src/dtos/create-scheduled-job.dto.ts +65 -0
  578. package/src/dtos/update-scheduled-job.dto.ts +72 -0
  579. package/src/entities/field-metadata.entity.ts +4 -0
  580. package/src/entities/media-storage-provider-metadata.entity.ts +5 -1
  581. package/src/entities/scheduled-job.entity.ts +30 -0
  582. package/src/helpers/solid-registry.ts +67 -14
  583. package/src/index.ts +8 -0
  584. package/src/interfaces.ts +18 -0
  585. package/src/jobs/database/api-email-publisher-database.service.ts +24 -0
  586. package/src/jobs/database/api-email-queue-options-database.ts +9 -0
  587. package/src/jobs/database/api-email-subscriber-database.service.ts +30 -0
  588. package/src/jobs/database/computed-field-evaluation-publisher.service.ts +23 -0
  589. package/src/jobs/database/computed-field-evaluation-queue-options.ts +9 -0
  590. package/src/jobs/database/computed-field-evaluation-subscriber.service.ts +36 -0
  591. package/src/jobs/database/email-publisher-database.service.ts +23 -0
  592. package/src/jobs/database/email-queue-options-database.ts +10 -0
  593. package/src/jobs/database/email-subscriber-database.service.ts +30 -0
  594. package/src/jobs/database/{generate-code-publisher.service.ts → generate-code-publisher-database.service.ts} +2 -2
  595. package/src/jobs/database/{generate-code-subscriber.service.ts → generate-code-subscriber-database.service.ts} +3 -3
  596. package/src/jobs/database/otp-publisher-database.service.ts +23 -0
  597. package/src/jobs/database/otp-queue-options-database.ts +8 -0
  598. package/src/jobs/database/otp-subscriber-database.service.ts +30 -0
  599. package/src/jobs/database/sms-publisher-database.service.ts +23 -0
  600. package/src/jobs/database/sms-queue-database-options.ts +8 -0
  601. package/src/jobs/database/sms-subscriber-database.service.ts +30 -0
  602. package/src/jobs/database/test-queue-options-database.ts +9 -0
  603. package/src/jobs/database/{queue-test-db-publisher.service.ts → test-queue-publisher-database.service.ts} +2 -2
  604. package/src/jobs/database/{queue-test-db-subscriber.service.ts → test-queue-subscriber-database.service.ts} +3 -3
  605. package/src/jobs/database/whatsapp-publisher-database.service.ts +23 -0
  606. package/src/jobs/database/whatsapp-queue-options-database.ts +9 -0
  607. package/src/jobs/database/whatsapp-subscriber-database.service.ts +31 -0
  608. package/src/jobs/test-queue-options.ts +0 -1
  609. package/src/repository/field-metadata.repository.ts +26 -0
  610. package/src/repository/field.repository.ts +5 -2
  611. package/src/seeders/module-metadata-seeder.service.ts +30 -3
  612. package/src/seeders/seed-data/solid-core-metadata.json +559 -1
  613. package/src/seeders/system-fields-seeder.service.ts +3 -4
  614. package/src/services/action-metadata.service.ts +1 -1
  615. package/src/services/computed-fields/entity/concat-entity-computed-field-provider.service.ts +52 -0
  616. package/src/services/crud.service.ts +15 -6
  617. package/src/services/field-metadata.service.ts +38 -8
  618. package/src/services/file.service.ts +13 -6
  619. package/src/services/mail/ElasticEmailService.ts +6 -4
  620. package/src/services/mail/SMTPEmailService.ts +11 -5
  621. package/src/services/media.service.ts +9 -10
  622. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +30 -9
  623. package/src/services/mediaStorageProviders/file-storage-provider.ts +5 -5
  624. package/src/services/mediaStorageProviders/index.ts +3 -3
  625. package/src/services/menu-item-metadata.service.ts +2 -2
  626. package/src/services/model-metadata.service.ts +14 -13
  627. package/src/services/mq-message-queue.service.ts +1 -1
  628. package/src/services/mq-message.service.ts +1 -1
  629. package/src/services/queues/database-subscriber.service.ts +1 -2
  630. package/src/services/queues/publisher-factory.service.ts +41 -0
  631. package/src/services/queues/rabbitmq-subscriber.service.ts +1 -1
  632. package/src/services/scheduled-job.service.ts +34 -0
  633. package/src/services/scheduled-jobs/scheduled-job.interface.ts +5 -0
  634. package/src/services/scheduled-jobs/scheduler.interface.ts +3 -0
  635. package/src/services/scheduled-jobs/scheduler.service.ts +165 -0
  636. package/src/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.ts +40 -0
  637. package/src/services/sms/Msg91BaseSMSService.ts +5 -4
  638. package/src/services/sms/Msg91OTPService.ts +7 -7
  639. package/src/services/sms/Msg91SMSService.ts +5 -4
  640. package/src/services/solid-introspect.service.ts +23 -0
  641. package/src/services/view-metadata.service.ts +50 -52
  642. package/src/services/whatsapp/Msg91WhatsappService.ts +4 -3
  643. package/src/solid-core.module.ts +106 -63
  644. package/src/subscribers/computed-entity-field.subscriber.ts +108 -0
  645. package/tsconfig.json +1 -0
  646. package/dist/controllers/queues-test.controller.d.ts +0 -9
  647. package/dist/controllers/queues-test.controller.d.ts.map +0 -1
  648. package/dist/controllers/queues-test.controller.js.map +0 -1
  649. package/dist/jobs/database/generate-code-publisher.service.d.ts.map +0 -1
  650. package/dist/jobs/database/generate-code-publisher.service.js.map +0 -1
  651. package/dist/jobs/database/generate-code-queue-options.d.ts.map +0 -1
  652. package/dist/jobs/database/generate-code-queue-options.js.map +0 -1
  653. package/dist/jobs/database/generate-code-subscriber.service.d.ts.map +0 -1
  654. package/dist/jobs/database/generate-code-subscriber.service.js.map +0 -1
  655. package/dist/jobs/database/queue-test-db-publisher.service.d.ts.map +0 -1
  656. package/dist/jobs/database/queue-test-db-publisher.service.js.map +0 -1
  657. package/dist/jobs/database/queue-test-db-subscriber.service.d.ts.map +0 -1
  658. package/dist/jobs/database/queue-test-db-subscriber.service.js.map +0 -1
  659. package/dist/jobs/database/test-queue-db-options.d.ts.map +0 -1
  660. package/dist/jobs/database/test-queue-db-options.js.map +0 -1
  661. package/dist/jobs/queue-test-publisher.service.js.map +0 -1
  662. package/dist/jobs/queue-test-subscriber.service.js.map +0 -1
  663. package/src/jobs/database/test-queue-db-options.ts +0 -13
  664. package/src/services/user.service.ts.bkp +0 -311
  665. /package/src/jobs/database/{generate-code-queue-options.ts → generate-code-queue-options-database.ts} +0 -0
  666. /package/src/jobs/{queue-test-publisher.service.ts → test-queue-publisher.service.ts} +0 -0
  667. /package/src/jobs/{queue-test-subscriber.service.ts → test-queue-subscriber.service.ts} +0 -0
@@ -16,13 +16,13 @@ exports.SystemFieldsSeederService = void 0;
16
16
  const typeorm_1 = require("@nestjs/typeorm");
17
17
  const model_metadata_entity_1 = require("../entities/model-metadata.entity");
18
18
  const model_metadata_helper_service_1 = require("../helpers/model-metadata-helper.service");
19
- const field_repository_1 = require("../repository/field.repository");
19
+ const field_metadata_repository_1 = require("../repository/field-metadata.repository");
20
20
  const typeorm_2 = require("typeorm");
21
21
  let SystemFieldsSeederService = class SystemFieldsSeederService {
22
- constructor(modelHelperService, modelRepository, fieldRepository) {
22
+ constructor(modelHelperService, modelRepository, fieldMetadataRepository) {
23
23
  this.modelHelperService = modelHelperService;
24
24
  this.modelRepository = modelRepository;
25
- this.fieldRepository = fieldRepository;
25
+ this.fieldMetadataRepository = fieldMetadataRepository;
26
26
  }
27
27
  async seed() {
28
28
  const models = await this.modelRepository.find({
@@ -41,16 +41,15 @@ let SystemFieldsSeederService = class SystemFieldsSeederService {
41
41
  ...field,
42
42
  model: model,
43
43
  }));
44
- await this.fieldRepository.save(newFields);
44
+ await this.fieldMetadataRepository.save(newFields);
45
45
  }
46
46
  }
47
47
  };
48
48
  exports.SystemFieldsSeederService = SystemFieldsSeederService;
49
49
  exports.SystemFieldsSeederService = SystemFieldsSeederService = __decorate([
50
50
  __param(1, (0, typeorm_1.InjectRepository)(model_metadata_entity_1.ModelMetadata)),
51
- __param(2, (0, typeorm_1.InjectRepository)(field_repository_1.FieldRepository)),
52
51
  __metadata("design:paramtypes", [model_metadata_helper_service_1.ModelMetadataHelperService,
53
52
  typeorm_2.Repository,
54
- typeorm_2.Repository])
53
+ field_metadata_repository_1.FieldMetadataRepository])
55
54
  ], SystemFieldsSeederService);
56
55
  //# sourceMappingURL=system-fields-seeder.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-fields-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/system-fields-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,6CAAmD;AACnD,6EAAmE;AACnE,4FAAuF;AACvF,qEAAkE;AAClE,qCAAqC;AAErC,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAInC,YACoB,kBAA8C,EAE9C,eAA0C,EAE1C,eAA4C;QAJ5C,uBAAkB,GAAlB,kBAAkB,CAA4B;QAE9C,oBAAe,GAAf,eAAe,CAA2B;QAE1C,oBAAe,GAAf,eAAe,CAA6B;IAC7D,CAAC;IAEJ,KAAK,CAAC,IAAI;QAER,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAC7C,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAEzB,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,uBAAuB,CAAC,KAAoB;QACtD,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;QAG/E,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAC7C,QAAQ,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAChF,CAAC;QAGF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1C,GAAG,KAAK;gBACR,KAAK,EAAE,KAAK;aACf,CAAC,CAAC,CAAC;YACJ,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;CACJ,CAAA;AA1CY,8DAAyB;oCAAzB,yBAAyB;IAM/B,WAAA,IAAA,0BAAgB,EAAC,qCAAa,CAAC,CAAA;IAE/B,WAAA,IAAA,0BAAgB,EAAC,kCAAe,CAAC,CAAA;qCAHG,0DAA0B;QAE7B,oBAAU;QAEV,oBAAU;GATrC,yBAAyB,CA0CrC"}
1
+ {"version":3,"file":"system-fields-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/system-fields-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,6CAAmD;AACnD,6EAAmE;AACnE,4FAAuF;AACvF,uFAAmF;AACnF,qCAAqC;AAErC,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAInC,YACoB,kBAA8C,EAE9C,eAA0C,EAC1C,uBAAgD;QAHhD,uBAAkB,GAAlB,kBAAkB,CAA4B;QAE9C,oBAAe,GAAf,eAAe,CAA2B;QAC1C,4BAAuB,GAAvB,uBAAuB,CAAyB;IACjE,CAAC;IAEJ,KAAK,CAAC,IAAI;QAER,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAC7C,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAEzB,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,uBAAuB,CAAC,KAAoB;QACtD,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;QAG/E,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAC7C,QAAQ,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAChF,CAAC;QAGF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1C,GAAG,KAAK;gBACR,KAAK,EAAE,KAAK;aACf,CAAC,CAAC,CAAC;YACJ,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;CACJ,CAAA;AAzCY,8DAAyB;oCAAzB,yBAAyB;IAM/B,WAAA,IAAA,0BAAgB,EAAC,qCAAa,CAAC,CAAA;qCADK,0DAA0B;QAE7B,oBAAU;QACF,mDAAuB;GAR1D,yBAAyB,CAyCrC","sourcesContent":["// This class will add the system fields in the field-metadata table if they are missing.\n// Fetch all the models and their fields metadata and check if the system fields are present.\n\nimport { InjectRepository } from \"@nestjs/typeorm\";\nimport { ModelMetadata } from \"src/entities/model-metadata.entity\";\nimport { ModelMetadataHelperService } from \"src/helpers/model-metadata-helper.service\";\nimport { FieldMetadataRepository } from \"src/repository/field-metadata.repository\";\nimport { Repository } from \"typeorm\";\n\nexport class SystemFieldsSeederService {\n // This service is responsible for seeding the system fields metadata for all models.\n // It will check if the system fields are already present in the field-metadata table.\n // If not, it will add them.\n constructor(\n private readonly modelHelperService: ModelMetadataHelperService,\n @InjectRepository(ModelMetadata)\n private readonly modelRepository: Repository<ModelMetadata>, // Replace with actual model repository type\n private readonly fieldMetadataRepository: FieldMetadataRepository, // Replace with actual field repository type\n ) {}\n \n async seed() {\n // Get the model repo\n const models = await this.modelRepository.find({\n relations: ['fields'], // Assuming 'fields' is the relation to field metadata\n });\n\n for (const model of models) {\n // Check if the system fields are already present\n await this.seedMissingSystemFields(model);\n }\n }\n\n private async seedMissingSystemFields(model: ModelMetadata) {\n const existingSystemFields = model.fields.filter(field => field.isSystem);\n const systemFieldsMetadata = this.modelHelperService.getSystemFieldsMetadata();\n\n // Find out which system fields are missing\n const missingFields = systemFieldsMetadata.filter(\n sysField => !existingSystemFields.some(field => field.name === sysField.name)\n );\n\n // If there are missing fields, add them\n if (missingFields.length > 0) {\n const newFields = missingFields.map(field => ({\n ...field,\n model: model, // Associate the field with the current model\n }));\n await this.fieldMetadataRepository.save(newFields);\n }\n }\n}\n "]}
@@ -1 +1 @@
1
- {"version":3,"file":"user-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/user-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,+EAA2E;AAC3E,2DAAuD;AAGhD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG1B,YACqB,qBAA4C,EAC5C,WAAwB;QADxB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,gBAAW,GAAX,WAAW,CAAa;QAJ5B,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAKzD,CAAC;IAEL,KAAK,CAAC,IAAI;QAEN,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;QAEjF,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBAC3C,QAAQ,EAAE,2BAA2B;gBACrC,KAAK,EAAE,2BAA2B;gBAClC,QAAQ,EAAE,aAAa;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAGD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACJ,CAAA;AA1BY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAKmC,8CAAqB;QAC/B,0BAAW;GALpC,iBAAiB,CA0B7B"}
1
+ {"version":3,"file":"user-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/user-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,+EAA2E;AAC3E,2DAAuD;AAGhD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG1B,YACqB,qBAA4C,EAC5C,WAAwB;QADxB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,gBAAW,GAAX,WAAW,CAAa;QAJ5B,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAKzD,CAAC;IAEL,KAAK,CAAC,IAAI;QAEN,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;QAEjF,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBAC3C,QAAQ,EAAE,2BAA2B;gBACrC,KAAK,EAAE,2BAA2B;gBAClC,QAAQ,EAAE,aAAa;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAGD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACJ,CAAA;AA1BY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAKmC,8CAAqB;QAC/B,0BAAW;GALpC,iBAAiB,CA0B7B","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { UserService } from '../services/user.service';\n\n@Injectable()\nexport class UserSeederService {\n private readonly logger = new Logger(UserSeederService.name);\n\n constructor(\n private readonly authenticationService: AuthenticationService,\n private readonly userService: UserService,\n ) { }\n\n async seed() {\n // see if the user already exists, \n let user = await this.userService.findOneByUsername(\"admin@example.service.com\");\n\n if (!user) {\n user = await this.authenticationService.signUp({\n username: 'admin@example.service.com',\n email: 'admin@example.service.com',\n password: 'Admin@3214$',\n }); \n\n this.logger.log(`Newly created user is ${user}`);\n }\n\n // now make this user an Admin by adding them to the Admin role group. \n await this.userService.addRoleToUser(user.email, \"Admin\");\n await this.userService.addRoleToUser(user.email, \"Public\");\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"access-token-storage.service.js","sourceRoot":"","sources":["../../src/services/access-token-storage.service.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"access-token-storage.service.js","sourceRoot":"","sources":["../../src/services/access-token-storage.service.ts"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -26,7 +26,7 @@ const crud_helper_service_1 = require("./crud-helper.service");
26
26
  const action_metadata_entity_1 = require("../entities/action-metadata.entity");
27
27
  let ActionMetadataService = class ActionMetadataService extends crud_service_1.CRUDService {
28
28
  constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef) {
29
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'actionMetadata', 'app-builder', moduleRef);
29
+ super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'actionMetadata', 'solid-core', moduleRef);
30
30
  this.modelMetadataService = modelMetadataService;
31
31
  this.moduleMetadataService = moduleMetadataService;
32
32
  this.configService = configService;
@@ -1 +1 @@
1
- {"version":3,"file":"action-metadata.service.js","sourceRoot":"","sources":["../../src/services/action-metadata.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AACpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,+EAAoE;AAG7D,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAA2B;IACpE,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAgC,EAChC,SAAoB;QAG7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAb5K,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAA4B;QAChC,cAAS,GAAT,SAAS,CAAW;IAI/B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,SAAS,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;aACX;YACD,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,oBAAyB;QAEpC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE;gBACL,IAAI,EAAE,oBAAoB,CAAC,IAAI;aAChC;SACF,CAAC,CAAA;QAGF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,qBAAqB,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,oBAAoB,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/C,CAAC;aAEI,CAAC;YACJ,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CAEF,CAAA;AAhDY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,uCAAc,EAAE,SAAS,CAAC,CAAA;qCARb,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAZpB,qBAAqB,CAgDjC"}
1
+ {"version":3,"file":"action-metadata.service.js","sourceRoot":"","sources":["../../src/services/action-metadata.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AACpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,+EAAoE;AAG7D,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAA2B;IACpE,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAgC,EAChC,SAAoB;QAG7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAb3K,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAA4B;QAChC,cAAS,GAAT,SAAS,CAAW;IAI/B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,SAAS,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;aACX;YACD,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,oBAAyB;QAEpC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE;gBACL,IAAI,EAAE,oBAAoB,CAAC,IAAI;aAChC;SACF,CAAC,CAAA;QAGF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,qBAAqB,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,oBAAoB,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/C,CAAC;aAEI,CAAC;YACJ,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CAEF,CAAA;AAhDY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,uCAAc,EAAE,SAAS,CAAC,CAAA;qCARb,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAZpB,qBAAqB,CAgDjC","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository } from 'typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from \"src/services/file.service\";\nimport { CrudHelperService } from \"src/services/crud-helper.service\";\n\n\nimport { ActionMetadata } from '../entities/action-metadata.entity';\n\n@Injectable()\nexport class ActionMetadataService extends CRUDService<ActionMetadata> {\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(ActionMetadata, 'default')\n readonly repo: Repository<ActionMetadata>,\n readonly moduleRef: ModuleRef\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'actionMetadata', 'solid-core', moduleRef);\n }\n\n async findOneByUserKey(name: string, relations = {}) {\n const entity = await this.repo.findOne({\n where: {\n name: name,\n },\n relations: relations,\n });\n return entity;\n }\n\n async upsert(updateSolidActionDto: any) {\n // First check if module already exists using name\n const existingSolidAction = await this.repo.findOne({\n where: {\n name: updateSolidActionDto.name\n }\n })\n\n // if found\n if (existingSolidAction) {\n const updatedSolidActionDto = { ...existingSolidAction, ...updateSolidActionDto };\n return this.repo.save(updatedSolidActionDto);\n }\n // if not found - create new \n else {\n const moduleMetadata = this.repo.create(updateSolidActionDto);\n return this.repo.save(moduleMetadata);\n }\n }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { HttpService } from '@nestjs/axios';\nimport {\n BadRequestException,\n ConflictException,\n Inject,\n Injectable,\n InternalServerErrorException,\n Logger,\n NotFoundException,\n UnauthorizedException,\n} from '@nestjs/common';\nimport { ConfigType } from '@nestjs/config';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport { JwtService } from '@nestjs/jwt';\nimport { InjectRepository } from '@nestjs/typeorm';\nimport { isEmpty, isNotEmpty } from 'class-validator';\nimport { randomInt, randomUUID } from 'crypto';\nimport { SMTPEMailService } from 'src/services/mail/SMTPEmailService';\nimport { Msg91OTPService } from 'src/services/sms/Msg91OTPService';\nimport { Repository } from 'typeorm';\nimport { iamConfig, jwtConfig } from '../config/iam.config';\nimport { ChangePasswordDto } from \"../dtos/change-password.dto\";\nimport { ConfirmForgotPasswordDto } from '../dtos/confirm-forgot-password.dto';\nimport { InitiateForgotPasswordDto } from '../dtos/initiate-forgot-password.dto';\nimport { OTPConfirmOTPDto } from '../dtos/otp-confirm-otp.dto';\nimport { OTPSignInDto } from '../dtos/otp-sign-in.dto';\nimport { OTPSignUpDto } from '../dtos/otp-sign-up.dto';\nimport { RefreshTokenDto } from '../dtos/refresh-token.dto';\nimport { SignInDto } from '../dtos/sign-in.dto';\nimport { SignUpDto } from '../dtos/sign-up.dto';\nimport { UserPasswordHistory } from '../entities/user-password-history.entity';\nimport { User } from '../entities/user.entity';\nimport { ActiveUserData } from '../interfaces/active-user-data.interface';\nimport { HashingService } from './hashing.service';\nimport { InvalidatedRefreshTokenError, RefreshTokenIdsStorageService } from './refresh-token-ids-storage.service';\nimport { UserService } from './user.service';\nimport { EventDetails, EventType } from \"../interfaces\";\nimport {\n ForgotPasswordSendVerificationTokenOn,\n RegistrationValidationSource,\n TransactionalRegistrationValidationSource\n} from \"../constants\";\nimport { SettingService } from './setting.service';\nimport { CreateUserDto } from 'src/dtos/create-user.dto';\nimport { RoleMetadataService } from './role-metadata.service';\nimport commonConfig from 'src/config/common.config';\nimport { UserActivityHistoryService } from './user-activity-history.service';\nimport { RequestContextService } from './request-context.service';\n\n\nenum LoginProvider {\n LOCAL = 'local',\n GOOGLE = 'google',\n OTP = 'otp',\n}\n\ninterface otp {\n token: string;\n expiresAt: Date;\n}\n\n@Injectable()\nexport class AuthenticationService {\n private readonly logger = new Logger(AuthenticationService.name);\n\n constructor(\n private readonly userService: UserService,\n @InjectRepository(User) private readonly userRepository: Repository<User>,\n @InjectRepository(UserPasswordHistory) private readonly userPasswordHistoryRepository: Repository<UserPasswordHistory>,\n private readonly hashingService: HashingService,\n private readonly jwtService: JwtService,\n @Inject(jwtConfig.KEY)\n private readonly jwtConfiguration: ConfigType<typeof jwtConfig>,\n @Inject(iamConfig.KEY)\n private readonly iamConfiguration: ConfigType<typeof iamConfig>,\n private readonly refreshTokenIdsStorage: RefreshTokenIdsStorageService,\n private readonly httpService: HttpService,\n private readonly mailService: SMTPEMailService,\n private readonly smsService: Msg91OTPService,\n private readonly eventEmitter: EventEmitter2,\n private readonly settingService: SettingService,\n private readonly roleMetadataService: RoleMetadataService,\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n private readonly userActivityHistoryService: UserActivityHistoryService,\n private readonly requestContextService: RequestContextService,\n ) { }\n\n private async getConfig(key: string): Promise<any> {\n return this.settingService.getConfigValue(key);\n }\n\n private async getCompanyLogo(): Promise<string> {\n return await this.settingService.getConfigValue('companylogo');\n }\n\n async resolveUser(username: string, email: string) {\n return await this.userRepository.findOne({\n where: [\n { username: username },\n { email: email },\n ],\n relations: {\n roles: true\n }\n });\n }\n\n async validateUser(signInDto: SignInDto) {\n\n const user = await this.resolveUser(signInDto.username, signInDto.email);\n\n if (!user) {\n throw new UnauthorizedException('User does not exists');\n }\n if (!user.active) {\n throw new UnauthorizedException('User profile not activated');\n }\n const isEqual = await this.hashingService.compare(\n signInDto.password,\n user.password,\n );\n if (!isEqual) {\n throw new UnauthorizedException('Password does not match');\n }\n\n return user;\n }\n\n async signUp(signUpDto: SignUpDto, activeUser: ActiveUserData = null): Promise<User> {\n // If public registrations are disabled and no activeUser is present when invoking signUp then we throw an exception.\n if (!(await this.settingService.getConfigValue('allowPublicRegistration')) && !activeUser) {\n throw new BadRequestException('Public registrations are disabled.');\n }\n\n try {\n const onForcePasswordChange = await this.getConfig('forceChangePasswordOnFirstLogin');\n var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(new User(), signUpDto, this.iamConfiguration.activateUserOnRegistration, onForcePasswordChange);\n const savedUser = await this.userRepository.save(user);\n // Also assign a default role to the newly created user. \n const userRoles = signUpDto.roles ?? [];\n if (this.iamConfiguration.defaultRole) {\n userRoles.push(this.iamConfiguration.defaultRole);\n }\n await this.handlePostSignup(savedUser, userRoles, pwd, autoGeneratedPwd);\n\n // TODO: make provision to trigger a welcome email also.\n\n return savedUser;\n } catch (err) {\n const pgUniqueViolationErrorCode = '23505';\n if (err.code === pgUniqueViolationErrorCode) {\n throw new ConflictException();\n }\n throw err;\n }\n }\n\n async signupForExtensionUser<T extends User, U extends CreateUserDto>(signUpDto: SignUpDto, extensionUserDto: U, extensionUserRepo: Repository<T>): Promise<T> {\n try {\n const onForcePasswordChange = await this.getConfig('forceChangePasswordOnFirstLogin');\n // Merge the extended signUpDto attributes into the user entity \n //@ts-ignore \n const extensionUser = extensionUserRepo.merge(extensionUserRepo.create() as T, extensionUserDto);\n var { user, pwd, autoGeneratedPwd } = await this.populateForSignup<T>(extensionUser, signUpDto, onForcePasswordChange);\n const savedUser = await extensionUserRepo.save(user);\n\n await this.handlePostSignup(savedUser, signUpDto.roles, pwd, autoGeneratedPwd);\n\n return savedUser;\n }\n catch (err) {\n const pgUniqueViolationErrorCode = '23505';\n if (err.code === pgUniqueViolationErrorCode) {\n throw new ConflictException();\n }\n throw err;\n }\n }\n\n\n private async populateForSignup<T extends User>(user: T, signUpDto: SignUpDto, isUserActive: boolean = true, onForcePasswordChange?: boolean) {\n // const user = new User();\n\n if (signUpDto.roles && signUpDto.roles.length > 0) {\n for (let i = 0; i < signUpDto.roles.length; i++) {\n const roleName = signUpDto.roles[i];\n await this.roleMetadataService.findRoleByName(roleName);\n }\n }\n user.username = signUpDto.username;\n user.email = signUpDto.email;\n user.fullName = signUpDto.fullName;\n user.forcePasswordChange = onForcePasswordChange;\n if (signUpDto.mobile) {\n user.mobile = signUpDto.mobile;\n }\n this.logger.debug(\"user\", user);\n // If password has been specified by the user, then we simply create & activate the user based on the configuration parameter \"activateUserOnRegistration\".\n let pwd = '';\n let autoGeneratedPwd = '';\n if (signUpDto.password) {\n pwd = await this.hashingService.hash(signUpDto.password);\n }\n else {\n // TODO: If password is not specified then auto-generate a random password, trigger this password over an email to the user.\n // TODO: Also track if the user has to force reset / change their password, and then activate the user. \n autoGeneratedPwd = this.generatePassword();\n pwd = await this.hashingService.hash(autoGeneratedPwd);\n user.forcePasswordChange = true;\n }\n user.password = pwd;\n // user.active = this.iamConfiguration.activateUserOnRegistration;\n user.active = isUserActive;\n return { user, pwd, autoGeneratedPwd };\n }\n\n\n private async handlePostSignup(user: User, roles: string[] = [], pwd: string, autoGeneratedPwd: string) {\n await this.userService.initializeRolesForNewUser(roles, user);\n // Tanay: Adding user password to history table\n const userPasswordHistory = new UserPasswordHistory();\n userPasswordHistory.passwordHash = pwd;\n userPasswordHistory.user = user;\n await this.userPasswordHistoryRepository.save(userPasswordHistory);\n\n // if forcePasswordChange is true, then we trigger an email to the user to change the password, this needs to be done using a queue. \n // Create a new method like notifyUserOnForcePasswordChange, create a new email template we can call it on-force-password-change this template to include the random password\n if (user.forcePasswordChange && autoGeneratedPwd) {\n this.notifyUserOnForcePasswordChange(user, autoGeneratedPwd);\n }\n }\n\n\n generatePassword(length: number = 8): string {\n const upperCase = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n const lowerCase = \"abcdefghijklmnopqrstuvwxyz\";\n const numbers = \"0123456789\";\n const specialChars = \"@$#\";\n const allChars = upperCase + lowerCase + numbers + specialChars;\n\n let password = \"\";\n\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * allChars.length);\n password += allChars[randomIndex];\n }\n\n return password;\n }\n\n private async notifyUserOnForcePasswordChange(user: User, autoGeneratedPwd: string) {\n const companyLogo = await this.getCompanyLogo();\n\n this.mailService.sendEmailUsingTemplate(\n user.email,\n 'on-force-password-change',\n {\n solidAppName: process.env.SOLID_APP_NAME,\n solidAppWebsiteUrl: process.env.SOLID_APP_WEBSITE_URL,\n frontendLoginPageUrl: process.env.IAM_FRONTEND_APP_LOGIN_PAGE_URL,\n email: user.email,\n fullName: user.fullName,\n userName: user.username,\n password: autoGeneratedPwd,\n companyLogoUrl: companyLogo\n },\n this.commonConfiguration.shouldQueueEmails,\n 'user',\n user.id\n );\n\n }\n\n async otpInitiateRegistration(signUpDto: OTPSignUpDto) {\n try {\n if (!this.isPasswordlessRegistrationEnabled()) {\n throw new BadRequestException('Passwordless registration is not enabled');\n }\n // Validate if either mobile or email is present.\n if (isEmpty(signUpDto.mobile) && isEmpty(signUpDto.email)) {\n throw new BadRequestException('Either mobile or email is required for initiating registration');\n }\n if (signUpDto.validationSources.includes(TransactionalRegistrationValidationSource.EMAIL) && isEmpty(signUpDto.email)) {\n throw new BadRequestException('Email is required for email validation source');\n }\n if (signUpDto.validationSources.includes(TransactionalRegistrationValidationSource.MOBILE) && isEmpty(signUpDto.mobile)) {\n throw new BadRequestException('Mobile is required for mobile validation source');\n }\n\n // Validate if user already exists.\n const existingUser = await this.userRepository.findOne({ //TODO Perhaps we should use the user service instead of the repository directly.\n where: [\n { email: signUpDto.email, },\n { mobile: signUpDto.mobile, },\n { username: signUpDto.username, }\n ]\n });\n if (isNotEmpty(existingUser) && existingUser.active) {\n throw new ConflictException('User already exists. Please sign in');\n }\n const finalRegistrationVerificationSources = this.calculateVerificationSources(this.iamConfiguration.passwordlessRegistrationValidateWhat, signUpDto);\n let user = existingUser\n if (isEmpty(user)) {\n user = this.createUser(signUpDto);\n this.populateVerificationTokens(finalRegistrationVerificationSources, user);\n await this.userRepository.save(user);\n await this.userService.addRoleToUser(user.username, await this.settingService.getConfigValue('defaultRole'));\n }\n else {\n this.populateVerificationTokens(finalRegistrationVerificationSources, user);\n await this.userRepository.save(user);\n }\n\n // Send OTP to the user through email or SMS, depending on the configuration.\n this.notifyUserOnOtpInitiateRegistration(user, finalRegistrationVerificationSources);\n return { message: 'User registration initiated. OTP sent to the user.' }\n } catch (err) {\n const pgUniqueViolationErrorCode = '23505';\n if (err.code === pgUniqueViolationErrorCode) {\n throw new ConflictException();\n }\n throw err;\n }\n }\n\n // Create a new user entity.\n private createUser(signUpDto: OTPSignUpDto) {\n const user = new User();\n user.username = signUpDto.username;\n user.email = signUpDto.email;\n user.mobile = signUpDto.mobile;\n user.customPayload = signUpDto.customPayload;\n user.lastLoginProvider = LoginProvider.OTP;\n return user;\n }\n\n private calculateVerificationSources(configuredRegistrationValidationSources: string[], signUpDto: OTPSignUpDto): string[] {\n const finalRegistrationValidationSources = configuredRegistrationValidationSources.filter((source) => source !== RegistrationValidationSource.TRANSACTIONAL);\n if (configuredRegistrationValidationSources.includes(RegistrationValidationSource.TRANSACTIONAL)) {\n finalRegistrationValidationSources.push(...signUpDto.validationSources); // Add the validation sources provided by the user.\n }\n return finalRegistrationValidationSources;\n }\n\n // Generate the validation tokens for the user i.e (system configured + user provided)\n private populateVerificationTokens(finalRegistrationValidationSources: string[], user: User) {\n if (finalRegistrationValidationSources.length === 0) {\n throw new BadRequestException('At least one validation source is required');\n }\n if (finalRegistrationValidationSources.includes(TransactionalRegistrationValidationSource.EMAIL)) {\n const { token, expiresAt } = this.otp();\n user.emailVerificationTokenOnRegistration = token;\n user.emailVerificationTokenOnRegistrationExpiresAt = expiresAt;\n if (this.iamConfiguration.autoLoginUserOnRegistration) {\n user.emailVerificationTokenOnLogin = token;\n user.emailVerificationTokenOnLoginExpiresAt = expiresAt;\n }\n }\n if (finalRegistrationValidationSources.includes(TransactionalRegistrationValidationSource.MOBILE)) {\n const { token, expiresAt } = this.otp();\n user.mobileVerificationTokenOnRegistration = token;\n user.mobileVerificationTokenOnRegistrationExpiresAt = expiresAt;\n if (this.iamConfiguration.autoLoginUserOnRegistration) {\n user.mobileVerificationTokenOnLogin = token;\n user.mobileVerificationTokenOnLoginExpiresAt = expiresAt;\n }\n }\n }\n\n private async notifyUserOnOtpInitiateRegistration(user: User, registrationValidationSources: string[]) {\n const companyLogo = await this.getCompanyLogo();\n if (this.iamConfiguration.dummyOtp)\n return; // Do nothing if dummy otp is configured.\n if (registrationValidationSources.includes(RegistrationValidationSource.EMAIL)) {\n this.mailService.sendEmailUsingTemplate(\n user.email,\n 'otp-on-register',\n {\n solidAppName: process.env.SOLID_APP_NAME,\n solidAppWebsiteUrl: process.env.SOLID_APP_WEBSITE_URL,\n firstName: user.username,\n fullName: user.fullName ? user.fullName : user.username,\n emailVerificationTokenOnRegistration: user.emailVerificationTokenOnRegistration,\n companyLogoUrl: companyLogo\n },\n this.commonConfiguration.shouldQueueEmails,\n 'user',\n user.id\n );\n }\n if (registrationValidationSources.includes(RegistrationValidationSource.MOBILE)) {\n this.smsService.sendSMSUsingTemplate(\n user.mobile,\n 'otp-on-register',\n {\n solidAppName: process.env.SOLID_APP_NAME,\n otp: user.mobileVerificationTokenOnRegistration,\n mobileVerificationTokenOnRegistration: user.mobileVerificationTokenOnRegistration,\n firstName: user.username,\n fullName: user.fullName ? user.fullName : user.username,\n companyLogoUrl: companyLogo\n }\n );\n }\n }\n\n async otpConfirmRegistration(confirmSignUpDto: OTPConfirmOTPDto) {\n if (!this.isPasswordlessRegistrationEnabled()) {\n throw new BadRequestException('Passwordless registration is not enabled');\n }\n\n // Based on the identifier, validate by query the user table.\n if (confirmSignUpDto.type === RegistrationValidationSource.EMAIL) {\n const user = await this.userRepository.findOne({\n where: {\n email: confirmSignUpDto.identifier,\n }\n });\n if (!user) {\n throw new UnauthorizedException('User does not exist');\n }\n if (user.emailVerificationTokenOnRegistration !== confirmSignUpDto.otp) {\n throw new UnauthorizedException('Invalid OTP');\n }\n if (user.emailVerificationTokenOnRegistrationExpiresAt < new Date()) {\n throw new UnauthorizedException('OTP expired');\n }\n user.emailVerifiedOnRegistrationAt = new Date();\n user.emailVerificationTokenOnRegistration = null;\n user.emailVerificationTokenOnRegistrationExpiresAt = null;\n user.active = await this.settingService.getConfigValue('activateUserOnRegistration') && this.areRegistrationValidationSourcesVerified(user);\n const savedUser: User = await this.userRepository.save(user);\n this.triggerRegistrationEvent(savedUser);\n return { active: savedUser.active, message: `User registration verified for ${confirmSignUpDto.type}` }\n } else if (confirmSignUpDto.type === RegistrationValidationSource.MOBILE) {\n const user = await this.userRepository.findOne({\n where: {\n mobile: confirmSignUpDto.identifier,\n }\n });\n if (!user) {\n throw new UnauthorizedException('User does not exist');\n }\n if (user.mobileVerificationTokenOnRegistration !== confirmSignUpDto.otp) {\n throw new UnauthorizedException('Invalid OTP');\n }\n if (user.mobileVerificationTokenOnRegistrationExpiresAt < new Date()) {\n throw new UnauthorizedException('Invalid OTP');\n }\n user.mobileVerifiedOnRegistrationAt = new Date();\n user.mobileVerificationTokenOnRegistration = null;\n user.mobileVerificationTokenOnRegistrationExpiresAt = null;\n user.active = await this.settingService.getConfigValue('activateUserOnRegistration') && this.areRegistrationValidationSourcesVerified(user);\n const savedUser: User = await this.userRepository.save(user);\n this.triggerRegistrationEvent(savedUser);\n return { active: savedUser.active, message: `User registration verified for ${confirmSignUpDto.type}` }\n }\n throw new BadRequestException('Invalid type. Must be either email or mobile');\n }\n\n private triggerRegistrationEvent(savedUser: User) {\n // Trigger events for user registration.\n const event = new EventDetails<User>(EventType.USER_REGISTERED, savedUser);\n this.eventEmitter.emit(EventType.USER_REGISTERED, event);\n }\n\n areRegistrationValidationSourcesVerified(user: User): boolean {\n const registrationValidationSources = this.iamConfiguration.passwordlessRegistrationValidateWhat;\n if (registrationValidationSources.includes(RegistrationValidationSource.EMAIL)) {\n if (!user.emailVerifiedOnRegistrationAt) {\n return false;\n }\n }\n if (registrationValidationSources.includes(RegistrationValidationSource.MOBILE)) {\n if (!user.mobileVerifiedOnRegistrationAt) {\n return false;\n }\n }\n return true;\n }\n\n private otp(): otp {\n const now = new Date();\n now.setMinutes(now.getMinutes() + this.iamConfiguration.otpExpiry);\n return {\n token: this.iamConfiguration.dummyOtp ? this.iamConfiguration.dummyOtp : randomInt(100000, 999999).toString(),\n expiresAt: now,\n };\n }\n\n async signIn(signInDto: SignInDto) {\n const user = await this.validateUser(signInDto);\n\n // TODO: Unset the password etc...\n const tokens = await this.generateTokens(user);\n\n await this.userActivityHistoryService.logEvent('login', user);\n\n return {\n user: {\n email: user.email,\n mobile: user.mobile,\n username: user.username,\n forcePasswordChange: user.forcePasswordChange,\n id: user.id,\n roles: user.roles.map((role, idx, roles) => role.name)\n },\n ...tokens\n }\n }\n\n async otpInitiateLogin(signInDto: OTPSignInDto) {\n if (!this.isPasswordlessRegistrationEnabled()) {\n throw new BadRequestException('Passwordless registration is not enabled');\n }\n\n // Validate & generate otp token for the user based on the identifier type.\n if (signInDto.type === RegistrationValidationSource.EMAIL) {\n const user = await this.userRepository.findOne({\n where: {\n email: signInDto.identifier,\n }\n });\n if (!user) {\n throw new UnauthorizedException('User does not exist');\n }\n if (!user.active) {\n throw new UnauthorizedException('User is inactive');\n }\n const { token, expiresAt } = this.otp();\n user.emailVerificationTokenOnLogin = token;\n user.emailVerificationTokenOnLoginExpiresAt = expiresAt;\n await this.userRepository.save(user);\n this.notifyUserOnOtpInititateLogin(user, RegistrationValidationSource.EMAIL);\n } else if (signInDto.type === RegistrationValidationSource.MOBILE) {\n const user = await this.userRepository.findOne({\n where: {\n mobile: signInDto.identifier,\n }\n });\n if (!user) {\n throw new UnauthorizedException('User does not exist');\n }\n\n const { token, expiresAt } = this.otp();\n user.mobileVerificationTokenOnLogin = token;\n user.mobileVerificationTokenOnLoginExpiresAt = expiresAt;\n await this.userRepository.save(user);\n this.notifyUserOnOtpInititateLogin(user, RegistrationValidationSource.MOBILE);\n }\n else {\n throw new BadRequestException('Invalid type. Must be either email or mobile');\n }\n return { message: 'User login initiated. OTP sent to the user.' };\n }\n\n private async notifyUserOnOtpInititateLogin(user: User, loginType: RegistrationValidationSource) {\n const companyLogo = await this.getCompanyLogo();\n\n if (this.iamConfiguration.dummyOtp)\n return; // Do nothing if dummy otp is configured.\n if (loginType === RegistrationValidationSource.EMAIL) {\n this.mailService.sendEmailUsingTemplate(\n user.email,\n 'otp-on-login',\n {\n solidAppName: process.env.SOLID_APP_NAME,\n solidAppWebsiteUrl: process.env.SOLID_APP_WEBSITE_URL,\n firstName: user.username,\n emailVerificationTokenOnLogin: user.emailVerificationTokenOnLogin,\n fullName: user.fullName ? user.fullName : user.username,\n companyLogoUrl: companyLogo\n },\n this.commonConfiguration.shouldQueueEmails,\n 'user',\n user.id\n );\n }\n if (loginType === RegistrationValidationSource.MOBILE) {\n this.smsService.sendSMSUsingTemplate(\n user.mobile,\n 'otp-on-login',\n {\n solidAppName: process.env.SOLID_APP_NAME,\n otp: user.mobileVerificationTokenOnLogin,\n mobileVerificationTokenOnLogin: user.mobileVerificationTokenOnLogin,\n firstName: user.username,\n fullName: user.fullName ? user.fullName : user.username,\n companyLogoUrl: companyLogo\n }\n );\n }\n }\n\n async otpConfirmLogin(confirmSignInDto: OTPConfirmOTPDto) {\n if (!this.isPasswordlessRegistrationEnabled()) {\n throw new BadRequestException('Passwordless registration is not enabled');\n }\n if (confirmSignInDto.type === RegistrationValidationSource.EMAIL) {\n const user = await this.userRepository.findOne({\n where: {\n email: confirmSignInDto.identifier,\n },\n relations: ['roles']\n });\n if (!user) {\n throw new UnauthorizedException('User does not exist');\n }\n if (!user.active) {\n throw new UnauthorizedException('User is inactive');\n }\n if (user.emailVerificationTokenOnLogin !== confirmSignInDto.otp) {\n throw new UnauthorizedException('Invalid OTP');\n }\n if (user.emailVerificationTokenOnLoginExpiresAt < new Date()) {\n throw new UnauthorizedException('Invalid OTP');\n }\n user.emailVerifiedOnLoginAt = new Date();\n user.emailVerificationTokenOnLogin = null;\n user.emailVerificationTokenOnLoginExpiresAt = null;\n await this.userRepository.save(user);\n const { accessToken, refreshToken } = await this.generateTokens(user);\n const { id, username, email, mobile, lastLoginProvider } = user;\n const roles = user.roles.map((role) => role.name);\n return { accessToken, refreshToken, user: { id, username, email, mobile, lastLoginProvider, roles } };\n } else if (confirmSignInDto.type === RegistrationValidationSource.MOBILE) {\n const user = await this.userRepository.findOne({\n where: {\n mobile: confirmSignInDto.identifier,\n },\n relations: ['roles']\n });\n if (!user) {\n throw new UnauthorizedException('User does not exist');\n }\n if (!user.active) {\n throw new UnauthorizedException('User is inactive');\n }\n if (user.mobileVerificationTokenOnLogin !== confirmSignInDto.otp) {\n throw new UnauthorizedException('Invalid OTP');\n }\n if (user.mobileVerificationTokenOnLoginExpiresAt < new Date()) {\n throw new UnauthorizedException('Invalid OTP');\n }\n user.mobileVerifiedOnLoginAt = new Date();\n user.mobileVerificationTokenOnLogin = null;\n user.mobileVerificationTokenOnLoginExpiresAt = null;\n await this.userRepository.save(user);\n const { accessToken, refreshToken } = await this.generateTokens(user);\n const { id, username, email, mobile, lastLoginProvider } = user;\n const roles = user.roles.map((role) => role.name);\n return { accessToken, refreshToken, user: { id, username, email, mobile, lastLoginProvider, roles } };\n\n }\n throw new BadRequestException('Invalid type. Must be either email or mobile');\n }\n\n async changePassword(changePasswordDto: ChangePasswordDto, activeUser: ActiveUserData) {\n const user = await this.userRepository.findOne({\n where: { id: changePasswordDto.id }\n });\n if (!user) {\n throw new NotFoundException('User does not exists');\n }\n\n if (!user.active) {\n throw new UnauthorizedException('User is inactive');\n }\n\n // 2. Validate if user has used a provider which is \"local\", only then it makes sense for us to initiate the forgot password routine.\n if (user.lastLoginProvider !== 'local') {\n throw new BadRequestException('User seems to have used a passwordless mode to authenticate.');\n }\n\n // Check if ID's match\n if (!(user.id === activeUser.sub)) {\n throw new BadRequestException(\"User ID's do not match \");\n }\n\n // Check if username's match\n if (!(user.username === activeUser.username)) {\n throw new BadRequestException(\"User username's do not match\");\n }\n\n // Check if old password is matching.\n const isEqual = await this.hashingService.compare(\n changePasswordDto.currentPassword,\n user.password,\n );\n if (!isEqual) {\n throw new UnauthorizedException('Incorrect current password specified...');\n }\n\n // Update Password\n const newPwd = await this.hashingService.hash(changePasswordDto.newPassword);\n user.password = changePasswordDto.newPassword;\n\n // Everytime the user changes the password we reset the forcePasswordChange flag back to false. \n user.forcePasswordChange = false;\n\n if (await this.isPasswordDuplicate(user)) {\n throw new BadRequestException('Previously used passwords cannot be used again.');\n }\n await this.deleteOldPasswords(user);\n\n user.password = newPwd;\n const userPasswordHistory = new UserPasswordHistory();\n userPasswordHistory.passwordHash = newPwd;\n userPasswordHistory.user = user;\n\n await this.userRepository.save(user);\n await this.userPasswordHistoryRepository.save(userPasswordHistory);\n\n return true;\n }\n\n async initiateForgotPassword(initiateForgotPasswordDto: InitiateForgotPasswordDto) {\n // Steps / Algorithm: \n // 1. Identify the user using the specified \"username\", if not found exit.\n // const user = await this.userRepository.findOne({\n // where: { username: initiateForgotPasswordDto.username, }\n // });\n const user = await this.resolveUser(initiateForgotPasswordDto.username, initiateForgotPasswordDto.email);\n\n if (!user) {\n throw new NotFoundException('User does not exists');\n }\n if (!user.active) {\n throw new UnauthorizedException('User is inactive');\n }\n\n // 2. Validate if user has used a provider which is \"local\", only then it makes sense for us to initiate the forgot password routine. \n if (user.lastLoginProvider !== 'local') {\n throw new BadRequestException('User seems to have used a passwordless mode to authenticate.');\n }\n\n // 3. Generate a 6 digit validation token, we send this token to the user over their email & mobile number (controlled using configuration).\n // 4. Save this validation token in new fields on the user record. \n const { token, expiresAt } = this.otp();\n user.verificationTokenOnForgotPassword = token;\n user.verificationTokenOnForgotPasswordExpiresAt = expiresAt;\n await this.userRepository.save(user);\n this.notifyUserOnForgotPassword(user);\n\n // 5. Return. \n return {\n status: 'success',\n message: 'Forgot password - token generated and sent',\n error: '',\n errorCode: '',\n data: {\n user: {\n email: user.email,\n mobile: user.mobile,\n username: user.username,\n },\n }\n }\n }\n\n private async notifyUserOnForgotPassword(user: User) {\n const companyLogo = await this.getCompanyLogo();\n\n const forgotPasswordSendVerificationTokenOn = this.iamConfiguration.forgotPasswordSendVerificationTokenOn;\n\n if (forgotPasswordSendVerificationTokenOn == ForgotPasswordSendVerificationTokenOn.EMAIL) {\n this.mailService.sendEmailUsingTemplate(\n user.email,\n 'forgot-password',\n {\n solidAppName: process.env.SOLID_APP_NAME,\n solidAppWebsiteUrl: process.env.SOLID_APP_WEBSITE_URL,\n firstName: user.username,\n fullName: user.fullName,\n // TODO: Need to prefix this with the page url where the forgot password page will open up.\n passwordResetLink: `${process.env.IAM_FRONTEND_APP_FORGOT_PASSWORD_PAGE_URL}?token=${user.verificationTokenOnForgotPassword}&username=${user.username}`,\n companyLogoUrl: companyLogo\n },\n this.commonConfiguration.shouldQueueEmails,\n 'user',\n user.id\n );\n }\n // Assuming all users do not have mobile as mandatory.\n if (forgotPasswordSendVerificationTokenOn == ForgotPasswordSendVerificationTokenOn.MOBILE && user.mobile) {\n this.smsService.sendSMSUsingTemplate(\n user.mobile,\n 'forgot-password',\n {\n solidAppName: process.env.SOLID_APP_NAME,\n otp: user.verificationTokenOnForgotPassword,\n verificationTokenOnForgotPassword: user.verificationTokenOnForgotPassword,\n firstName: user.username,\n companyLogoUrl: companyLogo\n }\n );\n }\n }\n\n async confirmForgotPassword(confirmForgotPasswordDto: ConfirmForgotPasswordDto) {\n // Steps / Algorithm: \n // 1. Identify the user using the specified \"username\", if not found exit.\n // const user = await this.userRepository.findOne({\n // where: { username: confirmForgotPasswordDto.username, }\n // });\n const user = await this.resolveUser(confirmForgotPasswordDto.username, confirmForgotPasswordDto.email);\n\n if (!user) {\n throw new NotFoundException('User does not exists');\n }\n\n // 2. Validate if user has used a provider which is \"local\", only then it makes sense for us to initiate the forgot password routine. \n if (user.lastLoginProvider !== 'local') {\n throw new BadRequestException('User seems to have used a passwordless mode to authenticate.');\n }\n if (!user.active) {\n throw new UnauthorizedException('User is inactive');\n }\n\n // 3. Validate the verification token is proper & update the user record. \n if (user.verificationTokenOnForgotPassword !== confirmForgotPasswordDto.verificationToken) {\n throw new UnauthorizedException('Invalid verification token');\n }\n if (user.verificationTokenOnForgotPasswordExpiresAt < new Date()) {\n throw new UnauthorizedException('Invalid verification token');\n }\n user.forgotPasswordConfirmedAt = new Date();\n user.verificationTokenOnForgotPassword = null;\n user.verificationTokenOnForgotPasswordExpiresAt = null;\n\n // 4. Update the users password while encrypting it.\n const pwd = await this.hashingService.hash(confirmForgotPasswordDto.password);\n user.password = confirmForgotPasswordDto.password\n\n if (await this.isPasswordDuplicate(user)) {\n throw new BadRequestException('Previously used passwords cannot be used again.');\n }\n await this.deleteOldPasswords(user);\n\n user.password = pwd;\n const userPasswordHistory = new UserPasswordHistory();\n userPasswordHistory.passwordHash = pwd;\n userPasswordHistory.user = user;\n\n await this.userRepository.save(user);\n //FIXME: Do this check conditionally, basis a configuration parameter i.e if IAM_ALLOW_PREVIOUS_PASSWORDS=false, default true\n await this.userPasswordHistoryRepository.save(userPasswordHistory);\n\n return {\n status: 'success',\n message: 'Forgot password confirmed',\n error: '',\n errorCode: '',\n data: {}\n }\n }\n\n //FIXME: Do this check conditionally, basis a configuration parameter i.e if IAM_ALLOW_PREVIOUS_PASSWORDS=true, return immediately without processing, i.e false.\n private async isPasswordDuplicate(user: User) {\n const userPwdHistoryEntityArray = await this.userPasswordHistoryRepository.findBy(\n { user: { id: user.id } }\n )\n let userPwdHistoryArray = [];\n // O(n)\n for (const entity of userPwdHistoryEntityArray) {\n userPwdHistoryArray.push(entity.passwordHash);\n }\n // O(n)\n for (const pwdHash of userPwdHistoryArray) {\n const isEqual = await this.hashingService.compare(user.password, pwdHash);\n if (isEqual) {\n return true;\n }\n }\n return false;\n }\n\n //FIXME: Do this check conditionally, basis a configuration parameter i.e if IAM_ALLOW_PREVIOUS_PASSWORDS=true, return immediately without processing\n private async deleteOldPasswords(user: User) {\n const userPwdHistoryArray = await this.userPasswordHistoryRepository.findBy(\n { user: { id: user.id } }\n )\n const pwdLimit = 2; //FIXME: Should this be moved into the env? IAM_PREVIOUS_PASSWORDS_LIMIT\n\n // TODO: Check what slice() or splice() does.\n //FIXME - Delete passwords which are older than the latest n passwords. n is configurable\n if (userPwdHistoryArray.length >= pwdLimit) {\n const numToDelete = pwdLimit + 1 - userPwdHistoryArray.length;\n for (let i = 0; i < numToDelete; i++) {\n await this.userPasswordHistoryRepository.remove(userPwdHistoryArray[i]);\n }\n }\n }\n\n async generateTokens(user: User) {\n\n const [accessToken, refreshToken] = await Promise.all([\n this.generateAccessToken(user),\n this.generateRefreshToken(user),\n ]);\n\n return {\n accessToken,\n refreshToken,\n };\n }\n\n async generateAccessToken(user: User) {\n\n // const userRoleNames = user.roles.map((role) => role.name).join(';')\n const userRoleNames = user.roles.map((role) => role.name);\n\n const accessToken = await this.signToken<Partial<ActiveUserData>>(\n user.id,\n this.jwtConfiguration.accessTokenTtl,\n { username: user.username, email: user.email, roles: userRoleNames },\n );\n\n return accessToken;\n }\n\n async generateRefreshToken(user: User) {\n const refreshTokenId = randomUUID();\n\n const refreshToken = await this.signToken(user.id, this.jwtConfiguration.refreshTokenTtl, {\n refreshTokenId,\n })\n\n // store the refresh token id in the redis storage.\n await this.refreshTokenIdsStorage.insert(user.id, refreshToken);\n\n return refreshToken;\n }\n\n async refreshTokens(refreshTokenDto: RefreshTokenDto) {\n try {\n const { sub, refreshTokenId } = await this.jwtService.verifyAsync<Pick<ActiveUserData, 'sub'> & { refreshTokenId: string }>(refreshTokenDto.refreshToken, {\n secret: this.jwtConfiguration.secret,\n audience: this.jwtConfiguration.audience,\n issuer: this.jwtConfiguration.issuer,\n });\n // const user = await this.userRepository.findOneByOrFail({ id: sub });\n const user = await this.userRepository.findOne({\n where: {\n id: sub,\n },\n relations: {\n roles: true\n }\n });\n if (!user) {\n throw new UnauthorizedException();\n }\n\n // TODO: Replace the if else condition below with a call to validateAndRotate - Done\n // const isValid = await this.refreshTokenIdsStorage.validate(user.id, refreshTokenId);\n // if (isValid) {\n // // Refresh token rotation.\n // await this.refreshTokenIdsStorage.invalidate(user.id);\n // } else {\n // throw new Error('Refresh token is invalid');\n // }\n\n const currentRefreshToken = await this.refreshTokenIdsStorage.validateAndRotate(user, refreshTokenDto.refreshToken);\n\n await this.userActivityHistoryService.logEvent('tokenRefreshed', user);\n\n return {\n accessToken: await this.generateAccessToken(user),\n refreshToken: currentRefreshToken,\n };\n } catch (err) {\n if (err instanceof InvalidatedRefreshTokenError) {\n // Take action: notify user that his refresh token might have been stolen?\n throw new UnauthorizedException('Access denied');\n }\n\n throw new UnauthorizedException();\n }\n }\n\n private async signToken<T>(userId: number, expiresIn: number, payload?: T) {\n return await this.jwtService.signAsync(\n {\n sub: userId,\n ...payload,\n },\n {\n audience: this.jwtConfiguration.audience,\n issuer: this.jwtConfiguration.issuer,\n secret: this.jwtConfiguration.secret,\n expiresIn,\n },\n );\n }\n\n // PROVIDER SPECIFIC CODE\n async validateUserUsingGoogle(user: User) {\n try {\n // Make API call to Google OAuth service to fetch user profile\n const response = await this.httpService.axiosRef.get(`https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=${user.googleAccessToken}`);\n const userProfile = response.data;\n\n // Ensure the fetched profile email & provider Id match the ones we have stored in the database earlier. \n if (userProfile.email === user.email && userProfile.id === user.googleId) {\n // TODO: remove the access code both from the database.\n return userProfile;\n } else {\n throw new UnauthorizedException('Invalid user profile');\n }\n } catch (error) {\n throw new UnauthorizedException('Failed to fetch user profile from Google OAuth service');\n }\n }\n\n async signInUsingGoogle(accessCode: string) {\n const user = await this.userRepository.findOne({\n where: {\n accessCode: accessCode\n },\n relations: {\n roles: true\n }\n });\n\n // Validate the user against the Google oauth provider. \n // If the below call finishes without raising an exception then we have validated the user properly.\n await this.validateUserUsingGoogle(user);\n\n // finally we simply generate the tokens. \n const tokens = await this.generateTokens(user);\n return {\n user: {\n email: user.email,\n mobile: user.mobile,\n username: user.username,\n // forcePasswordChange: user.forcePasswordChange,\n id: user.id,\n roles: user.roles.map((role, idx, roles) => role.name)\n },\n ...tokens\n }\n\n }\n\n private async isPasswordlessRegistrationEnabled() {\n return this.settingService.getConfigValue('passwordlessRegistration');\n }\n\n //FIXME - Pending implementation\n // async logout() {\n // // const user = this.request.user; //TODO: // Access the user from the execution context\n\n // // Invalidate the refresh token\n // // await this.refreshTokenIdsStorage.invalidate(user.id);\n // }\n async logout() {\n try {\n const activeUser = this.requestContextService.getActiveUser();\n const userId = activeUser?.sub;\n const user = await this.userRepository.findOne({\n where: {\n id: userId,\n }\n })\n // Invalidate refresh token if you store them\n await this.refreshTokenIdsStorage.invalidate(userId); // ← Your existing logic\n\n // Log logout event\n await this.userActivityHistoryService.logEvent('logout', user);\n\n\n return { message: 'Logged out successfully' };\n } catch (err) {\n throw err instanceof UnauthorizedException || err instanceof InternalServerErrorException\n ? err\n : new InternalServerErrorException('Logout failed due to an unexpected error.');\n }\n }\n\n\n async activateUser(userId: number) {\n const user = await this.userService.findOne(userId, {});\n if (!user) {\n throw new NotFoundException('User not found');\n }\n user.active = true;\n await this.userRepository.save(user);\n }\n\n async me(activeUser: ActiveUserData) {\n const user = await this.userRepository.findOne({\n where: {\n id: activeUser.sub,\n },\n relations: {\n roles: true\n }\n });\n const tokens = await this.generateTokens(user);\n\n const response = {\n user: {\n email: user.email,\n mobile: user.mobile,\n username: user.username,\n // forcePasswordChange: user.forcePasswordChange,\n id: user.id,\n roles: user.roles.map((role, idx, roles) => role.name)\n },\n ...tokens\n }\n return response;\n }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bcrypt.service.js","sourceRoot":"","sources":["../../src/services/bcrypt.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,mCAAgD;AAGzC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,KAAK,CAAC,IAAI,CAAC,IAAqB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAO,GAAE,CAAC;QAC7B,OAAO,IAAA,aAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,IAAqB,EAAE,SAAiB;QAC5C,OAAO,IAAA,gBAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;CACJ,CAAA;AATY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CASzB"}
1
+ {"version":3,"file":"bcrypt.service.js","sourceRoot":"","sources":["../../src/services/bcrypt.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,mCAAgD;AAGzC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,KAAK,CAAC,IAAI,CAAC,IAAqB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAO,GAAE,CAAC;QAC7B,OAAO,IAAA,aAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,IAAqB,EAAE,SAAiB;QAC5C,OAAO,IAAA,gBAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;CACJ,CAAA;AATY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CASzB","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { HashingService } from './hashing.service';\nimport { genSalt, hash, compare } from 'bcrypt';\n\n@Injectable()\nexport class BcryptService implements HashingService {\n async hash(data: string | Buffer): Promise<string> {\n const salt = await genSalt();\n return hash(data, salt);\n }\n\n compare(data: string | Buffer, encrypted: string): Promise<boolean> {\n return compare(data, encrypted);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-message-details.service.js","sourceRoot":"","sources":["../../src/services/chatter-message-details.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA4D;AAC5D,qCAAwD;AAExD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAErE,+FAAmF;AAG5E,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,0BAAkC;IAClF,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAuC,EACvC,SAAoB;QAE7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAZlL,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAmC;QACvC,cAAS,GAAT,SAAS,CAAW;IAG/B,CAAC;CACF,CAAA;AAhBY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,sDAAqB,EAAE,SAAS,CAAC,CAAA;qCARpB,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAZpB,4BAA4B,CAgBxC"}
1
+ {"version":3,"file":"chatter-message-details.service.js","sourceRoot":"","sources":["../../src/services/chatter-message-details.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA4D;AAC5D,qCAAwD;AAExD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAErE,+FAAmF;AAG5E,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,0BAAkC;IAClF,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAuC,EACvC,SAAoB;QAE7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAZlL,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAmC;QACvC,cAAS,GAAT,SAAS,CAAW;IAG/B,CAAC;CACF,CAAA;AAhBY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,sDAAqB,EAAE,SAAS,CAAC,CAAA;qCARpB,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAZpB,4BAA4B,CAgBxC","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository, In } from 'typeorm';\n\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from 'src/services/file.service';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\n\nimport { ChatterMessageDetails } from '../entities/chatter-message-details.entity';\n\n@Injectable()\nexport class ChatterMessageDetailsService extends CRUDService<ChatterMessageDetails>{\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(ChatterMessageDetails, 'default')\n readonly repo: Repository<ChatterMessageDetails>,\n readonly moduleRef: ModuleRef,\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'chatterMessageDetails', 'solid-core', moduleRef);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-message.service.js","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatter-message.service.js","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository, EntityMetadata } from 'typeorm';\n\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from 'src/services/file.service';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { PostChatterMessageDto } from 'src/dtos/post-chatter-message.dto';\nimport { SolidRequestContextDto } from 'src/dtos/solid-request-context.dto';\nimport { ChatterMessage } from '../entities/chatter-message.entity';\nimport { getMediaStorageProvider } from './mediaStorageProviders';\nimport { MediaStorageProviderType } from '../dtos/create-media-storage-provider-metadata.dto';\nimport { ChatterMessageDetails } from '../entities/chatter-message-details.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { RequestContextService } from './request-context.service';\n@Injectable()\nexport class ChatterMessageService extends CRUDService<ChatterMessage>{\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(ChatterMessage, 'default')\n readonly repo: Repository<ChatterMessage>,\n @InjectRepository(ChatterMessageDetails, 'default')\n readonly chatterMessageDetailsRepo: Repository<ChatterMessageDetails>,\n readonly moduleRef: ModuleRef,\n @InjectRepository(ModelMetadata)\n private readonly modelMetadataRepo: Repository<ModelMetadata>,\n readonly requestContextService: RequestContextService\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'chatterMessage', 'solid-core', moduleRef);\n }\n\n async postMessage(postDto: PostChatterMessageDto, files: Express.Multer.File[] = []) {\n const chatterMessage = new ChatterMessage();\n chatterMessage.messageType = 'custom';\n chatterMessage.messageSubType = postDto.messageSubType || 'post_message';\n chatterMessage.messageBody = postDto.messageBody;\n chatterMessage.coModelEntityId = postDto.coModelEntityId;\n chatterMessage.coModelName = postDto.coModelName;\n \n const activeUser = this.requestContextService.getActiveUser();\n\n if (activeUser) {\n const userId = activeUser?.sub;\n chatterMessage.user = { id: userId } as any;\n } else {\n chatterMessage.user = null;\n }\n\n const savedMessage = await this.repo.save(chatterMessage);\n\n if (files && files.length > 0) {\n const model = await this.modelMetadataService.findOneBySingularName('chatterMessage', {\n fields: {\n model: true,\n mediaStorageProvider: true,\n },\n module: true,\n });\n\n const mediaFields = model.fields.filter(field => field.type === 'mediaSingle' || field.type === 'mediaMultiple');\n\n for (const mediaField of mediaFields) {\n const media = files.filter(multerFile => multerFile.fieldname === mediaField.name);\n if (media.length > 0) {\n const storageProviderMetadata = mediaField.mediaStorageProvider;\n const storageProviderType = storageProviderMetadata.type as MediaStorageProviderType;\n const storageProvider = await getMediaStorageProvider(this.moduleRef, storageProviderType);\n await storageProvider.store(media, savedMessage, mediaField);\n }\n }\n }\n\n return savedMessage;\n }\n\n async postAuditMessageOnInsert(entity: any, metadata: EntityMetadata, messageQueue: boolean = false) {\n const model = await this.modelMetadataRepo.findOne({\n where: {\n displayName: metadata.name\n },\n relations: {\n fields: true,\n module: true\n }\n });\n\n if (!model || !model.enableAuditTracking) {\n return;\n }\n\n const auditFields = model.fields.filter(field => \n field.enableAuditTracking && \n !['mediaSingle', 'mediaMultiple', 'computed', 'richText', 'json'].includes(field.type) &&\n !(field.type === 'relation' && field.relationType === 'one-to-many')\n );\n\n const activeUser = this.requestContextService.getActiveUser();\n\n const chatterMessage = new ChatterMessage();\n chatterMessage.messageType = 'audit';\n chatterMessage.messageSubType = 'insert';\n chatterMessage.coModelEntityId = entity.id;\n chatterMessage.coModelName = model.singularName;\n chatterMessage.messageBody = `New ${model.displayName} created`;\n \n if (activeUser) {\n const userId = activeUser?.sub;\n chatterMessage.user = { id: userId } as any;\n } else {\n chatterMessage.user = null;\n }\n\n const savedMessage = await this.repo.save(chatterMessage);\n\n for (const field of auditFields) {\n const fieldValue = entity[field.name];\n if (fieldValue !== undefined && fieldValue !== null) {\n const messageDetail = new ChatterMessageDetails();\n messageDetail.chatterMessage = savedMessage;\n messageDetail.fieldName = field.name;\n messageDetail.oldValue = null;\n messageDetail.oldValueDisplay = null;\n messageDetail.newValue = this.formatFieldValue(field, fieldValue);\n messageDetail.newValueDisplay = this.formatFieldValueDisplay(field, fieldValue);\n await this.chatterMessageDetailsRepo.save(messageDetail);\n }\n }\n}\n\nasync postAuditMessageOnUpdate(entity: any, metadata: EntityMetadata, databaseEntity: any, messageQueue: boolean = false) {\n const model = await this.modelMetadataRepo.findOne({\n where: {\n displayName: metadata.name\n },\n relations: {\n fields: true,\n module: true\n }\n });\n\n if (!model || !model.enableAuditTracking) {\n return;\n }\n\n const auditFields = model.fields.filter(field => \n field.enableAuditTracking && \n !['mediaSingle', 'mediaMultiple', 'computed', 'richText', 'json'].includes(field.type) &&\n !(field.type === 'relation' && field.relationType === 'one-to-many')\n );\n\n const relationFields = auditFields.filter(field => \n field.type === 'relation'\n );\n if (relationFields.length > 0) {\n const populatedEntity = await this.entityManager.findOne(metadata.target, {\n where: { id: databaseEntity.id },\n relations: relationFields.map(field => field.name)\n });\n if (populatedEntity) {\n databaseEntity = populatedEntity;\n }\n }\n const changedFields = auditFields.filter(field => {\n const newValue = entity[field.name];\n const oldValue = databaseEntity[field.name];\n return this.hasValueChanged(newValue, oldValue);\n });\n \n if (changedFields.length === 0) {\n return;\n }\n const activeUser = this.requestContextService.getActiveUser();\n\n const chatterMessage = new ChatterMessage();\n chatterMessage.messageType = 'audit';\n chatterMessage.messageSubType = 'update';\n chatterMessage.coModelEntityId = entity.id;\n chatterMessage.coModelName = model.singularName;\n chatterMessage.messageBody = `${model.displayName} updated`;\n \n if (activeUser) {\n const userId = activeUser?.sub;\n chatterMessage.user = { id: userId } as any;\n } else {\n chatterMessage.user = null;\n }\n\n const savedMessage = await this.repo.save(chatterMessage);\n\n for (const field of changedFields) {\n const messageDetail = new ChatterMessageDetails();\n messageDetail.chatterMessage = savedMessage;\n messageDetail.fieldName = field.name;\n messageDetail.oldValue = this.formatFieldValue(field, databaseEntity[field.name]);\n messageDetail.newValue = this.formatFieldValue(field, entity[field.name]);\n messageDetail.oldValueDisplay = this.formatFieldValueDisplay(field, databaseEntity[field.name]);\n messageDetail.newValueDisplay = this.formatFieldValueDisplay(field, entity[field.name]);\n await this.chatterMessageDetailsRepo.save(messageDetail);\n }\n}\n\nasync postAuditMessageOnDelete(entity: any, metadata: EntityMetadata, databaseEntity: any, messageQueue: boolean = false) {\n const model = await this.modelMetadataRepo.findOne({\n where: {\n displayName: metadata.name\n },\n relations: {\n fields: true,\n module: true\n }\n });\n\n if (!model || !model.enableAuditTracking) {\n return;\n }\n\n const chatterMessage = new ChatterMessage();\n chatterMessage.messageType = 'audit';\n chatterMessage.messageSubType = 'delete';\n chatterMessage.coModelEntityId = databaseEntity.id;\n chatterMessage.coModelName = model.singularName;\n chatterMessage.messageBody = `${model.displayName} deleted`;\n \n const activeUser = this.requestContextService.getActiveUser();\n\n if (activeUser) {\n const userId = activeUser?.sub;\n chatterMessage.user = { id: userId } as any;\n } else {\n chatterMessage.user = null;\n }\n\n await this.repo.save(chatterMessage);\n}\n\nprivate formatFieldValue(field: any, value: any): string {\n if (value === null || value === undefined) {\n return '';\n }\n\n if (field.type === 'selectionStatic' || field.type === 'selectionDynamic') {\n return `${value}`;\n }\n\n if (field.type === 'relation') {\n if (field.relationType === \"many-to-one\") {\n return value.id;\n }\n if (field.relationType === 'manyToMany') {\n return value.map(item => item.id).join(', ');\n }\n }\n\n\n return value.toString();\n}\n\nprivate formatFieldValueDisplay(field: any, value: any): string {\n if (value === null || value === undefined) {\n return '';\n }\n\n if (field.type === 'selectionStatic' || field.type === 'selectionDynamic') {\n return `${value}`;\n }\n\n if (field.type === 'relation') {\n if (field.relationType === \"many-to-one\") {\n return value.name;\n }\n if (field.relationType === 'many-toMany') {\n return value.map(item => item.name).join(', ');\n }\n }\n\n\n return value.toString();\n}\n\nprivate hasValueChanged(newValue: any, oldValue: any): boolean {\n if (newValue === oldValue) {\n return false;\n }\n\n if (newValue === null && oldValue === null) {\n return false;\n }\n\n if (newValue === undefined && oldValue === undefined) {\n return false;\n }\n\n if (Array.isArray(newValue) && Array.isArray(oldValue)) {\n return JSON.stringify(newValue) !== JSON.stringify(oldValue);\n }\n\n return true;\n}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"concat-computed-field-provider.service.js","sourceRoot":"","sources":["../../../src/services/computed-fields/concat-computed-field-provider.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,2CAA4C;AAC5C,0GAAyF;AAEzF,mCAAmC;AAI5B,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAEpC,IAAI;QACA,OAAO,6BAA6B,CAAC;IACzC,CAAC;IAED,IAAI;QACA,OAAO,iHAAiH,CAAC;IAC7H,CAAC;IAED,SAAS;QACL,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAQ,EAAE,IAAS;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAGxB,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACrB,kBAAkB,IAAI,SAAS,CAAC;YACpC,CAAC;YACD,kBAAkB,IAAI,QAAQ,CAAC;QACnC,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CAEJ,CAAA;AAzCY,kEAA2B;sCAA3B,2BAA2B;IAFvC,IAAA,yDAAqB,GAAE;IACvB,IAAA,mBAAU,GAAE;GACA,2BAA2B,CAyCvC"}
1
+ {"version":3,"file":"concat-computed-field-provider.service.js","sourceRoot":"","sources":["../../../src/services/computed-fields/concat-computed-field-provider.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,2CAA4C;AAC5C,0GAAyF;AAEzF,mCAAmC;AAI5B,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAEpC,IAAI;QACA,OAAO,6BAA6B,CAAC;IACzC,CAAC;IAED,IAAI;QACA,OAAO,iHAAiH,CAAC;IAC7H,CAAC;IAED,SAAS;QACL,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAQ,EAAE,IAAS;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAGxB,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACrB,kBAAkB,IAAI,SAAS,CAAC;YACpC,CAAC;YACD,kBAAkB,IAAI,QAAQ,CAAC;QACnC,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CAEJ,CAAA;AAzCY,kEAA2B;sCAA3B,2BAA2B;IAFvC,IAAA,yDAAqB,GAAE;IACvB,IAAA,mBAAU,GAAE;GACA,2BAA2B,CAyCvC","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\nimport { Injectable } from \"@nestjs/common\";\nimport { ComputedFieldProvider } from \"src/decorators/computed-field-provider.decorator\";\nimport { IComputedFieldProvider } from \"../../interfaces\";\nimport { kebabCase } from \"lodash\";\n\n@ComputedFieldProvider()\n@Injectable()\nexport class ConcatComputedFieldProvider implements IComputedFieldProvider<any> {\n\n name(): string {\n return \"ConcatComputedFieldProvider\";\n }\n\n help(): string {\n return \"Computed field provider used to create fields whose value is a concatenation of other fields in the same model.\";\n }\n\n valueType(): string {\n return \"string\";\n }\n\n async computeValue(dto: any, ctxt: any): Promise<string> {\n const separator = ctxt.separator;\n const fields = ctxt.fields;\n const slugify = ctxt.slugify || false;\n\n if (!Array.isArray(fields) || fields?.length === 0) {\n return '';\n }\n let concatenatedString = '';\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i];\n\n // if slugify then each field val to be converted to a slug before concatenation\n let fieldVal = dto[field];\n if (slugify) {\n fieldVal = kebabCase(fieldVal);\n }\n\n if (concatenatedString) {\n concatenatedString += separator;\n }\n concatenatedString += fieldVal;\n }\n\n return concatenatedString;\n }\n\n}"]}
@@ -0,0 +1,14 @@
1
+ import { CommonEntity } from "src/entities/common.entity";
2
+ import { ComputedFieldMetadata } from "src/helpers/solid-registry";
3
+ import { IEntityPreComputeFieldProvider } from "src/interfaces";
4
+ export interface ConcatComputedFieldContext {
5
+ separator: string;
6
+ fields: string[];
7
+ slugify?: boolean;
8
+ }
9
+ export declare class ConcatEntityComputedFieldProvider<T extends CommonEntity> implements IEntityPreComputeFieldProvider<T, ConcatComputedFieldContext, string> {
10
+ name(): string;
11
+ help(): string;
12
+ preComputeValue(entity: T, computedFieldMetadata: ComputedFieldMetadata<ConcatComputedFieldContext>): Promise<string>;
13
+ }
14
+ //# sourceMappingURL=concat-entity-computed-field-provider.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concat-entity-computed-field-provider.service.d.ts","sourceRoot":"","sources":["../../../../src/services/computed-fields/entity/concat-entity-computed-field-provider.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAGhE,MAAM,WAAW,0BAA0B;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAEa,iCAAiC,CAAC,CAAC,SAAS,YAAY,CAAE,YAAW,8BAA8B,CAAC,CAAC,EAAE,0BAA0B,EAAE,MAAM,CAAC;IAEnJ,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAIR,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAyB9H"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ConcatEntityComputedFieldProvider = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const lodash_1 = require("lodash");
12
+ const computed_field_provider_decorator_1 = require("../../../decorators/computed-field-provider.decorator");
13
+ let ConcatEntityComputedFieldProvider = class ConcatEntityComputedFieldProvider {
14
+ name() {
15
+ return "ConcatEntityComputedFieldProvider";
16
+ }
17
+ help() {
18
+ return "Computed field provider used to create fields whose value is a concatenation of other fields in the same model.";
19
+ }
20
+ async preComputeValue(entity, computedFieldMetadata) {
21
+ const { computedFieldValueProviderCtxt } = computedFieldMetadata;
22
+ const separator = computedFieldValueProviderCtxt.separator || ' ';
23
+ const fields = computedFieldValueProviderCtxt.fields || [];
24
+ const slugify = computedFieldValueProviderCtxt.slugify || false;
25
+ let concatenatedString = '';
26
+ for (let i = 0; i < fields.length; i++) {
27
+ const field = fields[i];
28
+ let fieldVal = entity[field];
29
+ if (slugify && typeof fieldVal === 'string') {
30
+ fieldVal = (0, lodash_1.kebabCase)(fieldVal);
31
+ }
32
+ if (concatenatedString) {
33
+ concatenatedString += separator;
34
+ }
35
+ concatenatedString += fieldVal;
36
+ }
37
+ return concatenatedString;
38
+ }
39
+ };
40
+ exports.ConcatEntityComputedFieldProvider = ConcatEntityComputedFieldProvider;
41
+ exports.ConcatEntityComputedFieldProvider = ConcatEntityComputedFieldProvider = __decorate([
42
+ (0, computed_field_provider_decorator_1.ComputedFieldProvider)(),
43
+ (0, common_1.Injectable)()
44
+ ], ConcatEntityComputedFieldProvider);
45
+ //# sourceMappingURL=concat-entity-computed-field-provider.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concat-entity-computed-field-provider.service.js","sourceRoot":"","sources":["../../../../src/services/computed-fields/entity/concat-entity-computed-field-provider.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,mCAAmC;AACnC,6GAAyF;AAclF,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAE1C,IAAI;QACA,OAAO,mCAAmC,CAAC;IAC/C,CAAC;IAED,IAAI;QACA,OAAO,iHAAiH,CAAC;IAC7H,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAS,EAAE,qBAAwE;QACrG,MAAM,EAAE,8BAA8B,EAAE,GAAG,qBAAqB,CAAC;QACjE,MAAM,SAAS,GAAG,8BAA8B,CAAC,SAAS,IAAI,GAAG,CAAC;QAClE,MAAM,MAAM,GAAG,8BAA8B,CAAC,MAAM,IAAI,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,8BAA8B,CAAC,OAAO,IAAI,KAAK,CAAC;QAEhE,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAGxB,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,OAAO,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1C,QAAQ,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACrB,kBAAkB,IAAI,SAAS,CAAC;YACpC,CAAC;YACD,kBAAkB,IAAI,QAAQ,CAAC;QACnC,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CAEJ,CAAA;AAnCY,8EAAiC;4CAAjC,iCAAiC;IAF7C,IAAA,yDAAqB,GAAE;IACvB,IAAA,mBAAU,GAAE;GACA,iCAAiC,CAmC7C","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { kebabCase } from \"lodash\";\nimport { ComputedFieldProvider } from \"src/decorators/computed-field-provider.decorator\";\nimport { CommonEntity } from \"src/entities/common.entity\";\nimport { ComputedFieldMetadata } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\n\n\nexport interface ConcatComputedFieldContext {\n separator: string; // The separator to use between concatenated values\n fields: string[]; // The fields to concatenate\n slugify?: boolean; // Optional: if true, slugify each field value before concatenation\n}\n\n@ComputedFieldProvider()\n@Injectable()\nexport class ConcatEntityComputedFieldProvider<T extends CommonEntity> implements IEntityPreComputeFieldProvider<T, ConcatComputedFieldContext, string> {\n\n name(): string {\n return \"ConcatEntityComputedFieldProvider\";\n }\n\n help(): string {\n return \"Computed field provider used to create fields whose value is a concatenation of other fields in the same model.\";\n }\n\n async preComputeValue(entity: T, computedFieldMetadata: ComputedFieldMetadata<ConcatComputedFieldContext>): Promise<string> {\n const { computedFieldValueProviderCtxt } = computedFieldMetadata;\n const separator = computedFieldValueProviderCtxt.separator || ' '; // Default to space if no separator is provided\n const fields = computedFieldValueProviderCtxt.fields || [];\n const slugify = computedFieldValueProviderCtxt.slugify || false;\n\n let concatenatedString = '';\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i];\n\n // if slugify then each field val to be converted to a slug before concatenation\n let fieldVal = entity[field];\n if (slugify && typeof fieldVal === 'string') {\n fieldVal = kebabCase(fieldVal);\n }\n\n if (concatenatedString) {\n concatenatedString += separator;\n }\n concatenatedString += fieldVal;\n }\n\n return concatenatedString;\n }\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-external-id-computed-field-provider.service.js","sourceRoot":"","sources":["../../../src/services/computed-fields/uuid-external-id-computed-field-provider.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAAoC;AACpC,2CAA4C;AAC5C,0GAAyF;AAMlF,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAE5C,IAAI;QACA,OAAO,qCAAqC,CAAC;IACjD,CAAC;IAED,IAAI;QACA,OAAO,0EAA0E,CAAC;IACtF,CAAC;IAED,SAAS;QACL,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAQ,EAAE,IAAS;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,OAAO,GAAG,MAAM,IAAI,IAAA,SAAM,GAAE,EAAE,CAAC;IACnC,CAAC;CAEJ,CAAA;AAnBY,kFAAmC;8CAAnC,mCAAmC;IAF/C,IAAA,yDAAqB,GAAE;IACvB,IAAA,mBAAU,GAAE;GACA,mCAAmC,CAmB/C"}
1
+ {"version":3,"file":"uuid-external-id-computed-field-provider.service.js","sourceRoot":"","sources":["../../../src/services/computed-fields/uuid-external-id-computed-field-provider.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAAoC;AACpC,2CAA4C;AAC5C,0GAAyF;AAMlF,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAE5C,IAAI;QACA,OAAO,qCAAqC,CAAC;IACjD,CAAC;IAED,IAAI;QACA,OAAO,0EAA0E,CAAC;IACtF,CAAC;IAED,SAAS;QACL,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAQ,EAAE,IAAS;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,OAAO,GAAG,MAAM,IAAI,IAAA,SAAM,GAAE,EAAE,CAAC;IACnC,CAAC;CAEJ,CAAA;AAnBY,kFAAmC;8CAAnC,mCAAmC;IAF/C,IAAA,yDAAqB,GAAE;IACvB,IAAA,mBAAU,GAAE;GACA,mCAAmC,CAmB/C","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\nimport { Injectable } from \"@nestjs/common\";\nimport { ComputedFieldProvider } from \"src/decorators/computed-field-provider.decorator\";\n\nimport { IComputedFieldProvider } from \"../../interfaces\";\n\n@ComputedFieldProvider()\n@Injectable()\nexport class UuidExternalIdComputedFieldProvider implements IComputedFieldProvider<any> {\n\n name(): string {\n return \"UuidExternalIdComputedFieldProvider\";\n }\n\n help(): string {\n return \"Computed field provider used to compute the external id field as a UUID.\";\n }\n\n valueType(): string {\n return \"string\";\n }\n\n async computeValue(dto: any, ctxt: any): Promise<string> {\n const prefix = ctxt.prefix;\n return `${prefix}-${uuidv4()}`;\n }\n\n}"]}