@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
@@ -1 +1 @@
1
- {"version":3,"file":"import-transaction.service.js","sourceRoot":"","sources":["../../src/services/import-transaction.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-transaction.service.js","sourceRoot":"","sources":["../../src/services/import-transaction.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, Injectable, Logger } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { classify } from '@angular-devkit/core/src/utils/strings';\nimport { HttpService } from '@nestjs/axios';\nimport { RelationFieldsCommand, RelationType, SolidFieldType } from 'src/dtos/create-field-metadata.dto';\nimport { ImportInstructionsResponseDto, StandardImportInstructionsResponseDto } from 'src/dtos/import-instructions.dto';\nimport { FieldMetadata } from 'src/entities/field-metadata.entity';\nimport { ImportTransactionErrorLog } from 'src/entities/import-transaction-error-log.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { MediaWithFullUrl } from 'src/interfaces';\nimport { Readable } from 'stream';\nimport { v4 as uuidv4 } from 'uuid';\nimport { ImportTransaction } from '../entities/import-transaction.entity';\nimport { CsvService } from './csv.service';\nimport { ExcelService } from './excel.service';\nimport { SolidIntrospectService } from './solid-introspect.service';\n\ninterface ImportTemplateFileInfo {\n stream: NodeJS.ReadableStream;\n fileName: string;\n mimeType: string;\n}\n\nexport enum ImportFormat {\n CSV = 'csv',\n EXCEL = 'excel',\n}\n\nexport enum ImportMimeTypes {\n CSV = 'text/csv',\n EXCEL = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n}\nexport interface ImportMappingInfo {\n sampleImportedRecordInfo: SampleImportedRecordInfo[];\n importableFields: ImportableFieldInfo[];\n}\nexport interface SampleImportedRecordInfo {\n cellHeader: string; // The header of the cell in the import file\n cellValue: string; // The value of the cell in the import file\n defaultMappedFieldName: string; // The default mapped field name in the model metadata\n}\nexport interface ImportableFieldInfo {\n name: string;\n displayName: string;\n}\n\nexport interface ImportPaginatedReadResult {\n headers: string[]; // Headers of the CSV file\n data: Record<string, any>[]; // Data records in the current page\n}\n\ninterface ImportMapping {\n header: string; // The name of the field in the import file\n fieldName: string; // The name of the field in the model metadata to which the imported field is mapped\n}\n\nexport enum ImportTransactionStatus {\n draft = 'draft',\n mapping_created = 'mapping_created',\n import_started = 'import_started',\n import_succeeded = 'import_succeeded',\n import_failed = 'import_failed',\n}\n\nexport interface ImportSyncResult {\n status: string; // The status of the import transaction\n importedIds: Array<number>; // The IDs of the records created during the import\n importedCount: number; // The number of records created during the import\n failedCount: number; // The number of records that failed to import\n}\ninterface ImportRecordsResult {\n ids: Array<number>; // The IDs of the records created during the import\n errorLogIds: Array<number>; // The IDs of the error log entries created during the import\n}\n\n@Injectable()\nexport class ImportTransactionService extends CRUDService<ImportTransaction> {\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(ImportTransaction, 'default')\n readonly repo: Repository<ImportTransaction>,\n readonly moduleRef: ModuleRef,\n readonly excelService: ExcelService,\n readonly csvService: CsvService,\n readonly httpService: HttpService,\n readonly introspectService: SolidIntrospectService,\n // readonly fieldMetadataService: FieldMetadataService,\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'importTransaction', 'solid-core', moduleRef);\n }\n\n private readonly logger = new Logger(ImportTransactionService.name);\n\n /**\n * This method is used to return a csv / excel template for the import transaction\n * It will contain the display names of the fields in the header row\n * @param modelMetadataId \n */\n async getImportTemplate(modelMetadataId: number, format: ImportFormat = ImportFormat.CSV): Promise<ImportTemplateFileInfo> {\n // Load the model metadata for the given ID\n const modelMetadata = await this.modelMetadataService.findOne(modelMetadataId, {\n populate: ['fields'],\n });\n if (!modelMetadata) {\n throw new Error(`Model metadata with ID ${modelMetadataId} not found.`);\n }\n // Create a header row with the display names of the fields, excluding the media fields,computed fields\n const headers = this.fieldsAllowedForImport(modelMetadata.fields)\n .map(field => field.displayName);\n\n // Depending on the format, generate the template\n if (format === ImportFormat.CSV) {\n const stream = await this.csvService.createCsvStream(null, 0, headers); // Create a CSV stream with the header row\n const fileName = `${modelMetadata.singularName}-import-template.csv`;\n const mimeType = 'text/csv';\n return {\n stream,\n fileName,\n mimeType,\n };\n } else if (format === ImportFormat.EXCEL) {\n const stream = await this.excelService.createExcelStream(null, 0, headers); // Create an Excel stream with the header row\n const fileName = `${modelMetadata.singularName}-import-template.xlsx`;\n // Set the MIME type for Excel files\n const mimeType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n return {\n stream,\n fileName,\n mimeType,\n };\n } else {\n throw new Error(`Unsupported import format: ${format}`);\n }\n\n }\n\n async getImportInstructions(modelMetadataId: number): Promise<ImportInstructionsResponseDto> {\n // Load the model metadata for the given ID\n const modelMetadata = await this.modelMetadataService.findOne(modelMetadataId, {\n populate: ['fields'],\n });\n if (!modelMetadata) {\n throw new Error(`Model metadata with ID ${modelMetadataId} not found.`);\n }\n\n // Create the standard import instructions\n const standardInstructions: StandardImportInstructionsResponseDto = {\n requiredFields: [],\n dateFields: [],\n dateTimeFields: [],\n numberFields: [],\n emailFields: [],\n regexFields: [],\n jsonFields: [],\n booleanFields: [],\n };\n\n // Iterate through the fields and populate the standard instructions\n for (const field of modelMetadata.fields) {\n if (field.isSystem) continue; // Skip system fields\n if (field.required) {\n standardInstructions.requiredFields.push(field.displayName);\n }\n if (field.type === SolidFieldType.date) {\n standardInstructions.dateFields.push(field.displayName);\n }\n if (field.type === SolidFieldType.datetime) {\n standardInstructions.dateTimeFields.push(field.displayName);\n }\n if ([SolidFieldType.bigint, SolidFieldType.int, SolidFieldType.decimal].includes(field.type as SolidFieldType)) {\n standardInstructions.numberFields.push(field.displayName);\n }\n if (field.type === SolidFieldType.email) {\n standardInstructions.emailFields.push(field.displayName);\n }\n if (field.regexPattern) {\n standardInstructions.regexFields.push({\n fieldName: field.displayName,\n regexPattern: field.regexPattern,\n });\n }\n if (field.type === SolidFieldType.json) {\n standardInstructions.jsonFields.push(field.displayName);\n }\n if (field.type === SolidFieldType.boolean) {\n standardInstructions.booleanFields.push(field.displayName);\n }\n }\n\n // Create the custom instructions\n const customInstructions: string[] = [];\n\n return {\n standard: standardInstructions,\n custom: customInstructions,\n };\n }\n\n async getImportMappingInfo(importTransactionId: number): Promise<ImportMappingInfo> {\n // Load the import transaction for the given ID\n const importTransaction = await this.loadImportTransaction(importTransactionId);\n\n // Get all the importable fields from the model metadata\n const importableFields: ImportableFieldInfo[] = this.fieldsAllowedForImport(importTransaction.modelMetadata.fields).map(field => ({\n name: field.name,\n displayName: field.displayName,\n required: field.required,\n }));\n\n // Get the import file media object from the import transaction\n const importFileMediaObject = this.getImportFileObject(importTransaction);\n\n // Get the import file stream for the import transaction\n const importFileStream = await this.getImportFileStream(importFileMediaObject);\n\n // Get a sample of records from the import file\n const sampleRecord = await this.getFileRecordsSample(importFileStream, importFileMediaObject.mimeType);\n\n // Convert sampleRecord to the format required for SampleImportedRecordInfo\n const wrappedRecords: SampleImportedRecordInfo[] = sampleRecord.data.map((record: Record<string, any>) => {\n return Object.entries(record).map(([key, value]) => ({\n cellHeader: key,\n cellValue: value,\n defaultMappedFieldName: importableFields.find(field => field.displayName === key)?.name || '',\n }));\n }).flat();\n\n // for await (const page of this.csvService.readCsvInPagesFromStream(importFileStream)) {\n // // await dbService.bulkInsert(page);\n // }\n\n return {\n sampleImportedRecordInfo: wrappedRecords, // This will hold the sample data from the file\n importableFields: importableFields, // This will hold the fields that can be imported\n };\n }\n\n async startImportSync(importTransactionId: number): Promise<ImportSyncResult> {\n // Load the import transaction for the given ID\n const importTransaction = await this.loadImportTransaction(importTransactionId);\n\n // Get the import file media object from the import transaction\n const importFileMediaObject = this.getImportFileObject(importTransaction);\n\n // Get the import file stream for the import transaction\n const importFileStream = await this.getImportFileStream(importFileMediaObject);\n\n const { ids, errorLogIds } = await this.importFromFileToDB(\n importTransaction,\n importFileStream,\n importFileMediaObject.mimeType,\n );\n\n // Update the import transaction status to 'completed'\n (errorLogIds.length > 0) ? importTransaction.status = ImportTransactionStatus.import_failed : importTransaction.status = ImportTransactionStatus.import_succeeded; //FIXME: We can probably have import_partially_failed status to differentiate\n // Save the import transaction\n await this.repo.save(importTransaction);\n return {\n status: importTransaction.status,\n importedIds: ids, // The IDs of the records created during the import\n importedCount: ids.length, // The number of records created during the import\n failedCount: errorLogIds.length, // The number of records that failed to import\n };\n }\n\n startImportAsync(importTransactionId: number): Promise<void> {\n throw new Error('Method not implemented.');\n }\n\n async exportFailedImportedImports(importTransactionId: number) {\n // Get the 1st error log entry to determine the headers for the export file\n const firstErrorLogEntry = await this.entityManager.getRepository(ImportTransactionErrorLog).findOne({\n where: {\n importTransaction: { id: importTransactionId },\n },\n });\n\n if (!firstErrorLogEntry) {\n throw new BadRequestException(`No error log entries found for import transaction ID ${importTransactionId}.`);\n }\n\n // Create the headers for the export file\n const headers = [\n ...Object.keys(firstErrorLogEntry.rowData ? JSON.parse(firstErrorLogEntry.rowData) : {}), // Include all keys from the rowData JSON\n 'Error', // Error message for the failed record\n ];\n\n\n // Depending upon the format of the import tranaction file, create a readable stream of the error log entries\n const importTransaction = await this.loadImportTransaction(importTransactionId);\n const importFileMediaObject = this.getImportFileObject(importTransaction);\n const mimeType = importFileMediaObject.mimeType;\n const templateFormat = mimeType === ImportMimeTypes.CSV ? \"csv\" : \"excel\";\n const dataRecordsFunc = async (chunkIndex: number, chunkSize: number): Promise<any[]> => {\n // Get the error log entries for the import transaction\n const errorLogEntries = await this.entityManager.getRepository(ImportTransactionErrorLog).find({\n where: {\n importTransaction: { id: importTransactionId },\n },\n skip: chunkIndex * chunkSize,\n take: chunkSize,\n });\n\n if (!errorLogEntries || errorLogEntries.length === 0) {\n return []; // Return an empty array if no error log entries found\n }\n\n // Read the row data json from the error log entry, parse it and write it as a record to the stream\n return errorLogEntries.map(entry => {\n const rowData = entry.rowData ? JSON.parse(entry.rowData) : {};\n return {\n ...rowData, // Spread the row data into the record\n Error: entry.errorMessage,\n };\n });\n };\n\n // Get the export stream for the failed records\n const exportStream = await this.getFailedRecordsStream(templateFormat, headers, dataRecordsFunc);\n if (!exportStream) {\n throw new BadRequestException(`Failed to create export stream for import transaction ID ${importTransactionId}.`);\n }\n // Return the export stream\n return {\n stream: exportStream,\n fileName: `${importTransaction.modelMetadata.singularName}-failed-imports.${templateFormat}`,\n mimeType: templateFormat === \"excel\" ? ImportMimeTypes.EXCEL : ImportMimeTypes.CSV,\n };\n\n }\n\n private async getFailedRecordsStream(templateFormat: string, headers: string[], dataRecordsFunc: (chunkIndex: number, chunkSize: number) => Promise<any[]>) {\n let exportStream = null;\n switch (templateFormat) {\n case \"excel\":\n exportStream = await this.excelService.createExcelStream(dataRecordsFunc, 100, headers);\n break;\n case \"csv\":\n exportStream = await this.csvService.createCsvStream(dataRecordsFunc, 100, headers);\n break;\n default:\n throw new Error('Invalid export format');\n }\n return exportStream;\n }\n\n\n private async loadImportTransaction(importTransactionId: number) {\n const importTransaction = await this.findOne(importTransactionId, {\n populate: ['modelMetadata', 'modelMetadata.fields'],\n populateMedia: ['fileLocation'],\n });\n if (!importTransaction) {\n throw new Error(`Import transaction with ID ${importTransactionId} not found.`);\n }\n return importTransaction;\n }\n\n private fieldsAllowedForImport(fields: FieldMetadata[]): FieldMetadata[] {\n // Filter out fields that are not allowed for import\n return fields.filter(field =>\n field.type !== SolidFieldType.mediaMultiple && // Exclude media multiple fields\n field.type !== SolidFieldType.mediaSingle &&\n field.type !== SolidFieldType.computed && // Exclude computed fields\n field.type !== SolidFieldType.password &&\n field.type !== SolidFieldType.richText &&\n field.type !== SolidFieldType.uuid &&\n field.isSystem !== true // Exclude system fields\n );\n }\n\n private async getFileRecordsSample(importFileStream: Readable, mimeType: string): Promise<ImportPaginatedReadResult> {\n // Depending upon the mime type of the file, read the file in pages\n // For CSV files, use the csvService to read the file in pages\n // For Excel files, use the excelService to read the file in pages\n if (mimeType === 'text/csv') {\n const generator = this.csvService.readCsvInPagesFromStream(importFileStream, { pageSize: 1 });\n const firstRecord = await generator.next(); // Get the first record to extract headers and sample data\n return firstRecord.value;\n } else if (mimeType === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {\n const generator = this.excelService.readExcelInPagesFromStream(importFileStream, { pageSize: 1 });\n const firstRecord = await generator.next(); // Get the first record to extract headers and sample data\n return firstRecord.value;\n }\n else { // If the file is neither CSV nor Excel, throw an error\n throw new Error(`Unsupported file type: ${mimeType}`);\n }\n }\n\n private getImportFileObject(importTransaction: ImportTransaction): MediaWithFullUrl {\n const importFileMediaObject = importTransaction['_media']['fileLocation'][0] as MediaWithFullUrl; // Since there can be only one fileLocation, we can safely access the first element\n if (!importFileMediaObject) {\n throw new Error(`Import file for transaction ID ${importTransaction.id} not found.`);\n }\n return importFileMediaObject;\n }\n\n private async getImportFileStream(importFileMediaObject: MediaWithFullUrl): Promise<Readable> {\n const fileUrl = importFileMediaObject['_full_url'];\n const mimeType = importFileMediaObject['mimeType'];\n if (!fileUrl) {\n throw new Error(`File URL ${fileUrl} not found.`);\n }\n // From the file URL, convert the file URL to a readable stream using nestjs http service and axios\n const fileUrlResponse = await this.httpService.axiosRef.get(fileUrl, {\n responseType: 'stream',\n });\n\n if (!fileUrlResponse || !fileUrlResponse.data) {\n throw new Error(`Failed to read file from URL: ${fileUrl}`);\n }\n // fileUrlResponse.data is a Node.js Readable stream\n return fileUrlResponse.data;\n }\n\n private async importFromFileToDB(\n importTransaction: ImportTransaction,\n importFileStream: Readable,\n mimeType: string,\n ): Promise<ImportRecordsResult> {\n if (!importTransaction.modelMetadata) {\n throw new Error(`Model metadata for import transaction ID ${importTransaction.id} not found.`);\n }\n\n const createdRecordIds = [];\n const createdErrorLogIds = [];\n\n // Get the model service for the model metadata name\n const modelService = this.getModelService(importTransaction.modelMetadata.singularName);\n\n // Depending upon the mime type of the file, read the file in pages and insert the records into the database\n if (mimeType === ImportMimeTypes.CSV) {\n for await (const page of this.csvService.readCsvInPagesFromStream(importFileStream)) {\n const { ids, errorLogIds } = await this.importRecords(page, importTransaction, modelService);\n createdRecordIds.push(...ids);\n createdErrorLogIds.push(...errorLogIds);\n }\n }\n else if (mimeType === ImportMimeTypes.EXCEL) {\n for await (const page of this.excelService.readExcelInPagesFromStream(importFileStream)) {\n const { ids, errorLogIds } = await this.importRecords(page, importTransaction, modelService);\n createdRecordIds.push(...ids);\n createdErrorLogIds.push(...errorLogIds);\n }\n } else { // If the file is neither CSV nor Excel, throw an error\n throw new Error(`Unsupported file type: ${mimeType}`);\n }\n\n return {\n ids: createdRecordIds, // Return the IDs of the created records\n errorLogIds: createdErrorLogIds, // Return the IDs of the error log entries created during the import\n }\n }\n\n private async importRecords(page: ImportPaginatedReadResult, importTransaction: ImportTransaction, modelService: CRUDService<any>): Promise<ImportRecordsResult> {\n if (!importTransaction.modelMetadata || !importTransaction.modelMetadata.fields) {\n throw new Error(`Model metadata with fields for import transaction ID ${importTransaction.id} not found.`);\n }\n\n const ids: Array<number> = [];\n const errorLogIds: Array<number> = [];\n for (const record of page.data) {\n try {\n const createdRecord = await this.insertRecord(record, JSON.parse(importTransaction.mapping) as ImportMapping[], importTransaction.modelMetadata, modelService);\n ids.push(createdRecord.id); // Add the ID of the created record to the ids array\n }\n catch (error) {\n this.logger.debug(`Error inserting record: ${JSON.stringify(record)}. Error: ${error.message}`);\n // Get the Import transaction error log repo\n const errorLog = await this.createErrorLogEntry(importTransaction, record, error);\n errorLogIds.push(errorLog.id); // Add the ID of the error log entry to the errorLogIds array\n }\n }\n return {\n ids: ids, // Return the IDs of the created records\n errorLogIds: errorLogIds, // Return the IDs of the error log entries created during the import\n };\n }\n\n private async createErrorLogEntry(importTransaction: ImportTransaction, record: Record<string, any>, error: any) {\n const importTransactionRepo = this.entityManager.getRepository(ImportTransactionErrorLog);\n // Create a new ImportTransactionErrorLog entry\n const rowNumber = uuidv4(); // Generate a unique row number or use page.rowNumber if available \n\n const errorLogEntry = {\n importTransactionErrorLogId: `${importTransaction.id}-${rowNumber}`, // FIXME pending to retrieve the row number from the page\n rowNumber: 1, // FIXME pending to retrieve the row number from the page\n rowData: JSON.stringify(record), // Store the row data\n importTransaction: importTransaction, // Link to the import transaction\n errorMessage: error.message, // Store the error message\n errorTrace: error.stack || '', // Store the error stack trace if available\n } as ImportTransactionErrorLog;\n\n // Save the error log entry to the database\n const savedEntry = await importTransactionRepo.save(errorLogEntry);\n return savedEntry; // Return the ID of the saved error log entry\n }\n\n //FIXME Currently below method fails if any field in the record is not valid or if the record is not valid. It does not collect the errors for all fields in a record\n private async insertRecord(record: Record<string, any>, mapping: ImportMapping[], modelMetadataWithFields: ModelMetadata, modelService: CRUDService<any>): Promise<any> {\n // Convert the imported record to a DTO\n const dto = await this.convertImportedRecordToDto(record, mapping, modelMetadataWithFields);\n // Use the model service to create the record in the database\n const createdRecord = await modelService.create(dto, [], {}); //FIXME: Need to handle this part alongwith the refactoring of the CRUDService for permissions\n return createdRecord; // Return the created record\n }\n\n private getModelService(modelSingularName: string): CRUDService<any> {\n // Get the model service for the model metadata name\n const modelServiceWrapper = this.introspectService.getProvider(`${classify(modelSingularName)}Service`);\n const modelService = modelServiceWrapper.instance as CRUDService<any>;\n if (!modelService) {\n throw new Error(`Model service for ${modelSingularName} not found.`);\n }\n return modelService;\n }\n\n private async convertImportedRecordToDto(record: Record<string, any>, mapping: ImportMapping[], modelMetadataWithFields: ModelMetadata) {\n // Create a new record object\n const dtoRecord: Record<string, any> = {};\n\n // Iterate through every cell in the record\n // Using the saved mapping, populate the dtoRecord w.r.t the record and fields\n for (const key in record) {\n const mappedField = mapping.find(m => m.header === key);\n if (mappedField) {\n // If the field is found in the mapping, get the field metadata from the model metadata\n const fieldMetadata = modelMetadataWithFields.fields.find(f => f.name === mappedField.fieldName);\n // const userKeyField = modelMetadataWithFields.fields.find(f => f.isUserKey === true); // Assuming userKey is a field in the model metadata\n if (fieldMetadata) {\n // If the field is found in the model metadata, set the value in the dtoRecord\n await this.populateDtoForACell(dtoRecord, fieldMetadata, record, key);\n } else {\n this.logger.warn(`Field ${mappedField.fieldName} not found in model metadata ${modelMetadataWithFields.singularName}`);\n }\n }\n }\n return dtoRecord;\n }\n\n private async populateDtoForACell(dtoRecord: Record<string, any>, fieldMetadata: FieldMetadata, record: Record<string, any>, key: string): Promise<Record<string, any>> {\n const fieldType = fieldMetadata.type;\n // const userKeyFieldName = userKeyField?.name || 'id'; // Default to 'id' if not found\n\n // TODO Move this logic to field crud managers i.e add a parse method to the field crud manager interface\n switch (fieldType) {\n case SolidFieldType.relation: {\n return await this.populateDtoForRelations(fieldMetadata, record, key, dtoRecord);\n }\n case SolidFieldType.date:\n case SolidFieldType.datetime: return this.populateDtoForDate(record, key, fieldMetadata, dtoRecord);\n case SolidFieldType.int:\n case SolidFieldType.bigint:\n case SolidFieldType.decimal:\n return this.populateDtoForNumber(dtoRecord, fieldMetadata, record, key);\n case SolidFieldType.boolean:\n return this.populateDtoForBoolean(dtoRecord, fieldMetadata, record, key);\n default:\n dtoRecord[fieldMetadata.name] = record[key];\n return dtoRecord;\n }\n }\n\n private populateDtoForBoolean(dtoRecord: Record<string, any>, fieldMetadata: FieldMetadata, record: Record<string, any>, key: string) {\n const booleanValue = Boolean(record[key]);\n if (typeof booleanValue !== 'boolean') {\n throw new Error(`Invalid boolean value for cell ${key} with value ${record[key]}`);\n }\n dtoRecord[fieldMetadata.name] = booleanValue;\n return dtoRecord;\n }\n\n private populateDtoForNumber(dtoRecord: Record<string, any>, fieldMetadata: FieldMetadata, record: Record<string, any>, key: string) {\n const numberValue = Number(record[key]);\n if (isNaN(numberValue)) {\n throw new Error(`Invalid number value for cell ${key} with value ${record[key]}`);\n }\n dtoRecord[fieldMetadata.name] = numberValue;\n return dtoRecord;\n }\n\n private populateDtoForDate(record: Record<string, any>, key: string, fieldMetadata: FieldMetadata, dtoRecord: Record<string, any>) {\n {\n const dateValue = new Date(record[key]);\n if (isNaN(dateValue.getTime())) {\n throw new Error(`Invalid date value for cell ${key} with value ${record[key]}`);\n }\n dtoRecord[fieldMetadata.name] = dateValue;\n return dtoRecord;\n }\n }\n\n private async populateDtoForRelations(fieldMetadata: FieldMetadata, record: Record<string, any>, key: string, dtoRecord: Record<string, any>) {\n if (!fieldMetadata.relationCoModelSingularName) {\n throw new Error(`Relation coModelSingularName is not defined for relation field ${fieldMetadata.name}`);\n }\n\n const relatedRecordsIds = await this.getRelatedEntityIdsFromUserKeys(fieldMetadata, record, key);\n if (relatedRecordsIds.length === 0) {\n return dtoRecord; // If no related records found, return the dtoRecord as is\n }\n\n if (fieldMetadata.relationType === RelationType.manyTomany || fieldMetadata.relationType === RelationType.oneToMany) {\n dtoRecord[`${fieldMetadata.name}Ids`] = relatedRecordsIds;\n dtoRecord[`${fieldMetadata.name}Command`] = RelationFieldsCommand.set; // Reset the relation field association with the related records IDs\n }\n else if (fieldMetadata.relationType === RelationType.manyToOne) {\n dtoRecord[`${fieldMetadata.name}Id`] = relatedRecordsIds.pop(); // For many-to-one relations, we need only one ID\n }\n return dtoRecord;\n }\n\n private async getRelatedEntityIdsFromUserKeys(fieldMetadata: FieldMetadata, record: Record<string, any>, key: string): Promise<Array<number>> {\n // For many-to-many or one-to-many relations, we expect the record cell to contains a comma-separated list of userKeys\n const relationUserKeys = record[key] ? String(record[key]).split(',').map((userKey: string) => userKey.trim()) : [];\n if (relationUserKeys.length === 0) return [];\n\n const coModelService = this.getModelService(fieldMetadata.relationCoModelSingularName);\n const coModelWithUserKeyField = await this.modelMetadataService.findOneBySingularName(fieldMetadata.relationCoModelSingularName, ['userKeyField']);\n const coModelUserKeyFieldName = coModelWithUserKeyField?.userKeyField?.name || 'id'; // Default to 'id' if not found\n\n\n // Set the relation basic filter dto filters with the userkeys and call the find method of the model service to get the related records\n const relationFilterDto = {\n filters: {\n [coModelUserKeyFieldName]: {\n $in: relationUserKeys, // Use the userKeyFieldName to filter by userKeys\n },\n },\n };\n\n // From the userKeys, we will get the IDs of the related records using the userKeyFieldName and throw an error if any of the userKeys is not found\n const relatedRecordsResult = await coModelService.find(relationFilterDto);\n if (!relatedRecordsResult || !relatedRecordsResult.records || relatedRecordsResult.records.length === 0 || relatedRecordsResult.records.length !== relationUserKeys.length) {\n throw new Error(`Invalid related records userKey values found for cell ${key} with value ${record[key]}`);\n }\n const relatedRecordsIds = relatedRecordsResult.records.map(record => record.id);\n return relatedRecordsIds;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"list-of-values.service.js","sourceRoot":"","sources":["../../src/services/list-of-values.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AAEpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,6EAAiE;AAG1D,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,0BAAyB;IAChE,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAA8B,EAC9B,SAAoB;QAG7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAbzK,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,CAA0B;QAC9B,cAAS,GAAT,SAAS,CAAW;IAI/B,CAAC;IACD,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,OAAe;QAC3D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACL,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,OAAO;aACd;SACF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,qBAA0B;QAErC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE;gBACL,KAAK,EAAE,qBAAqB,CAAC,KAAK;aACnC;SACF,CAAC,CAAA;QAGF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,sBAAsB,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChD,CAAC;aAEI,CAAC;YACJ,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CAEF,CAAA;AA7CY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,oCAAY,EAAE,SAAS,CAAC,CAAA;qCARX,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAZpB,mBAAmB,CA6C/B"}
1
+ {"version":3,"file":"list-of-values.service.js","sourceRoot":"","sources":["../../src/services/list-of-values.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AAEpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,6EAAiE;AAG1D,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,0BAAyB;IAChE,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAA8B,EAC9B,SAAoB;QAG7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAbzK,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,CAA0B;QAC9B,cAAS,GAAT,SAAS,CAAW;IAI/B,CAAC;IACD,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,OAAe;QAC3D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACL,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,OAAO;aACd;SACF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,qBAA0B;QAErC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE;gBACL,KAAK,EAAE,qBAAqB,CAAC,KAAK;aACnC;SACF,CAAC,CAAA;QAGF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,sBAAsB,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChD,CAAC;aAEI,CAAC;YACJ,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CAEF,CAAA;AA7CY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,oCAAY,EAAE,SAAS,CAAC,CAAA;qCARX,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAZpB,mBAAmB,CA6C/B","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository } 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\n\nimport { ListOfValues } from '../entities/list-of-values.entity';\n\n@Injectable()\nexport class ListOfValuesService extends CRUDService<ListOfValues> {\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(ListOfValues, 'default')\n readonly repo: Repository<ListOfValues>,\n readonly moduleRef: ModuleRef\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'listOfValues', 'solid-core', moduleRef);\n }\n async findOneByValueAndType(lovValue: string, lovType: string) {\n return await this.repo.findOne({\n where: {\n value: lovValue,\n type: lovType,\n },\n });\n }\n async upsert(updateListOfValuesDto: any) {\n // First check if module already exists using name\n const existingListOfValue = await this.repo.findOne({\n where: {\n value: updateListOfValuesDto.value\n }\n })\n\n // if found\n if (existingListOfValue) {\n const updatedListOfValuesDto = { ...existingListOfValue, ...updateListOfValuesDto };\n return this.repo.save(updatedListOfValuesDto);\n }\n // if not found - create new \n else {\n const listOfValue = this.repo.create(updateListOfValuesDto);\n return this.repo.save(listOfValue);\n }\n }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"locale.service.js","sourceRoot":"","sources":["../../src/services/locale.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4E;AAC5E,6CAAwE;AACxE,uCAA4D;AAC5D,qCAAoD;AAEpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AACrE,6EAAmE;AACnE,uEAAkE;AAClE,6DAAoD;AACpD,8DAA2D;AAEpD,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,0BAAmB;IACpD,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAE7C,aAAqC,EAErC,IAAiC,EAEjC,SAA6B,EAE7B,iBAA6D,EACpD,qBAA4C,EAC5C,aAA4B;QAEtC,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAG,aAAa,EAAE,WAAW,EAAG,gBAAgB,EAAE,iBAAiB,EAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAjBnK,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,CAAoB;QAExB,cAAS,GAAT,SAAS,CAAW;QAEZ,sBAAiB,GAAjB,iBAAiB,CAA2B;QACpD,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAItB,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAA;IADzD,CAAC;IAEA,sBAAsB;QAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACA,KAAK,CAAC,WAAW;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AA/BY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,sBAAM,EAAE,SAAS,CAAC,CAAA;IAEnC,WAAA,IAAA,0BAAgB,EAAC,sBAAM,EAAE,SAAS,CAAC,CAAA;IAEnC,WAAA,IAAA,0BAAgB,EAAC,qCAAa,CAAC,CAAA;qCAZD,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QAEL,gBAAS;QAEO,oBAAU;QACd,+CAAqB;QAC7B,8BAAa;GAjB5B,aAAa,CA+BzB"}
1
+ {"version":3,"file":"locale.service.js","sourceRoot":"","sources":["../../src/services/locale.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4E;AAC5E,6CAAwE;AACxE,uCAA4D;AAC5D,qCAAoD;AAEpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AACrE,6EAAmE;AACnE,uEAAkE;AAClE,6DAAoD;AACpD,8DAA2D;AAEpD,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,0BAAmB;IACpD,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAE7C,aAAqC,EAErC,IAAiC,EAEjC,SAA6B,EAE7B,iBAA6D,EACpD,qBAA4C,EAC5C,aAA4B;QAEtC,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAG,aAAa,EAAE,WAAW,EAAG,gBAAgB,EAAE,iBAAiB,EAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAjBnK,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,CAAoB;QAExB,cAAS,GAAT,SAAS,CAAW;QAEZ,sBAAiB,GAAjB,iBAAiB,CAA2B;QACpD,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAItB,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAA;IADzD,CAAC;IAEA,sBAAsB;QAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACA,KAAK,CAAC,WAAW;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AA/BY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,sBAAM,EAAE,SAAS,CAAC,CAAA;IAEnC,WAAA,IAAA,0BAAgB,EAAC,sBAAM,EAAE,SAAS,CAAC,CAAA;IAEnC,WAAA,IAAA,0BAAgB,EAAC,qCAAa,CAAC,CAAA;qCAZD,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QAEL,gBAAS;QAEO,oBAAU;QACd,+CAAqB;QAC7B,8BAAa;GAjB5B,aAAa,CA+BzB","sourcesContent":["import { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository } 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 { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { RequestContextService } from './request-context.service';\nimport { Locale } from 'src/entities/locale.entity';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\n@Injectable()\nexport class LocaleService extends CRUDService<Locale> implements OnApplicationBootstrap{\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(Locale, 'default')\n readonly repo: Repository<Locale>,\n @InjectRepository(Locale, 'default')\n readonly moduleRef: ModuleRef,\n @InjectRepository(ModelMetadata)\n private readonly modelMetadataRepo: Repository<ModelMetadata>,\n readonly requestContextService: RequestContextService,\n readonly solidRegistry: SolidRegistry,\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'locale', 'solid-core', moduleRef);\n }\n private readonly logger = new Logger(LocaleService.name)\n onApplicationBootstrap() {\n // Load the security rules from the database\n this.loadLocales();\n }\n async loadLocales() {\n const locales = await this.repo.find();\n this.logger.debug(`Loaded ${locales.length} locales into registry`);\n this.solidRegistry.registerlocales(locales);\n }\n}\n"]}
@@ -1,20 +1,20 @@
1
1
  import { ConfigType } from '@nestjs/config';
2
2
  import commonConfig from 'src/config/common.config';
3
- import { ApiEmailQueuePublisher } from 'src/jobs/api-email-publisher.service';
4
3
  import { QueueMessage } from 'src/interfaces/mq';
5
4
  import { EmailTemplateService } from '../email-template.service';
6
5
  import { PdfService } from '../pdf.service';
7
6
  import { FileService } from '../file.service';
8
7
  import { IMail, MailAttachmentWrapper } from "../../interfaces";
8
+ import { PublisherFactory } from '../queues/publisher-factory.service';
9
9
  export declare class ElasticEmailService implements IMail {
10
10
  private readonly commonConfiguration;
11
- private readonly emailPublisher;
11
+ private readonly publisherFactory;
12
12
  private readonly emailTemplateService;
13
13
  private readonly pdfService;
14
14
  private readonly fileService;
15
15
  private readonly logger;
16
16
  private readonly emailsApi;
17
- constructor(commonConfiguration: ConfigType<typeof commonConfig>, emailPublisher: ApiEmailQueuePublisher, emailTemplateService: EmailTemplateService, pdfService: PdfService, fileService: FileService);
17
+ constructor(commonConfiguration: ConfigType<typeof commonConfig>, publisherFactory: PublisherFactory<any>, emailTemplateService: EmailTemplateService, pdfService: PdfService, fileService: FileService);
18
18
  sendEmailUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueEmails?: boolean, parentEntity?: any, parentEntityId?: any): Promise<void>;
19
19
  sendEmail(to: string, subject: string, body: string, shouldQueueEmails?: boolean, parentEntity?: any, parentEntityId?: any, wrapperAttachments?: MailAttachmentWrapper[]): Promise<void>;
20
20
  sendEmailAsynchronously(message: QueueMessage<any>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ElasticEmailService.d.ts","sourceRoot":"","sources":["../../../src/services/mail/ElasticEmailService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAkB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIhF,qBACa,mBAAoB,YAAW,KAAK;IAMzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAThC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAIN,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EACpD,cAAc,EAAE,sBAAsB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW;IAQvC,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnK,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,EAAE,kBAAkB,GAAE,qBAAqB,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B5L,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;IAOlD,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAoDzD,mBAAmB;YAcnB,mBAAmB;YAQnB,kBAAkB;CAQnC"}
1
+ {"version":3,"file":"ElasticEmailService.d.ts","sourceRoot":"","sources":["../../../src/services/mail/ElasticEmailService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAkB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAIvE,qBACa,mBAAoB,YAAW,KAAK;IAMzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAEpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAVhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAIN,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAEpD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACvC,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW;IAQvC,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnK,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,EAAE,kBAAkB,GAAE,qBAAqB,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B5L,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;IAQlD,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAoDzD,mBAAmB;YAcnB,mBAAmB;YAQnB,kBAAkB;CAQnC"}
@@ -20,15 +20,15 @@ exports.ElasticEmailService = void 0;
20
20
  const common_1 = require("@nestjs/common");
21
21
  const handlebars_1 = __importDefault(require("handlebars"));
22
22
  const common_config_1 = __importDefault(require("../../config/common.config"));
23
- const api_email_publisher_service_1 = require("../../jobs/api-email-publisher.service");
24
23
  const email_template_service_1 = require("../email-template.service");
25
24
  const pdf_service_1 = require("../pdf.service");
26
25
  const file_service_1 = require("../file.service");
26
+ const publisher_factory_service_1 = require("../queues/publisher-factory.service");
27
27
  const ElasticEmail = require('@elasticemail/elasticemail-client');
28
28
  let ElasticEmailService = ElasticEmailService_1 = class ElasticEmailService {
29
- constructor(commonConfiguration, emailPublisher, emailTemplateService, pdfService, fileService) {
29
+ constructor(commonConfiguration, publisherFactory, emailTemplateService, pdfService, fileService) {
30
30
  this.commonConfiguration = commonConfiguration;
31
- this.emailPublisher = emailPublisher;
31
+ this.publisherFactory = publisherFactory;
32
32
  this.emailTemplateService = emailTemplateService;
33
33
  this.pdfService = pdfService;
34
34
  this.fileService = fileService;
@@ -79,7 +79,7 @@ let ElasticEmailService = ElasticEmailService_1 = class ElasticEmailService {
79
79
  }
80
80
  async sendEmailAsynchronously(message) {
81
81
  const { to, subject, body } = message.payload;
82
- this.emailPublisher.publish(message);
82
+ this.publisherFactory.publish(message, 'ApiEmailQueuePublisher');
83
83
  this.logger.debug(`Queueing email to ${to} with subject ${subject} and body ${body}`);
84
84
  }
85
85
  async sendEmailSynchronously(message) {
@@ -157,7 +157,7 @@ exports.ElasticEmailService = ElasticEmailService;
157
157
  exports.ElasticEmailService = ElasticEmailService = ElasticEmailService_1 = __decorate([
158
158
  (0, common_1.Injectable)(),
159
159
  __param(0, (0, common_1.Inject)(common_config_1.default.KEY)),
160
- __metadata("design:paramtypes", [void 0, api_email_publisher_service_1.ApiEmailQueuePublisher,
160
+ __metadata("design:paramtypes", [void 0, publisher_factory_service_1.PublisherFactory,
161
161
  email_template_service_1.EmailTemplateService,
162
162
  pdf_service_1.PdfService,
163
163
  file_service_1.FileService])
@@ -1 +1 @@
1
- {"version":3,"file":"ElasticEmailService.js","sourceRoot":"","sources":["../../../src/services/mail/ElasticEmailService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElasticEmailService.js","sourceRoot":"","sources":["../../../src/services/mail/ElasticEmailService.ts"],"names":[],"mappings":"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","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport { ConfigType } from '@nestjs/config';\nimport Handlebars from \"handlebars\";\nimport commonConfig from 'src/config/common.config';\nimport { EmailAttachment } from 'src/entities/email-attachment.entity';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { EmailTemplateService } from '../email-template.service';\nimport { PdfService } from '../pdf.service';\nimport { FileService } from '../file.service';\nimport { IMail, MailAttachment, MailAttachmentWrapper } from \"../../interfaces\";\nimport { PublisherFactory } from '../queues/publisher-factory.service';\n\nconst ElasticEmail = require('@elasticemail/elasticemail-client');\n\n@Injectable()\nexport class ElasticEmailService implements IMail {\n private readonly logger = new Logger(ElasticEmailService.name);\n private readonly emailsApi;\n\n constructor(\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n // private readonly emailPublisher: ApiEmailQueuePublisher,\n private readonly publisherFactory: PublisherFactory<any>,\n private readonly emailTemplateService: EmailTemplateService,\n private readonly pdfService: PdfService,\n private readonly fileService: FileService,\n ) {\n const client = ElasticEmail.ApiClient.instance;\n const apikey = client.authentications['apikey'];\n apikey.apiKey = commonConfiguration.apiMail.key;\n this.emailsApi = new ElasticEmail.EmailsApi();\n }\n\n async sendEmailUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueEmails = false, parentEntity = null, parentEntityId = null): Promise<void> {\n // Load template and evaluate it. \n const emailTemplate = await this.emailTemplateService.findOneByName(templateName, { attachments: true });\n if (!emailTemplate) {\n throw new Error(`Invalid template name ${templateName}`);\n }\n\n // Evaluate the body template.\n const bodyTemplate = Handlebars.compile(emailTemplate.body);\n const body = bodyTemplate(templateParams);\n\n // Evaluate the subject template \n const subjectTemplate = Handlebars.compile(emailTemplate.subject);\n const subject = subjectTemplate(templateParams);\n\n // Populate the email with the template.\n const emailTemplateAttachments = emailTemplate.attachments;\n const attachmentWrappers: MailAttachmentWrapper[] = [];\n for (const attachment of emailTemplateAttachments) {\n const attachmentWrapper = await this.toAttachmentWrapper(attachment, templateParams);\n attachmentWrappers.push(attachmentWrapper);\n }\n\n // Finally send the email.\n await this.sendEmail(to, subject, body, shouldQueueEmails, parentEntity, parentEntityId, attachmentWrappers);\n }\n\n async sendEmail(to: string, subject: string, body: string, shouldQueueEmails = false, parentEntity = null, parentEntityId = null, wrapperAttachments: MailAttachmentWrapper[] = []): Promise<void> {\n const message = {\n payload: {\n from: this.commonConfiguration.smtpMail.from,\n to: to,\n subject: subject,\n body: body,\n wrapperAttachments: wrapperAttachments,\n },\n parentEntity: parentEntity,\n parentEntityId: parentEntityId,\n };\n\n // Send using queue if the developer has explicitly invoked with true.\n if (shouldQueueEmails === true) {\n this.sendEmailAsynchronously(message);\n }\n // If developer has not, however system config mandates that we send using queue, still we send.\n else if (shouldQueueEmails == false && this.commonConfiguration.shouldQueueEmails === true) {\n this.sendEmailAsynchronously(message);\n }\n // Else we send synch\n else {\n await this.sendEmailSynchronously(message);\n }\n }\n\n async sendEmailAsynchronously(message: QueueMessage<any>) {\n const { to, subject, body } = message.payload;\n // this.notificationPublisherService.publish(message);\n // this.emailPublisher.publish(message);\n this.publisherFactory.publish(message, 'ApiEmailQueuePublisher');\n this.logger.debug(`Queueing email to ${to} with subject ${subject} and body ${body}`);\n }\n\n async sendEmailSynchronously(message: QueueMessage<any>): Promise<void> {\n const { from, to, subject, body, wrapperAttachments }: { from: string, to: string, subject: string, body: string, wrapperAttachments: MailAttachmentWrapper[] } = message.payload;\n const emailData = {\n Recipients: {\n To: [to]\n },\n Content: {\n Body: [\n {\n ContentType: \"HTML\", //ContentType Text version is handled by elastic email automatically through a config setting\n Charset: \"utf-8\",\n Content: body\n }\n ],\n From: from,\n Subject: subject\n }\n };\n\n // Handle relative attachments i.e attachments that are uploaded to the email service.\n const relativeAttachments = wrapperAttachments.filter(wrapperAttachment => wrapperAttachment.relativePath);\n if (relativeAttachments.length > 0) {\n emailData.Content['AttachFiles'] = relativeAttachments.map(attachment => attachment.relativePath);\n }\n\n const binaryAttachments = wrapperAttachments.filter(wrapperAttachment => wrapperAttachment.attachment);\n if (binaryAttachments.length > 0) {\n //FIXME Replace this with actual attachment.\n // const dummyAttachmentBuffer = await this.dummyAttachment();\n // emailData.Content['Attachments'] = [{\n // \"BinaryContent\": dummyAttachmentBuffer.toString('base64'),\n // \"Name\": \"Invoice.pdf\", \n // }];\n const attachments = [];\n for (const wrapperAttachment of binaryAttachments) {\n const attachment = await this.toMessageAttachment(wrapperAttachment.attachment, wrapperAttachment.attachment.templateParams);\n attachments.push(attachment);\n }\n emailData.Content['Attachments'] = attachments;\n }\n\n const callback = (error, _data, _response) => {\n if (error) {\n this.logger.debug(`Error while sending email to ${to} with subject ${subject}`, error);\n } else {\n this.logger.debug(`Sending email to ${to} with subject ${subject}`);\n }\n };\n\n this.emailsApi.emailsTransactionalPost(emailData, callback);\n }\n\n private async toAttachmentWrapper(attachment: EmailAttachment, templateParams: any): Promise<MailAttachmentWrapper> {\n const attachmentWrapper: MailAttachmentWrapper = {}\n if (attachment.template) {\n attachmentWrapper.attachment = {\n filename: attachment.displayName,\n templatePath: attachment.template,\n templateParams: templateParams,\n }\n } else {\n attachmentWrapper.relativePath = attachment.relativePath\n }\n return attachmentWrapper;\n }\n\n private async toMessageAttachment(attachment: MailAttachment, templateParams: any): Promise<any> {\n const attachmentContent = await this.getAttachmentAsPDF(attachment.templatePath, templateParams);\n return {\n \"BinaryContent\": attachmentContent.toString('base64'),\n \"Name\": attachment.filename,\n }\n }\n\n private async getAttachmentAsPDF(attachmentTemplatePath: string, templateParams: any): Promise<Buffer> {\n const template = await this.fileService.readFile(attachmentTemplatePath)\n const bodyTemplate = Handlebars.compile(template);\n const html = bodyTemplate(templateParams);\n const pdfBuffer = await this.pdfService.generatePdf(html);\n const buffer = Buffer.from(pdfBuffer);\n return buffer;\n }\n}"]}
@@ -1,16 +1,16 @@
1
1
  import { ConfigType } from '@nestjs/config';
2
2
  import { QueueMessage } from 'src/interfaces/mq';
3
- import { EmailQueuePublisher } from 'src/jobs/email-publisher.service';
4
3
  import commonConfig from 'src/config/common.config';
5
4
  import { EmailTemplateService } from '../email-template.service';
6
5
  import { IMail, MailAttachment } from "../../interfaces";
6
+ import { PublisherFactory } from '../queues/publisher-factory.service';
7
7
  export declare class SMTPEMailService implements IMail {
8
8
  private readonly commonConfiguration;
9
- private readonly emailPublisher;
9
+ private readonly publisherFactory;
10
10
  private readonly emailTemplateService;
11
11
  private readonly logger;
12
12
  private readonly transporter;
13
- constructor(commonConfiguration: ConfigType<typeof commonConfig>, emailPublisher: EmailQueuePublisher, emailTemplateService: EmailTemplateService);
13
+ constructor(commonConfiguration: ConfigType<typeof commonConfig>, publisherFactory: PublisherFactory<any>, emailTemplateService: EmailTemplateService);
14
14
  sendEmailUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueEmails?: boolean, parentEntity?: any, parentEntityId?: any, attachments?: MailAttachment[], cc?: string[]): Promise<void>;
15
15
  sendEmail(to: string, subject: string, body: string, shouldQueueEmails?: boolean, parentEntity?: any, parentEntityId?: any, attachments?: MailAttachment[], cc?: string[]): Promise<void>;
16
16
  sendEmailAsynchronously(message: any): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SMTPEmailService.d.ts","sourceRoot":"","sources":["../../../src/services/mail/SMTPEmailService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIzD,qBACa,gBAAiB,YAAW,KAAK;IAMtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAPzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;gBAIb,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EACpD,cAAc,EAAE,mBAAmB,EACnC,oBAAoB,EAAE,oBAAoB;IAazD,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,EAAE,WAAW,GAAE,cAAc,EAAO,EAAE,EAAE,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1N,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,EAAE,WAAW,GAAE,cAAc,EAAO,EAAE,EAAE,GAAE,MAAM,EAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/L,uBAAuB,CAAC,OAAO,KAAA;IAO/B,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B1E"}
1
+ {"version":3,"file":"SMTPEmailService.d.ts","sourceRoot":"","sources":["../../../src/services/mail/SMTPEmailService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAIvE,qBACa,gBAAiB,YAAW,KAAK;IAMtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAGpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IATzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;gBAIb,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAGpD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACvC,oBAAoB,EAAE,oBAAoB;IAazD,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,EAAE,WAAW,GAAE,cAAc,EAAO,EAAE,EAAE,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1N,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,EAAE,YAAY,MAAO,EAAE,cAAc,MAAO,EAAE,WAAW,GAAE,cAAc,EAAO,EAAE,EAAE,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjM,uBAAuB,CAAC,OAAO,KAAA;IAW/B,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B1E"}
@@ -18,15 +18,15 @@ var SMTPEMailService_1;
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.SMTPEMailService = void 0;
20
20
  const common_1 = require("@nestjs/common");
21
- const email_publisher_service_1 = require("../../jobs/email-publisher.service");
22
21
  const common_config_1 = __importDefault(require("../../config/common.config"));
23
22
  const email_template_service_1 = require("../email-template.service");
24
23
  const handlebars_1 = __importDefault(require("handlebars"));
24
+ const publisher_factory_service_1 = require("../queues/publisher-factory.service");
25
25
  const nodemailer = require("nodemailer");
26
26
  let SMTPEMailService = SMTPEMailService_1 = class SMTPEMailService {
27
- constructor(commonConfiguration, emailPublisher, emailTemplateService) {
27
+ constructor(commonConfiguration, publisherFactory, emailTemplateService) {
28
28
  this.commonConfiguration = commonConfiguration;
29
- this.emailPublisher = emailPublisher;
29
+ this.publisherFactory = publisherFactory;
30
30
  this.emailTemplateService = emailTemplateService;
31
31
  this.logger = new common_1.Logger(SMTPEMailService_1.name);
32
32
  this.transporter = nodemailer.createTransport({
@@ -75,7 +75,7 @@ let SMTPEMailService = SMTPEMailService_1 = class SMTPEMailService {
75
75
  }
76
76
  async sendEmailAsynchronously(message) {
77
77
  const { to, subject, body } = message.payload;
78
- this.emailPublisher.publish(message);
78
+ this.publisherFactory.publish(message, 'EmailQueuePublisher');
79
79
  this.logger.debug(`Queueing email to ${to} with subject ${subject} and body ${body}`);
80
80
  }
81
81
  async sendEmailSynchronously(message) {
@@ -109,7 +109,7 @@ exports.SMTPEMailService = SMTPEMailService;
109
109
  exports.SMTPEMailService = SMTPEMailService = SMTPEMailService_1 = __decorate([
110
110
  (0, common_1.Injectable)(),
111
111
  __param(0, (0, common_1.Inject)(common_config_1.default.KEY)),
112
- __metadata("design:paramtypes", [void 0, email_publisher_service_1.EmailQueuePublisher,
112
+ __metadata("design:paramtypes", [void 0, publisher_factory_service_1.PublisherFactory,
113
113
  email_template_service_1.EmailTemplateService])
114
114
  ], SMTPEMailService);
115
115
  //# sourceMappingURL=SMTPEmailService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SMTPEmailService.js","sourceRoot":"","sources":["../../../src/services/mail/SMTPEmailService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SMTPEmailService.js","sourceRoot":"","sources":["../../../src/services/mail/SMTPEmailService.ts"],"names":[],"mappings":"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","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport { ConfigType } from '@nestjs/config';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport commonConfig from 'src/config/common.config';\nimport { EmailTemplateService } from '../email-template.service';\nimport Handlebars from \"handlebars\";\nimport { IMail, MailAttachment } from \"../../interfaces\";\nimport { PublisherFactory } from '../queues/publisher-factory.service';\n\nconst nodemailer = require(\"nodemailer\");\n\n@Injectable()\nexport class SMTPEMailService implements IMail {\n private readonly logger = new Logger(SMTPEMailService.name);\n private readonly transporter: any;\n\n constructor(\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n // private readonly emailPublisher: EmailQueuePublisher,\n // private readonly emailDbPublisher: EmailQueueDbPublisher,\n private readonly publisherFactory: PublisherFactory<any>,\n private readonly emailTemplateService: EmailTemplateService,\n ) {\n this.transporter = nodemailer.createTransport({\n host: this.commonConfiguration.smtpMail.host,\n port: this.commonConfiguration.smtpMail.port,\n secure: this.commonConfiguration.smtpMail.port === 465,\n auth: {\n user: this.commonConfiguration.smtpMail.username,\n pass: this.commonConfiguration.smtpMail.password\n }\n });\n }\n\n async sendEmailUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueEmails = false, parentEntity = null, parentEntityId = null, attachments: MailAttachment[] = [], cc: string[] = []): Promise<void> {\n // Load template and evaluate it. \n const emailTemplate = await this.emailTemplateService.findOneByName(templateName);\n if (!emailTemplate) {\n throw new Error(`Invalid template name ${templateName}`);\n }\n\n // Evaluate the body template.\n const bodyTemplate = Handlebars.compile(emailTemplate.body);\n const body = bodyTemplate(templateParams);\n\n // Evaluate the subject template \n const subjectTemplate = Handlebars.compile(emailTemplate.subject);\n const subject = subjectTemplate(templateParams);\n\n // Finally send the email.\n await this.sendEmail(to, subject, body, shouldQueueEmails, parentEntity, parentEntityId, attachments);\n }\n\n async sendEmail(to: string, subject: string, body: string, shouldQueueEmails = false, parentEntity = null, parentEntityId = null, attachments: MailAttachment[] = [], cc: string[] = []): Promise<void> {\n const message = {\n payload: {\n from: this.commonConfiguration.smtpMail.from,\n to: to,\n subject: subject,\n body: body,\n attachments: attachments,\n cc: cc,\n },\n parentEntity: parentEntity,\n parentEntityId: parentEntityId,\n };\n\n // Send using queue if the developer has explicitly invoked with true.\n if (shouldQueueEmails === true) {\n this.sendEmailAsynchronously(message);\n }\n // If developer has not, however system config mandates that we send using queue, still we send.\n else if (shouldQueueEmails == false && this.commonConfiguration.shouldQueueEmails === true) {\n this.sendEmailAsynchronously(message);\n }\n // Else we send synch\n else {\n await this.sendEmailSynchronously(message);\n }\n }\n\n async sendEmailAsynchronously(message) {\n const { to, subject, body } = message.payload;\n // this.notificationPublisherService.publish(message);\n // this.emailPublisher.publish(message);\n // this.emailDbPublisher.publish(message);\n\n this.publisherFactory.publish(message, 'EmailQueuePublisher');\n\n this.logger.debug(`Queueing email to ${to} with subject ${subject} and body ${body}`);\n }\n\n async sendEmailSynchronously(message: QueueMessage<any>): Promise<void> {\n const { from, to, subject, body, attachments, cc } = message.payload;\n\n const attachmentsList = attachments.map((attachment: MailAttachment) => {\n const attachmentEntry = {\n filename: attachment.filename,\n contentType: attachment.contentType,\n }\n if (attachment.path) {\n attachmentEntry['path'] = attachment.path;\n }\n if (attachment.content) {\n attachmentEntry['content'] = attachment.content;\n }\n return attachmentEntry;\n });\n\n // throw new Error('Random error....');\n const r = await this.transporter.sendMail({\n from: from,\n to: to,\n cc: cc,\n subject: subject,\n html: body,\n attachments: attachmentsList,\n });\n // this.logger.debug(`Sending email to ${to} with subject ${subject} and body ${body}`);\n this.logger.debug(`Sending email to ${to} with subject ${subject}`);\n\n return r;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"media-storage-provider-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/services/media-storage-provider-metadata-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uGAAgG;AAQzF,IAAM,yCAAyC,iDAA/C,MAAM,yCAAyC;IAGlD,YACqB,mCAAwE;QAAxE,wCAAmC,GAAnC,mCAAmC,CAAqC;QAH5E,WAAM,GAAG,IAAI,eAAM,CAAC,2CAAyC,CAAC,IAAI,CAAC,CAAC;IAIjF,CAAC;IAEL,KAAK,CAAC,IAAI;QACN,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAChH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC;gBAClD,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,YAAY;aACrB,CAAC,CAAC;QACP,CAAC;QACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAC7G,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC;gBAClD,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ,CAAA;AAvBY,8FAAyC;oDAAzC,yCAAyC;IADrD,IAAA,mBAAU,GAAE;qCAKiD,6EAAmC;GAJpF,yCAAyC,CAuBrD"}
1
+ {"version":3,"file":"media-storage-provider-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/services/media-storage-provider-metadata-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uGAAgG;AAQzF,IAAM,yCAAyC,iDAA/C,MAAM,yCAAyC;IAGlD,YACqB,mCAAwE;QAAxE,wCAAmC,GAAnC,mCAAmC,CAAqC;QAH5E,WAAM,GAAG,IAAI,eAAM,CAAC,2CAAyC,CAAC,IAAI,CAAC,CAAC;IAIjF,CAAC;IAEL,KAAK,CAAC,IAAI;QACN,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAChH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC;gBAClD,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,YAAY;aACrB,CAAC,CAAC;QACP,CAAC;QACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAC7G,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC;gBAClD,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ,CAAA;AAvBY,8FAAyC;oDAAzC,yCAAyC;IADrD,IAAA,mBAAU,GAAE;qCAKiD,6EAAmC;GAJpF,yCAAyC,CAuBrD","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';\n\n\n\n/**\n * solid seed -s ModuleMetadataSeederService\n */\n@Injectable()\nexport class MediaStorageProviderMetadataSeederService {\n private readonly logger = new Logger(MediaStorageProviderMetadataSeederService.name);\n\n constructor(\n private readonly mediaStorageProviderMetadataService: MediaStorageProviderMetadataService,\n ) { }\n\n async seed() {\n const existingDefaultFs = await this.mediaStorageProviderMetadataService.findOneByUserKey('default-filesystem');\n if (!existingDefaultFs) {\n await this.mediaStorageProviderMetadataService.create({\n name: 'default-filesystem',\n type: 'filesystem'\n });\n }\n const existingDefaultAws = await this.mediaStorageProviderMetadataService.findOneByUserKey('default-aws-s3');\n if (!existingDefaultAws) {\n await this.mediaStorageProviderMetadataService.create({\n name: 'default-aws-s3',\n type: 'aws-s3'\n });\n }\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"media-storage-provider-metadata.service.js","sourceRoot":"","sources":["../../src/services/media-storage-provider-metadata.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,6CAAmD;AACnD,qCAAyD;AACzD,+GAAkG;AAElG,+DAA0D;AAInD,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAC5C,YAEqB,wBAAkE,EAClE,iBAAoC;QADpC,6BAAwB,GAAxB,wBAAwB,CAA0C;QAClE,sBAAiB,GAAjB,iBAAiB,CAAmB;IACrD,CAAC;IAEL,KAAK,CAAC,QAAQ,CAAC,cAA8B;QACzC,MAAM,KAAK,GAAG,8BAA8B,CAAC;QAE7C,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;QAGtD,IAAI,EAAE,GAAqD,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAClH,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAG9E,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC;QAErD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,MAAM,CAAC,GAAG;YACN,IAAI,EAAE;gBACF,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,WAAW;gBACxB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,UAAU;gBACtB,OAAO,EAAE,CAAC,KAAK;aAClB;YACD,OAAO,EAAE,QAAQ;SACpB,CAAC;QACF,OAAO,CAAC,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,SAAS,GAAG,EAAE;QACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE;gBACH,EAAE,EAAE,EAAE;aACT;YACD,SAAS,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,0BAAiB,CAAC,gCAAgC,EAAE,YAAY,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,SAAS,GAAG,EAAE;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE;gBACH,IAAI,EAAE,IAAI;aACb;YACD,SAAS,EAAE,SAAS;SACvB,CAAC,CAAC;QAIH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,SAAS,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE;gBACH,IAAI,EAAE,IAAI;aACb;YACD,SAAS,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,0BAAiB,CAAC,gCAAgC,IAAI,YAAY,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAc;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,6BAAkC;QAE3C,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;YAC7E,KAAK,EAAE;gBACH,IAAI,EAAE,6BAA6B,CAAC,IAAI;aAC3C;SACJ,CAAC,CAAA;QAGF,IAAI,4BAA4B,EAAE,CAAC;YAC/B,MAAM,8BAA8B,GAAG,EAAE,GAAG,4BAA4B,EAAE,GAAG,6BAA6B,EAAE,CAAC;YAC7G,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9E,CAAC;aAEI,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC3F,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,qCAA4E;QAEjG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;YACvD,EAAE;YACF,GAAG,qCAAqC;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAa;QAC1B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;gBACvD,KAAK,EAAE;oBAEH,EAAE,EAAE,EAAE;iBACT;aACJ,CAAC,CAAC;YAIH,eAAe,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,eAAe,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;CACJ,CAAA;AA9IY,kFAAmC;8CAAnC,mCAAmC;IAD/C,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,0BAAgB,EAAC,qEAA4B,CAAC,CAAA;qCACJ,oBAAU;QACjB,uCAAiB;GAJhD,mCAAmC,CA8I/C"}
1
+ {"version":3,"file":"media-storage-provider-metadata.service.js","sourceRoot":"","sources":["../../src/services/media-storage-provider-metadata.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, NotFoundException } from \"@nestjs/common\";\nimport { InjectRepository } from \"@nestjs/typeorm\";\nimport { Repository, SelectQueryBuilder } from \"typeorm\";\nimport { MediaStorageProviderMetadata } from \"../entities/media-storage-provider-metadata.entity\";\nimport { BasicFilterDto } from \"../dtos/basic-filters.dto\";\nimport { CrudHelperService } from \"./crud-helper.service\";\nimport { UpdateMediaStorageProviderMetadataDto } from \"../dtos/update-media-storage-provider.dto\";\n\n@Injectable()\nexport class MediaStorageProviderMetadataService {\n constructor(\n @InjectRepository(MediaStorageProviderMetadata)\n private readonly mediaStorageProviderRepo: Repository<MediaStorageProviderMetadata>,\n private readonly crudHelperService: CrudHelperService\n ) { }\n\n async findMany(basicFilterDto: BasicFilterDto) {\n const alias = 'mediaStorageProviderMetadata';\n // Extract the required keys from the input query\n let { limit, offset, populateMedia } = basicFilterDto;\n\n // Create above query on pincode table using query builder\n var qb: SelectQueryBuilder<MediaStorageProviderMetadata> = this.mediaStorageProviderRepo.createQueryBuilder(alias)\n qb = await this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);\n\n // Get the records and the count\n const [entities, count] = await qb.getManyAndCount();\n\n const currentPage = Math.floor(offset / limit) + 1;\n const totalPages = Math.ceil(count / limit);\n\n const nextPage = currentPage < totalPages ? currentPage + 1 : null;\n const prevPage = currentPage > 1 ? currentPage - 1 : null;\n\n const r = {\n meta: {\n totalRecords: count,\n currentPage: currentPage,\n nextPage: nextPage,\n prevPage: prevPage,\n totalPages: totalPages,\n perPage: +limit,\n },\n records: entities\n };\n return r\n }\n\n async findOne(id: number, relations = {}) {\n const lov = await this.mediaStorageProviderRepo.findOne({\n where: {\n id: id,\n },\n relations: relations,\n });\n if (!lov) {\n throw new NotFoundException(`Media Storage Provider with #${id} not found`);\n }\n return lov;\n }\n\n async findOneByUserKey(name: string, relations = {}) {\n const lov = await this.mediaStorageProviderRepo.findOne({\n where: {\n name: name,\n },\n relations: relations,\n });\n // if (!lov) {\n // throw new NotFoundException(`Media Storage Provider with #${name} not found`);\n // }\n return lov;\n }\n\n async findOnebyType(type: string, relations = {}) {\n const lov = await this.mediaStorageProviderRepo.findOne({\n where: {\n type: type,\n },\n relations: relations,\n });\n if (!lov) {\n throw new NotFoundException(`Media Storage Provider with #${type} not found`);\n }\n return lov;\n }\n\n async create(createDto: any) {\n const lov = this.mediaStorageProviderRepo.create(createDto);\n return this.mediaStorageProviderRepo.save(lov);\n }\n\n async upsert(updateMediaStorageProviderDto: any) {\n // First check if module already exists using name\n const existingMediaStorageProvider = await this.mediaStorageProviderRepo.findOne({\n where: {\n name: updateMediaStorageProviderDto.name\n }\n })\n\n // if found\n if (existingMediaStorageProvider) {\n const updatedMediaStorageProviderDto = { ...existingMediaStorageProvider, ...updateMediaStorageProviderDto };\n return this.mediaStorageProviderRepo.save(updatedMediaStorageProviderDto);\n }\n // if not found - create new \n else {\n const moduleMetadata = this.mediaStorageProviderRepo.create(updateMediaStorageProviderDto);\n return this.mediaStorageProviderRepo.save(moduleMetadata);\n }\n }\n\n async update(id: number, updateMediaStorageProviderMetadataDto: UpdateMediaStorageProviderMetadataDto) {\n\n const entity = await this.mediaStorageProviderRepo.preload({\n id,\n ...updateMediaStorageProviderMetadataDto,\n });\n\n if (!entity) {\n throw new NotFoundException(`Module ${id} not found`);\n }\n return this.mediaStorageProviderRepo.save(entity);\n }\n\n async deleteMany(ids: number[]): Promise<any> {\n if (!ids || ids.length === 0) {\n throw new Error('At least one ID is required for deletion');\n }\n const removedEntities = [];\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i]\n const entity = await this.mediaStorageProviderRepo.findOne({\n where: {\n //@ts-ignore\n id: id,\n }\n });\n // if (!entity) {\n // throw new Error(`Entity with id ${id} not found`);\n // }\n removedEntities.push(await this.mediaStorageProviderRepo.remove(entity));\n }\n\n return removedEntities\n }\n\n async delete(id: number) {\n const lov = await this.findOne(id);\n return this.mediaStorageProviderRepo.remove(lov);\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"media.service.d.ts","sourceRoot":"","sources":["../../src/services/media.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAI7E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,qBACa,YAAa,SAAQ,WAAW,CAAC,KAAK,CAAC;IAEhD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,gCAAgC;IAEjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAhBpB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,EAEf,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,EAE5C,gCAAgC,EAAE,UAAU,CAAC,4BAA4B,CAAC,EAE1E,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,EACpD,SAAS,EAAE,SAAS;IAOzB,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,mBAAmB,GAAE,GAAQ;;;;;;;;;;;;;;;;;;;;IA6BlE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAyDxD,MAAM,CAAC,EAAE,EAAE,MAAM;IAiCvB,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,WAAW;CAIpB"}
1
+ {"version":3,"file":"media.service.d.ts","sourceRoot":"","sources":["../../src/services/media.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAI7E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,qBACa,YAAa,SAAQ,WAAW,CAAC,KAAK,CAAC;IAEhD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,gCAAgC;IAEjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAhBpB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,EAEf,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,EAE5C,gCAAgC,EAAE,UAAU,CAAC,4BAA4B,CAAC,EAE1E,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,EACpD,SAAS,EAAE,SAAS;IAKzB,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,mBAAmB,GAAE,GAAQ;;;;;;;;;;;;;;;;;;;;IA8BlE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAyDxD,MAAM,CAAC,EAAE,EAAE,MAAM;IAiCvB,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,WAAW;CAIpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.service.js","sourceRoot":"","sources":["../../src/services/media.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.service.js","sourceRoot":"","sources":["../../src/services/media.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, NotFoundException } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { MediaStorageProviderType } from 'src/dtos/create-media-storage-provider-metadata.dto';\nimport { FieldMetadata } from 'src/entities/field-metadata.entity';\nimport { MediaStorageProviderMetadata } from 'src/entities/media-storage-provider-metadata.entity';\nimport { Media } from 'src/entities/media.entity';\nimport { ModelMetadata } from 'src/entities/model-metadata.entity';\nimport { getMediaStorageProvider } from \"./mediaStorageProviders\";\nimport { BasicFilterDto } from 'src/dtos/basic-filters.dto';\n\n\n@Injectable()\nexport class MediaService extends CRUDService<Media> {\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(Media, 'default')\n readonly repo: Repository<Media>,\n @InjectRepository(ModelMetadata)\n private readonly modelMetadataRepo: Repository<ModelMetadata>,\n @InjectRepository(MediaStorageProviderMetadata)\n private readonly mediaStorageProviderMetadataRepo: Repository<MediaStorageProviderMetadata>,\n @InjectRepository(FieldMetadata)\n private readonly fieldMetadataRepo: Repository<FieldMetadata>,\n readonly moduleRef: ModuleRef,\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'media', 'solid-core', moduleRef);\n }\n\n async find(basicFilterDto: BasicFilterDto, solidRequestContext: any = {}) {\n const data = await super.find(basicFilterDto, solidRequestContext);\n if (data.records) {\n data.records.forEach((media: Media) => {\n if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.Filesystem) {\n media.relativeUri = `${process.env.BASE_URL}/${this.getFileSysytemFullFilePath(media.relativeUri)}`;\n } else if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.AwsS3) {\n media.relativeUri = this.getAwsS3FullFilePath(\n media.relativeUri,\n media.mediaStorageProviderMetadata.bucketName,\n media.mediaStorageProviderMetadata.region\n );\n }\n });\n }\n if (data.groupRecords) {\n data.groupRecords.forEach((group) => {\n group.groupData.records.forEach((media) => {\n if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.Filesystem) {\n media.relativeUri = `${process.env.BASE_URL}/${this.getFileSysytemFullFilePath(media.relativeUri)}`;\n }\n else if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.AwsS3) {\n media.relativeUri = this.getAwsS3FullFilePath(media.relativeUri, media.mediaStorageProviderMetadata.bucketName, media.mediaStorageProviderMetadata.region);\n }\n });\n });\n }\n return data\n }\n\n async upload(createDto: any, files: Array<Express.Multer.File>) {\n\n if (!files) {\n throw new NotFoundException(`File Not Found`);\n\n }\n const savedMedias = [];\n for (let i = 0; i < files.length; i++) {\n\n\n createDto['fieldMetadata'] = await this.fieldMetadataRepo.findOne({\n where: {\n id: createDto['fieldMetadataId']\n },\n });\n createDto['modelMetadata'] = await this.modelMetadataRepo.findOne({\n where: {\n id: createDto['modelMetadataId']\n },\n });\n createDto['mediaStorageProviderMetadata'] = await this.mediaStorageProviderMetadataRepo.findOne({\n where: {\n id: createDto['mediaStorageProviderMetadataId']\n },\n });\n\n const file = files[i];\n\n switch (createDto.mediaStorageProviderMetadata.type) {\n case MediaStorageProviderType.Filesystem:\n const fileStoragePath = this.getFileSysytemFullFilePath(this.getFileName(file));\n await this.fileService.copyFile(file.path, fileStoragePath);\n createDto['relativeUri'] = this.getFileName(file);\n break;\n case MediaStorageProviderType.AwsS3:\n const fileName = this.getFileName(file);\n let awsFileUrl;\n if (createDto.mediaStorageProviderMetadata.isPublic === true) {\n awsFileUrl = await this.fileService.copyToS3(file.path, file.mimetype, fileName, createDto.mediaStorageProviderMetadata.bucketName,);\n } else {\n awsFileUrl = await this.fileService.copyToS3WithPublic(file.path, file.mimetype, fileName, createDto.mediaStorageProviderMetadata.bucketName,);\n }\n // createDto['relativeUri'] = this.getAwsS3FullFilePath(awsFileUrl, createDto.mediaStorageProviderMetadata.bucketName, createDto.mediaStorageProviderMetadata.region);\n createDto['relativeUri'] = awsFileUrl\n break;\n default:\n break;\n }\n await this.fileService.deleteFile(file.path);\n\n const media = this.repo.create(createDto);\n const savedMedia = await this.repo.save(media);\n savedMedias.push(savedMedia)\n }\n return savedMedias\n }\n\n async remove(id: number) {\n // const lov = await this.findOne(id);\n const media = await this.repo.findOne({\n where: {\n id: id,\n },\n relations: ['mediaStorageProviderMetadata', 'fieldMetadata', 'fieldMetadata.model', 'fieldMetadata.mediaStorageProvider'],\n });\n const modelEntity = await this.modelMetadataRepo.findOne({\n where: {\n id: media.entityId,\n }\n }\n );\n // if (media.mediaStorageProviderMetadata.type === 'filesystem') {\n // const fileStorageProvider = new FileStorageProvider(this.configService, this.fileService, this);\n\n // await fileStorageProvider.delete(media, media.fieldMetadata);\n\n // } else if (media.mediaStorageProviderMetadata.type === 'aws-s3') {\n // const fileStorageProvider = new FileS3StorageProvider(this.configService, this.fileService, this);\n // await fileStorageProvider.delete(media, media.fieldMetadata);\n\n // } else {\n // }\n const storageProviderType = media.mediaStorageProviderMetadata.type as MediaStorageProviderType;\n const storageProvider = await getMediaStorageProvider(this.moduleRef, storageProviderType);\n await storageProvider.delete(modelEntity, media.fieldMetadata);\n\n return this.repo.remove(media);\n }\n //TODO: Move this to a app builder config\n\n private getFileSysytemFullFilePath(fileName: string): string {\n return `${this.configService.get('app-builder.fileStorageDir')}/${fileName}`;\n }\n\n\n private getAwsS3FullFilePath(awsMediaurl: string, bucketName: string, regionName: string): string {\n // https://lunarismedia.s3.ap-south-1.amazonaws.com/LUNARIS_CP_REGISTRATION_CREATIVE.jpg\n return `https://${bucketName}.s3.${regionName}.amazonaws.com/${awsMediaurl}`;\n }\n\n private getFileName(file: Express.Multer.File): string {\n return `${file.filename}-${file.originalname}`;\n }\n\n}\n"]}
@@ -1,16 +1,18 @@
1
- import { ConfigService } from "@nestjs/config";
1
+ import { ConfigService, ConfigType } from "@nestjs/config";
2
2
  import { FieldMetadata } from "src/entities/field-metadata.entity";
3
3
  import { Media } from "src/entities/media.entity";
4
4
  import { MediaStorageProvider } from "src/interfaces";
5
5
  import { FileService } from "src/services/file.service";
6
6
  import { Readable } from "stream";
7
7
  import { MediaRepository } from "src/repository/media.repository";
8
+ import commonConfig from "src/config/common.config";
8
9
  export declare class FileS3StorageProvider<T> implements MediaStorageProvider<T> {
9
10
  private readonly configService;
10
11
  readonly fileService: FileService;
11
12
  readonly mediaRepository: MediaRepository;
13
+ private readonly commonConfiguration;
12
14
  private logger;
13
- constructor(configService: ConfigService, fileService: FileService, mediaRepository: MediaRepository);
15
+ constructor(configService: ConfigService, fileService: FileService, mediaRepository: MediaRepository, commonConfiguration: ConfigType<typeof commonConfig>);
14
16
  storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;
15
17
  retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;
16
18
  store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"file-s3-storage-provider.d.ts","sourceRoot":"","sources":["../../../src/services/mediaStorageProviders/file-s3-storage-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBACa,qBAAqB,CAAC,CAAC,CAAE,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAMhE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAP7C,OAAO,CAAC,MAAM,CAA0C;gBAKnC,aAAa,EAAE,aAAa,EACpC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe;IAE7C,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAGzG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAYxE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAiCnG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzE,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;CAGtB"}
1
+ {"version":3,"file":"file-s3-storage-provider.d.ts","sourceRoot":"","sources":["../../../src/services/mediaStorageProviders/file-s3-storage-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,qBACa,qBAAqB,CAAC,CAAC,CAAE,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAMhE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAEzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATxC,OAAO,CAAC,MAAM,CAA0C;gBAKnC,aAAa,EAAE,aAAa,EACpC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAExB,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC;IAGzE,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIzG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA4BxE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAiCnG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzE,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;CAGtB"}