@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,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMediaStorageProvider = getMediaStorageProvider;
4
- const create_media_storage_provider_metadata_dto_1 = require("../../dtos/create-media-storage-provider-metadata.dto");
5
4
  const file_s3_storage_provider_1 = require("./file-s3-storage-provider");
6
5
  const file_storage_provider_1 = require("./file-storage-provider");
6
+ const create_media_storage_provider_metadata_dto_1 = require("../../dtos/create-media-storage-provider-metadata.dto");
7
7
  async function getMediaStorageProvider(moduleRef, type) {
8
8
  switch (type) {
9
9
  case create_media_storage_provider_metadata_dto_1.MediaStorageProviderType.Filesystem:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/mediaStorageProviders/index.ts"],"names":[],"mappings":";;AAKA,0DAWC;AAfD,sHAA+F;AAC/F,yEAAmE;AACnE,mEAA8D;AAEvD,KAAK,UAAU,uBAAuB,CACzC,SAAoB,EACpB,IAA8B;IAC9B,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,qEAAwB,CAAC,UAAU;YACpC,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,2CAAmB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,KAAK,qEAAwB,CAAC,KAAK;YAC/B,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,gDAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE;YACI,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;AACL,CAAC","sourcesContent":["import { ModuleRef } from \"@nestjs/core\";\nimport { MediaStorageProviderType } from \"src/dtos/create-media-storage-provider-metadata.dto\";\nimport { FileS3StorageProvider } from \"./file-s3-storage-provider\";\nimport { FileStorageProvider } from \"./file-storage-provider\";\n\nexport async function getMediaStorageProvider<T>(\n moduleRef: ModuleRef,\n type: MediaStorageProviderType): Promise<any> {\n switch (type) {\n case MediaStorageProviderType.Filesystem:\n return await moduleRef.get(FileStorageProvider, { strict: false });\n case MediaStorageProviderType.AwsS3:\n return await moduleRef.get(FileS3StorageProvider, { strict: false });\n default:\n throw new Error(`Unknown media storage provider type ${type}`);\n }\n}"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/mediaStorageProviders/index.ts"],"names":[],"mappings":";;AAKA,0DAWC;AAfD,yEAAmE;AACnE,mEAA8D;AAC9D,sHAAiG;AAE1F,KAAK,UAAU,uBAAuB,CACzC,SAAoB,EACpB,IAA8B;IAC9B,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,qEAAwB,CAAC,UAAU;YACpC,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,2CAAmB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,KAAK,qEAAwB,CAAC,KAAK;YAC/B,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,gDAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE;YACI,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;AACL,CAAC","sourcesContent":["import { ModuleRef } from \"@nestjs/core\";\nimport { FileS3StorageProvider } from \"./file-s3-storage-provider\";\nimport { FileStorageProvider } from \"./file-storage-provider\";\nimport { MediaStorageProviderType } from \"../../dtos/create-media-storage-provider-metadata.dto\";\n\nexport async function getMediaStorageProvider<T>(\n moduleRef: ModuleRef,\n type: MediaStorageProviderType): Promise<any> {\n switch (type) {\n case MediaStorageProviderType.Filesystem:\n return await moduleRef.get(FileStorageProvider, { strict: false });\n case MediaStorageProviderType.AwsS3:\n return await moduleRef.get(FileS3StorageProvider, { strict: false });\n default:\n throw new Error(`Unknown media storage provider type ${type}`);\n }\n}"]}
@@ -1,28 +1,17 @@
1
- import { DiscoveryService, ModuleRef } from "@nestjs/core";
1
+ import { ModuleRef } from "@nestjs/core";
2
2
  import { EntityManager } from 'typeorm';
3
3
  import { CRUDService } from 'src/services/crud.service';
4
- import { ModelMetadataService } from 'src/services/model-metadata.service';
5
- import { ModuleMetadataService } from 'src/services/module-metadata.service';
6
- import { ConfigService } from '@nestjs/config';
7
- import { FileService } from "src/services/file.service";
8
- import { CrudHelperService } from "src/services/crud-helper.service";
9
4
  import { MenuItemMetadata } from '../entities/menu-item-metadata.entity';
10
5
  import { UpdateMenuItemMetadataDto } from '../dtos/update-menu-item-metadata.dto';
11
6
  import { ActiveUserData } from 'src/interfaces/active-user-data.interface';
