@solidstarters/solid-core 1.2.204 → 1.2.207

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 (542) hide show
  1. package/dist/commands/info.command.d.ts +19 -0
  2. package/dist/commands/info.command.d.ts.map +1 -0
  3. package/dist/commands/info.command.js +98 -0
  4. package/dist/commands/info.command.js.map +1 -0
  5. package/dist/commands/mcp.command.d.ts.map +1 -1
  6. package/dist/commands/mcp.command.js +2 -10
  7. package/dist/commands/mcp.command.js.map +1 -1
  8. package/dist/commands/seed.command.d.ts.map +1 -1
  9. package/dist/commands/seed.command.js +3 -12
  10. package/dist/commands/seed.command.js.map +1 -1
  11. package/dist/controllers/email-template.controller.d.ts +3 -1
  12. package/dist/controllers/email-template.controller.d.ts.map +1 -1
  13. package/dist/controllers/email-template.controller.js +7 -4
  14. package/dist/controllers/email-template.controller.js.map +1 -1
  15. package/dist/controllers/google-authentication.controller.d.ts +4 -5
  16. package/dist/controllers/google-authentication.controller.d.ts.map +1 -1
  17. package/dist/controllers/google-authentication.controller.js +21 -14
  18. package/dist/controllers/google-authentication.controller.js.map +1 -1
  19. package/dist/controllers/otp-authentication.controller.d.ts +10 -0
  20. package/dist/controllers/otp-authentication.controller.d.ts.map +1 -1
  21. package/dist/controllers/otp-authentication.controller.js +1 -1
  22. package/dist/controllers/setting.controller.d.ts +2 -34
  23. package/dist/controllers/setting.controller.d.ts.map +1 -1
  24. package/dist/controllers/setting.controller.js +4 -130
  25. package/dist/controllers/setting.controller.js.map +1 -1
  26. package/dist/controllers/test.controller.d.ts.map +1 -1
  27. package/dist/controllers/test.controller.js.map +1 -1
  28. package/dist/decorators/settings-provider.decorator.d.ts +3 -0
  29. package/dist/decorators/settings-provider.decorator.d.ts.map +1 -0
  30. package/dist/decorators/settings-provider.decorator.js +8 -0
  31. package/dist/decorators/settings-provider.decorator.js.map +1 -0
  32. package/dist/decorators/solid-password.decorator.d.ts.map +1 -1
  33. package/dist/decorators/solid-password.decorator.js +3 -3
  34. package/dist/decorators/solid-password.decorator.js.map +1 -1
  35. package/dist/dtos/create-role-metadata.dto.d.ts +3 -4
  36. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  37. package/dist/dtos/create-role-metadata.dto.js +4 -51
  38. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  39. package/dist/dtos/create-scheduled-job.dto.d.ts +1 -0
  40. package/dist/dtos/create-scheduled-job.dto.d.ts.map +1 -1
  41. package/dist/dtos/create-scheduled-job.dto.js +7 -1
  42. package/dist/dtos/create-scheduled-job.dto.js.map +1 -1
  43. package/dist/dtos/create-setting.dto.d.ts +3 -0
  44. package/dist/dtos/create-setting.dto.d.ts.map +1 -1
  45. package/dist/dtos/create-setting.dto.js +20 -2
  46. package/dist/dtos/create-setting.dto.js.map +1 -1
  47. package/dist/dtos/update-scheduled-job.dto.d.ts +1 -0
  48. package/dist/dtos/update-scheduled-job.dto.d.ts.map +1 -1
  49. package/dist/dtos/update-scheduled-job.dto.js +7 -1
  50. package/dist/dtos/update-scheduled-job.dto.js.map +1 -1
  51. package/dist/dtos/update-setting.dto.d.ts +3 -0
  52. package/dist/dtos/update-setting.dto.d.ts.map +1 -1
  53. package/dist/dtos/update-setting.dto.js +19 -1
  54. package/dist/dtos/update-setting.dto.js.map +1 -1
  55. package/dist/entities/scheduled-job.entity.d.ts +1 -0
  56. package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
  57. package/dist/entities/scheduled-job.entity.js +5 -1
  58. package/dist/entities/scheduled-job.entity.js.map +1 -1
  59. package/dist/entities/setting.entity.d.ts +3 -0
  60. package/dist/entities/setting.entity.d.ts.map +1 -1
  61. package/dist/entities/setting.entity.js +13 -1
  62. package/dist/entities/setting.entity.js.map +1 -1
  63. package/dist/factories/mail.factory.d.ts +3 -4
  64. package/dist/factories/mail.factory.d.ts.map +1 -1
  65. package/dist/factories/mail.factory.js +6 -12
  66. package/dist/factories/mail.factory.js.map +1 -1
  67. package/dist/factories/sms.factory.d.ts +3 -4
  68. package/dist/factories/sms.factory.d.ts.map +1 -1
  69. package/dist/factories/sms.factory.js +6 -12
  70. package/dist/factories/sms.factory.js.map +1 -1
  71. package/dist/factories/whatsapp.factory.d.ts +3 -4
  72. package/dist/factories/whatsapp.factory.d.ts.map +1 -1
  73. package/dist/factories/whatsapp.factory.js +6 -12
  74. package/dist/factories/whatsapp.factory.js.map +1 -1
  75. package/dist/guards/access-token.guard.d.ts +3 -4
  76. package/dist/guards/access-token.guard.d.ts.map +1 -1
  77. package/dist/guards/access-token.guard.js +14 -9
  78. package/dist/guards/access-token.guard.js.map +1 -1
  79. package/dist/helpers/command.service.d.ts +5 -1
  80. package/dist/helpers/command.service.d.ts.map +1 -1
  81. package/dist/helpers/command.service.js +26 -11
  82. package/dist/helpers/command.service.js.map +1 -1
  83. package/dist/helpers/cors.helper.d.ts +1 -2
  84. package/dist/helpers/cors.helper.d.ts.map +1 -1
  85. package/dist/helpers/cors.helper.js +2 -2
  86. package/dist/helpers/cors.helper.js.map +1 -1
  87. package/dist/helpers/error-mapper.service.d.ts.map +1 -1
  88. package/dist/helpers/error-mapper.service.js.map +1 -1
  89. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +2 -2
  90. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  91. package/dist/helpers/google-oauth.helper.d.ts +7 -3
  92. package/dist/helpers/google-oauth.helper.d.ts.map +1 -1
  93. package/dist/helpers/google-oauth.helper.js +1 -2
  94. package/dist/helpers/google-oauth.helper.js.map +1 -1
  95. package/dist/helpers/module.helper.js +0 -2
  96. package/dist/helpers/module.helper.js.map +1 -1
  97. package/dist/helpers/schematic.service.d.ts +3 -2
  98. package/dist/helpers/schematic.service.d.ts.map +1 -1
  99. package/dist/helpers/schematic.service.js +32 -27
  100. package/dist/helpers/schematic.service.js.map +1 -1
  101. package/dist/helpers/solid-registry.d.ts +8 -3
  102. package/dist/helpers/solid-registry.d.ts.map +1 -1
  103. package/dist/helpers/solid-registry.js +32 -9
  104. package/dist/helpers/solid-registry.js.map +1 -1
  105. package/dist/index.d.ts +2 -4
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +3 -6
  108. package/dist/index.js.map +1 -1
  109. package/dist/interfaces.d.ts +21 -0
  110. package/dist/interfaces.d.ts.map +1 -1
  111. package/dist/interfaces.js +8 -1
  112. package/dist/interfaces.js.map +1 -1
  113. package/dist/passport-strategies/google-oauth.strategy.d.ts +1 -4
  114. package/dist/passport-strategies/google-oauth.strategy.d.ts.map +1 -1
  115. package/dist/passport-strategies/google-oauth.strategy.js +12 -12
  116. package/dist/passport-strategies/google-oauth.strategy.js.map +1 -1
  117. package/dist/repository/scheduled-job.repository.d.ts.map +1 -1
  118. package/dist/repository/scheduled-job.repository.js +1 -0
  119. package/dist/repository/scheduled-job.repository.js.map +1 -1
  120. package/dist/seeders/email-template-seeder.service.d.ts +3 -4
  121. package/dist/seeders/email-template-seeder.service.d.ts.map +1 -1
  122. package/dist/seeders/email-template-seeder.service.js +7 -12
  123. package/dist/seeders/email-template-seeder.service.js.map +1 -1
  124. package/dist/seeders/module-metadata-seeder.service.d.ts +1 -5
  125. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  126. package/dist/seeders/module-metadata-seeder.service.js +24 -24
  127. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  128. package/dist/seeders/seed-data/solid-core-metadata.json +119 -5
  129. package/dist/seeders/sms-template-seeder.service.d.ts +3 -4
  130. package/dist/seeders/sms-template-seeder.service.d.ts.map +1 -1
  131. package/dist/seeders/sms-template-seeder.service.js +7 -12
  132. package/dist/seeders/sms-template-seeder.service.js.map +1 -1
  133. package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
  134. package/dist/seeders/system-fields-seeder.service.js +3 -0
  135. package/dist/seeders/system-fields-seeder.service.js.map +1 -1
  136. package/dist/services/action-metadata.service.d.ts +2 -13
  137. package/dist/services/action-metadata.service.d.ts.map +1 -1
  138. package/dist/services/action-metadata.service.js +4 -22
  139. package/dist/services/action-metadata.service.js.map +1 -1
  140. package/dist/services/ai-interaction.service.d.ts +2 -13
  141. package/dist/services/ai-interaction.service.d.ts.map +1 -1
  142. package/dist/services/ai-interaction.service.js +6 -24
  143. package/dist/services/ai-interaction.service.js.map +1 -1
  144. package/dist/services/authentication.service.d.ts +14 -10
  145. package/dist/services/authentication.service.d.ts.map +1 -1
  146. package/dist/services/authentication.service.js +158 -116
  147. package/dist/services/authentication.service.js.map +1 -1
  148. package/dist/services/bcrypt.service.d.ts +3 -5
  149. package/dist/services/bcrypt.service.d.ts.map +1 -1
  150. package/dist/services/bcrypt.service.js +10 -14
  151. package/dist/services/bcrypt.service.js.map +1 -1
  152. package/dist/services/chatter-message-details.service.d.ts +2 -13
  153. package/dist/services/chatter-message-details.service.d.ts.map +1 -1
  154. package/dist/services/chatter-message-details.service.js +4 -22
  155. package/dist/services/chatter-message-details.service.js.map +1 -1
  156. package/dist/services/chatter-message.service.d.ts +2 -13
  157. package/dist/services/chatter-message.service.d.ts.map +1 -1
  158. package/dist/services/chatter-message.service.js +5 -23
  159. package/dist/services/chatter-message.service.js.map +1 -1
  160. package/dist/services/crud.service.d.ts +12 -12
  161. package/dist/services/crud.service.d.ts.map +1 -1
  162. package/dist/services/crud.service.js +25 -17
  163. package/dist/services/crud.service.js.map +1 -1
  164. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -13
  165. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +1 -1
  166. package/dist/services/dashboard-question-sql-dataset-config.service.js +4 -21
  167. package/dist/services/dashboard-question-sql-dataset-config.service.js.map +1 -1
  168. package/dist/services/dashboard-question.service.d.ts +2 -13
  169. package/dist/services/dashboard-question.service.d.ts.map +1 -1
  170. package/dist/services/dashboard-question.service.js +4 -21
  171. package/dist/services/dashboard-question.service.js.map +1 -1
  172. package/dist/services/dashboard-variable.service.d.ts +2 -13
  173. package/dist/services/dashboard-variable.service.d.ts.map +1 -1
  174. package/dist/services/dashboard-variable.service.js +4 -21
  175. package/dist/services/dashboard-variable.service.js.map +1 -1
  176. package/dist/services/dashboard.service.d.ts +2 -13
  177. package/dist/services/dashboard.service.d.ts.map +1 -1
  178. package/dist/services/dashboard.service.js +4 -21
  179. package/dist/services/dashboard.service.js.map +1 -1
  180. package/dist/services/email-template.service.d.ts +2 -13
  181. package/dist/services/email-template.service.d.ts.map +1 -1
  182. package/dist/services/email-template.service.js +4 -22
  183. package/dist/services/email-template.service.js.map +1 -1
  184. package/dist/services/export-template.service.d.ts +2 -13
  185. package/dist/services/export-template.service.d.ts.map +1 -1
  186. package/dist/services/export-template.service.js +4 -21
  187. package/dist/services/export-template.service.js.map +1 -1
  188. package/dist/services/export-transaction.service.d.ts +2 -13
  189. package/dist/services/export-transaction.service.d.ts.map +1 -1
  190. package/dist/services/export-transaction.service.js +4 -21
  191. package/dist/services/export-transaction.service.js.map +1 -1
  192. package/dist/services/field-metadata.service.d.ts +11 -0
  193. package/dist/services/field-metadata.service.d.ts.map +1 -1
  194. package/dist/services/field-metadata.service.js +3 -0
  195. package/dist/services/field-metadata.service.js.map +1 -1
  196. package/dist/services/file.service.d.ts +1 -4
  197. package/dist/services/file.service.d.ts.map +1 -1
  198. package/dist/services/file.service.js +12 -13
  199. package/dist/services/file.service.js.map +1 -1
  200. package/dist/services/genai/r2r-helper.service.d.ts +3 -1
  201. package/dist/services/genai/r2r-helper.service.d.ts.map +1 -1
  202. package/dist/services/genai/r2r-helper.service.js +11 -7
  203. package/dist/services/genai/r2r-helper.service.js.map +1 -1
  204. package/dist/services/import-transaction-error-log.service.d.ts +2 -13
  205. package/dist/services/import-transaction-error-log.service.d.ts.map +1 -1
  206. package/dist/services/import-transaction-error-log.service.js +4 -22
  207. package/dist/services/import-transaction-error-log.service.js.map +1 -1
  208. package/dist/services/import-transaction.service.d.ts +2 -13
  209. package/dist/services/import-transaction.service.d.ts.map +1 -1
  210. package/dist/services/import-transaction.service.js +4 -22
  211. package/dist/services/import-transaction.service.js.map +1 -1
  212. package/dist/services/list-of-values.service.d.ts +2 -13
  213. package/dist/services/list-of-values.service.d.ts.map +1 -1
  214. package/dist/services/list-of-values.service.js +4 -22
  215. package/dist/services/list-of-values.service.js.map +1 -1
  216. package/dist/services/locale.service.d.ts +2 -13
  217. package/dist/services/locale.service.d.ts.map +1 -1
  218. package/dist/services/locale.service.js +4 -22
  219. package/dist/services/locale.service.js.map +1 -1
  220. package/dist/services/mail/elastic-email.service.d.ts +4 -5
  221. package/dist/services/mail/elastic-email.service.d.ts.map +1 -1
  222. package/dist/services/mail/elastic-email.service.js +10 -13
  223. package/dist/services/mail/elastic-email.service.js.map +1 -1
  224. package/dist/services/mail/smtp-email.service.d.ts +3 -4
  225. package/dist/services/mail/smtp-email.service.d.ts.map +1 -1
  226. package/dist/services/mail/smtp-email.service.js +19 -17
  227. package/dist/services/mail/smtp-email.service.js.map +1 -1
  228. package/dist/services/media-storage-provider-metadata.service.d.ts +11 -0
  229. package/dist/services/media-storage-provider-metadata.service.d.ts.map +1 -1
  230. package/dist/services/media-storage-provider-metadata.service.js +3 -0
  231. package/dist/services/media-storage-provider-metadata.service.js.map +1 -1
  232. package/dist/services/media.service.d.ts +2 -9
  233. package/dist/services/media.service.d.ts.map +1 -1
  234. package/dist/services/media.service.js +17 -28
  235. package/dist/services/media.service.js.map +1 -1
  236. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +2 -4
  237. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  238. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +2 -11
  239. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  240. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +3 -1
  241. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  242. package/dist/services/mediaStorageProviders/file-storage-provider.js +16 -12
  243. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  244. package/dist/services/mediaStorageProviders/index.d.ts +1 -1
  245. package/dist/services/mediaStorageProviders/index.d.ts.map +1 -1
  246. package/dist/services/mediaStorageProviders/index.js +1 -1
  247. package/dist/services/mediaStorageProviders/index.js.map +1 -1
  248. package/dist/services/menu-item-metadata.service.d.ts +2 -13
  249. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  250. package/dist/services/menu-item-metadata.service.js +4 -22
  251. package/dist/services/menu-item-metadata.service.js.map +1 -1
  252. package/dist/services/model-metadata.service.d.ts +11 -0
  253. package/dist/services/model-metadata.service.d.ts.map +1 -1
  254. package/dist/services/model-metadata.service.js +3 -0
  255. package/dist/services/model-metadata.service.js.map +1 -1
  256. package/dist/services/model-sequence.service.d.ts +2 -13
  257. package/dist/services/model-sequence.service.d.ts.map +1 -1
  258. package/dist/services/model-sequence.service.js +4 -21
  259. package/dist/services/model-sequence.service.js.map +1 -1
  260. package/dist/services/module-metadata.service.d.ts +14 -1
  261. package/dist/services/module-metadata.service.d.ts.map +1 -1
  262. package/dist/services/module-metadata.service.js +13 -6
  263. package/dist/services/module-metadata.service.js.map +1 -1
  264. package/dist/services/mq-message-queue.service.d.ts +2 -13
  265. package/dist/services/mq-message-queue.service.d.ts.map +1 -1
  266. package/dist/services/mq-message-queue.service.js +4 -22
  267. package/dist/services/mq-message-queue.service.js.map +1 -1
  268. package/dist/services/mq-message.service.d.ts +2 -13
  269. package/dist/services/mq-message.service.d.ts.map +1 -1
  270. package/dist/services/mq-message.service.js +4 -22
  271. package/dist/services/mq-message.service.js.map +1 -1
  272. package/dist/services/permission-metadata.service.d.ts +2 -13
  273. package/dist/services/permission-metadata.service.d.ts.map +1 -1
  274. package/dist/services/permission-metadata.service.js +4 -22
  275. package/dist/services/permission-metadata.service.js.map +1 -1
  276. package/dist/services/role-metadata.service.d.ts +2 -13
  277. package/dist/services/role-metadata.service.d.ts.map +1 -1
  278. package/dist/services/role-metadata.service.js +4 -23
  279. package/dist/services/role-metadata.service.js.map +1 -1
  280. package/dist/services/saved-filters.service.d.ts +2 -13
  281. package/dist/services/saved-filters.service.d.ts.map +1 -1
  282. package/dist/services/saved-filters.service.js +4 -21
  283. package/dist/services/saved-filters.service.js.map +1 -1
  284. package/dist/services/scheduled-job.service.d.ts +2 -13
  285. package/dist/services/scheduled-job.service.d.ts.map +1 -1
  286. package/dist/services/scheduled-job.service.js +4 -22
  287. package/dist/services/scheduled-job.service.js.map +1 -1
  288. package/dist/services/scheduled-jobs/scheduler.service.d.ts +1 -0
  289. package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
  290. package/dist/services/scheduled-jobs/scheduler.service.js +29 -0
  291. package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
  292. package/dist/services/security-rule.service.d.ts +2 -13
  293. package/dist/services/security-rule.service.d.ts.map +1 -1
  294. package/dist/services/security-rule.service.js +5 -23
  295. package/dist/services/security-rule.service.js.map +1 -1
  296. package/dist/services/setting.service.d.ts +23 -30
  297. package/dist/services/setting.service.d.ts.map +1 -1
  298. package/dist/services/setting.service.js +147 -196
  299. package/dist/services/setting.service.js.map +1 -1
  300. package/dist/services/settings/default-settings-provider.service.d.ts +1058 -0
  301. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -0
  302. package/dist/services/settings/default-settings-provider.service.js +139 -0
  303. package/dist/services/settings/default-settings-provider.service.js.map +1 -0
  304. package/dist/services/short-url/tiny-url.service.d.ts +3 -4
  305. package/dist/services/short-url/tiny-url.service.d.ts.map +1 -1
  306. package/dist/services/short-url/tiny-url.service.js +10 -13
  307. package/dist/services/short-url/tiny-url.service.js.map +1 -1
  308. package/dist/services/sms/Msg91BaseSMSService.d.ts +3 -4
  309. package/dist/services/sms/Msg91BaseSMSService.d.ts.map +1 -1
  310. package/dist/services/sms/Msg91BaseSMSService.js +3 -3
  311. package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
  312. package/dist/services/sms/Msg91OTPService.d.ts +2 -3
  313. package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
  314. package/dist/services/sms/Msg91OTPService.js +7 -13
  315. package/dist/services/sms/Msg91OTPService.js.map +1 -1
  316. package/dist/services/sms/Msg91SMSService.d.ts +2 -3
  317. package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
  318. package/dist/services/sms/Msg91SMSService.js +7 -13
  319. package/dist/services/sms/Msg91SMSService.js.map +1 -1
  320. package/dist/services/sms/TwilioSMSService.d.ts +3 -4
  321. package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
  322. package/dist/services/sms/TwilioSMSService.js +13 -16
  323. package/dist/services/sms/TwilioSMSService.js.map +1 -1
  324. package/dist/services/sms-template.service.d.ts +2 -13
  325. package/dist/services/sms-template.service.d.ts.map +1 -1
  326. package/dist/services/sms-template.service.js +4 -22
  327. package/dist/services/sms-template.service.js.map +1 -1
  328. package/dist/services/solid-introspect.service.d.ts +4 -1
  329. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  330. package/dist/services/solid-introspect.service.js +33 -47
  331. package/dist/services/solid-introspect.service.js.map +1 -1
  332. package/dist/services/textract.service.d.ts +1 -4
  333. package/dist/services/textract.service.d.ts.map +1 -1
  334. package/dist/services/textract.service.js +14 -18
  335. package/dist/services/textract.service.js.map +1 -1
  336. package/dist/services/user-activity-history.service.d.ts +2 -13
  337. package/dist/services/user-activity-history.service.d.ts.map +1 -1
  338. package/dist/services/user-activity-history.service.js +4 -22
  339. package/dist/services/user-activity-history.service.js.map +1 -1
  340. package/dist/services/user-view-metadata.service.d.ts +2 -13
  341. package/dist/services/user-view-metadata.service.d.ts.map +1 -1
  342. package/dist/services/user-view-metadata.service.js +4 -22
  343. package/dist/services/user-view-metadata.service.js.map +1 -1
  344. package/dist/services/user.service.d.ts +2 -15
  345. package/dist/services/user.service.d.ts.map +1 -1
  346. package/dist/services/user.service.js +7 -28
  347. package/dist/services/user.service.js.map +1 -1
  348. package/dist/services/view-metadata.service.d.ts +2 -13
  349. package/dist/services/view-metadata.service.d.ts.map +1 -1
  350. package/dist/services/view-metadata.service.js +5 -23
  351. package/dist/services/view-metadata.service.js.map +1 -1
  352. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +3 -4
  353. package/dist/services/whatsapp/Msg91WhatsappService.d.ts.map +1 -1
  354. package/dist/services/whatsapp/Msg91WhatsappService.js +12 -18
  355. package/dist/services/whatsapp/Msg91WhatsappService.js.map +1 -1
  356. package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -4
  357. package/dist/services/whatsapp/Three60WhatsappService.d.ts.map +1 -1
  358. package/dist/services/whatsapp/Three60WhatsappService.js +2 -11
  359. package/dist/services/whatsapp/Three60WhatsappService.js.map +1 -1
  360. package/dist/solid-core.module.d.ts.map +1 -1
  361. package/dist/solid-core.module.js +9 -47
  362. package/dist/solid-core.module.js.map +1 -1
  363. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -1
  364. package/dist/transformers/typeorm/local-date-time-transformer.js +4 -2
  365. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -1
  366. package/dist/tsconfig.tsbuildinfo +1 -1
  367. package/docs/type-declaration-import-issue.md +24 -0
  368. package/package.json +2 -1
  369. package/src/commands/info.command.ts +101 -0
  370. package/src/commands/mcp.command.ts +3 -17
  371. package/src/commands/seed.command.ts +5 -17
  372. package/src/controllers/email-template.controller.ts +9 -4
  373. package/src/controllers/google-authentication.controller.ts +19 -12
  374. package/src/controllers/setting.controller.ts +6 -81
  375. package/src/controllers/test.controller.ts +0 -18
  376. package/src/decorators/settings-provider.decorator.ts +7 -0
  377. package/src/decorators/solid-password.decorator.ts +43 -43
  378. package/src/dtos/create-role-metadata.dto.ts +4 -81
  379. package/src/dtos/create-scheduled-job.dto.ts +4 -0
  380. package/src/dtos/create-setting.dto.ts +14 -1
  381. package/src/dtos/update-scheduled-job.dto.ts +4 -0
  382. package/src/dtos/update-setting.dto.ts +14 -0
  383. package/src/entities/scheduled-job.entity.ts +2 -0
  384. package/src/entities/setting.entity.ts +15 -1
  385. package/src/factories/mail.factory.ts +4 -4
  386. package/src/factories/sms.factory.ts +9 -7
  387. package/src/factories/whatsapp.factory.ts +4 -4
  388. package/src/guards/access-token.guard.ts +12 -5
  389. package/src/helpers/command.service.ts +44 -12
  390. package/src/helpers/cors.helper.ts +3 -3
  391. package/src/helpers/error-mapper.service.ts +0 -1
  392. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +2 -2
  393. package/src/helpers/google-oauth.helper.ts +11 -7
  394. package/src/helpers/module.helper.ts +2 -2
  395. package/src/helpers/schematic.service.ts +41 -35
  396. package/src/helpers/solid-registry.ts +45 -16
  397. package/src/index.ts +2 -4
  398. package/src/interfaces.ts +29 -0
  399. package/src/passport-strategies/google-oauth.strategy.ts +11 -8
  400. package/src/repository/scheduled-job.repository.ts +1 -0
  401. package/src/seeders/email-template-seeder.service.ts +6 -4
  402. package/src/seeders/module-metadata-seeder.service.ts +41 -29
  403. package/src/seeders/seed-data/solid-core-metadata.json +120 -6
  404. package/src/seeders/sms-template-seeder.service.ts +6 -4
  405. package/src/seeders/system-fields-seeder.service.ts +3 -0
  406. package/src/services/action-metadata.service.ts +4 -16
  407. package/src/services/ai-interaction.service.ts +6 -17
  408. package/src/services/authentication.service.ts +175 -113
  409. package/src/services/bcrypt.service.ts +9 -9
  410. package/src/services/chatter-message-details.service.ts +5 -17
  411. package/src/services/chatter-message.service.ts +2 -14
  412. package/src/services/crud.service.ts +36 -28
  413. package/src/services/dashboard-question-sql-dataset-config.service.ts +4 -15
  414. package/src/services/dashboard-question.service.ts +4 -17
  415. package/src/services/dashboard-variable.service.ts +4 -16
  416. package/src/services/dashboard.service.ts +2 -13
  417. package/src/services/email-template.service.ts +3 -15
  418. package/src/services/export-template.service.ts +4 -18
  419. package/src/services/export-transaction.service.ts +4 -19
  420. package/src/services/field-metadata.service.ts +5 -1
  421. package/src/services/file.service.ts +14 -12
  422. package/src/services/genai/r2r-helper.service.ts +10 -6
  423. package/src/services/import-transaction-error-log.service.ts +5 -17
  424. package/src/services/import-transaction.service.ts +3 -15
  425. package/src/services/list-of-values.service.ts +3 -16
  426. package/src/services/locale.service.ts +3 -15
  427. package/src/services/mail/elastic-email.service.ts +7 -7
  428. package/src/services/mail/smtp-email.service.ts +19 -11
  429. package/src/services/media-storage-provider-metadata.service.ts +4 -0
  430. package/src/services/media.service.ts +39 -22
  431. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +0 -3
  432. package/src/services/mediaStorageProviders/file-storage-provider.ts +24 -12
  433. package/src/services/mediaStorageProviders/index.ts +1 -1
  434. package/src/services/menu-item-metadata.service.ts +5 -17
  435. package/src/services/model-metadata.service.ts +4 -0
  436. package/src/services/model-sequence.service.ts +4 -15
  437. package/src/services/module-metadata.service.ts +13 -4
  438. package/src/services/mq-message-queue.service.ts +5 -17
  439. package/src/services/mq-message.service.ts +5 -17
  440. package/src/services/permission-metadata.service.ts +4 -16
  441. package/src/services/role-metadata.service.ts +3 -16
  442. package/src/services/saved-filters.service.ts +2 -13
  443. package/src/services/scheduled-job.service.ts +3 -15
  444. package/src/services/scheduled-jobs/scheduler.service.ts +40 -3
  445. package/src/services/security-rule.service.ts +4 -16
  446. package/src/services/setting.service.ts +223 -212
  447. package/src/services/settings/default-settings-provider.service.ts +157 -0
  448. package/src/services/short-url/tiny-url.service.ts +9 -7
  449. package/src/services/sms/Msg91BaseSMSService.ts +6 -4
  450. package/src/services/sms/Msg91OTPService.ts +7 -7
  451. package/src/services/sms/Msg91SMSService.ts +7 -6
  452. package/src/services/sms/TwilioSMSService.ts +18 -19
  453. package/src/services/sms-template.service.ts +3 -15
  454. package/src/services/solid-introspect.service.ts +45 -66
  455. package/src/services/textract.service.ts +13 -10
  456. package/src/services/user-activity-history.service.ts +5 -17
  457. package/src/services/user-view-metadata.service.ts +5 -17
  458. package/src/services/user.service.ts +7 -22
  459. package/src/services/view-metadata.service.ts +3 -15
  460. package/src/services/whatsapp/Msg91WhatsappService.ts +10 -11
  461. package/src/services/whatsapp/Three60WhatsappService.ts +0 -3
  462. package/src/solid-core.module.ts +17 -49
  463. package/src/transformers/typeorm/local-date-time-transformer.ts +10 -5
  464. package/# Password field.md +0 -8
  465. package/dist/config/app-builder.config.d.ts +0 -11
  466. package/dist/config/app-builder.config.d.ts.map +0 -1
  467. package/dist/config/app-builder.config.js +0 -13
  468. package/dist/config/app-builder.config.js.map +0 -1
  469. package/dist/config/common.config.d.ts +0 -96
  470. package/dist/config/common.config.d.ts.map +0 -1
  471. package/dist/config/common.config.js +0 -51
  472. package/dist/config/common.config.js.map +0 -1
  473. package/dist/config/iam.config.d.ts +0 -56
  474. package/dist/config/iam.config.d.ts.map +0 -1
  475. package/dist/config/iam.config.js +0 -35
  476. package/dist/config/iam.config.js.map +0 -1
  477. package/dist/config/jwt.config.d.ts +0 -14
  478. package/dist/config/jwt.config.d.ts.map +0 -1
  479. package/dist/config/jwt.config.js +0 -15
  480. package/dist/config/jwt.config.js.map +0 -1
  481. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts +0 -16
  482. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts.map +0 -1
  483. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js +0 -151
  484. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js.map +0 -1
  485. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts +0 -17
  486. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts.map +0 -1
  487. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js +0 -80
  488. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js.map +0 -1
  489. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts +0 -16
  490. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts.map +0 -1
  491. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js +0 -74
  492. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js.map +0 -1
  493. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts +0 -12
  494. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts.map +0 -1
  495. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js +0 -47
  496. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js.map +0 -1
  497. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts +0 -16
  498. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts.map +0 -1
  499. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js +0 -151
  500. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js.map +0 -1
  501. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts +0 -16
  502. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts.map +0 -1
  503. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js +0 -75
  504. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js.map +0 -1
  505. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts +0 -14
  506. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts.map +0 -1
  507. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js +0 -73
  508. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js.map +0 -1
  509. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts +0 -14
  510. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts.map +0 -1
  511. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js +0 -45
  512. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js.map +0 -1
  513. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts +0 -14
  514. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts.map +0 -1
  515. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js +0 -51
  516. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js.map +0 -1
  517. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts +0 -12
  518. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts.map +0 -1
  519. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js +0 -38
  520. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js.map +0 -1
  521. package/dist/services/media-storage-provider-metadata-seeder.service.d.ts +0 -8
  522. package/dist/services/media-storage-provider-metadata-seeder.service.d.ts.map +0 -1
  523. package/dist/services/media-storage-provider-metadata-seeder.service.js +0 -43
  524. package/dist/services/media-storage-provider-metadata-seeder.service.js.map +0 -1
  525. package/sql-server-changes.txt +0 -88
  526. package/src/config/app-builder.config.ts +0 -12
  527. package/src/config/common.config.ts +0 -55
  528. package/src/config/iam.config.ts +0 -32
  529. package/src/config/jwt.config.ts +0 -13
  530. package/src/services/export_issues.txt +0 -10
  531. package/src/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.ts +0 -137
  532. package/src/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.ts +0 -81
  533. package/src/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.ts +0 -69
  534. package/src/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.ts +0 -68
  535. package/src/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.ts +0 -141
  536. package/src/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.ts +0 -71
  537. package/src/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.ts +0 -72
  538. package/src/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.ts +0 -45
  539. package/src/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.ts +0 -58
  540. package/src/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.ts +0 -40
  541. package/src/services/groupBy.json +0 -92
  542. package/src/services/media-storage-provider-metadata-seeder.service.ts +0 -33
