@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
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAgKA,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gDAAmC,CAAA;AACrC,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB;AAED,MAAa,YAAY;IACvB,YACS,IAAS,EACT,OAAU;QADV,SAAI,GAAJ,IAAI,CAAK;QACT,YAAO,GAAP,OAAO,CAAG;IACf,CAAC;CACN;AALD,oCAKC;AAmED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;AACvB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB","sourcesContent":["import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';\nimport { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';\nimport { SignUpDto } from 'src/dtos/sign-up.dto';\nimport { Readable } from 'stream';\nimport { CreateMediaStorageProviderMetadataDto } from './dtos/create-media-storage-provider-metadata.dto';\nimport { DatasourceType } from './dtos/create-model-metadata.dto';\nimport { CreateModuleMetadataDto } from './dtos/create-module-metadata.dto';\nimport { CreateRoleMetadataDto } from './dtos/create-role-metadata.dto';\nimport { CreateSecurityRuleDto } from './dtos/create-security-rule.dto';\nimport { FieldMetadata } from './entities/field-metadata.entity';\nimport { Media } from './entities/media.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { ComputedFieldMetadata } from './helpers/solid-registry';\nimport { SqlExpression } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { CreateDashboardDto } from './dtos/create-dashboard.dto';\nimport { AiInteraction } from './entities/ai-interaction.entity';\nimport { ActiveUserData } from './interfaces/active-user-data.interface';\nimport { SecurityRuleConfig } from './dtos/security-rule-config.dto';\nimport { SecurityRule } from './entities/security-rule.entity';\n\nexport interface FieldCrudManager {\n // fieldMetadata: FieldMetadata;\n // entityManager?: EntityManager;\n // createDto: any;\n // files : Array<Express.Multer.File>;\n validate(\n dto: any,\n files: Array<Express.Multer.File>,\n ): ValidationError[] | Promise<ValidationError[]>;\n transformForCreate(dto: any, ctxt?: any): any | Promise<any>;\n}\n\nexport interface ValidationError {\n field: string;\n error: string;\n}\n\n// export interface MediaStorage\nexport interface MediaStorageProvider<T> {\n store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n delete(entity: T, mediaFieldMetadata: FieldMetadata): Promise<void>;\n retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n // delete(file: string): Promise<void>;\n}\n\nexport interface ModuleMetadataConfiguration {\n moduleMetadata?: CreateModuleMetadataDto,\n roles?: CreateRoleMetadataDto[],\n users?: SignUpDto[],\n actions?: any[],\n menus?: any[],\n views?: any[],\n emailTemplates?: CreateEmailTemplateDto[],\n smsTemplates?: CreateSmsTemplateDto[],\n mediaStorageProviders?: CreateMediaStorageProviderMetadataDto[]\n securityRules?: CreateSecurityRuleDto[],\n dashboards?: CreateDashboardDto[],\n}\n\nexport interface CodeGenerationOptions {\n moduleId?: number;\n moduleUserKey?: string;\n modelId?: number;\n modelUserKey?: string;\n fieldIdsForRemoval?: number[];\n fieldNamesForRemoval?: string[];\n dryRun?: boolean;\n fieldIdsForRefresh?: number[];\n fieldNamesForRefresh?: string[];\n}\n\nexport interface TriggerMcpClientOptions {\n aiInteractionId: number;\n moduleName: string;\n}\n\nexport interface McpResponse {\n success: boolean;\n request: string;\n response: string;\n model?: string;\n tools_invoked?: string[];\n tool_calls?: any[];\n duration_ms?: number;\n errors?: string[];\n error_trace?: string[];\n content_type?: string;\n}\n\nexport interface ISelectionProviderContext {\n limit: number;\n offset: number;\n formValues: Record<string, any>;\n // query: string;\n}\n\nexport interface ISelectionProviderValues {\n label: string;\n value: string;\n}\n\nexport interface ISelectionProvider<T extends ISelectionProviderContext> {\n help(): string;\n\n name(): string;\n\n value(optionValue: string, ctxt: T): Promise<ISelectionProviderValues | any>;\n\n values(query: any, ctxt: T): Promise<readonly ISelectionProviderValues[]>;\n}\n\nexport interface IDashboardVariableSelectionProvider<T extends ISelectionProviderContext> extends ISelectionProvider<T> {\n}\n\nexport interface IMcpToolResponseHandler {\n apply(aiInteraction: AiInteraction);\n}\n\nexport interface IDashboardQuestionDataProvider<TContext, TData> {\n help(): string;\n\n name(): string;\n\n getData(question: DashboardQuestion, expressions?: SqlExpression[], ctxt?: TContext): Promise<TData[] | TData>;\n}\n\n/**\n * @deprecated Use `IEntityComputedFieldProvider` instead.\n */\nexport interface IComputedFieldProvider<T> {\n help(): string;\n\n name(): string;\n\n valueType(): string;\n\n computeValue(dto: any, ctxt: T): Promise<string | number>; // FIXME : Improve the types to make it more specific using generics\n}\n\nexport interface IEntityComputedFieldProvider {\n help(): string;\n\n name(): string;\n}\n\nexport interface IEntityPreComputeFieldProvider<TTriggerEntity, TContext, TValue = void> extends IEntityComputedFieldProvider {\n preComputeValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<TValue>;\n}\n\nexport interface IEntityPostComputeFieldProvider<TTriggerEntity, TContext> extends IEntityComputedFieldProvider {\n postComputeAndSaveValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<void>;\n}\n\nexport interface ISolidDatabaseModule {\n name(): string;\n\n type(): DatasourceType;\n}\n\nexport enum EventType {\n USER_REGISTERED = 'user.registered',\n}\n\nexport class EventDetails<T> {\n constructor(\n public type: any,\n public payload: T,\n ) { }\n}\n\nexport interface IMail<TResponse = unknown> {\n sendEmail(\n to: string,\n subject: string,\n body: string,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n\n sendEmailUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n}\n\nexport interface ISMS {\n sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<any>;\n\n sendSMSUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueSms: boolean,\n ): Promise<any>;\n}\n\nexport interface IWhatsAppTransport {\n sendWhatsAppMessage(\n to: string,\n templateId: string,\n parameters: any,\n parentEntity?: any,\n parentEntityId?: any\n ): Promise<any>;\n}\n\nexport interface MailAttachmentWrapper {\n relativePath?: string;\n attachment?: MailAttachment;\n}\n\nexport interface MailAttachment {\n filename: string;\n templatePath?: string; // deprecated\n templateParams?: any; // deprecated\n content?: string | Buffer;\n contentType?: string;\n path?: string; //Filesystem absolute path or URL. \n}\n\nexport enum BrokerType {\n RabbitMQ = 'rabbitmq',\n Database = 'database'\n}\n\nexport interface QueuesModuleOptions {\n name: string;\n type: BrokerType;\n queueName: string;\n}\n\nexport type MediaWithFullUrl = Media & {\n _full_url: string;\n};\n\n\nexport type ErrorCode = string;\n\nexport type ErrorMeta = {\n message: string;\n httpStatus?: number;\n};\n\nexport type ErrorRule = {\n /** Canonical error code. Keep them kebab-case for consistency. */\n code: ErrorCode;\n /** Higher runs earlier. Defaults to 0 if not provided. */\n priority?: number;\n /** Return true if this rule matches the combined error text. */\n match: (combinedErrorText: string) => boolean;\n /** Display + HTTP mapping for this code. */\n meta: ErrorMeta;\n};\n\nexport interface IErrorCodeProvider {\n /** Used for registry identity & logs */\n name(): string;\n\n /**\n * Return all rules this provider contributes.\n * These will be merged with other providers’ rules, then sorted by priority.\n */\n rules(): ReadonlyArray<ErrorRule>;\n\n /**\n * Optional fallback meta for codes this provider owns (when called by getMessage/getHttpStatus).\n * If omitted, the ErrorMapperService will rely on the rule.meta of the first matching rule.\n */\n resolve?(code: ErrorCode): ErrorMeta | undefined;\n}\n\n// MCP Tool Related\n\nexport type PlanStep = CreateNewFileStep | RegisterNestProviderStep | AddMethodToExistingClassStep | RegisterSolidXExtensionComponentStep | AddListViewButtonStep | AddFormViewButtonStep | AddImportStep;\nexport interface AddImportStep {\n type: \"addImport\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n importStatement: string; // e.g. import { Something } from 'somewhere';\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface CreateNewFileStep {\n type: \"createNewFile\";\n path: string; // repo-relative e.g. solid-api/api/src/computed-providers/foo.provider.ts\n content: string; // full file content\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterNestProviderStep {\n type: \"registerNestProvider\";\n modulePath: string; // e.g. apps/api/src/address-master/address-master.module.ts\n providerClassName: string; // e.g. StateTotalCitiesComputedFieldProvider\n importFrom: string; // e.g. \"@/computed-providers/state-total-cities.provider\"\n registerIn: Array<\"providers\" | \"exports\">; // which arrays to add to\n uniqueGuard?: boolean; // default=true\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface AddMethodToExistingClassStep {\n type: \"addMethodToExistingClass\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n className: string // e.g. CountryService\n methodName: string // e.g. addCountry\n content: string // Full Method Code\n importStatements?: string[]; // e.g. [ \"import { X } from 'y';\" ]\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterSolidXExtensionComponentStep {\n type: \"registerSolidXExtensionComponent\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n content?: string; // Code\n importExtensionComponent?: string;\n}\n\nexport interface AddListViewButtonStep {\n type: \"addListViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface AddFormViewButtonStep {\n type: \"addFormViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface McpComputedProviderResponse {\n plan: PlanStep[];\n // provider?: any; // (intentionally ignored per your note)\n}\n\nexport interface ISecurityRuleConfigProvider {\n securityRuleConfig(activeUser: ActiveUserData, securityRule: SecurityRule): Promise<SecurityRuleConfig>;\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AA4DA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,wCAAwB,CAAA;IACxB,6DAA6C,CAAA;IAC7C,6DAA6C,CAAA;IAC7C,8CAA8B,CAAA;AAChC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAkHD,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gDAAmC,CAAA;AACrC,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB;AAED,MAAa,YAAY;IACvB,YACS,IAAS,EACT,OAAU;QADV,SAAI,GAAJ,IAAI,CAAK;QACT,YAAO,GAAP,OAAO,CAAG;IACf,CAAC;CACN;AALD,oCAKC;AAmED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;AACvB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB","sourcesContent":["import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';\nimport { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';\nimport { SignUpDto } from 'src/dtos/sign-up.dto';\nimport { Readable } from 'stream';\nimport { CreateMediaStorageProviderMetadataDto } from './dtos/create-media-storage-provider-metadata.dto';\nimport { DatasourceType } from './dtos/create-model-metadata.dto';\nimport { CreateModuleMetadataDto } from './dtos/create-module-metadata.dto';\nimport { CreateRoleMetadataDto } from './dtos/create-role-metadata.dto';\nimport { CreateSecurityRuleDto } from './dtos/create-security-rule.dto';\nimport { FieldMetadata } from './entities/field-metadata.entity';\nimport { Media } from './entities/media.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { ComputedFieldMetadata } from './helpers/solid-registry';\nimport { SqlExpression } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { CreateDashboardDto } from './dtos/create-dashboard.dto';\nimport { AiInteraction } from './entities/ai-interaction.entity';\nimport { ActiveUserData } from './interfaces/active-user-data.interface';\nimport { SecurityRuleConfig } from './dtos/security-rule-config.dto';\nimport { SecurityRule } from './entities/security-rule.entity';\n\nexport interface FieldCrudManager {\n // fieldMetadata: FieldMetadata;\n // entityManager?: EntityManager;\n // createDto: any;\n // files : Array<Express.Multer.File>;\n validate(\n dto: any,\n files: Array<Express.Multer.File>,\n ): ValidationError[] | Promise<ValidationError[]>;\n transformForCreate(dto: any, ctxt?: any): any | Promise<any>;\n}\n\nexport interface ValidationError {\n field: string;\n error: string;\n}\n\n// export interface MediaStorage\nexport interface MediaStorageProvider<T> {\n store(files: Express.Multer.File[], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n delete(entity: T, mediaFieldMetadata: FieldMetadata): Promise<void>;\n retrieve(entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n storeStreams(streamPairs: [Readable, string][], entity: T, mediaFieldMetadata: FieldMetadata): Promise<Media[]>;\n // delete(file: string): Promise<void>;\n}\n\nexport interface ModuleMetadataConfiguration {\n moduleMetadata?: CreateModuleMetadataDto,\n roles?: CreateRoleMetadataDto[],\n users?: SignUpDto[],\n actions?: any[],\n menus?: any[],\n views?: any[],\n emailTemplates?: CreateEmailTemplateDto[],\n smsTemplates?: CreateSmsTemplateDto[],\n mediaStorageProviders?: CreateMediaStorageProviderMetadataDto[]\n securityRules?: CreateSecurityRuleDto[],\n dashboards?: CreateDashboardDto[],\n}\n\nexport enum SettingLevel {\n SystemEnv = 'system-env',\n SystemAdminReadonly = 'system-admin-readonly',\n SystemAdminEditable = 'system-admin-editable',\n InternalUser = \"internal-user\"\n}\n\nexport interface SettingDefinition<T = any> {\n moduleName: string;\n key: string;\n value: T;\n level: SettingLevel;\n}\n\n// solid-core/settings/settings-provider.interface.ts\nexport interface ISettingsProvider {\n getSettings(): SettingDefinition[];\n}\n\nexport interface CodeGenerationOptions {\n moduleId?: number;\n moduleUserKey?: string;\n modelId?: number;\n modelUserKey?: string;\n fieldIdsForRemoval?: number[];\n fieldNamesForRemoval?: string[];\n dryRun?: boolean;\n fieldIdsForRefresh?: number[];\n fieldNamesForRefresh?: string[];\n}\n\nexport interface TriggerMcpClientOptions {\n aiInteractionId: number;\n moduleName: string;\n}\n\nexport interface McpResponse {\n success: boolean;\n request: string;\n response: string;\n model?: string;\n tools_invoked?: string[];\n tool_calls?: any[];\n duration_ms?: number;\n errors?: string[];\n error_trace?: string[];\n content_type?: string;\n}\n\nexport interface ISelectionProviderContext {\n limit: number;\n offset: number;\n formValues: Record<string, any>;\n // query: string;\n}\n\nexport interface ISelectionProviderValues {\n label: string;\n value: string;\n}\n\nexport interface ISelectionProvider<T extends ISelectionProviderContext> {\n help(): string;\n\n name(): string;\n\n value(optionValue: string, ctxt: T): Promise<ISelectionProviderValues | any>;\n\n values(query: any, ctxt: T): Promise<readonly ISelectionProviderValues[]>;\n}\n\nexport interface IDashboardVariableSelectionProvider<T extends ISelectionProviderContext> extends ISelectionProvider<T> {\n}\n\nexport interface IMcpToolResponseHandler {\n apply(aiInteraction: AiInteraction);\n}\n\nexport interface IDashboardQuestionDataProvider<TContext, TData> {\n help(): string;\n\n name(): string;\n\n getData(question: DashboardQuestion, expressions?: SqlExpression[], ctxt?: TContext): Promise<TData[] | TData>;\n}\n\n/**\n * @deprecated Use `IEntityComputedFieldProvider` instead.\n */\nexport interface IComputedFieldProvider<T> {\n help(): string;\n\n name(): string;\n\n valueType(): string;\n\n computeValue(dto: any, ctxt: T): Promise<string | number>; // FIXME : Improve the types to make it more specific using generics\n}\n\nexport interface IEntityComputedFieldProvider {\n help(): string;\n\n name(): string;\n}\n\nexport interface IEntityPreComputeFieldProvider<TTriggerEntity, TContext, TValue = void> extends IEntityComputedFieldProvider {\n preComputeValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<TValue>;\n}\n\nexport interface IEntityPostComputeFieldProvider<TTriggerEntity, TContext> extends IEntityComputedFieldProvider {\n postComputeAndSaveValue(triggerEntity: TTriggerEntity, computedFieldMetadata: ComputedFieldMetadata<TContext>): Promise<void>;\n}\n\nexport interface ISolidDatabaseModule {\n name(): string;\n\n type(): DatasourceType;\n}\n\nexport enum EventType {\n USER_REGISTERED = 'user.registered',\n}\n\nexport class EventDetails<T> {\n constructor(\n public type: any,\n public payload: T,\n ) { }\n}\n\nexport interface IMail<TResponse = unknown> {\n sendEmail(\n to: string,\n subject: string,\n body: string,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n\n sendEmailUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueEmails: boolean,\n wrapperAttachments?: MailAttachmentWrapper[],\n attachments?: MailAttachment[],\n parentEntity?: any,\n parentEntityId?: any,\n cc?: string[],\n bcc?: string[],\n from?: string,\n ): Promise<TResponse>;\n}\n\nexport interface ISMS {\n sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<any>;\n\n sendSMSUsingTemplate(\n to: string,\n templateName: string,\n templateParams: any,\n shouldQueueSms: boolean,\n ): Promise<any>;\n}\n\nexport interface IWhatsAppTransport {\n sendWhatsAppMessage(\n to: string,\n templateId: string,\n parameters: any,\n parentEntity?: any,\n parentEntityId?: any\n ): Promise<any>;\n}\n\nexport interface MailAttachmentWrapper {\n relativePath?: string;\n attachment?: MailAttachment;\n}\n\nexport interface MailAttachment {\n filename: string;\n templatePath?: string; // deprecated\n templateParams?: any; // deprecated\n content?: string | Buffer;\n contentType?: string;\n path?: string; //Filesystem absolute path or URL. \n}\n\nexport enum BrokerType {\n RabbitMQ = 'rabbitmq',\n Database = 'database'\n}\n\nexport interface QueuesModuleOptions {\n name: string;\n type: BrokerType;\n queueName: string;\n}\n\nexport type MediaWithFullUrl = Media & {\n _full_url: string;\n};\n\n\nexport type ErrorCode = string;\n\nexport type ErrorMeta = {\n message: string;\n httpStatus?: number;\n};\n\nexport type ErrorRule = {\n /** Canonical error code. Keep them kebab-case for consistency. */\n code: ErrorCode;\n /** Higher runs earlier. Defaults to 0 if not provided. */\n priority?: number;\n /** Return true if this rule matches the combined error text. */\n match: (combinedErrorText: string) => boolean;\n /** Display + HTTP mapping for this code. */\n meta: ErrorMeta;\n};\n\nexport interface IErrorCodeProvider {\n /** Used for registry identity & logs */\n name(): string;\n\n /**\n * Return all rules this provider contributes.\n * These will be merged with other providers’ rules, then sorted by priority.\n */\n rules(): ReadonlyArray<ErrorRule>;\n\n /**\n * Optional fallback meta for codes this provider owns (when called by getMessage/getHttpStatus).\n * If omitted, the ErrorMapperService will rely on the rule.meta of the first matching rule.\n */\n resolve?(code: ErrorCode): ErrorMeta | undefined;\n}\n\n// MCP Tool Related\n\nexport type PlanStep = CreateNewFileStep | RegisterNestProviderStep | AddMethodToExistingClassStep | RegisterSolidXExtensionComponentStep | AddListViewButtonStep | AddFormViewButtonStep | AddImportStep;\nexport interface AddImportStep {\n type: \"addImport\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n importStatement: string; // e.g. import { Something } from 'somewhere';\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface CreateNewFileStep {\n type: \"createNewFile\";\n path: string; // repo-relative e.g. solid-api/api/src/computed-providers/foo.provider.ts\n content: string; // full file content\n overwrite?: boolean; // default=false\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterNestProviderStep {\n type: \"registerNestProvider\";\n modulePath: string; // e.g. apps/api/src/address-master/address-master.module.ts\n providerClassName: string; // e.g. StateTotalCitiesComputedFieldProvider\n importFrom: string; // e.g. \"@/computed-providers/state-total-cities.provider\"\n registerIn: Array<\"providers\" | \"exports\">; // which arrays to add to\n uniqueGuard?: boolean; // default=true\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface AddMethodToExistingClassStep {\n type: \"addMethodToExistingClass\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n className: string // e.g. CountryService\n methodName: string // e.g. addCountry\n content: string // Full Method Code\n importStatements?: string[]; // e.g. [ \"import { X } from 'y';\" ]\n rationale?: string; // optional, ignored by executor\n}\n\nexport interface RegisterSolidXExtensionComponentStep {\n type: \"registerSolidXExtensionComponent\";\n path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts\n content?: string; // Code\n importExtensionComponent?: string;\n}\n\nexport interface AddListViewButtonStep {\n type: \"addListViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface AddFormViewButtonStep {\n type: \"addFormViewButton\";\n moduleName?: string;\n modelName?: string;\n buttonType?: string;\n content?: string; // Code\n}\n\nexport interface McpComputedProviderResponse {\n plan: PlanStep[];\n // provider?: any; // (intentionally ignored per your note)\n}\n\nexport interface ISecurityRuleConfigProvider {\n securityRuleConfig(activeUser: ActiveUserData, securityRule: SecurityRule): Promise<SecurityRuleConfig>;\n}\n\n\nexport interface AwsS3Config {\n S3_AWS_ACCESS_KEY: string;\n S3_AWS_SECRET_KEY: string;\n S3_AWS_REGION_NAME: string;\n}\n\n// Prevents inference so callers must provide explicit type arguments; reusable for other APIs.\nexport type NoInfer<T> = [T][T extends any ? 0 : never];\n"]}
@@ -1,16 +1,13 @@
1
- import { ConfigType } from '@nestjs/config';
2
1
  import { Strategy, VerifyCallback } from 'passport-google-oauth2';
3
- import { iamConfig } from '../config/iam.config';
4
2
  import { UserService } from '../services/user.service';
5
3
  declare const GoogleOauthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
6
4
  export declare class GoogleOauthGuard extends GoogleOauthGuard_base {
7
5
  }
8
6
  declare const GoogleOauthStrategy_base: new (...args: any[]) => Strategy;
9
7
  export declare class GoogleOauthStrategy extends GoogleOauthStrategy_base {
10
- private iamConfiguration;
11
8
  private readonly userService;
12
9
  private readonly logger;
13
- constructor(iamConfiguration: ConfigType<typeof iamConfig>, userService: UserService);
10
+ constructor(userService: UserService);
14
11
  validate(_accessToken: string, _refreshToken: string, profile: any, done: VerifyCallback): Promise<any>;
15
12
  }
16
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"google-oauth.strategy.d.ts","sourceRoot":"","sources":["../../src/passport-strategies/google-oauth.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;;AAMvD,qBACa,gBAAiB,SAAQ,qBAAmB;CAAI;;AAG7D,qBACa,mBAAoB,SAAQ,wBAAoC;IAGlD,OAAO,CAAC,gBAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAE9B,gBAAgB,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EAC5D,WAAW,EAAE,WAAW;IAgBrC,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,GAAG,CAAC;CAuBhB"}
1
+ {"version":3,"file":"google-oauth.strategy.d.ts","sourceRoot":"","sources":["../../src/passport-strategies/google-oauth.strategy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;;AAMvD,qBACa,gBAAiB,SAAQ,qBAAmB;CAAI;;AAG7D,qBACa,mBAAoB,SAAQ,wBAAoC;IAGzE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAF9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAE5C,WAAW,EAAE,WAAW;IAqBrC,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,GAAG,CAAC;CAuBhB"}
@@ -8,9 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
11
  var GoogleOauthStrategy_1;
15
12
  Object.defineProperty(exports, "__esModule", { value: true });
16
13
  exports.GoogleOauthStrategy = exports.GoogleOauthGuard = void 0;
@@ -19,7 +16,6 @@ const passport_1 = require("@nestjs/passport");
19
16
  const passport_google_oauth2_1 = require("passport-google-oauth2");
20
17
  const google_oauth_helper_1 = require("../helpers/google-oauth.helper");
21
18
  const uuid_1 = require("uuid");
22
- const iam_config_1 = require("../config/iam.config");
23
19
  const user_service_1 = require("../services/user.service");
24
20
  const DUMMY_CLIENT_ID = 'DUMMY_CLIENT_ID';
25
21
  const DUMMY_CLIENT_SECRET = 'DUMMY_CLIENT_SECRET';
@@ -31,17 +27,22 @@ exports.GoogleOauthGuard = GoogleOauthGuard = __decorate([
31
27
  (0, common_1.Injectable)()
32
28
  ], GoogleOauthGuard);
33
29
  let GoogleOauthStrategy = GoogleOauthStrategy_1 = class GoogleOauthStrategy extends (0, passport_1.PassportStrategy)(passport_google_oauth2_1.Strategy, 'google') {
34
- constructor(iamConfiguration, userService) {
30
+ constructor(userService) {
35
31
  super({
36
- clientID: iamConfiguration.googleOauth.clientID ?? DUMMY_CLIENT_ID,
37
- clientSecret: iamConfiguration.googleOauth.clientSecret ?? DUMMY_CLIENT_SECRET,
38
- callbackURL: iamConfiguration.googleOauth.callbackURL ?? DUMMY_CALLBACK_URL,
32
+ clientID: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID ?? DUMMY_CLIENT_ID,
33
+ clientSecret: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET ?? DUMMY_CLIENT_SECRET,
34
+ callbackURL: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL ?? DUMMY_CALLBACK_URL,
39
35
  scope: ['profile', 'email'],
40
36
  });
41
- this.iamConfiguration = iamConfiguration;
42
37
  this.userService = userService;
43
38
  this.logger = new common_1.Logger(GoogleOauthStrategy_1.name);
44
- if (!(0, google_oauth_helper_1.isGoogleOAuthConfigured)(iamConfiguration)) {
39
+ const googleOauth = {
40
+ clientID: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID,
41
+ clientSecret: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET,
42
+ callbackURL: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL,
43
+ redirectURL: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL,
44
+ };
45
+ if (!(0, google_oauth_helper_1.isGoogleOAuthConfigured)(googleOauth)) {
45
46
  this.logger.debug('Google OAuth strategy is not configured');
46
47
  }
47
48
  }
@@ -63,7 +64,6 @@ let GoogleOauthStrategy = GoogleOauthStrategy_1 = class GoogleOauthStrategy exte
63
64
  exports.GoogleOauthStrategy = GoogleOauthStrategy;
64
65
  exports.GoogleOauthStrategy = GoogleOauthStrategy = GoogleOauthStrategy_1 = __decorate([
65
66
  (0, common_1.Injectable)(),
66
- __param(0, (0, common_1.Inject)(iam_config_1.iamConfig.KEY)),
67
- __metadata("design:paramtypes", [void 0, user_service_1.UserService])
67
+ __metadata("design:paramtypes", [user_service_1.UserService])
68
68
  ], GoogleOauthStrategy);
69
69
  //# sourceMappingURL=google-oauth.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"google-oauth.strategy.js","sourceRoot":"","sources":["../../src/passport-strategies/google-oauth.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAE5D,+CAA+D;AAC/D,mEAAkE;AAClE,wEAA0E;AAC1E,+BAAkC;AAClC,qDAAiD;AACjD,2DAAuD;AAEvD,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,oBAAS,EAAC,QAAQ,CAAC;CAAI,CAAA;AAAhD,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAAgC;AAItD,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,IAAA,2BAAgB,EAAC,iCAAQ,EAAE,QAAQ,CAAC;IAE3E,YACyB,gBAAsD,EAC5D,WAAwB;QAIzC,KAAK,CAAC;YACJ,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,QAAQ,IAAI,eAAe;YAClE,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC,YAAY,IAAI,mBAAmB;YAC9E,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC,WAAW,IAAI,kBAAkB;YAC3E,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;SAC5B,CAAC,CAAC;QAV4B,qBAAgB,GAAhB,gBAAgB,CAA8B;QAC5D,gBAAW,GAAX,WAAW,CAAa;QAH1B,WAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;QAc7D,IAAI,CAAC,IAAA,6CAAuB,EAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,YAAoB,EACpB,aAAqB,EACrB,OAAY,EACZ,IAAoB;QAEpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAG7C,MAAM,eAAe,GAAW,IAAA,SAAI,GAAE,CAAC;QAEvC,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YACtB,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5C,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YACxB,UAAU,EAAE,eAAe;SAC5B,CAAC;QAKF,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5G,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC;CAEF,CAAA;AAhDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,sBAAS,CAAC,GAAG,CAAC,CAAA;6CACQ,0BAAW;GAJhC,mBAAmB,CAgD/B","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport { ConfigType } from '@nestjs/config';\nimport { AuthGuard, PassportStrategy } from '@nestjs/passport';\nimport { Strategy, VerifyCallback } from 'passport-google-oauth2';\nimport { isGoogleOAuthConfigured } from 'src/helpers/google-oauth.helper';\nimport { v4 as uuid } from 'uuid';\nimport { iamConfig } from '../config/iam.config';\nimport { UserService } from '../services/user.service';\n\nconst DUMMY_CLIENT_ID = 'DUMMY_CLIENT_ID';\nconst DUMMY_CLIENT_SECRET = 'DUMMY_CLIENT_SECRET';\nconst DUMMY_CALLBACK_URL = 'DUMMY_CALLBACK_URL';\n\n@Injectable()\nexport class GoogleOauthGuard extends AuthGuard('google') { }\n\n\n@Injectable()\nexport class GoogleOauthStrategy extends PassportStrategy(Strategy, 'google') {\n private readonly logger = new Logger(GoogleOauthStrategy.name);\n constructor(\n @Inject(iamConfig.KEY) private iamConfiguration: ConfigType<typeof iamConfig>,\n private readonly userService: UserService\n ) {\n // TODO: Have added default dummy values for the configuration, since the configuration is not mandatory.\n // Perhaps a cleaner way needs to be figured out\n super({\n clientID: iamConfiguration.googleOauth.clientID ?? DUMMY_CLIENT_ID,\n clientSecret: iamConfiguration.googleOauth.clientSecret ?? DUMMY_CLIENT_SECRET,\n callbackURL: iamConfiguration.googleOauth.callbackURL ?? DUMMY_CALLBACK_URL,\n scope: ['profile', 'email'],\n });\n\n if (!isGoogleOAuthConfigured(iamConfiguration)) {\n this.logger.debug('Google OAuth strategy is not configured');\n }\n }\n\n async validate(\n _accessToken: string,\n _refreshToken: string,\n profile: any,\n done: VerifyCallback,\n ): Promise<any> {\n const { id, name, emails, photos } = profile;\n\n // generate a unique access code. \n const loginAccessCode: string = uuid();\n\n const user = {\n provider: 'google',\n providerId: id,\n email: emails[0].value,\n name: `${name.givenName} ${name.familyName}`,\n picture: photos[0].value,\n accessCode: loginAccessCode,\n };\n\n // store the access code and the access token in the database. \n // while doing this we also check if the user exists in the database if not we create one. \n // if exists then we update the user and store the specified access code & token.\n await this.userService.resolveUserOnOauthGoogle({ ...user, accessToken: _accessToken, refreshToken: null });\n\n done(null, user);\n }\n\n}"]}
1
+ {"version":3,"file":"google-oauth.strategy.js","sourceRoot":"","sources":["../../src/passport-strategies/google-oauth.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4D;AAE5D,+CAA+D;AAC/D,mEAAkE;AAClE,wEAAmG;AACnG,+BAAkC;AAClC,2DAAuD;AAEvD,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,oBAAS,EAAC,QAAQ,CAAC;CAAI,CAAA;AAAhD,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAAgC;AAItD,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,IAAA,2BAAgB,EAAC,iCAAQ,EAAE,QAAQ,CAAC;IAE3E,YACmB,WAAwB;QAIzC,KAAK,CAAC;YACJ,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,eAAe;YACnE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,mBAAmB;YAC/E,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,kBAAkB;YAC5E,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;SAC5B,CAAC,CAAC;QATc,gBAAW,GAAX,WAAW,CAAa;QAF1B,WAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;QAY7D,MAAM,WAAW,GAA4B;YAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;YAChD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;YACxD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B;YACtD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B;SACvD,CAAA;QACD,IAAI,CAAC,IAAA,6CAAuB,EAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,YAAoB,EACpB,aAAqB,EACrB,OAAY,EACZ,IAAoB;QAEpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAG7C,MAAM,eAAe,GAAW,IAAA,SAAI,GAAE,CAAC;QAEvC,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YACtB,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5C,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YACxB,UAAU,EAAE,eAAe;SAC5B,CAAC;QAKF,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5G,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC;CAEF,CAAA;AApDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAIqB,0BAAW;GAHhC,mBAAmB,CAoD/B","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport { ConfigType } from '@nestjs/config';\nimport { AuthGuard, PassportStrategy } from '@nestjs/passport';\nimport { Strategy, VerifyCallback } from 'passport-google-oauth2';\nimport { GoogleAuthConfiguration, isGoogleOAuthConfigured } from 'src/helpers/google-oauth.helper';\nimport { v4 as uuid } from 'uuid';\nimport { UserService } from '../services/user.service';\n\nconst DUMMY_CLIENT_ID = 'DUMMY_CLIENT_ID';\nconst DUMMY_CLIENT_SECRET = 'DUMMY_CLIENT_SECRET';\nconst DUMMY_CALLBACK_URL = 'DUMMY_CALLBACK_URL';\n\n@Injectable()\nexport class GoogleOauthGuard extends AuthGuard('google') { }\n\n\n@Injectable()\nexport class GoogleOauthStrategy extends PassportStrategy(Strategy, 'google') {\n private readonly logger = new Logger(GoogleOauthStrategy.name);\n constructor(\n private readonly userService: UserService\n ) {\n // TODO: Have added default dummy values for the configuration, since the configuration is not mandatory.\n // Perhaps a cleaner way needs to be figured out\n super({\n clientID: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID ?? DUMMY_CLIENT_ID,\n clientSecret: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET ?? DUMMY_CLIENT_SECRET,\n callbackURL: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL ?? DUMMY_CALLBACK_URL,\n scope: ['profile', 'email'],\n });\n const googleOauth: GoogleAuthConfiguration = {\n clientID: process.env.IAM_GOOGLE_OAUTH_CLIENT_ID,\n clientSecret: process.env.IAM_GOOGLE_OAUTH_CLIENT_SECRET,\n callbackURL: process.env.IAM_GOOGLE_OAUTH_CALLBACK_URL,\n redirectURL: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL,\n }\n if (!isGoogleOAuthConfigured(googleOauth)) {\n this.logger.debug('Google OAuth strategy is not configured');\n }\n }\n\n async validate(\n _accessToken: string,\n _refreshToken: string,\n profile: any,\n done: VerifyCallback,\n ): Promise<any> {\n const { id, name, emails, photos } = profile;\n\n // generate a unique access code. \n const loginAccessCode: string = uuid();\n\n const user = {\n provider: 'google',\n providerId: id,\n email: emails[0].value,\n name: `${name.givenName} ${name.familyName}`,\n picture: photos[0].value,\n accessCode: loginAccessCode,\n };\n\n // store the access code and the access token in the database. \n // while doing this we also check if the user exists in the database if not we create one. \n // if exists then we update the user and store the specified access code & token.\n await this.userService.resolveUserOnOauthGoogle({ ...user, accessToken: _accessToken, refreshToken: null });\n\n done(null, user);\n }\n\n}"]}
@@ -1,11 +1,10 @@
1
- import { ConfigType } from '@nestjs/config';
2
1
  import { EmailTemplateService } from '../services/email-template.service';
3
- import commonConfig from '../config/common.config';
2
+ import { SettingService } from 'src/services/setting.service';
4
3
  export declare class EmailTemplateSeederService {
5
4
  private readonly emailTemplateService;
6
- private readonly commonConfiguration;
5
+ private readonly settingService;
7
6
  private readonly logger;
8
- constructor(emailTemplateService: EmailTemplateService, commonConfiguration: ConfigType<typeof commonConfig>);
7
+ constructor(emailTemplateService: EmailTemplateService, settingService: SettingService);
9
8
  seed(): Promise<void>;
10
9
  }
11
10
  //# sourceMappingURL=email-template-seeder.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/email-template-seeder.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAGnD,qBACa,0BAA0B;IAI/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IALxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAGjD,oBAAoB,EAAE,oBAAoB,EAE1C,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC;IAGnE,IAAI;CA2Bb"}
1
+ {"version":3,"file":"email-template-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/email-template-seeder.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,qBACa,0BAA0B;IAI/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAGjD,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE,cAAc;IAG7C,IAAI;CA6Bb"}
@@ -41,12 +41,6 @@ var __importStar = (this && this.__importStar) || (function () {
41
41
  var __metadata = (this && this.__metadata) || function (k, v) {
42
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
43
  };
44
- var __param = (this && this.__param) || function (paramIndex, decorator) {
45
- return function (target, key) { decorator(target, key, paramIndex); }
46
- };
47
- var __importDefault = (this && this.__importDefault) || function (mod) {
48
- return (mod && mod.__esModule) ? mod : { "default": mod };
49
- };
50
44
  var EmailTemplateSeederService_1;
51
45
  Object.defineProperty(exports, "__esModule", { value: true });
52
46
  exports.EmailTemplateSeederService = void 0;
@@ -54,15 +48,16 @@ const common_1 = require("@nestjs/common");
54
48
  const fs = __importStar(require("fs"));
55
49
  const path = __importStar(require("path"));
56
50
  const email_template_service_1 = require("../services/email-template.service");
57
- const common_config_1 = __importDefault(require("../config/common.config"));
51
+ const setting_service_1 = require("../services/setting.service");
58
52
  let EmailTemplateSeederService = EmailTemplateSeederService_1 = class EmailTemplateSeederService {
59
- constructor(emailTemplateService, commonConfiguration) {
53
+ constructor(emailTemplateService, settingService) {
60
54
  this.emailTemplateService = emailTemplateService;
61
- this.commonConfiguration = commonConfiguration;
55
+ this.settingService = settingService;
62
56
  this.logger = new common_1.Logger(EmailTemplateSeederService_1.name);
63
57
  }
64
58
  async seed() {
65
- const seedDataFiles = this.commonConfiguration.emailTemplateSeederFiles.split(',');
59
+ const seedDataFileVariable = this.settingService.getConfigValue("emailTemplateSeederFiles");
60
+ const seedDataFiles = seedDataFileVariable.split(',');
66
61
  for (let i = 0; i < seedDataFiles.length; i++) {
67
62
  const seedDataFile = seedDataFiles[i];
68
63
  const fullPath = path.join(process.cwd(), seedDataFile);
@@ -83,7 +78,7 @@ let EmailTemplateSeederService = EmailTemplateSeederService_1 = class EmailTempl
83
78
  exports.EmailTemplateSeederService = EmailTemplateSeederService;
84
79
  exports.EmailTemplateSeederService = EmailTemplateSeederService = EmailTemplateSeederService_1 = __decorate([
85
80
  (0, common_1.Injectable)(),
86
- __param(1, (0, common_1.Inject)(common_config_1.default.KEY)),
87
- __metadata("design:paramtypes", [email_template_service_1.EmailTemplateService, void 0])
81
+ __metadata("design:paramtypes", [email_template_service_1.EmailTemplateService,
82
+ setting_service_1.SettingService])
88
83
  ], EmailTemplateSeederService);
89
84
  //# sourceMappingURL=email-template-seeder.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/email-template-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,uCAAyB;AACzB,2CAA6B;AAG7B,+EAA0E;AAC1E,4EAAmD;AAI5C,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAGnC,YACqB,oBAA0C,EAE3D,mBAAqE;QAFpD,yBAAoB,GAApB,oBAAoB,CAAsB;QAE1C,wBAAmB,GAAnB,mBAAmB,CAAiC;QALxD,WAAM,GAAG,IAAI,eAAM,CAAC,4BAA0B,CAAC,IAAI,CAAC,CAAC;IAMlE,CAAC;IAEL,KAAK,CAAC,IAAI;QAEN,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAGxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAC/D,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxE,MAAM,cAAc,GAA6B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBAG9D,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC3E,aAAa,CAAC,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;gBAG/E,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;QAEL,CAAC;IACL,CAAC;CACJ,CAAA;AApCY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;IAMJ,WAAA,IAAA,eAAM,EAAC,uBAAY,CAAC,GAAG,CAAC,CAAA;qCADc,6CAAoB;GAJtD,0BAA0B,CAoCtC","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nimport { ConfigType } from '@nestjs/config';\nimport { EmailTemplateService } from '../services/email-template.service';\nimport commonConfig from '../config/common.config';\nimport { CreateEmailTemplateDto } from '../dtos/create-email-template.dto';\n\n@Injectable()\nexport class EmailTemplateSeederService {\n private readonly logger = new Logger(EmailTemplateSeederService.name);\n\n constructor(\n private readonly emailTemplateService: EmailTemplateService,\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n ) { }\n\n async seed() {\n // Read the module metadata from a file specified in the .env \n const seedDataFiles = this.commonConfiguration.emailTemplateSeederFiles.split(',');\n for (let i = 0; i < seedDataFiles.length; i++) {\n const seedDataFile = seedDataFiles[i];\n const fullPath = path.join(process.cwd(), seedDataFile);\n\n // For each module metadata seed file provided, read contents, parse & convert to a variable. \n this.logger.log(`Using email template seed data: ${fullPath}`);\n const emailTemplateJson = fs.readFileSync(fullPath, 'utf-8').toString();\n const emailTemplates: CreateEmailTemplateDto[] = JSON.parse(emailTemplateJson);\n\n for (let i = 0; i < emailTemplates.length; i++) {\n const emailTemplate = emailTemplates[i];\n this.logger.log(`Found ${emailTemplate.name} email template`);\n\n // We need to load the actual template contents. \n const emailTemplateFilePath = path.join(process.cwd(), emailTemplate.body);\n emailTemplate.body = fs.readFileSync(emailTemplateFilePath, 'utf-8').toString()\n\n // Save to DB.\n await this.emailTemplateService.removeByName(emailTemplate.name);\n await this.emailTemplateService.create(emailTemplate);\n }\n\n }\n }\n}"]}
1
+ {"version":3,"file":"email-template-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/email-template-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,uCAAyB;AACzB,2CAA6B;AAI7B,+EAA0E;AAE1E,iEAA8D;AAGvD,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAGnC,YACqB,oBAA0C,EAC1C,cAA8B;QAD9B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,mBAAc,GAAd,cAAc,CAAgB;QAJlC,WAAM,GAAG,IAAI,eAAM,CAAC,4BAA0B,CAAC,IAAI,CAAC,CAAC;IAKlE,CAAC;IAEL,KAAK,CAAC,IAAI;QAEN,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,0BAA0B,CAAC,CAAC;QAC9G,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAGxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAC/D,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxE,MAAM,cAAc,GAA6B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBAG9D,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC3E,aAAa,CAAC,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;gBAG/E,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;QAEL,CAAC;IACL,CAAC;CACJ,CAAA;AArCY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;qCAKkC,6CAAoB;QAC1B,gCAAc;GAL1C,0BAA0B,CAqCtC","sourcesContent":["import { Inject, Injectable, Logger } from '@nestjs/common';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\nimport { ConfigType } from '@nestjs/config';\nimport { EmailTemplateService } from '../services/email-template.service';\nimport { CreateEmailTemplateDto } from '../dtos/create-email-template.dto';\nimport { SettingService } from 'src/services/setting.service';\n\n@Injectable()\nexport class EmailTemplateSeederService {\n private readonly logger = new Logger(EmailTemplateSeederService.name);\n\n constructor(\n private readonly emailTemplateService: EmailTemplateService,\n private readonly settingService: SettingService\n ) { }\n\n async seed() {\n // Read the module metadata from a file specified in the .env \n const seedDataFileVariable = this.settingService.getConfigValue<SolidCoreSetting>(\"emailTemplateSeederFiles\");\n const seedDataFiles = seedDataFileVariable.split(',');\n\n for (let i = 0; i < seedDataFiles.length; i++) {\n const seedDataFile = seedDataFiles[i];\n const fullPath = path.join(process.cwd(), seedDataFile);\n\n // For each module metadata seed file provided, read contents, parse & convert to a variable. \n this.logger.log(`Using email template seed data: ${fullPath}`);\n const emailTemplateJson = fs.readFileSync(fullPath, 'utf-8').toString();\n const emailTemplates: CreateEmailTemplateDto[] = JSON.parse(emailTemplateJson);\n\n for (let i = 0; i < emailTemplates.length; i++) {\n const emailTemplate = emailTemplates[i];\n this.logger.log(`Found ${emailTemplate.name} email template`);\n\n // We need to load the actual template contents. \n const emailTemplateFilePath = path.join(process.cwd(), emailTemplate.body);\n emailTemplate.body = fs.readFileSync(emailTemplateFilePath, 'utf-8').toString()\n\n // Save to DB.\n await this.emailTemplateService.removeByName(emailTemplate.name);\n await this.emailTemplateService.create(emailTemplate);\n }\n\n }\n }\n}"]}
@@ -10,7 +10,6 @@ import { DataSource } from 'typeorm';
10
10
  import { SolidRegistry } from '../helpers/solid-registry';
11
11
  import { ActionMetadataService } from '../services/action-metadata.service';
12
12
  import { FieldMetadataService } from '../services/field-metadata.service';
13
- import { MediaStorageProviderMetadataSeederService } from '../services/media-storage-provider-metadata-seeder.service';
14
13
  import { MediaStorageProviderMetadataService } from '../services/media-storage-provider-metadata.service';
15
14
  import { ModelMetadataService } from '../services/model-metadata.service';
16
15
  import { ModuleMetadataService } from '../services/module-metadata.service';
@@ -32,7 +31,6 @@ export declare class ModuleMetadataSeederService {
32
31
  private readonly authenticationService;
33
32
  private readonly solidActionService;
34
33
  private readonly solidViewService;
35
- private readonly mediaStorageProviderSeederService;
36
34
  private readonly emailTemplateService;
37
35
  private readonly smsTemplateService;
38
36
  private readonly listOfValuesService;
@@ -48,7 +46,7 @@ export declare class ModuleMetadataSeederService {
48
46
  readonly dataSource: DataSource;
49
47
  readonly modelSequenceRepo: ModelSequenceRepository;
50
48
  private readonly logger;
51
- constructor(moduleMetadataService: ModuleMetadataService, modelMetadataService: ModelMetadataService, fieldMetadataService: FieldMetadataService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, roleService: RoleMetadataService, userService: UserService, authenticationService: AuthenticationService, solidActionService: ActionMetadataService, solidViewService: ViewMetadataService, mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService, emailTemplateService: EmailTemplateService, smsTemplateService: SmsTemplateService, listOfValuesService: ListOfValuesService, permissionRepo: PermissionMetadataRepository, solidRegistry: SolidRegistry, settingService: SettingService, settingsRepo: SettingRepository, securityRuleRepo: SecurityRuleRepository, systemFieldsSeederService: SystemFieldsSeederService, dashboardRepo: DashboardRepository, scheduledJobRepository: ScheduledJobRepository, savedFiltersRepo: SavedFiltersRepository, dataSource: DataSource, modelSequenceRepo: ModelSequenceRepository);
49
+ constructor(moduleMetadataService: ModuleMetadataService, modelMetadataService: ModelMetadataService, fieldMetadataService: FieldMetadataService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, roleService: RoleMetadataService, userService: UserService, authenticationService: AuthenticationService, solidActionService: ActionMetadataService, solidViewService: ViewMetadataService, emailTemplateService: EmailTemplateService, smsTemplateService: SmsTemplateService, listOfValuesService: ListOfValuesService, permissionRepo: PermissionMetadataRepository, solidRegistry: SolidRegistry, settingService: SettingService, settingsRepo: SettingRepository, securityRuleRepo: SecurityRuleRepository, systemFieldsSeederService: SystemFieldsSeederService, dashboardRepo: DashboardRepository, scheduledJobRepository: ScheduledJobRepository, savedFiltersRepo: SavedFiltersRepository, dataSource: DataSource, modelSequenceRepo: ModelSequenceRepository);
52
50
  seed(conf?: any): Promise<void>;
53
51
  private seedScheduledJobs;
54
52
  private seedSavedFilters;
@@ -68,7 +66,6 @@ export declare class ModuleMetadataSeederService {
68
66
  private seedGlobalMetadata;
69
67
  private seedDefaultSystemFields;
70
68
  private seedPermissions;
71
- private seedDefaultMediaStorageProviders;
72
69
  private seedMediaStorageProviders;
73
70
  private seedModelSequences;
74
71
  private handleSeedEmailTemplates;
@@ -78,7 +75,6 @@ export declare class ModuleMetadataSeederService {
78
75
  private handleSeedViews;
79
76
  private handleSeedUsers;
80
77
  private seedModuleModelFields;
81
- private seedSettings;
82
78
  private handleSeedSecurityRules;
83
79
  private handleSeedListOfValues;
84
80
  private handleSeedDashboards;
@@ -1 +1 @@
1
- {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-metadata-seeder.service.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,6 @@ const module_helper_1 = require("../helpers/module.helper");
67
67
  const solid_registry_1 = require("../helpers/solid-registry");
68
68
  const action_metadata_service_1 = require("../services/action-metadata.service");
69
69
  const field_metadata_service_1 = require("../services/field-metadata.service");
70
- const media_storage_provider_metadata_seeder_service_1 = require("../services/media-storage-provider-metadata-seeder.service");
71
70
  const media_storage_provider_metadata_service_1 = require("../services/media-storage-provider-metadata.service");
72
71
  const model_metadata_service_1 = require("../services/model-metadata.service");
73
72
  const module_metadata_service_1 = require("../services/module-metadata.service");
@@ -83,7 +82,7 @@ const scheduled_job_repository_1 = require("../repository/scheduled-job.reposito
83
82
  const setting_repository_1 = require("../repository/setting.repository");
84
83
  const model_sequence_repository_1 = require("../repository/model-sequence.repository");
85
84
  let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMetadataSeederService {
86
- constructor(moduleMetadataService, modelMetadataService, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, solidActionService, solidViewService, mediaStorageProviderSeederService, emailTemplateService, smsTemplateService, listOfValuesService, permissionRepo, solidRegistry, settingService, settingsRepo, securityRuleRepo, systemFieldsSeederService, dashboardRepo, scheduledJobRepository, savedFiltersRepo, dataSource, modelSequenceRepo) {
85
+ constructor(moduleMetadataService, modelMetadataService, fieldMetadataService, mediaStorageProviderMetadataService, roleService, userService, authenticationService, solidActionService, solidViewService, emailTemplateService, smsTemplateService, listOfValuesService, permissionRepo, solidRegistry, settingService, settingsRepo, securityRuleRepo, systemFieldsSeederService, dashboardRepo, scheduledJobRepository, savedFiltersRepo, dataSource, modelSequenceRepo) {
87
86
  this.moduleMetadataService = moduleMetadataService;
88
87
  this.modelMetadataService = modelMetadataService;
89
88
  this.fieldMetadataService = fieldMetadataService;
@@ -93,7 +92,6 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
93
92
  this.authenticationService = authenticationService;
94
93
  this.solidActionService = solidActionService;
95
94
  this.solidViewService = solidViewService;
96
- this.mediaStorageProviderSeederService = mediaStorageProviderSeederService;
97
95
  this.emailTemplateService = emailTemplateService;
98
96
  this.smsTemplateService = smsTemplateService;
99
97
  this.listOfValuesService = listOfValuesService;
@@ -117,9 +115,11 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
117
115
  let modulesToSeed = null;
118
116
  if (conf && Array.isArray(conf.modulesToSeed)) {
119
117
  modulesToSeed = conf.modulesToSeed;
118
+ console.log(`▶ Selective seeding enabled. Modules to seed: ${modulesToSeed.join(', ')}`);
120
119
  this.logger.log(`Selective seeding enabled. Modules to seed: ${modulesToSeed.join(', ')}`);
121
120
  }
122
121
  else {
122
+ console.log(`▶ No modulesToSeed provided. Seeding ALL modules.`);
123
123
  this.logger.log(`No modulesToSeed provided. Seeding ALL modules.`);
124
124
  }
125
125
  const filteredSeedDataFiles = modulesToSeed
@@ -132,43 +132,57 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
132
132
  for (let i = 0; i < filteredSeedDataFiles.length; i++) {
133
133
  const overallMetadata = filteredSeedDataFiles[i];
134
134
  const moduleMetadata = overallMetadata.moduleMetadata;
135
+ console.log(`▶ Seeding Metadata for Module: ${moduleMetadata.name}`);
135
136
  this.logger.log(`Seeding Metadata for Module: ${moduleMetadata.name}`);
137
+ console.log(`▶ [${moduleMetadata.name}] Seeding Module / Model / Fields`);
136
138
  this.logger.log(`Seeding Module / Model / Fields`);
137
139
  await this.seedModuleModelFields(moduleMetadata);
140
+ console.log(`▶ [${moduleMetadata.name}] Seeding Media Storage Providers`);
138
141
  this.logger.log(`Seeding Media Storage Providers`);
139
142
  await this.seedMediaStorageProviders(overallMetadata.mediaStorageProviders);
143
+ console.log(`▶ [${moduleMetadata.name}] Seeding Roles`);
140
144
  this.logger.log(`Seeding Roles`);
141
145
  await this.seedRoles(overallMetadata);
146
+ console.log(`▶ [${moduleMetadata.name}] Seeding Users`);
142
147
  this.logger.log(`Seeding Users`);
143
148
  await this.seedUsers(overallMetadata);
149
+ console.log(`▶ [${moduleMetadata.name}] Seeding Views`);
144
150
  this.logger.log(`Seeding Views`);
145
151
  await this.seedViews(overallMetadata);
152
+ console.log(`▶ [${moduleMetadata.name}] Seeding Actions`);
146
153
  this.logger.log(`Seeding Actions`);
147
154
  await this.seedActions(overallMetadata);
155
+ console.log(`▶ [${moduleMetadata.name}] Seeding Menus`);
148
156
  this.logger.log(`Seeding Menus`);
149
157
  await this.seedMenus(overallMetadata);
158
+ console.log(`▶ [${moduleMetadata.name}] Seeding Email Templates`);
150
159
  this.logger.log(`Seeding Email Templates`);
151
160
  await this.seedEmailTemplates(overallMetadata, moduleMetadata.name);
161
+ console.log(`▶ [${moduleMetadata.name}] Seeding Sms Templates`);
152
162
  this.logger.log(`Seeding Sms Templates`);
153
163
  await this.seedSmsTemplates(overallMetadata, moduleMetadata.name);
154
- this.logger.log(`Seeding Default Settings`);
155
- await this.seedDefaultSettings();
164
+ console.log(`▶ [${moduleMetadata.name}] Seeding Security Rules`);
156
165
  this.logger.log(`Seeding Security Rules`);
157
166
  await this.seedSecurityRules(overallMetadata);
167
+ console.log(`▶ [${moduleMetadata.name}] Seeding List Of Values`);
158
168
  this.logger.log(`Seeding List Of Values`);
159
169
  await this.seedListOfValues(moduleMetadata, overallMetadata);
170
+ console.log(`▶ [${moduleMetadata.name}] Seeding Dashboards`);
160
171
  this.logger.log(`Seeding Dashboards`);
161
172
  await this.seedDashboards(moduleMetadata, overallMetadata);
173
+ console.log(`▶ [${moduleMetadata.name}] Seeding Scheduled Jobs`);
162
174
  this.logger.log(`Seeding Scheduled Jobs`);
163
175
  await this.seedScheduledJobs(moduleMetadata, overallMetadata);
176
+ console.log(`▶ [${moduleMetadata.name}] Seeding Saved Filters`);
164
177
  this.logger.log(`Seeding Saved Filters`);
165
178
  await this.seedSavedFilters(moduleMetadata, overallMetadata);
179
+ console.log(`▶ [${moduleMetadata.name}] Seeding Model Sequences`);
166
180
  this.logger.log(`Seeding Model Sequences`);
167
181
  await this.seedModelSequences(overallMetadata);
168
182
  this.logger.debug(`[End] module seed data: ${overallMetadata}`);
169
183
  }
170
184
  await this.setupDefaultRolesWithPermissions();
171
- console.log(`Seeding completed.`);
185
+ console.log(`✔ Seeding completed.`);
172
186
  }
173
187
  async seedScheduledJobs(moduleMetadata, overallMetadata) {
174
188
  this.logger.debug(`[Start] Processing scheduled jobs for ${moduleMetadata.name}`);
@@ -201,10 +215,6 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
201
215
  async setupDefaultRolesWithPermissions() {
202
216
  this.logger.debug(`About to add all permissions to the Admin role`);
203
217
  await this.roleService.addAllPermissionsToRole(create_role_metadata_dto_1.ADMIN_ROLE_NAME);
204
- this.logger.debug(`About to add all permissions to the Internal role`);
205
- await this.roleService.addPermissionToRole(create_role_metadata_dto_1.INTERNAL_ROLE_NAME, create_role_metadata_dto_1.INTERNAL_ROLE_PERMISSIONS);
206
- this.logger.debug(`About to add all permissions to the Public role`);
207
- await this.roleService.addPermissionToRole(create_role_metadata_dto_1.PUBLIC_ROLE_NAME, ['SettingController.wrapSettings', 'AuthenticationController.logout']);
208
218
  }
209
219
  async seedSecurityRules(overallMetadata) {
210
220
  this.logger.debug(`[Start] Processing security rules`);
@@ -214,7 +224,7 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
214
224
  }
215
225
  async seedDefaultSettings() {
216
226
  this.logger.debug(`[Start] Processing settings`);
217
- await this.settingService.seedDefaultSettings();
227
+ await this.settingService.seedSystemAdminEditableAndAboveSettings();
218
228
  this.logger.debug(`[End] Processing settings`);
219
229
  }
220
230
  async seedSmsTemplates(overallMetadata, moduleName) {
@@ -280,10 +290,10 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
280
290
  async seedGlobalMetadata() {
281
291
  this.logger.log(`Seeding Permissions`);
282
292
  await this.seedPermissions();
283
- this.logger.log(`Seeding Default Media Storage Providers`);
284
- await this.seedDefaultMediaStorageProviders();
285
293
  this.logger.log(`Seeding System Fields Metadata`);
286
294
  await this.seedDefaultSystemFields();
295
+ this.logger.log(`Seeding Default Settings`);
296
+ await this.seedDefaultSettings();
287
297
  this.logger.debug(`Global metadata seeding completed`);
288
298
  }
289
299
  async seedDefaultSystemFields() {
@@ -317,9 +327,6 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
317
327
  }
318
328
  }
319
329
  }
320
- async seedDefaultMediaStorageProviders() {
321
- await this.mediaStorageProviderSeederService.seed();
322
- }
323
330
  async seedMediaStorageProviders(mediaStorageProviders) {
324
331
  this.logger.debug(`[Start] Processing Media Storage Provider`);
325
332
  for (let i = 0; i < mediaStorageProviders.length; i++) {
@@ -593,12 +600,6 @@ let ModuleMetadataSeederService = ModuleMetadataSeederService_1 = class ModuleMe
593
600
  }
594
601
  this.logger.debug(`[End] Processing module metadata`);
595
602
  }
596
- async seedSettings(createDto) {
597
- const settingsArray = await this.settingsRepo.find();
598
- if (!settingsArray || settingsArray.length === 0) {
599
- this.settingService.create(createDto);
600
- }
601
- }
602
603
  async handleSeedSecurityRules(rulesDto) {
603
604
  if (!rulesDto || rulesDto.length === 0) {
604
605
  this.logger.debug(`No security rules found to seed`);
@@ -669,7 +670,6 @@ exports.ModuleMetadataSeederService = ModuleMetadataSeederService = ModuleMetada
669
670
  authentication_service_1.AuthenticationService,
670
671
  action_metadata_service_1.ActionMetadataService,
671
672
  view_metadata_service_1.ViewMetadataService,
672
- media_storage_provider_metadata_seeder_service_1.MediaStorageProviderMetadataSeederService,
673
673
  email_template_service_1.EmailTemplateService,
674
674
  sms_template_service_1.SmsTemplateService,
675
675
  list_of_values_service_1.ListOfValuesService,