12
7
  import { MenuItemMetadataRepository } from 'src/repository/menu-item-metadata.repository';
13
8
  import { SavedFiltersRepository } from 'src/repository/saved-filters.repository';
14
9
  export declare class MenuItemMetadataService extends CRUDService<MenuItemMetadata> {
15
- readonly modelMetadataService: ModelMetadataService;
16
- readonly moduleMetadataService: ModuleMetadataService;
17
- readonly configService: ConfigService;
18
- readonly fileService: FileService;
19
- readonly discoveryService: DiscoveryService;
20
- readonly crudHelperService: CrudHelperService;
21
10
  readonly entityManager: EntityManager;
22
11
  readonly repo: MenuItemMetadataRepository;
23
12
  readonly savedFiltersRepo: SavedFiltersRepository;
24
13
  readonly moduleRef: ModuleRef;
25
- constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: MenuItemMetadataRepository, savedFiltersRepo: SavedFiltersRepository, moduleRef: ModuleRef);
14
+ constructor(entityManager: EntityManager, repo: MenuItemMetadataRepository, savedFiltersRepo: SavedFiltersRepository, moduleRef: ModuleRef);
26
15
  findOneByUserKey(name: string, relations?: {}): Promise<MenuItemMetadata>;
27
16
  upsert(updateSolidMenuItemDto: UpdateMenuItemMetadataDto): Promise<MenuItemMetadata>;
