@solidstarters/solid-core 1.2.203 → 1.2.206

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 (505) 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 +2 -11
  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/decorators/settings-provider.decorator.d.ts +3 -0
  27. package/dist/decorators/settings-provider.decorator.d.ts.map +1 -0
  28. package/dist/decorators/settings-provider.decorator.js +8 -0
  29. package/dist/decorators/settings-provider.decorator.js.map +1 -0
  30. package/dist/decorators/solid-password.decorator.d.ts.map +1 -1
  31. package/dist/decorators/solid-password.decorator.js +3 -3
  32. package/dist/decorators/solid-password.decorator.js.map +1 -1
  33. package/dist/dtos/create-role-metadata.dto.d.ts +3 -4
  34. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  35. package/dist/dtos/create-role-metadata.dto.js +4 -51
  36. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  37. package/dist/dtos/create-setting.dto.d.ts +3 -0
  38. package/dist/dtos/create-setting.dto.d.ts.map +1 -1
  39. package/dist/dtos/create-setting.dto.js +20 -2
  40. package/dist/dtos/create-setting.dto.js.map +1 -1
  41. package/dist/dtos/update-setting.dto.d.ts +3 -0
  42. package/dist/dtos/update-setting.dto.d.ts.map +1 -1
  43. package/dist/dtos/update-setting.dto.js +19 -1
  44. package/dist/dtos/update-setting.dto.js.map +1 -1
  45. package/dist/entities/setting.entity.d.ts +3 -0
  46. package/dist/entities/setting.entity.d.ts.map +1 -1
  47. package/dist/entities/setting.entity.js +13 -1
  48. package/dist/entities/setting.entity.js.map +1 -1
  49. package/dist/factories/mail.factory.d.ts +3 -4
  50. package/dist/factories/mail.factory.d.ts.map +1 -1
  51. package/dist/factories/mail.factory.js +6 -12
  52. package/dist/factories/mail.factory.js.map +1 -1
  53. package/dist/factories/sms.factory.d.ts +3 -4
  54. package/dist/factories/sms.factory.d.ts.map +1 -1
  55. package/dist/factories/sms.factory.js +6 -12
  56. package/dist/factories/sms.factory.js.map +1 -1
  57. package/dist/factories/whatsapp.factory.d.ts +3 -4
  58. package/dist/factories/whatsapp.factory.d.ts.map +1 -1
  59. package/dist/factories/whatsapp.factory.js +6 -12
  60. package/dist/factories/whatsapp.factory.js.map +1 -1
  61. package/dist/guards/access-token.guard.d.ts +3 -4
  62. package/dist/guards/access-token.guard.d.ts.map +1 -1
  63. package/dist/guards/access-token.guard.js +14 -9
  64. package/dist/guards/access-token.guard.js.map +1 -1
  65. package/dist/helpers/cors.helper.d.ts +1 -2
  66. package/dist/helpers/cors.helper.d.ts.map +1 -1
  67. package/dist/helpers/cors.helper.js +2 -2
  68. package/dist/helpers/cors.helper.js.map +1 -1
  69. package/dist/helpers/error-mapper.service.d.ts.map +1 -1
  70. package/dist/helpers/error-mapper.service.js.map +1 -1
  71. package/dist/helpers/google-oauth.helper.d.ts +7 -3
  72. package/dist/helpers/google-oauth.helper.d.ts.map +1 -1
  73. package/dist/helpers/google-oauth.helper.js +1 -2
  74. package/dist/helpers/google-oauth.helper.js.map +1 -1
  75. package/dist/helpers/module.helper.js +0 -2
  76. package/dist/helpers/module.helper.js.map +1 -1
  77. package/dist/helpers/solid-registry.d.ts +8 -3
  78. package/dist/helpers/solid-registry.d.ts.map +1 -1
  79. package/dist/helpers/solid-registry.js +32 -9
  80. package/dist/helpers/solid-registry.js.map +1 -1
  81. package/dist/index.d.ts +2 -4
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +3 -6
  84. package/dist/index.js.map +1 -1
  85. package/dist/interfaces.d.ts +21 -0
  86. package/dist/interfaces.d.ts.map +1 -1
  87. package/dist/interfaces.js +8 -1
  88. package/dist/interfaces.js.map +1 -1
  89. package/dist/passport-strategies/google-oauth.strategy.d.ts +1 -4
  90. package/dist/passport-strategies/google-oauth.strategy.d.ts.map +1 -1
  91. package/dist/passport-strategies/google-oauth.strategy.js +12 -12
  92. package/dist/passport-strategies/google-oauth.strategy.js.map +1 -1
  93. package/dist/seeders/email-template-seeder.service.d.ts +3 -4
  94. package/dist/seeders/email-template-seeder.service.d.ts.map +1 -1
  95. package/dist/seeders/email-template-seeder.service.js +7 -12
  96. package/dist/seeders/email-template-seeder.service.js.map +1 -1
  97. package/dist/seeders/module-metadata-seeder.service.d.ts +1 -5
  98. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  99. package/dist/seeders/module-metadata-seeder.service.js +23 -23
  100. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  101. package/dist/seeders/seed-data/solid-core-metadata.json +98 -4
  102. package/dist/seeders/sms-template-seeder.service.d.ts +3 -4
  103. package/dist/seeders/sms-template-seeder.service.d.ts.map +1 -1
  104. package/dist/seeders/sms-template-seeder.service.js +7 -12
  105. package/dist/seeders/sms-template-seeder.service.js.map +1 -1
  106. package/dist/services/action-metadata.service.d.ts +2 -13
  107. package/dist/services/action-metadata.service.d.ts.map +1 -1
  108. package/dist/services/action-metadata.service.js +4 -22
  109. package/dist/services/action-metadata.service.js.map +1 -1
  110. package/dist/services/ai-interaction.service.d.ts +2 -13
  111. package/dist/services/ai-interaction.service.d.ts.map +1 -1
  112. package/dist/services/ai-interaction.service.js +6 -24
  113. package/dist/services/ai-interaction.service.js.map +1 -1
  114. package/dist/services/authentication.service.d.ts +14 -10
  115. package/dist/services/authentication.service.d.ts.map +1 -1
  116. package/dist/services/authentication.service.js +159 -114
  117. package/dist/services/authentication.service.js.map +1 -1
  118. package/dist/services/bcrypt.service.d.ts +3 -5
  119. package/dist/services/bcrypt.service.d.ts.map +1 -1
  120. package/dist/services/bcrypt.service.js +10 -14
  121. package/dist/services/bcrypt.service.js.map +1 -1
  122. package/dist/services/chatter-message-details.service.d.ts +2 -13
  123. package/dist/services/chatter-message-details.service.d.ts.map +1 -1
  124. package/dist/services/chatter-message-details.service.js +4 -22
  125. package/dist/services/chatter-message-details.service.js.map +1 -1
  126. package/dist/services/chatter-message.service.d.ts +2 -13
  127. package/dist/services/chatter-message.service.d.ts.map +1 -1
  128. package/dist/services/chatter-message.service.js +5 -23
  129. package/dist/services/chatter-message.service.js.map +1 -1
  130. package/dist/services/crud.service.d.ts +12 -12
  131. package/dist/services/crud.service.d.ts.map +1 -1
  132. package/dist/services/crud.service.js +25 -17
  133. package/dist/services/crud.service.js.map +1 -1
  134. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -13
  135. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +1 -1
  136. package/dist/services/dashboard-question-sql-dataset-config.service.js +4 -21
  137. package/dist/services/dashboard-question-sql-dataset-config.service.js.map +1 -1
  138. package/dist/services/dashboard-question.service.d.ts +2 -13
  139. package/dist/services/dashboard-question.service.d.ts.map +1 -1
  140. package/dist/services/dashboard-question.service.js +4 -21
  141. package/dist/services/dashboard-question.service.js.map +1 -1
  142. package/dist/services/dashboard-variable.service.d.ts +2 -13
  143. package/dist/services/dashboard-variable.service.d.ts.map +1 -1
  144. package/dist/services/dashboard-variable.service.js +4 -21
  145. package/dist/services/dashboard-variable.service.js.map +1 -1
  146. package/dist/services/dashboard.service.d.ts +2 -13
  147. package/dist/services/dashboard.service.d.ts.map +1 -1
  148. package/dist/services/dashboard.service.js +4 -21
  149. package/dist/services/dashboard.service.js.map +1 -1
  150. package/dist/services/email-template.service.d.ts +2 -13
  151. package/dist/services/email-template.service.d.ts.map +1 -1
  152. package/dist/services/email-template.service.js +4 -22
  153. package/dist/services/email-template.service.js.map +1 -1
  154. package/dist/services/export-template.service.d.ts +2 -13
  155. package/dist/services/export-template.service.d.ts.map +1 -1
  156. package/dist/services/export-template.service.js +4 -21
  157. package/dist/services/export-template.service.js.map +1 -1
  158. package/dist/services/export-transaction.service.d.ts +2 -13
  159. package/dist/services/export-transaction.service.d.ts.map +1 -1
  160. package/dist/services/export-transaction.service.js +4 -21
  161. package/dist/services/export-transaction.service.js.map +1 -1
  162. package/dist/services/field-metadata.service.d.ts +11 -0
  163. package/dist/services/field-metadata.service.d.ts.map +1 -1
  164. package/dist/services/field-metadata.service.js +3 -0
  165. package/dist/services/field-metadata.service.js.map +1 -1
  166. package/dist/services/file/file-service.interface.d.ts +22 -0
  167. package/dist/services/file/file-service.interface.d.ts.map +1 -0
  168. package/dist/services/file/file-service.interface.js +5 -0
  169. package/dist/services/file/file-service.interface.js.map +1 -0
  170. package/dist/services/file.service.d.ts +1 -4
  171. package/dist/services/file.service.d.ts.map +1 -1
  172. package/dist/services/file.service.js +11 -12
  173. package/dist/services/file.service.js.map +1 -1
  174. package/dist/services/genai/r2r-helper.service.d.ts +3 -1
  175. package/dist/services/genai/r2r-helper.service.d.ts.map +1 -1
  176. package/dist/services/genai/r2r-helper.service.js +11 -7
  177. package/dist/services/genai/r2r-helper.service.js.map +1 -1
  178. package/dist/services/import-transaction-error-log.service.d.ts +2 -13
  179. package/dist/services/import-transaction-error-log.service.d.ts.map +1 -1
  180. package/dist/services/import-transaction-error-log.service.js +4 -22
  181. package/dist/services/import-transaction-error-log.service.js.map +1 -1
  182. package/dist/services/import-transaction.service.d.ts +2 -13
  183. package/dist/services/import-transaction.service.d.ts.map +1 -1
  184. package/dist/services/import-transaction.service.js +4 -22
  185. package/dist/services/import-transaction.service.js.map +1 -1
  186. package/dist/services/list-of-values.service.d.ts +2 -13
  187. package/dist/services/list-of-values.service.d.ts.map +1 -1
  188. package/dist/services/list-of-values.service.js +4 -22
  189. package/dist/services/list-of-values.service.js.map +1 -1
  190. package/dist/services/locale.service.d.ts +2 -13
  191. package/dist/services/locale.service.d.ts.map +1 -1
  192. package/dist/services/locale.service.js +4 -22
  193. package/dist/services/locale.service.js.map +1 -1
  194. package/dist/services/mail/elastic-email.service.d.ts +4 -5
  195. package/dist/services/mail/elastic-email.service.d.ts.map +1 -1
  196. package/dist/services/mail/elastic-email.service.js +10 -13
  197. package/dist/services/mail/elastic-email.service.js.map +1 -1
  198. package/dist/services/mail/smtp-email.service.d.ts +3 -4
  199. package/dist/services/mail/smtp-email.service.d.ts.map +1 -1
  200. package/dist/services/mail/smtp-email.service.js +19 -17
  201. package/dist/services/mail/smtp-email.service.js.map +1 -1
  202. package/dist/services/media-storage-provider-metadata.service.d.ts +11 -0
  203. package/dist/services/media-storage-provider-metadata.service.d.ts.map +1 -1
  204. package/dist/services/media-storage-provider-metadata.service.js +3 -0
  205. package/dist/services/media-storage-provider-metadata.service.js.map +1 -1
  206. package/dist/services/media.service.d.ts +2 -9
  207. package/dist/services/media.service.d.ts.map +1 -1
  208. package/dist/services/media.service.js +17 -28
  209. package/dist/services/media.service.js.map +1 -1
  210. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +2 -4
  211. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  212. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +2 -11
  213. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  214. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +3 -1
  215. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  216. package/dist/services/mediaStorageProviders/file-storage-provider.js +16 -12
  217. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  218. package/dist/services/mediaStorageProviders/index.d.ts +1 -1
  219. package/dist/services/mediaStorageProviders/index.d.ts.map +1 -1
  220. package/dist/services/mediaStorageProviders/index.js +1 -1
  221. package/dist/services/mediaStorageProviders/index.js.map +1 -1
  222. package/dist/services/menu-item-metadata.service.d.ts +2 -13
  223. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  224. package/dist/services/menu-item-metadata.service.js +4 -22
  225. package/dist/services/menu-item-metadata.service.js.map +1 -1
  226. package/dist/services/model-metadata.service.d.ts +11 -0
  227. package/dist/services/model-metadata.service.d.ts.map +1 -1
  228. package/dist/services/model-metadata.service.js +3 -0
  229. package/dist/services/model-metadata.service.js.map +1 -1
  230. package/dist/services/model-sequence.service.d.ts +2 -13
  231. package/dist/services/model-sequence.service.d.ts.map +1 -1
  232. package/dist/services/model-sequence.service.js +4 -21
  233. package/dist/services/model-sequence.service.js.map +1 -1
  234. package/dist/services/module-metadata.service.d.ts +14 -1
  235. package/dist/services/module-metadata.service.d.ts.map +1 -1
  236. package/dist/services/module-metadata.service.js +13 -6
  237. package/dist/services/module-metadata.service.js.map +1 -1
  238. package/dist/services/mq-message-queue.service.d.ts +2 -13
  239. package/dist/services/mq-message-queue.service.d.ts.map +1 -1
  240. package/dist/services/mq-message-queue.service.js +4 -22
  241. package/dist/services/mq-message-queue.service.js.map +1 -1
  242. package/dist/services/mq-message.service.d.ts +2 -13
  243. package/dist/services/mq-message.service.d.ts.map +1 -1
  244. package/dist/services/mq-message.service.js +4 -22
  245. package/dist/services/mq-message.service.js.map +1 -1
  246. package/dist/services/permission-metadata.service.d.ts +2 -13
  247. package/dist/services/permission-metadata.service.d.ts.map +1 -1
  248. package/dist/services/permission-metadata.service.js +4 -22
  249. package/dist/services/permission-metadata.service.js.map +1 -1
  250. package/dist/services/role-metadata.service.d.ts +2 -13
  251. package/dist/services/role-metadata.service.d.ts.map +1 -1
  252. package/dist/services/role-metadata.service.js +4 -23
  253. package/dist/services/role-metadata.service.js.map +1 -1
  254. package/dist/services/saved-filters.service.d.ts +2 -13
  255. package/dist/services/saved-filters.service.d.ts.map +1 -1
  256. package/dist/services/saved-filters.service.js +4 -21
  257. package/dist/services/saved-filters.service.js.map +1 -1
  258. package/dist/services/scheduled-job.service.d.ts +2 -13
  259. package/dist/services/scheduled-job.service.d.ts.map +1 -1
  260. package/dist/services/scheduled-job.service.js +4 -22
  261. package/dist/services/scheduled-job.service.js.map +1 -1
  262. package/dist/services/security-rule.service.d.ts +2 -13
  263. package/dist/services/security-rule.service.d.ts.map +1 -1
  264. package/dist/services/security-rule.service.js +5 -23
  265. package/dist/services/security-rule.service.js.map +1 -1
  266. package/dist/services/selection-providers/list-of-roles-selectionproviders.service.d.ts +15 -0
  267. package/dist/services/selection-providers/list-of-roles-selectionproviders.service.d.ts.map +1 -0
  268. package/dist/services/selection-providers/list-of-roles-selectionproviders.service.js +59 -0
  269. package/dist/services/selection-providers/list-of-roles-selectionproviders.service.js.map +1 -0
  270. package/dist/services/setting.service.d.ts +23 -30
  271. package/dist/services/setting.service.d.ts.map +1 -1
  272. package/dist/services/setting.service.js +147 -196
  273. package/dist/services/setting.service.js.map +1 -1
  274. package/dist/services/settings/default-settings-provider.service.d.ts +1058 -0
  275. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -0
  276. package/dist/services/settings/default-settings-provider.service.js +139 -0
  277. package/dist/services/settings/default-settings-provider.service.js.map +1 -0
  278. package/dist/services/short-url/tiny-url.service.d.ts +3 -4
  279. package/dist/services/short-url/tiny-url.service.d.ts.map +1 -1
  280. package/dist/services/short-url/tiny-url.service.js +10 -13
  281. package/dist/services/short-url/tiny-url.service.js.map +1 -1
  282. package/dist/services/sms/Msg91BaseSMSService.d.ts +3 -4
  283. package/dist/services/sms/Msg91BaseSMSService.d.ts.map +1 -1
  284. package/dist/services/sms/Msg91BaseSMSService.js +3 -3
  285. package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
  286. package/dist/services/sms/Msg91OTPService.d.ts +2 -3
  287. package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
  288. package/dist/services/sms/Msg91OTPService.js +7 -13
  289. package/dist/services/sms/Msg91OTPService.js.map +1 -1
  290. package/dist/services/sms/Msg91SMSService.d.ts +2 -3
  291. package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
  292. package/dist/services/sms/Msg91SMSService.js +7 -13
  293. package/dist/services/sms/Msg91SMSService.js.map +1 -1
  294. package/dist/services/sms/TwilioSMSService.d.ts +3 -4
  295. package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
  296. package/dist/services/sms/TwilioSMSService.js +13 -16
  297. package/dist/services/sms/TwilioSMSService.js.map +1 -1
  298. package/dist/services/sms-template.service.d.ts +2 -13
  299. package/dist/services/sms-template.service.d.ts.map +1 -1
  300. package/dist/services/sms-template.service.js +4 -22
  301. package/dist/services/sms-template.service.js.map +1 -1
  302. package/dist/services/solid-introspect.service.d.ts +4 -1
  303. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  304. package/dist/services/solid-introspect.service.js +33 -47
  305. package/dist/services/solid-introspect.service.js.map +1 -1
  306. package/dist/services/textract.service.d.ts +1 -4
  307. package/dist/services/textract.service.d.ts.map +1 -1
  308. package/dist/services/textract.service.js +14 -18
  309. package/dist/services/textract.service.js.map +1 -1
  310. package/dist/services/user-activity-history.service.d.ts +2 -13
  311. package/dist/services/user-activity-history.service.d.ts.map +1 -1
  312. package/dist/services/user-activity-history.service.js +4 -22
  313. package/dist/services/user-activity-history.service.js.map +1 -1
  314. package/dist/services/user-view-metadata.service.d.ts +2 -13
  315. package/dist/services/user-view-metadata.service.d.ts.map +1 -1
  316. package/dist/services/user-view-metadata.service.js +4 -22
  317. package/dist/services/user-view-metadata.service.js.map +1 -1
  318. package/dist/services/user.service.d.ts +2 -15
  319. package/dist/services/user.service.d.ts.map +1 -1
  320. package/dist/services/user.service.js +7 -28
  321. package/dist/services/user.service.js.map +1 -1
  322. package/dist/services/view-metadata.service.d.ts +2 -13
  323. package/dist/services/view-metadata.service.d.ts.map +1 -1
  324. package/dist/services/view-metadata.service.js +5 -23
  325. package/dist/services/view-metadata.service.js.map +1 -1
  326. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +3 -4
  327. package/dist/services/whatsapp/Msg91WhatsappService.d.ts.map +1 -1
  328. package/dist/services/whatsapp/Msg91WhatsappService.js +12 -18
  329. package/dist/services/whatsapp/Msg91WhatsappService.js.map +1 -1
  330. package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -4
  331. package/dist/services/whatsapp/Three60WhatsappService.d.ts.map +1 -1
  332. package/dist/services/whatsapp/Three60WhatsappService.js +2 -11
  333. package/dist/services/whatsapp/Three60WhatsappService.js.map +1 -1
  334. package/dist/solid-core.module.d.ts.map +1 -1
  335. package/dist/solid-core.module.js +11 -47
  336. package/dist/solid-core.module.js.map +1 -1
  337. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -1
  338. package/dist/transformers/typeorm/local-date-time-transformer.js +4 -2
  339. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -1
  340. package/dist/tsconfig.tsbuildinfo +1 -1
  341. package/package.json +1 -1
  342. package/src/commands/info.command.ts +101 -0
  343. package/src/commands/mcp.command.ts +3 -17
  344. package/src/commands/seed.command.ts +4 -16
  345. package/src/controllers/email-template.controller.ts +9 -4
  346. package/src/controllers/google-authentication.controller.ts +19 -12
  347. package/src/controllers/setting.controller.ts +6 -81
  348. package/src/decorators/settings-provider.decorator.ts +7 -0
  349. package/src/decorators/solid-password.decorator.ts +43 -43
  350. package/src/dtos/create-role-metadata.dto.ts +4 -81
  351. package/src/dtos/create-setting.dto.ts +14 -1
  352. package/src/dtos/update-setting.dto.ts +14 -0
  353. package/src/entities/setting.entity.ts +15 -1
  354. package/src/factories/mail.factory.ts +4 -4
  355. package/src/factories/sms.factory.ts +9 -7
  356. package/src/factories/whatsapp.factory.ts +4 -4
  357. package/src/guards/access-token.guard.ts +12 -5
  358. package/src/helpers/cors.helper.ts +3 -3
  359. package/src/helpers/error-mapper.service.ts +0 -1
  360. package/src/helpers/google-oauth.helper.ts +11 -7
  361. package/src/helpers/module.helper.ts +2 -2
  362. package/src/helpers/solid-registry.ts +45 -16
  363. package/src/index.ts +2 -4
  364. package/src/interfaces.ts +29 -0
  365. package/src/passport-strategies/google-oauth.strategy.ts +11 -8
  366. package/src/seeders/email-template-seeder.service.ts +6 -4
  367. package/src/seeders/module-metadata-seeder.service.ts +40 -28
  368. package/src/seeders/seed-data/solid-core-metadata.json +99 -5
  369. package/src/seeders/sms-template-seeder.service.ts +6 -4
  370. package/src/services/action-metadata.service.ts +4 -16
  371. package/src/services/ai-interaction.service.ts +6 -17
  372. package/src/services/authentication.service.ts +173 -111
  373. package/src/services/bcrypt.service.ts +9 -9
  374. package/src/services/chatter-message-details.service.ts +5 -17
  375. package/src/services/chatter-message.service.ts +2 -14
  376. package/src/services/crud.service.ts +36 -28
  377. package/src/services/dashboard-question-sql-dataset-config.service.ts +4 -15
  378. package/src/services/dashboard-question.service.ts +4 -17
  379. package/src/services/dashboard-variable.service.ts +4 -16
  380. package/src/services/dashboard.service.ts +2 -13
  381. package/src/services/email-template.service.ts +3 -15
  382. package/src/services/export-template.service.ts +4 -18
  383. package/src/services/export-transaction.service.ts +4 -19
  384. package/src/services/field-metadata.service.ts +5 -1
  385. package/src/services/file/file-service.interface.ts +74 -0
  386. package/src/services/file.service.ts +10 -7
  387. package/src/services/genai/r2r-helper.service.ts +10 -6
  388. package/src/services/import-transaction-error-log.service.ts +5 -17
  389. package/src/services/import-transaction.service.ts +3 -15
  390. package/src/services/list-of-values.service.ts +3 -16
  391. package/src/services/locale.service.ts +3 -15
  392. package/src/services/mail/elastic-email.service.ts +7 -7
  393. package/src/services/mail/smtp-email.service.ts +19 -11
  394. package/src/services/media-storage-provider-metadata.service.ts +4 -0
  395. package/src/services/media.service.ts +39 -22
  396. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +0 -3
  397. package/src/services/mediaStorageProviders/file-storage-provider.ts +24 -12
  398. package/src/services/mediaStorageProviders/index.ts +1 -1
  399. package/src/services/menu-item-metadata.service.ts +5 -17
  400. package/src/services/model-metadata.service.ts +4 -0
  401. package/src/services/model-sequence.service.ts +4 -15
  402. package/src/services/module-metadata.service.ts +13 -4
  403. package/src/services/mq-message-queue.service.ts +5 -17
  404. package/src/services/mq-message.service.ts +5 -17
  405. package/src/services/permission-metadata.service.ts +4 -16
  406. package/src/services/role-metadata.service.ts +3 -16
  407. package/src/services/saved-filters.service.ts +2 -13
  408. package/src/services/scheduled-job.service.ts +3 -15
  409. package/src/services/security-rule.service.ts +4 -16
  410. package/src/services/selection-providers/list-of-roles-selectionproviders.service.ts +69 -0
  411. package/src/services/setting.service.ts +223 -212
  412. package/src/services/settings/default-settings-provider.service.ts +157 -0
  413. package/src/services/short-url/tiny-url.service.ts +9 -7
  414. package/src/services/sms/Msg91BaseSMSService.ts +6 -4
  415. package/src/services/sms/Msg91OTPService.ts +7 -7
  416. package/src/services/sms/Msg91SMSService.ts +7 -6
  417. package/src/services/sms/TwilioSMSService.ts +18 -19
  418. package/src/services/sms-template.service.ts +3 -15
  419. package/src/services/solid-introspect.service.ts +45 -66
  420. package/src/services/textract.service.ts +13 -10
  421. package/src/services/user-activity-history.service.ts +5 -17
  422. package/src/services/user-view-metadata.service.ts +5 -17
  423. package/src/services/user.service.ts +7 -22
  424. package/src/services/view-metadata.service.ts +3 -15
  425. package/src/services/whatsapp/Msg91WhatsappService.ts +10 -11
  426. package/src/services/whatsapp/Three60WhatsappService.ts +0 -3
  427. package/src/solid-core.module.ts +19 -49
  428. package/src/transformers/typeorm/local-date-time-transformer.ts +10 -5
  429. package/dist/config/app-builder.config.d.ts +0 -11
  430. package/dist/config/app-builder.config.d.ts.map +0 -1
  431. package/dist/config/app-builder.config.js +0 -13
  432. package/dist/config/app-builder.config.js.map +0 -1
  433. package/dist/config/common.config.d.ts +0 -96
  434. package/dist/config/common.config.d.ts.map +0 -1
  435. package/dist/config/common.config.js +0 -51
  436. package/dist/config/common.config.js.map +0 -1
  437. package/dist/config/iam.config.d.ts +0 -56
  438. package/dist/config/iam.config.d.ts.map +0 -1
  439. package/dist/config/iam.config.js +0 -35
  440. package/dist/config/iam.config.js.map +0 -1
  441. package/dist/config/jwt.config.d.ts +0 -14
  442. package/dist/config/jwt.config.d.ts.map +0 -1
  443. package/dist/config/jwt.config.js +0 -15
  444. package/dist/config/jwt.config.js.map +0 -1
  445. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts +0 -16
  446. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts.map +0 -1
  447. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js +0 -151
  448. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js.map +0 -1
  449. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts +0 -17
  450. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts.map +0 -1
  451. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js +0 -80
  452. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js.map +0 -1
  453. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts +0 -16
  454. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts.map +0 -1
  455. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js +0 -74
  456. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js.map +0 -1
  457. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts +0 -12
  458. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts.map +0 -1
  459. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js +0 -47
  460. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js.map +0 -1
  461. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts +0 -16
  462. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts.map +0 -1
  463. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js +0 -151
  464. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js.map +0 -1
  465. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts +0 -16
  466. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts.map +0 -1
  467. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js +0 -75
  468. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js.map +0 -1
  469. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts +0 -14
  470. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts.map +0 -1
  471. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js +0 -73
  472. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js.map +0 -1
  473. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts +0 -14
  474. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts.map +0 -1
  475. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js +0 -45
  476. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js.map +0 -1
  477. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts +0 -14
  478. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts.map +0 -1
  479. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js +0 -51
  480. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js.map +0 -1
  481. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts +0 -12
  482. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts.map +0 -1
  483. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js +0 -38
  484. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js.map +0 -1
  485. package/dist/services/media-storage-provider-metadata-seeder.service.d.ts +0 -8
  486. package/dist/services/media-storage-provider-metadata-seeder.service.d.ts.map +0 -1
  487. package/dist/services/media-storage-provider-metadata-seeder.service.js +0 -43
  488. package/dist/services/media-storage-provider-metadata-seeder.service.js.map +0 -1
  489. package/src/config/app-builder.config.ts +0 -12
  490. package/src/config/common.config.ts +0 -55
  491. package/src/config/iam.config.ts +0 -32
  492. package/src/config/jwt.config.ts +0 -13
  493. package/src/services/export_issues.txt +0 -10
  494. package/src/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.ts +0 -137
  495. package/src/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.ts +0 -81
  496. package/src/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.ts +0 -69
  497. package/src/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.ts +0 -68
  498. package/src/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.ts +0 -141
  499. package/src/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.ts +0 -71
  500. package/src/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.ts +0 -72
  501. package/src/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.ts +0 -45
  502. package/src/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.ts +0 -58
  503. package/src/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.ts +0 -40
  504. package/src/services/groupBy.json +0 -92
  505. package/src/services/media-storage-provider-metadata-seeder.service.ts +0 -33