@@ -1,13 +1,12 @@
1
- import { Inject, Injectable, Logger } from '@nestjs/common';
1
+ import { Injectable, Logger } from '@nestjs/common';
2
2
  import * as fs from 'fs';
3
3
  // import * as AWS from 'aws-sdk';
4
- import { S3Client, PutObjectCommand, DeleteObjectCommand, ObjectCannedACL, GetObjectCommand } from '@aws-sdk/client-s3';
5
- import { ConfigType } from '@nestjs/config';
6
- import commonConfig, { AwsS3Config } from '../config/common.config';
7
- import path from 'path';
8
- import { Readable } from 'stream';
4
+ import { DeleteObjectCommand, GetObjectCommand, PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
9
5
  import { getSignedUrl as awsGetSignedUrl } from '@aws-sdk/s3-request-presigner';
6
+ import path from 'path';
10
7
  import { ERROR_MESSAGES } from 'src/constants/error-messages';
8
+ import { AwsS3Config } from 'src/interfaces';
9
+ import { Readable } from 'stream';
11
10
 
12
11
  @Injectable()
13
12
  export class FileService {
@@ -16,16 +15,19 @@ export class FileService {
16
15
  private readonly logger = new Logger(FileService.name);
17
16
 
18
17
  constructor(
19
- @Inject(commonConfig.KEY)
20
- private readonly commonConfiguration: ConfigType<typeof commonConfig>,
21
18
 
22
19
  ) {
23
- if (!this.isValidS3Config(this.commonConfiguration.awsS3Credentials)) { return }
20
+ const awsS3Credentials = {
21
+ S3_AWS_ACCESS_KEY: process.env.S3_AWS_ACCESS_KEY,
22
+ S3_AWS_SECRET_KEY: process.env.S3_AWS_SECRET_KEY,
23
+ S3_AWS_REGION_NAME: process.env.S3_AWS_REGION_NAME
24
+ }
25
+ if (!this.isValidS3Config(awsS3Credentials)) { return }
24
26
  this.s3Client = new S3Client({
25
- region: this.commonConfiguration.awsS3Credentials.S3_AWS_REGION_NAME,
27
+ region: process.env.S3_AWS_REGION_NAME,
26
28
  credentials: {
27
- accessKeyId: this.commonConfiguration.awsS3Credentials.S3_AWS_ACCESS_KEY,
28
- secretAccessKey: this.commonConfiguration.awsS3Credentials.S3_AWS_SECRET_KEY,
29
+ accessKeyId: process.env.S3_AWS_ACCESS_KEY,
30
+ secretAccessKey: process.env.S3_AWS_SECRET_KEY,
29
31
  },
30
32
  });
31
33
  }
@@ -1,6 +1,8 @@
1
1
  import { Injectable, Logger } from '@nestjs/common';
2
+ import type { SolidCoreSetting } from "src/services/settings/default-settings-provider.service";
2
3
 
3
4
  import { r2rClient } from 'r2r-js';
5
+ import { SettingService } from '../setting.service';
4
6
 
5
7
 
6
8
 
@@ -8,17 +10,19 @@ import { r2rClient } from 'r2r-js';
8
10
  export class R2RHelperService {
9
11
  private readonly logger = new Logger(R2RHelperService.name);
10
12
 
11
- constructor() { }
13
+ constructor(private readonly settingService: SettingService) { }
12
14
 
13
15
  async getClient() {
14
- this.logger.debug(`Attempting to create RAG client with url: ${process.env.GENAI_RAG_SERVER_URL}`);
15
- const client = new r2rClient(process.env.GENAI_RAG_SERVER_URL);
16
+ const ragServerUrl = this.settingService.getConfigValue<SolidCoreSetting>('ragServerUrl');
17
+ this.logger.debug(`Attempting to create RAG client with url: ${ragServerUrl}`);
18
+ const client = new r2rClient(ragServerUrl);
16
19
 
20
+ const ragServerLogin = this.settingService.getConfigValue<SolidCoreSetting>('ragServerLogin');
17
21
  // @ts-ignore
18
- this.logger.debug(`Attempting to login to our RAG server with user ${process.env.GENAI_RAG_SERVER_LOGIN}`)
22
+ this.logger.debug(`Attempting to login to our RAG server with user ${ragServerLogin}`)
19
23
  await client.users.login({
20
- email: process.env.GENAI_RAG_SERVER_LOGIN,
21
- password: process.env.GENAI_RAG_SERVER_PASSWORD
24
+ email: ragServerLogin,
25
+ password: this.settingService.getConfigValue<SolidCoreSetting>('ragServerPassword')
22
26
  });
23
27
 
24
28
  return client;
@@ -1,14 +1,9 @@
1
- import { forwardRef, Inject, Injectable } from '@nestjs/common';
2
- import { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';
3
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
4
- import { EntityManager, Repository } from 'typeorm';
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectEntityManager } from '@nestjs/typeorm';
3
+ import { ModuleRef } from "@nestjs/core";
4
+ import { EntityManager } from 'typeorm';
5
5
 
6
6
  import { CRUDService } from 'src/services/crud.service';
7
- import { ModelMetadataService } from 'src/services/model-metadata.service';
8
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
9
- import { ConfigService } from '@nestjs/config';
10
- import { FileService } from 'src/services/file.service';
11
- import { CrudHelperService } from 'src/services/crud-helper.service';
12
7
 
13
8
 
14
9
  import { ImportTransactionErrorLog } from '../entities/import-transaction-error-log.entity';
@@ -17,13 +12,6 @@ import { ImportTransactionErrorLogRepository } from 'src/repository/import-trans
17
12
  @Injectable()
18
13
  export class ImportTransactionErrorLogService extends CRUDService<ImportTransactionErrorLog>{
19
14
  constructor(
20
- @Inject(forwardRef(() => ModelMetadataService))
21
- readonly modelMetadataService: ModelMetadataService,
22
- readonly moduleMetadataService: ModuleMetadataService,
23
- readonly configService: ConfigService,
24
- readonly fileService: FileService,
25
- readonly discoveryService: DiscoveryService,
26
- readonly crudHelperService: CrudHelperService,
27
15
  @InjectEntityManager()
28
16
  readonly entityManager: EntityManager,
29
17
  // @InjectRepository(ImportTransactionErrorLog, 'default')
@@ -32,6 +20,6 @@ export class ImportTransactionErrorLogService extends CRUDService<ImportTransact
32
20
  readonly moduleRef: ModuleRef
33
21
 
34
22
  ) {
35
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'importTransactionErrorLog', 'solid-core', moduleRef);
23
+ super(entityManager, repo, 'importTransactionErrorLog', 'solid-core', moduleRef);
36
24
  }
37
25
  }
@@ -1,14 +1,9 @@
1
- import { BadRequestException, ForbiddenException, forwardRef, Inject, Injectable, Logger } from '@nestjs/common';
2
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
1
+ import { BadRequestException, ForbiddenException, Injectable, Logger } from '@nestjs/common';
2
+ import { ModuleRef } from "@nestjs/core";
3
3
  import { InjectEntityManager } from '@nestjs/typeorm';
4
4
  import { EntityManager } from 'typeorm';
5
5
 
6
- import { ConfigService } from '@nestjs/config';
7
- import { CrudHelperService } from 'src/services/crud-helper.service';
8
6
  import { CRUDService } from 'src/services/crud.service';
9
- import { FileService } from 'src/services/file.service';
10
- import { ModelMetadataService } from 'src/services/model-metadata.service';
11
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
12
7
 
13
8
 
14
9
  import { classify } from '@angular-devkit/core/src/utils/strings';
@@ -94,13 +89,6 @@ interface ImportRecordsResult {
94
89
  @Injectable()
95
90
  export class ImportTransactionService extends CRUDService<ImportTransaction> {
96
91
  constructor(
97
- @Inject(forwardRef(() => ModelMetadataService))
98
- readonly modelMetadataService: ModelMetadataService,
99
- readonly moduleMetadataService: ModuleMetadataService,
100
- readonly configService: ConfigService,
101
- readonly fileService: FileService,
102
- readonly discoveryService: DiscoveryService,
103
- readonly crudHelperService: CrudHelperService,
104
92
  @InjectEntityManager()
105
93
  readonly entityManager: EntityManager,
106
94
  // @InjectRepository(ImportTransaction, 'default')
@@ -114,7 +102,7 @@ export class ImportTransactionService extends CRUDService<ImportTransaction> {
114
102
  private readonly modelMetadataHelperService: ModelMetadataHelperService,
115
103
  // readonly fieldMetadataService: FieldMetadataService,
116
104
  ) {
117
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'importTransaction', 'solid-core', moduleRef);
105
+ super(entityManager, repo, 'importTransaction', 'solid-core', moduleRef);
118
106
  }
119
107
 
120
108
  private readonly logger = new Logger(ImportTransactionService.name);
@@ -1,14 +1,9 @@
1
- import { forwardRef, Inject, Injectable } from '@nestjs/common';
2
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
1
+ import { Injectable } from '@nestjs/common';
2
+ import { ModuleRef } from "@nestjs/core";
3
3
  import { InjectEntityManager } from '@nestjs/typeorm';
4
4
  import { EntityManager } from 'typeorm';
5
5
 
6
- import { ConfigService } from '@nestjs/config';
7
- import { CrudHelperService } from 'src/services/crud-helper.service';
8
6
  import { CRUDService } from 'src/services/crud.service';
9
- import { FileService } from 'src/services/file.service';
10
- import { ModelMetadataService } from 'src/services/model-metadata.service';
11
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
12
7
 
13
8
 
14
9
  import * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await
@@ -24,14 +19,6 @@ export class ListOfValuesService extends CRUDService<ListOfValues> {
24
19
  // moduleMetadataHelperService: any;
25
20
  // listOfValuesMapper: any;
26
21
  constructor(
27
- @Inject(forwardRef(() => ModelMetadataService))
28
- readonly modelMetadataService: ModelMetadataService,
29
- readonly moduleMetadataService: ModuleMetadataService,
30
- readonly configService: ConfigService,
31
- readonly fileService: FileService,
32
- readonly discoveryService: DiscoveryService,
33
- readonly crudHelperService: CrudHelperService,
34
-
35
22
  @InjectEntityManager()
36
23
  readonly entityManager: EntityManager,
37
24
  // @InjectRepository(ListOfValues, 'default')
@@ -42,7 +29,7 @@ export class ListOfValuesService extends CRUDService<ListOfValues> {
42
29
  readonly listOfValuesMapper: ListOfValuesMapper,
43
30
 
44
31
  ) {
45
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'listOfValues', 'solid-core', moduleRef);
32
+ super(entityManager, repo, 'listOfValues', 'solid-core', moduleRef);
46
33
  }
47
34
  async findOneByValueAndType(lovValue: string, lovType: string) {
48
35
  return await this.repo.findOne({
@@ -1,28 +1,16 @@
1
- import { forwardRef, Inject, Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';
2
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
1
+ import { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';
2
+ import { ModuleRef } from "@nestjs/core";
3
3
  import { InjectEntityManager } from '@nestjs/typeorm';
4
4
  import { EntityManager } from 'typeorm';
5
5
 
6
- import { ConfigService } from '@nestjs/config';
7
6
  import { Locale } from 'src/entities/locale.entity';
8
7
  import { SolidRegistry } from 'src/helpers/solid-registry';
9
8
  import { LocaleRepository } from 'src/repository/locale.repository';
10
- import { CrudHelperService } from 'src/services/crud-helper.service';
11
9
  import { CRUDService } from 'src/services/crud.service';
12
- import { FileService } from 'src/services/file.service';
13
- import { ModelMetadataService } from 'src/services/model-metadata.service';
14
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
15
10
  import { RequestContextService } from './request-context.service';
16
11
  @Injectable()
17
12
  export class LocaleService extends CRUDService<Locale> implements OnApplicationBootstrap{
18
13
  constructor(
19
- @Inject(forwardRef(() => ModelMetadataService))
20
- readonly modelMetadataService: ModelMetadataService,
21
- readonly moduleMetadataService: ModuleMetadataService,
22
- readonly configService: ConfigService,
23
- readonly fileService: FileService,
24
- readonly discoveryService: DiscoveryService,
25
- readonly crudHelperService: CrudHelperService,
26
14
  @InjectEntityManager()
27
15
  readonly entityManager: EntityManager,
28
16
  // @InjectRepository(Locale, 'default')
@@ -36,7 +24,7 @@ export class LocaleService extends CRUDService<Locale> implements OnApplicationB
36
24
  readonly requestContextService: RequestContextService,
37
25
  readonly solidRegistry: SolidRegistry,
38
26
  ) {
39
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'locale', 'solid-core', moduleRef);
27
+ super(entityManager, repo, 'locale', 'solid-core', moduleRef);
40
28
  }
41
29
  private readonly logger = new Logger(LocaleService.name)
42
30
  onApplicationBootstrap() {
@@ -1,7 +1,6 @@
1
1
  import { Inject, Injectable, Logger } from '@nestjs/common';
2
2
  import { ConfigType } from '@nestjs/config';
3
3
  import Handlebars from "handlebars";
4
- import commonConfig from 'src/config/common.config';
5
4
  import { EmailAttachment } from 'src/entities/email-attachment.entity';
6
5
  import { QueueMessage } from 'src/interfaces/mq';
7
6
  import { EmailTemplateService } from '../email-template.service';
@@ -10,6 +9,8 @@ import { FileService } from '../file.service';
10
9
  import { IMail, MailAttachment, MailAttachmentWrapper } from "../../interfaces";
11
10
  import { PublisherFactory } from '../queues/publisher-factory.service';
12
11
  import { MailProvider } from 'src/decorators/mail-provider.decorator';
12
+ import { SettingService } from '../setting.service';
13
+ import type { SolidCoreSetting } from "src/services/settings/default-settings-provider.service";
13
14
 
14
15
  const ElasticEmail = require('@elasticemail/elasticemail-client');
15
16
 
@@ -20,17 +21,16 @@ export class ElasticEmailService implements IMail {
20
21
  private readonly emailsApi;
21
22
 
22
23
  constructor(
23
- @Inject(commonConfig.KEY)
24
- private readonly commonConfiguration: ConfigType<typeof commonConfig>,
25
24
  // private readonly emailPublisher: ApiEmailQueuePublisher,
26
25
  private readonly publisherFactory: PublisherFactory<any>,
27
26
  private readonly emailTemplateService: EmailTemplateService,
28
27
  private readonly pdfService: PdfService,
29
28
  private readonly fileService: FileService,
29
+ private readonly settingService: SettingService
30
30
  ) {
31
31
  const client = ElasticEmail.ApiClient.instance;
32
32
  const apikey = client.authentications['apikey'];
33
- apikey.apiKey = commonConfiguration.apiMail.key;
33
+ apikey.apiKey = process.env.COMMON_API_EMAIL_KEY;
34
34
  this.emailsApi = new ElasticEmail.EmailsApi();
35
35
  }
36
36
 
@@ -64,7 +64,7 @@ export class ElasticEmailService implements IMail {
64
64
  async sendEmail(to: string, subject: string, body: string, shouldQueueEmails = false, parentEntity = null, parentEntityId = null, wrapperAttachments: MailAttachmentWrapper[] = []): Promise<void> {
65
65
  const message = {
66
66
  payload: {
67
- from: this.commonConfiguration.smtpMail.from,
67
+ from: this.settingService.getConfigValue<SolidCoreSetting>("smtpMailFrom"),
68
68
  to: to,
69
69
  subject: subject,
70
70
  body: body,
@@ -79,7 +79,7 @@ export class ElasticEmailService implements IMail {
79
79
  this.sendEmailAsynchronously(message);
80
80
  }
81
81
  // If developer has not, however system config mandates that we send using queue, still we send.
82
- else if (shouldQueueEmails == false && this.commonConfiguration.shouldQueueEmails === true) {
82
+ else if (shouldQueueEmails == false && this.settingService.getConfigValue<SolidCoreSetting>("shouldQueueEmails") === true) {
83
83
  this.sendEmailAsynchronously(message);
84
84
  }
85
85
  // Else we send synch
@@ -88,7 +88,7 @@ export class ElasticEmailService implements IMail {
88
88
  }
89
89
  }
90
90
 
91
- async sendEmailAsynchronously(message: QueueMessage<any>) {
91
+ sendEmailAsynchronously(message: QueueMessage<any>) {
92
92
  const { to, subject, body } = message.payload;
93
93
  // this.notificationPublisherService.publish(message);
94
94
  // this.emailPublisher.publish(message);
@@ -1,12 +1,13 @@
1
1
  import { Inject, Injectable, Logger } from '@nestjs/common';
2
2
  import { ConfigType } from '@nestjs/config';
3
3
  import Handlebars from "handlebars";
4
- import commonConfig from 'src/config/common.config';
5
4
  import { MailProvider } from 'src/decorators/mail-provider.decorator';
6
5
  import { QueueMessage } from 'src/interfaces/mq';
7
6
  import { IMail, MailAttachment, MailAttachmentWrapper } from "../../interfaces";
8
7
  import { EmailTemplateService } from '../email-template.service';
9
8
  import { PublisherFactory } from '../queues/publisher-factory.service';
9
+ import { SettingService } from '../setting.service';
10
+ import type { SolidCoreSetting } from "src/services/settings/default-settings-provider.service";
10
11
 
11
12
  const nodemailer = require("nodemailer");
12
13
 
@@ -17,20 +18,27 @@ export class SMTPEMailService implements IMail {
17
18
  private readonly transporter: any;
18
19
 
19
20
  constructor(
20
- @Inject(commonConfig.KEY)
21
- private readonly commonConfiguration: ConfigType<typeof commonConfig>,
22
21
  // private readonly emailPublisher: EmailQueuePublisher,
23
22
  // private readonly emailDbPublisher: EmailQueueDbPublisher,
24
23
  private readonly publisherFactory: PublisherFactory<any>,
25
24
  private readonly emailTemplateService: EmailTemplateService,
25
+ private readonly settingService: SettingService
26
+
26
27
  ) {
28
+
29
+ const host = process.env.COMMON_SMTP_EMAIL_SMTP_HOST;
30
+ const port = +(process.env.COMMON_SMTP_EMAIL_SMTP_PORT ?? 587);
31
+ const username = process.env.COMMON_SMTP_EMAIL_USERNAME;
32
+ const password = process.env.COMMON_SMTP_EMAIL_PASSWORD;
33
+ const from = process.env.COMMON_SMTP_EMAIL_FROM ?? process.env.COMMON_EMAIL_FROM;
34
+
27
35
  this.transporter = nodemailer.createTransport({
28
- host: this.commonConfiguration.smtpMail.host,
29
- port: this.commonConfiguration.smtpMail.port,
30
- secure: this.commonConfiguration.smtpMail.port === 465,
36
+ host: host,
37
+ port: port,
38
+ secure: port === 465,
31
39
  auth: {
32
- user: this.commonConfiguration.smtpMail.username,
33
- pass: this.commonConfiguration.smtpMail.password
40
+ user: username,
41
+ pass: password
34
42
  }
35
43
  });
36
44
  }
@@ -81,7 +89,7 @@ export class SMTPEMailService implements IMail {
81
89
  ) {
82
90
  const message = {
83
91
  payload: {
84
- from: from || this.commonConfiguration.smtpMail.from,
92
+ from: from || this.settingService.getConfigValue<SolidCoreSetting>("smtpMailFrom"),
85
93
  to: to,
86
94
  subject: subject,
87
95
  body: body,
@@ -98,7 +106,7 @@ export class SMTPEMailService implements IMail {
98
106
  return this.sendEmailAsynchronously(message);
99
107
  }
100
108
  // If developer has not, however system config mandates that we send using queue, still we send.
101
- else if (shouldQueueEmails == false && this.commonConfiguration.shouldQueueEmails === true) {
109
+ else if (shouldQueueEmails == false && this.settingService.getConfigValue<SolidCoreSetting>("shouldQueueEmails") === true) {
102
110
  return this.sendEmailAsynchronously(message);
103
111
  }
104
112
  // Else we send synchronously
@@ -117,7 +125,7 @@ export class SMTPEMailService implements IMail {
117
125
  let from;
118
126
  const { to, subject, body, attachments = [], cc, bcc } = message.payload;
119
127
 
120
- const envFrom = this.commonConfiguration.smtpMail.from;
128
+ const envFrom = this.settingService.getConfigValue<SolidCoreSetting>("smtpMailFrom");
121
129
  if (envFrom) {
122
130
  from = envFrom;
123
131
  }
@@ -16,6 +16,10 @@ export class MediaStorageProviderMetadataService {
16
16
  private readonly crudHelperService: CrudHelperService
17
17
  ) { }
18
18
 
19
+ async find(basicFilterDto: BasicFilterDto) {
20
+ return this.findMany(basicFilterDto);
21
+ }
22
+
19
23
  async findMany(basicFilterDto: BasicFilterDto) {
20
24
  const alias = 'mediaStorageProviderMetadata';
21
25
  // Extract the required keys from the input query
@@ -1,14 +1,12 @@
1
1
  import { forwardRef, Inject, Injectable, NotFoundException } from '@nestjs/common';
2
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
2
+ import { ModuleRef } from "@nestjs/core";
3
3
  import { InjectEntityManager } from '@nestjs/typeorm';
4
4
  import { EntityManager, In } from 'typeorm';
5
+ import type { SolidCoreSetting } from "src/services/settings/default-settings-provider.service";
5
6
 
6
7
  import { ConfigService } from '@nestjs/config';
7
- import { CrudHelperService } from 'src/services/crud-helper.service';
8
8
  import { CRUDService } from 'src/services/crud.service';
9
9
  import { FileService } from 'src/services/file.service';
10
- import { ModelMetadataService } from 'src/services/model-metadata.service';
11
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
12
10
 
13
11
 
14
12
  import { ERROR_MESSAGES } from 'src/constants/error-messages';
@@ -25,13 +23,8 @@ import { getMediaStorageProvider } from "./mediaStorageProviders";
25
23
  @Injectable()
26
24
  export class MediaService extends CRUDService<Media> {
27
25
  constructor(
28
- @Inject(forwardRef(() => ModelMetadataService))
29
- readonly modelMetadataService: ModelMetadataService,
30
- readonly moduleMetadataService: ModuleMetadataService,
31
26
  readonly configService: ConfigService,
32
27
  readonly fileService: FileService,
33
- readonly discoveryService: DiscoveryService,
34
- readonly crudHelperService: CrudHelperService,
35
28
  @InjectEntityManager()
36
29
  readonly entityManager: EntityManager,
37
30
  // @InjectRepository(Media, 'default')
@@ -49,15 +42,16 @@ export class MediaService extends CRUDService<Media> {
49
42
  private readonly fieldMetadataRepo: FieldMetadataRepository,
50
43
  readonly moduleRef: ModuleRef,
51
44
  ) {
52
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'media', 'solid-core', moduleRef);
45
+ super(entityManager, repo, 'media', 'solid-core', moduleRef);
53
46
  }
54
47
 
55
48
  async find(basicFilterDto: BasicFilterDto, solidRequestContext: any = {}) {
56
49
  const data = await super.find(basicFilterDto, solidRequestContext);
57
50
  if (data.records) {
58
- data.records.forEach((media: Media) => {
51
+
52
+ for (const media of data.records) {
59
53
  if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.Filesystem) {
60
- media.relativeUri = `${process.env.BASE_URL}/${this.getFileSysytemFullFilePath(media.relativeUri)}`;
54
+ media.relativeUri = `${this.settingService.getConfigValue<SolidCoreSetting>("baseUrl")}/${await this.getFileSysytemFullFilePath(media.relativeUri)}`;
61
55
  } else if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.AwsS3) {
62
56
  media.relativeUri = this.getAwsS3FullFilePath(
63
57
  media.relativeUri,
@@ -65,19 +59,42 @@ export class MediaService extends CRUDService<Media> {
65
59
  media.mediaStorageProviderMetadata.region
66
60
  );
67
61
  }
68
- });
62
+ }
63
+ // data.records.forEach((media: Media) => {
64
+ // if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.Filesystem) {
65
+ // media.relativeUri = `${process.env.BASE_URL}/${await this.getFileSysytemFullFilePath(media.relativeUri)}`;
66
+ // } else if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.AwsS3) {
67
+ // media.relativeUri = this.getAwsS3FullFilePath(
68
+ // media.relativeUri,
69
+ // media.mediaStorageProviderMetadata.bucketName,
70
+ // media.mediaStorageProviderMetadata.region
71
+ // );
72
+ // }
73
+ // });
69
74
  }
70
75
  if (data.groupRecords) {
71
- data.groupRecords.forEach((group) => {
72
- group.groupData.records.forEach((media) => {
76
+
77
+ for (const group of data.groupRecords) {
78
+ for (const media of group.groupData.records) {
73
79
  if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.Filesystem) {
74
- media.relativeUri = `${process.env.BASE_URL}/${this.getFileSysytemFullFilePath(media.relativeUri)}`;
80
+ media.relativeUri = `${this.settingService.getConfigValue<SolidCoreSetting>("baseUrl")}/${await this.getFileSysytemFullFilePath(media.relativeUri)}`;
75
81
  }
76
82
  else if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.AwsS3) {
77
83
  media.relativeUri = this.getAwsS3FullFilePath(media.relativeUri, media.mediaStorageProviderMetadata.bucketName, media.mediaStorageProviderMetadata.region);
78
84
  }
79
- });
80
- });
85
+ }
86
+ }
87
+
88
+ // data.groupRecords.forEach((group) => {
89
+ // group.groupData.records.forEach((media) => {
90
+ // if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.Filesystem) {
91
+ // media.relativeUri = `${process.env.BASE_URL}/${this.getFileSysytemFullFilePath(media.relativeUri)}`;
92
+ // }
93
+ // else if (media.mediaStorageProviderMetadata?.type === MediaStorageProviderType.AwsS3) {
94
+ // media.relativeUri = this.getAwsS3FullFilePath(media.relativeUri, media.mediaStorageProviderMetadata.bucketName, media.mediaStorageProviderMetadata.region);
95
+ // }
96
+ // });
97
+ // });
81
98
  }
82
99
  return data
83
100
  }
@@ -111,7 +128,7 @@ export class MediaService extends CRUDService<Media> {
111
128
 
112
129
  switch (createDto.mediaStorageProviderMetadata.type) {
113
130
  case MediaStorageProviderType.Filesystem:
114
- const fileStoragePath = this.getFileSysytemFullFilePath(this.getFileName(file));
131
+ const fileStoragePath = await this.getFileSysytemFullFilePath(this.getFileName(file));
115
132
  await this.fileService.copyFile(file.path, fileStoragePath);
116
133
  createDto['relativeUri'] = this.getFileName(file);
117
134
  break;
@@ -171,11 +188,11 @@ export class MediaService extends CRUDService<Media> {
171
188
  }
172
189
  //TODO: Move this to a app builder config
173
190
 
174
- private getFileSysytemFullFilePath(fileName: string): string {
175
- return `${this.configService.get('app-builder.fileStorageDir')}/${fileName}`;
191
+ private async getFileSysytemFullFilePath(fileName: string): Promise<string> {
192
+ const fileStorageDir = this.settingService.getConfigValue<SolidCoreSetting>("fileStorageDir");
193
+ return `${fileStorageDir}/${fileName}`;
176
194
  }
177
195
 
178
-
179
196
  private getAwsS3FullFilePath(awsMediaurl: string, bucketName: string, regionName: string): string {
180
197
  // https://lunarismedia.s3.ap-south-1.amazonaws.com/LUNARIS_CP_REGISTRATION_CREATIVE.jpg
181
198
  return `https://${bucketName}.s3.${regionName}.amazonaws.com/${awsMediaurl}`;
@@ -9,7 +9,6 @@ import { MediaStorageProvider } from "src/interfaces";
9
9
  import { FileService } from "src/services/file.service";
10
10
  import { Readable } from "stream";
11
11
  import { MediaRepository } from "src/repository/media.repository";
12
- import commonConfig from "src/config/common.config";
13
12
 
14
13
  @Injectable()
15
14
  export class FileS3StorageProvider<T> implements MediaStorageProvider<T> {
@@ -21,8 +20,6 @@ export class FileS3StorageProvider<T> implements MediaStorageProvider<T> {
21
20
  private readonly configService: ConfigService,
22
21
  readonly fileService: FileService,
23
22
  readonly mediaRepository: MediaRepository,
24
- @Inject(commonConfig.KEY)
25
- private readonly commonConfiguration: ConfigType<typeof commonConfig>,
26
23
  ) { }
27
24
 
28
25
  storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]> {
@@ -7,6 +7,8 @@ import { MediaStorageProvider } from "src/interfaces";
7
7
  import { MediaRepository } from "src/repository/media.repository";
8
8
  import { FileService } from "src/services/file.service";
9
9
  import { Readable } from "stream";
10
+ import { SettingService } from "../setting.service";
11
+ import type { SolidCoreSetting } from "src/services/settings/default-settings-provider.service";
10
12
 
11
13
  @Injectable()
12
14
  export class FileStorageProvider<T> implements MediaStorageProvider<T> {
@@ -17,7 +19,8 @@ export class FileStorageProvider<T> implements MediaStorageProvider<T> {
17
19
  // private readonly appBuilderConfiguration: ConfigType<typeof appBuilderConfig>,
18
20
  private readonly configService: ConfigService,
19
21
  readonly fileService: FileService,
20
- readonly mediaRepository: MediaRepository
22
+ readonly mediaRepository: MediaRepository,
23
+ private readonly settingService: SettingService
21
24
 
22
25
  ) { }
23
26
 
@@ -28,9 +31,13 @@ export class FileStorageProvider<T> implements MediaStorageProvider<T> {
28
31
  //@ts-ignore
29
32
  const media = await this.mediaRepository.findByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id, ['mediaStorageProviderMetadata']);
30
33
  // Add the full URL to the media
31
- media.forEach(m => {
32
- m['_full_url'] = `${process.env.BASE_URL}/${this.getFullFilePath(m.relativeUri)}`;
33
- });
34
+ // media.forEach(m => {
35
+ // });
36
+ for (const m of media) {
37
+ m['_full_url'] = `${this.settingService.getConfigValue<SolidCoreSetting>("baseUrl")}/${this.getFullFilePath(m.relativeUri)}`;
38
+ }
39
+
40
+
34
41
  return media;
35
42
  }
36
43
 
@@ -41,14 +48,14 @@ export class FileStorageProvider<T> implements MediaStorageProvider<T> {
41
48
  const result: Media[] = [];
42
49
  for (const file of files) {
43
50
  // Store the file in the configured file storage directory
44
- const fileStoragePath = this.getFullFilePath(this.getFileName(file));
51
+ const fileStoragePath = await this.getFullFilePath(this.getFileName(file));
45
52
  await this.fileService.copyFile(file.path, fileStoragePath);
46
53
  await this.fileService.deleteFile(file.path);
47
54
 
48
55
  // Create an entry in the media table
49
56
  const mediaEntity = await this.mediaRepository.createMedia({
50
57
  //@ts-ignore
51
- entityId: entity.id,
58
+ entityId: entity.id,
52
59
  modelMetadataId: mediaFieldMetadata.model.id,
53
60
  relativeUri: this.getFileName(file),
54
61
  mimeType: file.mimetype,
@@ -71,7 +78,7 @@ export class FileStorageProvider<T> implements MediaStorageProvider<T> {
71
78
  for (const pair of streamPairs) {
72
79
  const stream = pair[0];
73
80
  const fileName = pair[1];
74
- this.fileService.writeStreamToFile(stream, this.getFullFilePath(fileName));
81
+ this.fileService.writeStreamToFile(stream, await this.getFullFilePath(fileName));
75
82
  const mediaEntity = await this.mediaRepository.createMedia({
76
83
  //@ts-ignore
77
84
  entityId: entity.id,
@@ -93,13 +100,18 @@ export class FileStorageProvider<T> implements MediaStorageProvider<T> {
93
100
  const existingMedia = await this.mediaRepository.findByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id, ['mediaStorageProviderMetadata']);
94
101
  //@ts-ignore
95
102
  this.mediaRepository.deleteByEntityIdAndFieldIdAndModelMetadataId(entity.id, mediaFieldMetadata.id, mediaFieldMetadata.model.id);
96
- existingMedia.forEach(media => {
97
- this.fileService.deleteFile(this.getFullFilePath(media.relativeUri));
98
- });
103
+
104
+ for (const media of existingMedia) {
105
+ this.fileService.deleteFile(await this.getFullFilePath(media.relativeUri));
106
+ }
107
+ // existingMedia.forEach(media => {
108
+ // });
99
109
  }
100
110
 
101
- private getFullFilePath(fileName: string): string {
102
- return `${this.configService.get('app-builder.fileStorageDir')}/${fileName}`;
111
+ private async getFullFilePath(fileName: string): Promise<string> {
112
+ const fileStorageDir = this.settingService.getConfigValue<SolidCoreSetting>("fileStorageDir")
113
+ return `${fileStorageDir}/${fileName}`;
114
+ // return `${this.configService.get('app-builder.fileStorageDir')}/${fileName}`;
103
115
  }
104
116
 
105
117
  private getFileName(file: Express.Multer.File): string {
@@ -1,7 +1,7 @@
1
1
  import { ModuleRef } from "@nestjs/core";
2
- import { MediaStorageProviderType } from "src/dtos/create-media-storage-provider-metadata.dto";
3
2
  import { FileS3StorageProvider } from "./file-s3-storage-provider";
4
3
  import { FileStorageProvider } from "./file-storage-provider";
4
+ import { MediaStorageProviderType } from "../../dtos/create-media-storage-provider-metadata.dto";
5
5
 
6
6
  export async function getMediaStorageProvider<T>(
7
7
  moduleRef: ModuleRef,