28
17
  findUserMenus(activeUser: ActiveUserData): Promise<any[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/menu-item-metadata.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,qBACa,uBAAwB,SAAQ,WAAW,CAAC,gBAAgB,CAAC;IAGtE,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAGrC,QAAQ,CAAC,IAAI,EAAE,0BAA0B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAZpB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAG5B,IAAI,EAAE,0BAA0B,EAChC,gBAAgB,EAAE,sBAAsB,EACxC,SAAS,EAAE,SAAS;IAOzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,KAAK;IAU7C,MAAM,CAAC,sBAAsB,EAAE,yBAAyB;IA2BxD,aAAa,CAAC,UAAU,EAAE,cAAc;YAiFhC,aAAa;CAmE5B"}
1
+ {"version":3,"file":"menu-item-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/menu-item-metadata.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,qBACa,uBAAwB,SAAQ,WAAW,CAAC,gBAAgB,CAAC;IAGtE,QAAQ,CAAC,aAAa,EAAE,aAAa;IAGrC,QAAQ,CAAC,IAAI,EAAE,0BAA0B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS;gBALpB,aAAa,EAAE,aAAa,EAG5B,IAAI,EAAE,0BAA0B,EAChC,gBAAgB,EAAE,sBAAsB,EACxC,SAAS,EAAE,SAAS;IAOzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,KAAK;IAU7C,MAAM,CAAC,sBAAsB,EAAE,yBAAyB;IA2BxD,aAAa,CAAC,UAAU,EAAE,cAAc;YAiFhC,aAAa;CAmE5B"}
@@ -18,23 +18,12 @@ const typeorm_1 = require("@nestjs/typeorm");
18
18
  const core_1 = require("@nestjs/core");
19
19
  const typeorm_2 = require("typeorm");
20
20
  const crud_service_1 = require("./crud.service");
21
- const model_metadata_service_1 = require("./model-metadata.service");
22
- const module_metadata_service_1 = require("./module-metadata.service");
23
- const config_1 = require("@nestjs/config");
24
- const file_service_1 = require("./file.service");
25
- const crud_helper_service_1 = require("./crud-helper.service");
26
21
  const strings_1 = require("@angular-devkit/core/src/utils/strings");
27
22
  const menu_item_metadata_repository_1 = require("../repository/menu-item-metadata.repository");
28
23
  const saved_filters_repository_1 = require("../repository/saved-filters.repository");
29
24
  let MenuItemMetadataService = class MenuItemMetadataService extends crud_service_1.CRUDService {
30
- constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, savedFiltersRepo, moduleRef) {
31
- super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'menuItemMetadata', 'solid-core', moduleRef);
32
- this.modelMetadataService = modelMetadataService;
33
- this.moduleMetadataService = moduleMetadataService;
34
- this.configService = configService;
35
- this.fileService = fileService;
36
- this.discoveryService = discoveryService;
37
- this.crudHelperService = crudHelperService;
25
+ constructor(entityManager, repo, savedFiltersRepo, moduleRef) {
26
+ super(entityManager, repo, 'menuItemMetadata', 'solid-core', moduleRef);
38
27
  this.entityManager = entityManager;
39
28
  this.repo = repo;
40
29
  this.savedFiltersRepo = savedFiltersRepo;
@@ -160,15 +149,8 @@ let MenuItemMetadataService = class MenuItemMetadataService extends crud_service
160
149
  exports.MenuItemMetadataService = MenuItemMetadataService;
161
150
  exports.MenuItemMetadataService = MenuItemMetadataService = __decorate([
162
151
  (0, common_1.Injectable)(),
163
- __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => model_metadata_service_1.ModelMetadataService))),
164
- __param(6, (0, typeorm_1.InjectEntityManager)()),
165
- __metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
166
- module_metadata_service_1.ModuleMetadataService,
167
- config_1.ConfigService,
168
- file_service_1.FileService,
169
- core_1.DiscoveryService,
170
- crud_helper_service_1.CrudHelperService,
171
- typeorm_2.EntityManager,
152
+ __param(0, (0, typeorm_1.InjectEntityManager)()),
153
+ __metadata("design:paramtypes", [typeorm_2.EntityManager,
172
154
  menu_item_metadata_repository_1.MenuItemMetadataRepository,
173
155
  saved_filters_repository_1.SavedFiltersRepository,
174
156
  core_1.ModuleRef])
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-metadata.service.js","sourceRoot":"","sources":["../../src/services/menu-item-metadata.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, In, Repository } from 'typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from \"src/services/file.service\";\nimport { CrudHelperService } from \"src/services/crud-helper.service\";\n\n\nimport { MenuItemMetadata } from '../entities/menu-item-metadata.entity';\nimport { UpdateMenuItemMetadataDto } from '../dtos/update-menu-item-metadata.dto';\nimport { ActiveUserData } from 'src/interfaces/active-user-data.interface';\nimport { ModuleMetadata } from '../entities/module-metadata.entity';\nimport { dasherize } from '@angular-devkit/core/src/utils/strings';\nimport { MenuItemMetadataRepository } from 'src/repository/menu-item-metadata.repository';\nimport { SavedFiltersRepository } from 'src/repository/saved-filters.repository';\n\n@Injectable()\nexport class MenuItemMetadataService extends CRUDService<MenuItemMetadata> {\n constructor(\n @Inject(forwardRef(() => ModelMetadataService))\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(MenuItemMetadata, 'default')\n // readonly repo: Repository<MenuItemMetadata>,\n readonly repo: MenuItemMetadataRepository,\n readonly savedFiltersRepo: SavedFiltersRepository,\n readonly moduleRef: ModuleRef\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'menuItemMetadata', 'solid-core', moduleRef);\n }\n\n\n async findOneByUserKey(name: string, relations = {}) {\n const entity = await this.repo.findOne({\n where: {\n name: name,\n },\n relations: relations,\n });\n return entity;\n }\n\n async upsert(updateSolidMenuItemDto: UpdateMenuItemMetadataDto) {\n // Leave out all the extra attributes only keep the ones we are interested in updating.\n const { moduleUserKey, parentMenuItemUserKey, actionUserKey, rolesIds, rolesCommand, ...cleanUpdateSolidMenuItemDto } = updateSolidMenuItemDto;\n\n // First check if module already exists using name\n const existingMenuItem = await this.repo.findOne({\n where: {\n name: updateSolidMenuItemDto.name\n },\n relations: [\"roles\"]\n });\n\n // if found\n if (existingMenuItem) {\n // TODO: This is very slow disabling this for now..\n // const updatedSolidActionDto = { ...existingMenuItem, ...cleanUpdateSolidMenuItemDto };\n // return this.repo.save(updatedSolidActionDto);\n }\n // if not found - create new \n else {\n // @ts-ignore\n const moduleMetadata = this.repo.create(cleanUpdateSolidMenuItemDto);\n return this.repo.save(moduleMetadata);\n }\n }\n\n\n async findUserMenus(activeUser: ActiveUserData) {\n // 1. For the users role, fire a query to load all menus that this role has access to. \n // const usersMenuItems = this.solidMenuItemRepo.find({\n // where: {\n // roles: {\n // name: In(activeUser.roles)\n // }\n // },\n // relations: ['module', 'parentMenuItem', 'action']\n // });\n const qb = await this.repo.createSecurityRuleAwareQueryBuilder('menuItem')\n\n const menuItems = await qb\n .leftJoinAndSelect('menuItem.module', 'module')\n .leftJoinAndSelect('menuItem.parentMenuItem', 'parentMenuItem')\n .leftJoinAndSelect('menuItem.action', 'action')\n .leftJoinAndSelect('action.model', 'model') // Join the model relation of action\n .leftJoinAndSelect('action.view', 'view') // Join the view relation of action\n .leftJoinAndSelect('menuItem.roles', 'roles')\n .where('roles.name IN (:...roleNames)', { roleNames: activeUser.roles })\n .addOrderBy('module.menuSequenceNumber', 'ASC')\n .addOrderBy('menuItem.sequenceNumber', 'ASC')\n .getMany();\n\n // 2. First arrange the output of the above query by module based on module\n const modulesToMenuItemsMap = new Map<string, MenuItemMetadata[]>();\n const modulesMap = new Map<string, ModuleMetadata>();\n menuItems.forEach(menuItem => {\n const moduleName = menuItem.module.name;\n\n // Keep track of all menu items under a given module.\n if (!modulesToMenuItemsMap.has(moduleName)) {\n modulesToMenuItemsMap.set(moduleName, []);\n }\n modulesToMenuItemsMap.get(moduleName).push(menuItem);\n\n // Keep track of the modules information separately.\n if (!modulesMap.has(moduleName)) {\n modulesMap.set(moduleName, menuItem.module);\n }\n });\n\n // 3. Then for each module, do a recursive compilation of children based on parentMenuItem, while doing this use the relation - action to get hold of the path. \n const menu: any[] = [];\n\n // modulesToMenuItemsMap.forEach((menuItems, moduleName) => {\n // const rootMenuItems = menuItems.filter(item => !item.parentMenuItem);\n // const moduleMetadata = modulesMap.get(moduleName);\n\n // const moduleMenu = {\n // title: moduleMetadata.displayName,\n // // No need for path the module level.\n // // path: ``,\n // key: moduleName.toLowerCase().replace(/\\s+/g, '-'),\n // // TODO: We need to add the module icon as part of the metadata so it can be brought here. \n // // icon: `/images/menu/${moduleName.toLowerCase().replace(/\\s+/g, '-')}.svg`,\n // children: this.buildMenuTree(rootMenuItems, menuItems, activeUser),\n // icon: moduleMetadata.menuIconUrl,\n // };\n\n // menu.push(moduleMenu);\n // });\n for (const [moduleName, menuItemsForModule] of modulesToMenuItemsMap.entries()) {\n const rootMenuItems = menuItemsForModule.filter(item => !item.parentMenuItem);\n const moduleMetadata = modulesMap.get(moduleName);\n\n const moduleMenu = {\n title: moduleMetadata.displayName,\n key: moduleName.toLowerCase().replace(/\\s+/g, '-'),\n children: await this.buildMenuTree(rootMenuItems, menuItemsForModule, activeUser), // ✅ await here\n icon: moduleMetadata.menuIconUrl,\n };\n\n menu.push(moduleMenu);\n }\n\n\n return menu.filter(m => m.children.length > 0);\n }\n\n // Recursive function to build the tree\n private async buildMenuTree(rootItems: MenuItemMetadata[], allMenuItems: MenuItemMetadata[], activeUser: ActiveUserData): Promise<any[]> {\n const menuItemsData = await Promise.all(\n rootItems.map(async rootItem => {\n const allowedMenuItems = allMenuItems.filter(i => {\n if (!i.parentMenuItem) {\n return true\n } else {\n if(i.action.type === 'custom'){\n return true;\n }\n return this.crudHelperService.hasReadPermissionOnModel(activeUser, i.action.model.singularName)\n }\n });\n // Get immediate children of the current loop variable menuItem.\n const children = allowedMenuItems.filter(item => item.parentMenuItem && item.parentMenuItem.id === rootItem.id);\n const menuItemId = rootItem?.id ?? \"\";\n const menuItemName = rootItem?.name ?? \"\";\n const actionId = rootItem?.action?.id ?? \"\";\n const actionName = rootItem?.action?.name ?? \"\";\n // TODO: We should specify path only if there are no more children present. \n // For now adding path everywhere. \n let path = '';\n\n const layout = rootItem?.action?.view && rootItem?.action?.view?.layout ? JSON.parse(rootItem?.action?.view?.layout) : null\n let savedFilterId = null;\n if (layout && layout?.attrs?.defaultSavedFilter) {\n const savedFilter = await this.savedFiltersRepo.findOne({\n where: {\n name: layout?.attrs?.defaultSavedFilter,\n isPrivate: false\n },\n });\n if (savedFilter) {\n savedFilterId = savedFilter.id\n }\n }\n if (rootItem.action && rootItem.action.type === 'custom') {\n path = `${rootItem.action.customComponent}?menuItemId=${menuItemId}&menuItemName=${menuItemName}&actionId=${actionId}&actionName=${actionName}${savedFilterId ? `&savedQuery=${savedFilterId}` : ''}`;\n }\n if (rootItem.action && rootItem.action.type === 'solid') {\n if (this.crudHelperService.hasReadPermissionOnModel(activeUser, rootItem.action.model.singularName)) {\n // TODO: Here we are assuming that we will always take the user to collection view of a model. \n // We can make provision to take them other views also in the future. \n // path = `/admin/core/${rootItem.module.name}/${rootItem.action.model.singularName}/${rootItem.action.view.name}`;\n path = `/admin/core/${rootItem.module.name}/${dasherize(rootItem.action?.model?.singularName ?? 'unknown')}/${rootItem.action?.view?.type ?? 'list'}?menuItemId=${menuItemId}&menuItemName=${menuItemName}&actionId=${actionId}&actionName=${actionName}${savedFilterId ? `&savedQuery=${savedFilterId}` : ''}`;\n\n }\n }\n\n // We are not checking for empty path coz, this is required for parent menu items.\n const data = {\n title: rootItem.displayName || rootItem.name,\n path: path,\n key: rootItem.name.toLowerCase().replace(/\\s+/g, '-'),\n icon: rootItem.iconName,\n // iconVariant : rootItem.iconVariant\n }\n if (children.length > 0) {\n data[\"children\"] = await this.buildMenuTree(children, allMenuItems, activeUser);\n }\n return data;\n\n }));\n return menuItemsData.filter(mi => mi && mi)\n }\n\n\n}\n"]}
1
+ {"version":3,"file":"menu-item-metadata.service.js","sourceRoot":"","sources":["../../src/services/menu-item-metadata.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InjectEntityManager } from '@nestjs/typeorm';\nimport { ModuleRef } from \"@nestjs/core\";\nimport { EntityManager } from 'typeorm';\nimport { CRUDService } from 'src/services/crud.service';\n\n\nimport { MenuItemMetadata } from '../entities/menu-item-metadata.entity';\nimport { UpdateMenuItemMetadataDto } from '../dtos/update-menu-item-metadata.dto';\nimport { ActiveUserData } from 'src/interfaces/active-user-data.interface';\nimport { ModuleMetadata } from '../entities/module-metadata.entity';\nimport { dasherize } from '@angular-devkit/core/src/utils/strings';\nimport { MenuItemMetadataRepository } from 'src/repository/menu-item-metadata.repository';\nimport { SavedFiltersRepository } from 'src/repository/saved-filters.repository';\n\n@Injectable()\nexport class MenuItemMetadataService extends CRUDService<MenuItemMetadata> {\n constructor(\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(MenuItemMetadata, 'default')\n // readonly repo: Repository<MenuItemMetadata>,\n readonly repo: MenuItemMetadataRepository,\n readonly savedFiltersRepo: SavedFiltersRepository,\n readonly moduleRef: ModuleRef\n\n ) {\n super(entityManager, repo, 'menuItemMetadata', 'solid-core', moduleRef);\n }\n\n\n async findOneByUserKey(name: string, relations = {}) {\n const entity = await this.repo.findOne({\n where: {\n name: name,\n },\n relations: relations,\n });\n return entity;\n }\n\n async upsert(updateSolidMenuItemDto: UpdateMenuItemMetadataDto) {\n // Leave out all the extra attributes only keep the ones we are interested in updating.\n const { moduleUserKey, parentMenuItemUserKey, actionUserKey, rolesIds, rolesCommand, ...cleanUpdateSolidMenuItemDto } = updateSolidMenuItemDto;\n\n // First check if module already exists using name\n const existingMenuItem = await this.repo.findOne({\n where: {\n name: updateSolidMenuItemDto.name\n },\n relations: [\"roles\"]\n });\n\n // if found\n if (existingMenuItem) {\n // TODO: This is very slow disabling this for now..\n // const updatedSolidActionDto = { ...existingMenuItem, ...cleanUpdateSolidMenuItemDto };\n // return this.repo.save(updatedSolidActionDto);\n }\n // if not found - create new \n else {\n // @ts-ignore\n const moduleMetadata = this.repo.create(cleanUpdateSolidMenuItemDto);\n return this.repo.save(moduleMetadata);\n }\n }\n\n\n async findUserMenus(activeUser: ActiveUserData) {\n // 1. For the users role, fire a query to load all menus that this role has access to. \n // const usersMenuItems = this.solidMenuItemRepo.find({\n // where: {\n // roles: {\n // name: In(activeUser.roles)\n // }\n // },\n // relations: ['module', 'parentMenuItem', 'action']\n // });\n const qb = await this.repo.createSecurityRuleAwareQueryBuilder('menuItem')\n\n const menuItems = await qb\n .leftJoinAndSelect('menuItem.module', 'module')\n .leftJoinAndSelect('menuItem.parentMenuItem', 'parentMenuItem')\n .leftJoinAndSelect('menuItem.action', 'action')\n .leftJoinAndSelect('action.model', 'model') // Join the model relation of action\n .leftJoinAndSelect('action.view', 'view') // Join the view relation of action\n .leftJoinAndSelect('menuItem.roles', 'roles')\n .where('roles.name IN (:...roleNames)', { roleNames: activeUser.roles })\n .addOrderBy('module.menuSequenceNumber', 'ASC')\n .addOrderBy('menuItem.sequenceNumber', 'ASC')\n .getMany();\n\n // 2. First arrange the output of the above query by module based on module\n const modulesToMenuItemsMap = new Map<string, MenuItemMetadata[]>();\n const modulesMap = new Map<string, ModuleMetadata>();\n menuItems.forEach(menuItem => {\n const moduleName = menuItem.module.name;\n\n // Keep track of all menu items under a given module.\n if (!modulesToMenuItemsMap.has(moduleName)) {\n modulesToMenuItemsMap.set(moduleName, []);\n }\n modulesToMenuItemsMap.get(moduleName).push(menuItem);\n\n // Keep track of the modules information separately.\n if (!modulesMap.has(moduleName)) {\n modulesMap.set(moduleName, menuItem.module);\n }\n });\n\n // 3. Then for each module, do a recursive compilation of children based on parentMenuItem, while doing this use the relation - action to get hold of the path. \n const menu: any[] = [];\n\n // modulesToMenuItemsMap.forEach((menuItems, moduleName) => {\n // const rootMenuItems = menuItems.filter(item => !item.parentMenuItem);\n // const moduleMetadata = modulesMap.get(moduleName);\n\n // const moduleMenu = {\n // title: moduleMetadata.displayName,\n // // No need for path the module level.\n // // path: ``,\n // key: moduleName.toLowerCase().replace(/\\s+/g, '-'),\n // // TODO: We need to add the module icon as part of the metadata so it can be brought here. \n // // icon: `/images/menu/${moduleName.toLowerCase().replace(/\\s+/g, '-')}.svg`,\n // children: this.buildMenuTree(rootMenuItems, menuItems, activeUser),\n // icon: moduleMetadata.menuIconUrl,\n // };\n\n // menu.push(moduleMenu);\n // });\n for (const [moduleName, menuItemsForModule] of modulesToMenuItemsMap.entries()) {\n const rootMenuItems = menuItemsForModule.filter(item => !item.parentMenuItem);\n const moduleMetadata = modulesMap.get(moduleName);\n\n const moduleMenu = {\n title: moduleMetadata.displayName,\n key: moduleName.toLowerCase().replace(/\\s+/g, '-'),\n children: await this.buildMenuTree(rootMenuItems, menuItemsForModule, activeUser), // ✅ await here\n icon: moduleMetadata.menuIconUrl,\n };\n\n menu.push(moduleMenu);\n }\n\n\n return menu.filter(m => m.children.length > 0);\n }\n\n // Recursive function to build the tree\n private async buildMenuTree(rootItems: MenuItemMetadata[], allMenuItems: MenuItemMetadata[], activeUser: ActiveUserData): Promise<any[]> {\n const menuItemsData = await Promise.all(\n rootItems.map(async rootItem => {\n const allowedMenuItems = allMenuItems.filter(i => {\n if (!i.parentMenuItem) {\n return true\n } else {\n if(i.action.type === 'custom'){\n return true;\n }\n return this.crudHelperService.hasReadPermissionOnModel(activeUser, i.action.model.singularName)\n }\n });\n // Get immediate children of the current loop variable menuItem.\n const children = allowedMenuItems.filter(item => item.parentMenuItem && item.parentMenuItem.id === rootItem.id);\n const menuItemId = rootItem?.id ?? \"\";\n const menuItemName = rootItem?.name ?? \"\";\n const actionId = rootItem?.action?.id ?? \"\";\n const actionName = rootItem?.action?.name ?? \"\";\n // TODO: We should specify path only if there are no more children present. \n // For now adding path everywhere. \n let path = '';\n\n const layout = rootItem?.action?.view && rootItem?.action?.view?.layout ? JSON.parse(rootItem?.action?.view?.layout) : null\n let savedFilterId = null;\n if (layout && layout?.attrs?.defaultSavedFilter) {\n const savedFilter = await this.savedFiltersRepo.findOne({\n where: {\n name: layout?.attrs?.defaultSavedFilter,\n isPrivate: false\n },\n });\n if (savedFilter) {\n savedFilterId = savedFilter.id\n }\n }\n if (rootItem.action && rootItem.action.type === 'custom') {\n path = `${rootItem.action.customComponent}?menuItemId=${menuItemId}&menuItemName=${menuItemName}&actionId=${actionId}&actionName=${actionName}${savedFilterId ? `&savedQuery=${savedFilterId}` : ''}`;\n }\n if (rootItem.action && rootItem.action.type === 'solid') {\n if (this.crudHelperService.hasReadPermissionOnModel(activeUser, rootItem.action.model.singularName)) {\n // TODO: Here we are assuming that we will always take the user to collection view of a model. \n // We can make provision to take them other views also in the future. \n // path = `/admin/core/${rootItem.module.name}/${rootItem.action.model.singularName}/${rootItem.action.view.name}`;\n path = `/admin/core/${rootItem.module.name}/${dasherize(rootItem.action?.model?.singularName ?? 'unknown')}/${rootItem.action?.view?.type ?? 'list'}?menuItemId=${menuItemId}&menuItemName=${menuItemName}&actionId=${actionId}&actionName=${actionName}${savedFilterId ? `&savedQuery=${savedFilterId}` : ''}`;\n\n }\n }\n\n // We are not checking for empty path coz, this is required for parent menu items.\n const data = {\n title: rootItem.displayName || rootItem.name,\n path: path,\n key: rootItem.name.toLowerCase().replace(/\\s+/g, '-'),\n icon: rootItem.iconName,\n // iconVariant : rootItem.iconVariant\n }\n if (children.length > 0) {\n data[\"children\"] = await this.buildMenuTree(children, allMenuItems, activeUser);\n }\n return data;\n\n }));\n return menuItemsData.filter(mi => mi && mi)\n }\n\n\n}\n"]}
@@ -27,6 +27,17 @@ export declare class ModelMetadataService {
27
27
  readonly introspectService: SolidIntrospectService;
28
28
  private logger;
29
29
  constructor(modelMetadataRepo: ModelMetadataRepository, fieldMetadataRepo: FieldMetadataRepository, schematicService: SchematicService, dataSource: DataSource, crudHelperService: CrudHelperService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, fieldMetadataService: FieldMetadataService, roleService: RoleMetadataService, moduleMetadataHelperService: ModuleMetadataHelperService, introspectService: SolidIntrospectService);
30
+ find(basicFilterDto: BasicFilterDto): Promise<{
31
+ meta: {
32
+ totalRecords: number;
33
+ currentPage: number;
34
+ nextPage: number;
35
+ prevPage: number;
36
+ totalPages: number;
37
+ perPage: number;
38
+ };
39
+ records: ModelMetadata[];
40
+ }>;
30
41
  findMany(basicFilterDto: BasicFilterDto): Promise<{
31
42
  meta: {
32
43
  totalRecords: number;
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,9 @@ let ModelMetadataService = class ModelMetadataService {
83
83
  this.introspectService = introspectService;
84
84
  this.logger = new common_1.Logger('ModelMetadataService');
85
85
  }
86
+ async find(basicFilterDto) {
87
+ return this.findMany(basicFilterDto);
88
+ }
86
89
  async findMany(basicFilterDto) {
87
90
  const alias = 'modelMetadata';
88
91
  let { limit, offset } = basicFilterDto;