@@ -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,
@@ -1,13 +1,8 @@
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, In, 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
  import { CRUDService } from 'src/services/crud.service';
6
- import { ModelMetadataService } from 'src/services/model-metadata.service';
7
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
8
- import { ConfigService } from '@nestjs/config';
9
- import { FileService } from "src/services/file.service";
10
- import { CrudHelperService } from "src/services/crud-helper.service";
11
6
 
12
7
 
13
8
  import { MenuItemMetadata } from '../entities/menu-item-metadata.entity';
@@ -21,13 +16,6 @@ import { SavedFiltersRepository } from 'src/repository/saved-filters.repository'
21
16
  @Injectable()
22
17
  export class MenuItemMetadataService extends CRUDService<MenuItemMetadata> {
23
18
  constructor(
24
- @Inject(forwardRef(() => ModelMetadataService))
25
- readonly modelMetadataService: ModelMetadataService,
26
- readonly moduleMetadataService: ModuleMetadataService,
27
- readonly configService: ConfigService,
28
- readonly fileService: FileService,
29
- readonly discoveryService: DiscoveryService,
30
- readonly crudHelperService: CrudHelperService,
31
19
  @InjectEntityManager()
32
20
  readonly entityManager: EntityManager,
33
21
  // @InjectRepository(MenuItemMetadata, 'default')
@@ -37,7 +25,7 @@ export class MenuItemMetadataService extends CRUDService<MenuItemMetadata> {
37
25
  readonly moduleRef: ModuleRef
38
26
 
39
27
  ) {
40
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'menuItemMetadata', 'solid-core', moduleRef);
28
+ super(entityManager, repo, 'menuItemMetadata', 'solid-core', moduleRef);
41
29
  }
42
30
 
43
31
 
@@ -59,6 +59,10 @@ export class ModelMetadataService {
59
59
  // private readonly generateCodePublihser: GenerateCodePublisherDatabase,
60
60
  ) { }
61
61
 
62
+ async find(basicFilterDto: BasicFilterDto) {
63
+ return this.findMany(basicFilterDto);
64
+ }
65
+
62
66
  async findMany(basicFilterDto: BasicFilterDto) {
63
67
  const alias = 'modelMetadata';
64
68
  // Extract the required keys from the input query
@@ -1,14 +1,9 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';
3
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
4
- import { EntityManager, Repository } from 'typeorm';
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
  import { ModelSequence } from '../entities/model-sequence.entity';
14
9
  import { ModelSequenceRepository } from '../repository/model-sequence.repository';
@@ -16,18 +11,12 @@ import { ModelSequenceRepository } from '../repository/model-sequence.repository
16
11
  @Injectable()
17
12
  export class ModelSequenceService extends CRUDService<ModelSequence>{
18
13
  constructor(
19
- readonly modelMetadataService: ModelMetadataService,
20
- readonly moduleMetadataService: ModuleMetadataService,
21
- readonly configService: ConfigService,
22
- readonly fileService: FileService,
23
- readonly discoveryService: DiscoveryService,
24
- readonly crudHelperService: CrudHelperService,
25
14
  @InjectEntityManager()
26
15
  readonly entityManager: EntityManager,
27
16
  readonly repo: ModelSequenceRepository,
28
17
  readonly moduleRef: ModuleRef
29
18
 
30
19
  ) {
31
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'modelSequence', 'solid-core', moduleRef);
20
+ super(entityManager, repo, 'modelSequence', 'solid-core', moduleRef);
32
21
  }
33
22
  }
@@ -3,6 +3,7 @@ import { InjectDataSource, InjectRepository } from '@nestjs/typeorm';
3
3
  import { DataSource, EntityManager, Repository, SelectQueryBuilder } from 'typeorm';
4
4
  import { CreateModuleMetadataDto } from '../dtos/create-module-metadata.dto';
5
5
  import { ModuleMetadata } from '../entities/module-metadata.entity';
6
+ import type { SolidCoreSetting } from "src/services/settings/default-settings-provider.service";
6
7
 
7
8
  import { classify, dasherize } from '@angular-devkit/core/src/utils/strings';
8
9
  import { ConfigService } from '@nestjs/config';
@@ -25,6 +26,7 @@ import { DisallowInProduction } from 'src/decorators/disallow-in-production.deco
25
26
  import { ERROR_MESSAGES } from 'src/constants/error-messages';
26
27
  import Module from 'module';
27
28
  import { ModuleMetadataRepository } from 'src/repository/module-metadata.repository';
29
+ import { SettingService } from './setting.service';
28
30
 
29
31
  @Injectable()
30
32
  export class ModuleMetadataService {
@@ -40,6 +42,8 @@ export class ModuleMetadataService {
40
42
  private readonly schematicService: SchematicService,
41
43
  private readonly configService: ConfigService,
42
44
  private readonly fileService: FileService,
45
+ private readonly settingService: SettingService,
46
+
43
47
  private readonly permissionsSeederService: PermissionMetadataSeederService,
44
48
  @Inject(forwardRef(() => ModelMetadataService))
45
49
  private readonly modelMetadataService: ModelMetadataService,
@@ -79,6 +83,10 @@ export class ModuleMetadataService {
79
83
  return r
80
84
  }
81
85
 
86
+ async find(basicFilterDto: BasicFilterDto) {
87
+ return this.findMany(basicFilterDto);
88
+ }
89
+
82
90
  async findOneByUserKey(name: string, relations = {}) {
83
91
  if (!name) {
84
92
  throw new BadRequestException(ERROR_MESSAGES.ENTITY_NAME_REQUIRED);
@@ -125,7 +133,7 @@ export class ModuleMetadataService {
125
133
 
126
134
  async createInDB(manager: EntityManager, createDto: CreateModuleMetadataDto, files: Express.Multer.File[] = []) {
127
135
  if (files.length > 0) {
128
- const fileStoragePath = this.getFileSysytemFullFilePath(this.getFileName(files[0]));
136
+ const fileStoragePath = await this.getFileSysytemFullFilePath(this.getFileName(files[0]));
129
137
  this.fileService.copyFile(files[0].path, fileStoragePath);
130
138
  this.fileService.deleteFile(files[0].path);
131
139
  createDto.menuIconUrl = fileStoragePath;
@@ -230,7 +238,7 @@ export class ModuleMetadataService {
230
238
  }
231
239
  if (files.length > 0) {
232
240
 
233
- const fileStoragePath = this.getFileSysytemFullFilePath(this.getFileName(files[0]));
241
+ const fileStoragePath = await this.getFileSysytemFullFilePath(this.getFileName(files[0]));
234
242
  this.fileService.copyFile(files[0].path, fileStoragePath);
235
243
  this.fileService.deleteFile(files[0].path);
236
244
  module.menuIconUrl = fileStoragePath;
@@ -455,8 +463,9 @@ export class ModuleMetadataService {
455
463
  return outputLines.join('\n');
456
464
  }
457
465
 
458
- private getFileSysytemFullFilePath(fileName: string): string {
459
- return `${this.configService.get('app-builder.fileStorageDir')}/${fileName}`;
466
+ private async getFileSysytemFullFilePath(fileName: string): Promise<string> {
467
+ const fileStorageDir = this.settingService.getConfigValue<SolidCoreSetting>("fileStorageDir")
468
+ return `${fileStorageDir}/${fileName}`;
460
469
  }
461
470
 
462
471
  private getFileName(file: Express.Multer.File): string {
@@ -1,13 +1,8 @@
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
  import { CRUDService } from 'src/services/crud.service';
6
- import { ModelMetadataService } from 'src/services/model-metadata.service';
7
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
8
- import { ConfigService } from '@nestjs/config';
9
- import { FileService } from "src/services/file.service";
10
- import { CrudHelperService } from "src/services/crud-helper.service";
11
6
 
12
7
 
13
8
  import { MqMessageQueue } from '../entities/mq-message-queue.entity';
@@ -16,13 +11,6 @@ import { MqMessageQueueRepository } from 'src/repository/mq-message-queue.reposi
16
11
  @Injectable()
17
12
  export class MqMessageQueueService extends CRUDService<MqMessageQueue> {
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(MqMessageQueue)
@@ -31,7 +19,7 @@ export class MqMessageQueueService extends CRUDService<MqMessageQueue> {
31
19
  readonly moduleRef: ModuleRef
32
20
 
33
21
  ) {
34
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessageQueue', 'solid-core', moduleRef);
22
+ super(entityManager, repo, 'mqMessageQueue', 'solid-core', moduleRef);
35
23
  }
36
24
 
37
25
  async resolveQueue(queueName: string): Promise<MqMessageQueue> {
@@ -1,13 +1,8 @@
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
  import { CRUDService } from 'src/services/crud.service';
6
- import { ModelMetadataService } from 'src/services/model-metadata.service';
7
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
8
- import { ConfigService } from '@nestjs/config';
9
- import { FileService } from "src/services/file.service";
10
- import { CrudHelperService } from "src/services/crud-helper.service";
11
6
  import { MqMessage } from '../entities/mq-message.entity';
12
7
  import { Logger } from '@nestjs/common';
13
8
  import { MqMessageRepository } from 'src/repository/mq-message.repository';
@@ -17,13 +12,6 @@ export class MqMessageService extends CRUDService<MqMessage> {
17
12
  private readonly logger = new Logger(MqMessageService.name);
18
13
 
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(MqMessage)
@@ -31,7 +19,7 @@ export class MqMessageService extends CRUDService<MqMessage> {
31
19
  readonly repo: MqMessageRepository,
32
20
  readonly moduleRef: ModuleRef
33
21
  ) {
34
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessage', 'solid-core', moduleRef);
22
+ super(entityManager, repo, 'mqMessage', 'solid-core', moduleRef);
35
23
  }
36
24
 
37
25
  async lockNextPendingMessage(queueName: string): Promise<MqMessage | null> {
@@ -1,12 +1,7 @@
1
- import { forwardRef, Inject, Injectable } from '@nestjs/common';
2
- import { ConfigService } from '@nestjs/config';
3
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
1
+ import { Injectable } from '@nestjs/common';
2
+ import { ModuleRef } from "@nestjs/core";
4
3
  import { InjectEntityManager } from '@nestjs/typeorm';
5
- import { CrudHelperService } from "src/services/crud-helper.service";
6
4
  import { CRUDService } from 'src/services/crud.service';
7
- import { FileService } from "src/services/file.service";
8
- import { ModelMetadataService } from 'src/services/model-metadata.service';
9
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
10
5
  import { EntityManager, In } from 'typeorm';
11
6
 
12
7
 
@@ -16,22 +11,15 @@ import { PermissionMetadata } from '../entities/permission-metadata.entity';
16
11
  @Injectable()
17
12
  export class PermissionMetadataService extends CRUDService<PermissionMetadata> {
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(PermissionMetadata, 'default')
29
17
  // readonly repo: Repository<PermissionMetadata>,
30
18
  readonly repo: PermissionMetadataRepository,
31
19
  readonly moduleRef: ModuleRef
32
-
20
+
33
21
  ) {
34
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'permissionMetadata', 'solid-core',moduleRef);
22
+ super(entityManager, repo, 'permissionMetadata', 'solid-core',moduleRef);
35
23
  }
36
24
 
37
25
 
@@ -1,12 +1,7 @@
1
- import { forwardRef, Inject, Injectable, Logger, NotFoundException } from '@nestjs/common';
2
- import { ConfigService } from '@nestjs/config';
3
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
1
+ import { Injectable, Logger, NotFoundException } from '@nestjs/common';
2
+ import { ModuleRef } from "@nestjs/core";
4
3
  import { InjectEntityManager } from '@nestjs/typeorm';
5
- import { CrudHelperService } from "src/services/crud-helper.service";
6
4
  import { CRUDService } from 'src/services/crud.service';
7
- import { FileService } from "src/services/file.service";
8
- import { ModelMetadataService } from 'src/services/model-metadata.service';
9
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
10
5
  import { EntityManager, In } from 'typeorm';
11
6
 
12
7
  import { ERROR_MESSAGES } from 'src/constants/error-messages';
@@ -21,14 +16,6 @@ export class RoleMetadataService extends CRUDService<RoleMetadata> {
21
16
  private readonly logger = new Logger(RoleMetadataService.name);
22
17
 
23
18
  constructor(
24
- @Inject(forwardRef(() => ModelMetadataService))
25
- readonly modelMetadataService: ModelMetadataService,
26
- @Inject(forwardRef(() => ModuleMetadataService))
27
- readonly moduleMetadataService: ModuleMetadataService,
28
- readonly configService: ConfigService,
29
- readonly fileService: FileService,
30
- readonly discoveryService: DiscoveryService,
31
- readonly crudHelperService: CrudHelperService,
32
19
  @InjectEntityManager()
33
20
  readonly entityManager: EntityManager,
34
21
  // @InjectRepository(RoleMetadata, 'default')
@@ -40,7 +27,7 @@ export class RoleMetadataService extends CRUDService<RoleMetadata> {
40
27
  readonly moduleRef: ModuleRef
41
28
 
42
29
  ) {
43
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'roleMetadata', 'solid-core', moduleRef);
30
+ super(entityManager, repo, 'roleMetadata', 'solid-core', moduleRef);
44
31
  }
45
32
 
46
33
  async findRoleByName(roleName: string) {
@@ -1,14 +1,9 @@
1
1
  import { Injectable } 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 } 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 { SavedFiltersRepository } from 'src/repository/saved-filters.repository';
@@ -17,12 +12,6 @@ import { SavedFilters } from '../entities/saved-filters.entity';
17
12
  @Injectable()
18
13
  export class SavedFiltersService extends CRUDService<SavedFilters>{
19
14
  constructor(
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
15
  @InjectEntityManager()
27
16
  readonly entityManager: EntityManager,
28
17
  // @InjectRepository(SavedFilters, 'default')
@@ -31,6 +20,6 @@ export class SavedFiltersService extends CRUDService<SavedFilters>{
31
20
  readonly moduleRef: ModuleRef
32
21
 
33
22
  ) {
34
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'savedFilters', 'solid-core', moduleRef);
23
+ super(entityManager, repo, 'savedFilters', 'solid-core', moduleRef);
35
24
  }
36
25
  }
@@ -1,28 +1,16 @@
1
- import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common';
2
- import { ConfigService } from '@nestjs/config';
3
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
1
+ import { Injectable, Logger } from '@nestjs/common';
2
+ import { ModuleRef } from "@nestjs/core";
4
3
  import { InjectEntityManager } from '@nestjs/typeorm';
5
4
  import { ScheduledJob } from 'src/entities/scheduled-job.entity';
6
5
  import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
7
6
  import { EntityManager } from 'typeorm';
8
- import { CrudHelperService } from './crud-helper.service';
9
7
  import { CRUDService } from './crud.service';
10
- import { FileService } from './file.service';
11
- import { ModelMetadataService } from './model-metadata.service';
12
- import { ModuleMetadataService } from './module-metadata.service';
13
8
 
14
9
  @Injectable()
15
10
  export class ScheduledJobService extends CRUDService<ScheduledJob> {
16
11
  private readonly logger = new Logger(ScheduledJobService.name);
17
12
 
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(ScheduledJob)
@@ -31,6 +19,6 @@ export class ScheduledJobService extends CRUDService<ScheduledJob> {
31
19
  readonly moduleRef: ModuleRef
32
20
 
33
21
  ) {
34
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'scheduledJob', 'solid-core', moduleRef);
22
+ super(entityManager, repo, 'scheduledJob', 'solid-core', moduleRef);
35
23
  }
36
24
  }
@@ -1,14 +1,9 @@
1
1
  import { forwardRef, Inject, Injectable, OnApplicationBootstrap } from '@nestjs/common';
2
- import { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';
3
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
4
- import { EntityManager, Repository } from 'typeorm';
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 { SecurityRule } from '../entities/security-rule.entity';
@@ -18,13 +13,6 @@ import { SecurityRuleRepository } from 'src';
18
13
  @Injectable()
19
14
  export class SecurityRuleService extends CRUDService<SecurityRule> implements OnApplicationBootstrap {
20
15
  constructor(
21
- @Inject(forwardRef(() => ModelMetadataService))
22
- readonly modelMetadataService: ModelMetadataService,
23
- readonly moduleMetadataService: ModuleMetadataService,
24
- readonly configService: ConfigService,
25
- readonly fileService: FileService,
26
- readonly discoveryService: DiscoveryService,
27
- readonly crudHelperService: CrudHelperService,
28
16
  @InjectEntityManager()
29
17
  readonly entityManager: EntityManager,
30
18
  // @InjectRepository(SecurityRule, 'default')
@@ -35,7 +23,7 @@ export class SecurityRuleService extends CRUDService<SecurityRule> implements On
35
23
  readonly solidRegistry: SolidRegistry,
36
24
 
37
25
  ) {
38
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'securityRule', 'solid-core', moduleRef);
26
+ super(entityManager, repo, 'securityRule', 'solid-core', moduleRef);
39
27
  }
40
28
 
41
29
  onApplicationBootstrap() {
@@ -0,0 +1,69 @@
1
+ import { Injectable, BadRequestException } from "@nestjs/common";
2
+ import { SelectionProvider } from "src/decorators/selection-provider.decorator";
3
+ import {
4
+ ISelectionProvider,
5
+ ISelectionProviderContext,
6
+ ISelectionProviderValues
7
+ } from "../../interfaces";
8
+ import { BasicFilterDto } from "src/dtos/basic-filters.dto";
9
+ import { RoleMetadataService } from "../role-metadata.service";
10
+
11
+ const DEFAULT_LIMIT = 100;
12
+
13
+ interface ListOfRolesProviderContext extends ISelectionProviderContext {
14
+ filters?: Record<string, any>;
15
+
16
+ }
17
+
18
+ @SelectionProvider()
19
+ @Injectable()
20
+ export class ListOfRolesSelectionProvider implements ISelectionProvider<ListOfRolesProviderContext> {
21
+
22
+ constructor(
23
+ private readonly roleMetadataService: RoleMetadataService
24
+ ) {}
25
+
26
+ name(): string {
27
+ return 'ListOfRolesSelectionProvider';
28
+ }
29
+
30
+ help(): string {
31
+ return '# Simple Role selection provider (search + include/exclude)';
32
+ }
33
+
34
+ async value( optionValue: string, ctxt: ListOfRolesProviderContext ): Promise<ISelectionProviderValues> {
35
+
36
+ const basicFilterQuery = new BasicFilterDto(1, 0);
37
+ basicFilterQuery.filters = {
38
+ name: { $eq: optionValue }
39
+ };
40
+
41
+ const roles = await this.roleMetadataService.find(basicFilterQuery);
42
+
43
+ if (!roles.records || roles.records.length === 0) {
44
+ throw new BadRequestException(
45
+ `Invalid role name: ${optionValue}`
46
+ );
47
+ }
48
+
49
+ const role = roles.records[0];
50
+
51
+ return {
52
+ label: role.name,
53
+ value: role.name
54
+ };
55
+ }
56
+
57
+ async values( query: string, ctxt: ListOfRolesProviderContext ): Promise<readonly ISelectionProviderValues[]> {
58
+
59
+ const basicFilterQuery = new BasicFilterDto(DEFAULT_LIMIT, 0);
60
+ basicFilterQuery.filters = ctxt.filters || {};
61
+
62
+ const roles = await this.roleMetadataService.find(basicFilterQuery);
63
+
64
+ return roles.records.map(role => ({
65
+ label: role.name,
66
+ value: role.name
67
+ }));
68
+ }
69
+ }