@solidstarters/solid-core 1.2.204 → 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 (500) 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/setting.service.d.ts +23 -30
  267. package/dist/services/setting.service.d.ts.map +1 -1
  268. package/dist/services/setting.service.js +147 -196
  269. package/dist/services/setting.service.js.map +1 -1
  270. package/dist/services/settings/default-settings-provider.service.d.ts +1058 -0
  271. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -0
  272. package/dist/services/settings/default-settings-provider.service.js +139 -0
  273. package/dist/services/settings/default-settings-provider.service.js.map +1 -0
  274. package/dist/services/short-url/tiny-url.service.d.ts +3 -4
  275. package/dist/services/short-url/tiny-url.service.d.ts.map +1 -1
  276. package/dist/services/short-url/tiny-url.service.js +10 -13
  277. package/dist/services/short-url/tiny-url.service.js.map +1 -1
  278. package/dist/services/sms/Msg91BaseSMSService.d.ts +3 -4
  279. package/dist/services/sms/Msg91BaseSMSService.d.ts.map +1 -1
  280. package/dist/services/sms/Msg91BaseSMSService.js +3 -3
  281. package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
  282. package/dist/services/sms/Msg91OTPService.d.ts +2 -3
  283. package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
  284. package/dist/services/sms/Msg91OTPService.js +7 -13
  285. package/dist/services/sms/Msg91OTPService.js.map +1 -1
  286. package/dist/services/sms/Msg91SMSService.d.ts +2 -3
  287. package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
  288. package/dist/services/sms/Msg91SMSService.js +7 -13
  289. package/dist/services/sms/Msg91SMSService.js.map +1 -1
  290. package/dist/services/sms/TwilioSMSService.d.ts +3 -4
  291. package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
  292. package/dist/services/sms/TwilioSMSService.js +13 -16
  293. package/dist/services/sms/TwilioSMSService.js.map +1 -1
  294. package/dist/services/sms-template.service.d.ts +2 -13
  295. package/dist/services/sms-template.service.d.ts.map +1 -1
  296. package/dist/services/sms-template.service.js +4 -22
  297. package/dist/services/sms-template.service.js.map +1 -1
  298. package/dist/services/solid-introspect.service.d.ts +4 -1
  299. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  300. package/dist/services/solid-introspect.service.js +33 -47
  301. package/dist/services/solid-introspect.service.js.map +1 -1
  302. package/dist/services/textract.service.d.ts +1 -4
  303. package/dist/services/textract.service.d.ts.map +1 -1
  304. package/dist/services/textract.service.js +14 -18
  305. package/dist/services/textract.service.js.map +1 -1
  306. package/dist/services/user-activity-history.service.d.ts +2 -13
  307. package/dist/services/user-activity-history.service.d.ts.map +1 -1
  308. package/dist/services/user-activity-history.service.js +4 -22
  309. package/dist/services/user-activity-history.service.js.map +1 -1
  310. package/dist/services/user-view-metadata.service.d.ts +2 -13
  311. package/dist/services/user-view-metadata.service.d.ts.map +1 -1
  312. package/dist/services/user-view-metadata.service.js +4 -22
  313. package/dist/services/user-view-metadata.service.js.map +1 -1
  314. package/dist/services/user.service.d.ts +2 -15
  315. package/dist/services/user.service.d.ts.map +1 -1
  316. package/dist/services/user.service.js +7 -28
  317. package/dist/services/user.service.js.map +1 -1
  318. package/dist/services/view-metadata.service.d.ts +2 -13
  319. package/dist/services/view-metadata.service.d.ts.map +1 -1
  320. package/dist/services/view-metadata.service.js +5 -23
  321. package/dist/services/view-metadata.service.js.map +1 -1
  322. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +3 -4
  323. package/dist/services/whatsapp/Msg91WhatsappService.d.ts.map +1 -1
  324. package/dist/services/whatsapp/Msg91WhatsappService.js +12 -18
  325. package/dist/services/whatsapp/Msg91WhatsappService.js.map +1 -1
  326. package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -4
  327. package/dist/services/whatsapp/Three60WhatsappService.d.ts.map +1 -1
  328. package/dist/services/whatsapp/Three60WhatsappService.js +2 -11
  329. package/dist/services/whatsapp/Three60WhatsappService.js.map +1 -1
  330. package/dist/solid-core.module.d.ts.map +1 -1
  331. package/dist/solid-core.module.js +9 -47
  332. package/dist/solid-core.module.js.map +1 -1
  333. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -1
  334. package/dist/transformers/typeorm/local-date-time-transformer.js +4 -2
  335. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -1
  336. package/dist/tsconfig.tsbuildinfo +1 -1
  337. package/package.json +1 -1
  338. package/src/commands/info.command.ts +101 -0
  339. package/src/commands/mcp.command.ts +3 -17
  340. package/src/commands/seed.command.ts +4 -16
  341. package/src/controllers/email-template.controller.ts +9 -4
  342. package/src/controllers/google-authentication.controller.ts +19 -12
  343. package/src/controllers/setting.controller.ts +6 -81
  344. package/src/decorators/settings-provider.decorator.ts +7 -0
  345. package/src/decorators/solid-password.decorator.ts +43 -43
  346. package/src/dtos/create-role-metadata.dto.ts +4 -81
  347. package/src/dtos/create-setting.dto.ts +14 -1
  348. package/src/dtos/update-setting.dto.ts +14 -0
  349. package/src/entities/setting.entity.ts +15 -1
  350. package/src/factories/mail.factory.ts +4 -4
  351. package/src/factories/sms.factory.ts +9 -7
  352. package/src/factories/whatsapp.factory.ts +4 -4
  353. package/src/guards/access-token.guard.ts +12 -5
  354. package/src/helpers/cors.helper.ts +3 -3
  355. package/src/helpers/error-mapper.service.ts +0 -1
  356. package/src/helpers/google-oauth.helper.ts +11 -7
  357. package/src/helpers/module.helper.ts +2 -2
  358. package/src/helpers/solid-registry.ts +45 -16
  359. package/src/index.ts +2 -4
  360. package/src/interfaces.ts +29 -0
  361. package/src/passport-strategies/google-oauth.strategy.ts +11 -8
  362. package/src/seeders/email-template-seeder.service.ts +6 -4
  363. package/src/seeders/module-metadata-seeder.service.ts +40 -28
  364. package/src/seeders/seed-data/solid-core-metadata.json +99 -5
  365. package/src/seeders/sms-template-seeder.service.ts +6 -4
  366. package/src/services/action-metadata.service.ts +4 -16
  367. package/src/services/ai-interaction.service.ts +6 -17
  368. package/src/services/authentication.service.ts +173 -111
  369. package/src/services/bcrypt.service.ts +9 -9
  370. package/src/services/chatter-message-details.service.ts +5 -17
  371. package/src/services/chatter-message.service.ts +2 -14
  372. package/src/services/crud.service.ts +36 -28
  373. package/src/services/dashboard-question-sql-dataset-config.service.ts +4 -15
  374. package/src/services/dashboard-question.service.ts +4 -17
  375. package/src/services/dashboard-variable.service.ts +4 -16
  376. package/src/services/dashboard.service.ts +2 -13
  377. package/src/services/email-template.service.ts +3 -15
  378. package/src/services/export-template.service.ts +4 -18
  379. package/src/services/export-transaction.service.ts +4 -19
  380. package/src/services/field-metadata.service.ts +5 -1
  381. package/src/services/file/file-service.interface.ts +74 -0
  382. package/src/services/file.service.ts +10 -7
  383. package/src/services/genai/r2r-helper.service.ts +10 -6
  384. package/src/services/import-transaction-error-log.service.ts +5 -17
  385. package/src/services/import-transaction.service.ts +3 -15
  386. package/src/services/list-of-values.service.ts +3 -16
  387. package/src/services/locale.service.ts +3 -15
  388. package/src/services/mail/elastic-email.service.ts +7 -7
  389. package/src/services/mail/smtp-email.service.ts +19 -11
  390. package/src/services/media-storage-provider-metadata.service.ts +4 -0
  391. package/src/services/media.service.ts +39 -22
  392. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +0 -3
  393. package/src/services/mediaStorageProviders/file-storage-provider.ts +24 -12
  394. package/src/services/mediaStorageProviders/index.ts +1 -1
  395. package/src/services/menu-item-metadata.service.ts +5 -17
  396. package/src/services/model-metadata.service.ts +4 -0
  397. package/src/services/model-sequence.service.ts +4 -15
  398. package/src/services/module-metadata.service.ts +13 -4
  399. package/src/services/mq-message-queue.service.ts +5 -17
  400. package/src/services/mq-message.service.ts +5 -17
  401. package/src/services/permission-metadata.service.ts +4 -16
  402. package/src/services/role-metadata.service.ts +3 -16
  403. package/src/services/saved-filters.service.ts +2 -13
  404. package/src/services/scheduled-job.service.ts +3 -15
  405. package/src/services/security-rule.service.ts +4 -16
  406. package/src/services/setting.service.ts +223 -212
  407. package/src/services/settings/default-settings-provider.service.ts +157 -0
  408. package/src/services/short-url/tiny-url.service.ts +9 -7
  409. package/src/services/sms/Msg91BaseSMSService.ts +6 -4
  410. package/src/services/sms/Msg91OTPService.ts +7 -7
  411. package/src/services/sms/Msg91SMSService.ts +7 -6
  412. package/src/services/sms/TwilioSMSService.ts +18 -19
  413. package/src/services/sms-template.service.ts +3 -15
  414. package/src/services/solid-introspect.service.ts +45 -66
  415. package/src/services/textract.service.ts +13 -10
  416. package/src/services/user-activity-history.service.ts +5 -17
  417. package/src/services/user-view-metadata.service.ts +5 -17
  418. package/src/services/user.service.ts +7 -22
  419. package/src/services/view-metadata.service.ts +3 -15
  420. package/src/services/whatsapp/Msg91WhatsappService.ts +10 -11
  421. package/src/services/whatsapp/Three60WhatsappService.ts +0 -3
  422. package/src/solid-core.module.ts +17 -49
  423. package/src/transformers/typeorm/local-date-time-transformer.ts +10 -5
  424. package/dist/config/app-builder.config.d.ts +0 -11
  425. package/dist/config/app-builder.config.d.ts.map +0 -1
  426. package/dist/config/app-builder.config.js +0 -13
  427. package/dist/config/app-builder.config.js.map +0 -1
  428. package/dist/config/common.config.d.ts +0 -96
  429. package/dist/config/common.config.d.ts.map +0 -1
  430. package/dist/config/common.config.js +0 -51
  431. package/dist/config/common.config.js.map +0 -1
  432. package/dist/config/iam.config.d.ts +0 -56
  433. package/dist/config/iam.config.d.ts.map +0 -1
  434. package/dist/config/iam.config.js +0 -35
  435. package/dist/config/iam.config.js.map +0 -1
  436. package/dist/config/jwt.config.d.ts +0 -14
  437. package/dist/config/jwt.config.d.ts.map +0 -1
  438. package/dist/config/jwt.config.js +0 -15
  439. package/dist/config/jwt.config.js.map +0 -1
  440. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts +0 -16
  441. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts.map +0 -1
  442. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js +0 -151
  443. package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js.map +0 -1
  444. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts +0 -17
  445. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts.map +0 -1
  446. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js +0 -80
  447. package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js.map +0 -1
  448. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts +0 -16
  449. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts.map +0 -1
  450. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js +0 -74
  451. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js.map +0 -1
  452. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts +0 -12
  453. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts.map +0 -1
  454. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js +0 -47
  455. package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js.map +0 -1
  456. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts +0 -16
  457. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts.map +0 -1
  458. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js +0 -151
  459. package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js.map +0 -1
  460. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts +0 -16
  461. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts.map +0 -1
  462. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js +0 -75
  463. package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js.map +0 -1
  464. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts +0 -14
  465. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts.map +0 -1
  466. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js +0 -73
  467. package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js.map +0 -1
  468. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts +0 -14
  469. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts.map +0 -1
  470. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js +0 -45
  471. package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js.map +0 -1
  472. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts +0 -14
  473. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts.map +0 -1
  474. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js +0 -51
  475. package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js.map +0 -1
  476. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts +0 -12
  477. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts.map +0 -1
  478. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js +0 -38
  479. package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js.map +0 -1
  480. package/dist/services/media-storage-provider-metadata-seeder.service.d.ts +0 -8
  481. package/dist/services/media-storage-provider-metadata-seeder.service.d.ts.map +0 -1
  482. package/dist/services/media-storage-provider-metadata-seeder.service.js +0 -43
  483. package/dist/services/media-storage-provider-metadata-seeder.service.js.map +0 -1
  484. package/src/config/app-builder.config.ts +0 -12
  485. package/src/config/common.config.ts +0 -55
  486. package/src/config/iam.config.ts +0 -32
  487. package/src/config/jwt.config.ts +0 -13
  488. package/src/services/export_issues.txt +0 -10
  489. package/src/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.ts +0 -137
  490. package/src/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.ts +0 -81
  491. package/src/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.ts +0 -69
  492. package/src/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.ts +0 -68
  493. package/src/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.ts +0 -141
  494. package/src/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.ts +0 -71
  495. package/src/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.ts +0 -72
  496. package/src/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.ts +0 -45
  497. package/src/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.ts +0 -58
  498. package/src/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.ts +0 -40
  499. package/src/services/groupBy.json +0 -92
  500. package/src/services/media-storage-provider-metadata-seeder.service.ts +0 -33
@@ -1,9 +1,12 @@
1
1
  import { CommonEntity } from 'src/entities/common.entity';
2
2
  import { User } from 'src/entities/user.entity';
3
+ import { ModuleMetadata } from './module-metadata.entity';
3
4
  export declare class Setting extends CommonEntity {
4
5
  key: string;
5
6
  value: string;
6
7
  type: string;
8
+ level: string;
7
9
  user: User;
10
+ moduleMetadata: ModuleMetadata;
8
11
  }
9
12
  //# sourceMappingURL=setting.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setting.entity.d.ts","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAE/C,qBACa,OAAQ,SAAQ,YAAY;IAGrC,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,IAAI,CAAC;CACd"}
1
+ {"version":3,"file":"setting.entity.d.ts","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,qBACa,OAAQ,SAAQ,YAAY;IAIrC,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAKd,IAAI,EAAE,IAAI,CAAC;IAKX,cAAc,EAAE,cAAc,CAAC;CAClC"}
@@ -14,9 +14,10 @@ const openapi = require("@nestjs/swagger");
14
14
  const common_entity_1 = require("./common.entity");
15
15
  const typeorm_1 = require("typeorm");
16
16
  const user_entity_1 = require("./user.entity");
17
+ const module_metadata_entity_1 = require("./module-metadata.entity");
17
18
  let Setting = class Setting extends common_entity_1.CommonEntity {
18
19
  static _OPENAPI_METADATA_FACTORY() {
19
- return { key: { required: true, type: () => String }, value: { required: true, type: () => String }, type: { required: true, type: () => String }, user: { required: true, type: () => require("./user.entity").User } };
20
+ return { key: { required: true, type: () => String }, value: { required: true, type: () => String }, type: { required: true, type: () => String }, level: { required: true, type: () => String }, user: { required: true, type: () => require("./user.entity").User }, moduleMetadata: { required: true, type: () => require("./module-metadata.entity").ModuleMetadata } };
20
21
  }
21
22
  };
22
23
  exports.Setting = Setting;
@@ -34,10 +35,21 @@ __decorate([
34
35
  __metadata("design:type", String)
35
36
  ], Setting.prototype, "type", void 0);
36
37
  __decorate([
38
+ (0, typeorm_1.Column)({ name: "level", type: "varchar", nullable: true }),
39
+ __metadata("design:type", String)
40
+ ], Setting.prototype, "level", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Index)(),
37
43
  (0, typeorm_1.ManyToOne)(() => user_entity_1.User, { nullable: true }),
38
44
  (0, typeorm_1.JoinColumn)(),
39
45
  __metadata("design:type", user_entity_1.User)
40
46
  ], Setting.prototype, "user", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Index)(),
49
+ (0, typeorm_1.ManyToOne)(() => module_metadata_entity_1.ModuleMetadata, { nullable: true }),
50
+ (0, typeorm_1.JoinColumn)(),
51
+ __metadata("design:type", module_metadata_entity_1.ModuleMetadata)
52
+ ], Setting.prototype, "moduleMetadata", void 0);
41
53
  exports.Setting = Setting = __decorate([
42
54
  (0, typeorm_1.Entity)("ss_setting")
43
55
  ], Setting);
@@ -1 +1 @@
1
- {"version":3,"file":"setting.entity.js","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAuE;AACvE,+CAA+C;AAGxC,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,4BAAY;;;;CAWxC,CAAA;AAXY,0BAAO;AAGhB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oCACjC;AAEZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC9B;AAEd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCAC7C;AAGb;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAU,GAAE;8BACP,kBAAI;qCAAC;kBAVF,OAAO;IADnB,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,OAAO,CAWnB","sourcesContent":["import { CommonEntity } from 'src/entities/common.entity'\nimport { Entity, Column, Index, JoinColumn, ManyToOne } from 'typeorm';\nimport { User } from 'src/entities/user.entity'\n\n@Entity(\"ss_setting\")\nexport class Setting extends CommonEntity {\n @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: false })\n key: string;\n @Column({ type: \"varchar\", nullable: true })\n value: string;\n @Column({ name: \"type\", type: \"varchar\", nullable: true })\n type: string;\n @ManyToOne(() => User, { nullable: true })\n @JoinColumn()\n user: User;\n}"]}
1
+ {"version":3,"file":"setting.entity.js","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAuE;AACvE,+CAA+C;AAC/C,qEAA0D;AAGnD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,4BAAY;;;;CAwBxC,CAAA;AAxBY,0BAAO;AAIhB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oCACjC;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC9B;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCAC7C;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC7C;AAKd;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAU,GAAE;8BACP,kBAAI;qCAAC;AAKX;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnD,IAAA,oBAAU,GAAE;8BACG,uCAAc;+CAAC;kBAvBtB,OAAO;IADnB,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,OAAO,CAwBnB","sourcesContent":["import { CommonEntity } from 'src/entities/common.entity'\nimport { Entity, Column, Index, JoinColumn, ManyToOne } from 'typeorm';\nimport { User } from 'src/entities/user.entity'\nimport { ModuleMetadata } from './module-metadata.entity';\n\n@Entity(\"ss_setting\")\nexport class Setting extends CommonEntity {\n\n @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: false })\n key: string;\n\n @Column({ type: \"varchar\", nullable: true })\n value: string;\n\n @Column({ name: \"type\", type: \"varchar\", nullable: true })\n type: string;\n\n @Column({ name: \"level\", type: \"varchar\", nullable: true })\n level: string;\n\n @Index()\n @ManyToOne(() => User, { nullable: true })\n @JoinColumn()\n user: User;\n\n @Index()\n @ManyToOne(() => ModuleMetadata, { nullable: true })\n @JoinColumn()\n moduleMetadata: ModuleMetadata;\n}\n"]}
@@ -1,14 +1,13 @@
1
- import { ConfigType } from "@nestjs/config";
2
1
  import { ModuleRef } from "@nestjs/core";
3
- import commonConfig from "src/config/common.config";
4
2
  import { SolidRegistry } from "src/helpers/solid-registry";
5
3
  import { IMail } from "src/interfaces";
4
+ import { SettingService } from "src/services/setting.service";
6
5
  export declare class MailFactory {
7
6
  private readonly moduleRef;
8
7
  private readonly solidRegistry;
9
- private readonly commonConfiguration;
8
+ private readonly settingService;
10
9
  private readonly logger;
11
- constructor(moduleRef: ModuleRef, solidRegistry: SolidRegistry, commonConfiguration: ConfigType<typeof commonConfig>);
10
+ constructor(moduleRef: ModuleRef, solidRegistry: SolidRegistry, settingService: SettingService);
12
11
  getMailService(): IMail;
13
12
  }
14
13
  //# sourceMappingURL=mail.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mail.factory.d.ts","sourceRoot":"","sources":["../../src/factories/mail.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAOvC,qBACa,WAAW;IAGhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IALxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAE5B,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC;IAGzE,cAAc,IAAI,KAAK;CAc1B"}
1
+ {"version":3,"file":"mail.factory.d.ts","sourceRoot":"","sources":["../../src/factories/mail.factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,qBACa,WAAW;IAGhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAGnD,cAAc,IAAI,KAAK;CAc1B"}
@@ -8,30 +8,24 @@ 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
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
11
  Object.defineProperty(exports, "__esModule", { value: true });
18
12
  exports.MailFactory = void 0;
19
13
  const common_1 = require("@nestjs/common");
20
14
  const core_1 = require("@nestjs/core");
21
- const common_config_1 = __importDefault(require("../config/common.config"));
22
15
  const solid_registry_1 = require("../helpers/solid-registry");
16
+ const setting_service_1 = require("../services/setting.service");
23
17
  function norm(s) {
24
18
  return s?.trim().toLowerCase();
25
19
  }
26
20
  let MailFactory = class MailFactory {
27
- constructor(moduleRef, solidRegistry, commonConfiguration) {
21
+ constructor(moduleRef, solidRegistry, settingService) {
28
22
  this.moduleRef = moduleRef;
29
23
  this.solidRegistry = solidRegistry;
30
- this.commonConfiguration = commonConfiguration;
24
+ this.settingService = settingService;
31
25
  this.logger = new common_1.Logger(this.constructor.name);
32
26
  }
33
27
  getMailService() {
34
- const mailServiceName = this.commonConfiguration.emailProvider;
28
+ const mailServiceName = this.settingService.getConfigValue("emailProvider") ?? "SMTPEMailService";
35
29
  const mailProviders = this.solidRegistry.getMailProviders();
36
30
  if (!mailProviders.length) {
37
31
  this.logger.error("No mail providers are registered.");
@@ -43,8 +37,8 @@ let MailFactory = class MailFactory {
43
37
  exports.MailFactory = MailFactory;
44
38
  exports.MailFactory = MailFactory = __decorate([
45
39
  (0, common_1.Injectable)(),
46
- __param(2, (0, common_1.Inject)(common_config_1.default.KEY)),
47
40
  __metadata("design:paramtypes", [core_1.ModuleRef,
48
- solid_registry_1.SolidRegistry, void 0])
41
+ solid_registry_1.SolidRegistry,
42
+ setting_service_1.SettingService])
49
43
  ], MailFactory);
50
44
  //# sourceMappingURL=mail.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mail.factory.js","sourceRoot":"","sources":["../../src/factories/mail.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA4D;AAE5D,uCAAyC;AACzC,4EAAoD;AACpD,8DAA2D;AAG3D,SAAS,IAAI,CAAC,CAAU;IACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAIM,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEpB,YACqB,SAAoB,EACpB,aAA4B,EAE7C,mBAAqE;QAHpD,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAE5B,wBAAmB,GAAnB,mBAAmB,CAAiC;QALxD,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAMxD,CAAC;IAEL,cAAc;QACV,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAE5D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAE9F,OAAO,mBAAmB,CAAC,QAAiB,CAAC;IACjD,CAAC;CAEJ,CAAA;AAvBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAMJ,WAAA,IAAA,eAAM,EAAC,uBAAY,CAAC,GAAG,CAAC,CAAA;qCAFG,gBAAS;QACL,8BAAa;GAJxC,WAAW,CAuBvB","sourcesContent":["import { Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport commonConfig from \"src/config/common.config\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IMail } from \"src/interfaces\";\n\nfunction norm(s?: string) {\n return s?.trim().toLowerCase();\n}\n\n// This factory will be use to return a mail service instance, using the configured environment variables\n@Injectable()\nexport class MailFactory {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n private readonly moduleRef: ModuleRef, // Use the module ref to dynamically resolve the mail service\n private readonly solidRegistry: SolidRegistry,\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n ) { }\n\n getMailService(): IMail {\n const mailServiceName = this.commonConfiguration.emailProvider;\n const mailProviders = this.solidRegistry.getMailProviders();\n // Return the instance which matches the mailServiceName\n if (!mailProviders.length) {\n // throw new Error(\"No mail providers are registered.\");\n this.logger.error(\"No mail providers are registered.\");\n }\n\n const mailServiceProvider = mailProviders.find(provider => provider.name === mailServiceName);\n\n return mailServiceProvider.instance as IMail;\n }\n\n}"]}
1
+ {"version":3,"file":"mail.factory.js","sourceRoot":"","sources":["../../src/factories/mail.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAE5D,uCAAyC;AACzC,8DAA2D;AAE3D,iEAA8D;AAG9D,SAAS,IAAI,CAAC,CAAU;IACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAIM,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEpB,YACqB,SAAoB,EACpB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAJlC,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAKxD,CAAC;IAEL,cAAc;QACV,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,eAAe,CAAC,IAAI,kBAAkB,CAAC;QACpH,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAE5D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAE9F,OAAO,mBAAmB,CAAC,QAAiB,CAAC;IACjD,CAAC;CAEJ,CAAA;AAtBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAIuB,gBAAS;QACL,8BAAa;QACZ,gCAAc;GAL1C,WAAW,CAsBvB","sourcesContent":["import { Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IMail } from \"src/interfaces\";\nimport { SettingService } from \"src/services/setting.service\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\nfunction norm(s?: string) {\n return s?.trim().toLowerCase();\n}\n\n// This factory will be use to return a mail service instance, using the configured environment variables\n@Injectable()\nexport class MailFactory {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n private readonly moduleRef: ModuleRef, // Use the module ref to dynamically resolve the mail service\n private readonly solidRegistry: SolidRegistry,\n private readonly settingService: SettingService,\n ) { }\n\n getMailService(): IMail {\n const mailServiceName = this.settingService.getConfigValue<SolidCoreSetting>(\"emailProvider\") ?? \"SMTPEMailService\";\n const mailProviders = this.solidRegistry.getMailProviders();\n // Return the instance which matches the mailServiceName\n if (!mailProviders.length) {\n // throw new Error(\"No mail providers are registered.\");\n this.logger.error(\"No mail providers are registered.\");\n }\n\n const mailServiceProvider = mailProviders.find(provider => provider.name === mailServiceName);\n\n return mailServiceProvider.instance as IMail;\n }\n\n}"]}
@@ -1,14 +1,13 @@
1
- import { ConfigType } from "@nestjs/config";
2
1
  import { ModuleRef } from "@nestjs/core";
3
- import commonConfig from "src/config/common.config";
4
2
  import { SolidRegistry } from "src/helpers/solid-registry";
5
3
  import { ISMS } from "src/interfaces";
4
+ import { SettingService } from "src/services/setting.service";
6
5
  export declare class SmsFactory {
7
6
  private readonly moduleRef;
8
7
  private readonly solidRegistry;
9
- private readonly commonConfiguration;
8
+ private readonly settingService;
10
9
  private readonly logger;
11
- constructor(moduleRef: ModuleRef, solidRegistry: SolidRegistry, commonConfiguration: ConfigType<typeof commonConfig>);
10
+ constructor(moduleRef: ModuleRef, solidRegistry: SolidRegistry, settingService: SettingService);
12
11
  getSmsService(name?: string): ISMS;
13
12
  }
14
13
  //# sourceMappingURL=sms.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sms.factory.d.ts","sourceRoot":"","sources":["../../src/factories/sms.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAOtC,qBACa,UAAU;IAIf,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IANxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAE5B,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC;IAGzE,aAAa,CAAC,IAAI,GAAE,MAAa,GAAG,IAAI;CAmB3C"}
1
+ {"version":3,"file":"sms.factory.d.ts","sourceRoot":"","sources":["../../src/factories/sms.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,qBACa,UAAU;IAIf,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IALnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAKnD,aAAa,CAAC,IAAI,GAAE,MAAa,GAAG,IAAI;CAoB3C"}
@@ -8,30 +8,24 @@ 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
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
11
  Object.defineProperty(exports, "__esModule", { value: true });
18
12
  exports.SmsFactory = void 0;
19
13
  const common_1 = require("@nestjs/common");
20
14
  const core_1 = require("@nestjs/core");
21
- const common_config_1 = __importDefault(require("../config/common.config"));
22
15
  const solid_registry_1 = require("../helpers/solid-registry");
16
+ const setting_service_1 = require("../services/setting.service");
23
17
  function norm(s) {
24
18
  return s?.trim().toLowerCase();
25
19
  }
26
20
  let SmsFactory = class SmsFactory {
27
- constructor(moduleRef, solidRegistry, commonConfiguration) {
21
+ constructor(moduleRef, solidRegistry, settingService) {
28
22
  this.moduleRef = moduleRef;
29
23
  this.solidRegistry = solidRegistry;
30
- this.commonConfiguration = commonConfiguration;
24
+ this.settingService = settingService;
31
25
  this.logger = new common_1.Logger(this.constructor.name);
32
26
  }
33
27
  getSmsService(name = null) {
34
- const smsServiceName = name || this.commonConfiguration.smsProvider;
28
+ const smsServiceName = this.settingService.getConfigValue('smsProvider');
35
29
  if (!smsServiceName) {
36
30
  throw new Error("Unable to resolve sms provider");
37
31
  }
@@ -46,8 +40,8 @@ let SmsFactory = class SmsFactory {
46
40
  exports.SmsFactory = SmsFactory;
47
41
  exports.SmsFactory = SmsFactory = __decorate([
48
42
  (0, common_1.Injectable)(),
49
- __param(2, (0, common_1.Inject)(common_config_1.default.KEY)),
50
43
  __metadata("design:paramtypes", [core_1.ModuleRef,
51
- solid_registry_1.SolidRegistry, void 0])
44
+ solid_registry_1.SolidRegistry,
45
+ setting_service_1.SettingService])
52
46
  ], SmsFactory);
53
47
  //# sourceMappingURL=sms.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sms.factory.js","sourceRoot":"","sources":["../../src/factories/sms.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA4D;AAE5D,uCAAyC;AACzC,4EAAoD;AACpD,8DAA2D;AAG3D,SAAS,IAAI,CAAC,CAAU;IACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAIM,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGnB,YACqB,SAAoB,EACpB,aAA4B,EAE7C,mBAAqE;QAHpD,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAE5B,wBAAmB,GAAnB,mBAAmB,CAAiC;QANxD,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAOxD,CAAC;IAEL,aAAa,CAAC,OAAe,IAAI;QAE7B,MAAM,cAAc,GAAG,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;QACpE,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACrD,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAG1D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAE3F,OAAO,kBAAkB,CAAC,QAAgB,CAAC;IAC/C,CAAC;CAEJ,CAAA;AA7BY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;IAOJ,WAAA,IAAA,eAAM,EAAC,uBAAY,CAAC,GAAG,CAAC,CAAA;qCAFG,gBAAS;QACL,8BAAa;GALxC,UAAU,CA6BtB","sourcesContent":["import { Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport commonConfig from \"src/config/common.config\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { ISMS } from \"src/interfaces\";\n\nfunction norm(s?: string) {\n return s?.trim().toLowerCase();\n}\n\n// This factory will be use to return a mail service instance, using the configured environment variables\n@Injectable()\nexport class SmsFactory {\n private readonly logger = new Logger(this.constructor.name);\n\n constructor(\n private readonly moduleRef: ModuleRef,\n private readonly solidRegistry: SolidRegistry,\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n ) { }\n\n getSmsService(name: string = null): ISMS {\n // This is the default provider\n const smsServiceName = name || this.commonConfiguration.smsProvider;\n if (!smsServiceName) {\n throw new Error(\"Unable to resolve sms provider\")\n }\n const smsProviders = this.solidRegistry.getSmsProviders();\n\n // Return the instance which matches the smsServicename\n if (!smsProviders.length) {\n // throw new Error(\"No mail providers are registered.\");\n this.logger.error(\"No sms providers are registered.\");\n }\n\n const smsServiceProvider = smsProviders.find(provider => provider.name === smsServiceName);\n\n return smsServiceProvider.instance as ISMS;\n }\n\n}"]}
1
+ {"version":3,"file":"sms.factory.js","sourceRoot":"","sources":["../../src/factories/sms.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAAyC;AACzC,8DAA2D;AAE3D,iEAA8D;AAG9D,SAAS,IAAI,CAAC,CAAU;IACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAIM,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGnB,YACqB,SAAoB,EACpB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QALlC,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAQxD,CAAC;IAEL,aAAa,CAAC,OAAe,IAAI;QAG7B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,aAAa,CAAC,CAAC;QAC3F,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACrD,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAG1D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAE3F,OAAO,kBAAkB,CAAC,QAAgB,CAAC;IAC/C,CAAC;CAEJ,CAAA;AA/BY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAKuB,gBAAS;QACL,8BAAa;QACZ,gCAAc;GAN1C,UAAU,CA+BtB","sourcesContent":["import { Injectable, Logger } from \"@nestjs/common\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { ISMS } from \"src/interfaces\";\nimport { SettingService } from \"src/services/setting.service\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\nfunction norm(s?: string) {\n return s?.trim().toLowerCase();\n}\n\n// This factory will be use to return a mail service instance, using the configured environment variables\n@Injectable()\nexport class SmsFactory {\n private readonly logger = new Logger(this.constructor.name);\n\n constructor(\n private readonly moduleRef: ModuleRef,\n private readonly solidRegistry: SolidRegistry,\n private readonly settingService: SettingService,\n // @Inject(commonConfig.KEY)\n // private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n ) { }\n\n getSmsService(name: string = null): ISMS {\n // This is the default provider\n // const smsServiceName = name || this.commonConfiguration.smsProvider;\n const smsServiceName = this.settingService.getConfigValue<SolidCoreSetting>('smsProvider');\n if (!smsServiceName) {\n throw new Error(\"Unable to resolve sms provider\")\n }\n const smsProviders = this.solidRegistry.getSmsProviders();\n\n // Return the instance which matches the smsServicename\n if (!smsProviders.length) {\n // throw new Error(\"No mail providers are registered.\");\n this.logger.error(\"No sms providers are registered.\");\n }\n\n const smsServiceProvider = smsProviders.find(provider => provider.name === smsServiceName);\n\n return smsServiceProvider.instance as ISMS;\n }\n\n}\n"]}
@@ -1,14 +1,13 @@
1
- import { ConfigType } from "@nestjs/config";
2
1
  import { ModuleRef } from "@nestjs/core";
3
- import commonConfig from "src/config/common.config";
4
2
  import { SolidRegistry } from "src/helpers/solid-registry";
5
3
  import { IWhatsAppTransport } from "src/interfaces";
4
+ import { SettingService } from "src/services/setting.service";
6
5
  export declare class WhatsAppFactory {
7
6
  private readonly moduleRef;
8
7
  private readonly solidRegistry;
9
- private readonly commonConfiguration;
8
+ private readonly settingService;
10
9
  private readonly logger;
11
- constructor(moduleRef: ModuleRef, solidRegistry: SolidRegistry, commonConfiguration: ConfigType<typeof commonConfig>);
10
+ constructor(moduleRef: ModuleRef, solidRegistry: SolidRegistry, settingService: SettingService);
12
11
  getWhatsappService(name?: string): IWhatsAppTransport;
13
12
  }
14
13
  //# sourceMappingURL=whatsapp.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.factory.d.ts","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOpD,qBACa,eAAe;IAGpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IALxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAE5B,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC;IAGzE,kBAAkB,CAAC,IAAI,GAAE,MAAa,GAAG,kBAAkB;CAmB9D"}
1
+ {"version":3,"file":"whatsapp.factory.d.ts","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,qBACa,eAAe;IAGpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAGnD,kBAAkB,CAAC,IAAI,GAAE,MAAa,GAAG,kBAAkB;CAmB9D"}
@@ -8,30 +8,24 @@ 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
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
11
  Object.defineProperty(exports, "__esModule", { value: true });
18
12
  exports.WhatsAppFactory = void 0;
19
13
  const common_1 = require("@nestjs/common");
20
14
  const core_1 = require("@nestjs/core");
21
- const common_config_1 = __importDefault(require("../config/common.config"));
22
15
  const solid_registry_1 = require("../helpers/solid-registry");
16
+ const setting_service_1 = require("../services/setting.service");
23
17
  function norm(s) {
24
18
  return s?.trim().toLowerCase();
25
19
  }
26
20
  let WhatsAppFactory = class WhatsAppFactory {
27
- constructor(moduleRef, solidRegistry, commonConfiguration) {
21
+ constructor(moduleRef, solidRegistry, settingService) {
28
22
  this.moduleRef = moduleRef;
29
23
  this.solidRegistry = solidRegistry;
30
- this.commonConfiguration = commonConfiguration;
24
+ this.settingService = settingService;
31
25
  this.logger = new common_1.Logger(this.constructor.name);
32
26
  }
33
27
  getWhatsappService(name = null) {
34
- const whatsappServiceName = name || this.commonConfiguration.whatsappProvider;
28
+ const whatsappServiceName = name || this.settingService.getConfigValue("whatsappProvider");
35
29
  if (!whatsappServiceName) {
36
30
  throw new Error("Unable to resolve whatsapp provider");
37
31
  }
@@ -46,8 +40,8 @@ let WhatsAppFactory = class WhatsAppFactory {
46
40
  exports.WhatsAppFactory = WhatsAppFactory;
47
41
  exports.WhatsAppFactory = WhatsAppFactory = __decorate([
48
42
  (0, common_1.Injectable)(),
49
- __param(2, (0, common_1.Inject)(common_config_1.default.KEY)),
50
43
  __metadata("design:paramtypes", [core_1.ModuleRef,
51
- solid_registry_1.SolidRegistry, void 0])
44
+ solid_registry_1.SolidRegistry,
45
+ setting_service_1.SettingService])
52
46
  ], WhatsAppFactory);
53
47
  //# sourceMappingURL=whatsapp.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.factory.js","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA4D;AAE5D,uCAAyC;AACzC,4EAAoD;AACpD,8DAA2D;AAG3D,SAAS,IAAI,CAAC,CAAU;IACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAIM,IAAM,eAAe,GAArB,MAAM,eAAe;IAExB,YACqB,SAAoB,EACpB,aAA4B,EAE7C,mBAAqE;QAHpD,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAE5B,wBAAmB,GAAnB,mBAAmB,CAAiC;QALxD,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAMxD,CAAC;IAEL,kBAAkB,CAAC,OAAe,IAAI;QAElC,MAAM,mBAAmB,GAAG,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;QAC9E,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAGpE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;QAE1G,OAAO,uBAAuB,CAAC,QAA8B,CAAC;IAClE,CAAC;CAEJ,CAAA;AA5BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAMJ,WAAA,IAAA,eAAM,EAAC,uBAAY,CAAC,GAAG,CAAC,CAAA;qCAFG,gBAAS;QACL,8BAAa;GAJxC,eAAe,CA4B3B","sourcesContent":["import { Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport commonConfig from \"src/config/common.config\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IWhatsAppTransport } from \"src/interfaces\";\n\nfunction norm(s?: string) {\n return s?.trim().toLowerCase();\n}\n\n// This factory will be use to return a mail service instance, using the configured environment variables\n@Injectable()\nexport class WhatsAppFactory {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n private readonly moduleRef: ModuleRef, // Use the module ref to dynamically resolve the mail service\n private readonly solidRegistry: SolidRegistry,\n @Inject(commonConfig.KEY)\n private readonly commonConfiguration: ConfigType<typeof commonConfig>,\n ) { }\n\n getWhatsappService(name: string = null): IWhatsAppTransport {\n // This is the default provider\n const whatsappServiceName = name || this.commonConfiguration.whatsappProvider;\n if (!whatsappServiceName) {\n throw new Error(\"Unable to resolve whatsapp provider\")\n }\n const whatsappProviders = this.solidRegistry.getWhatsappProviders();\n\n // Return the instance which matches the whatsappServiceName\n if (!whatsappProviders.length) {\n // throw new Error(\"No mail providers are registered.\");\n this.logger.error(\"No whatsapp providers are registered.\");\n }\n\n const whatsappServiceProvider = whatsappProviders.find(provider => provider.name === whatsappServiceName);\n\n return whatsappServiceProvider.instance as IWhatsAppTransport;\n }\n\n}"]}
1
+ {"version":3,"file":"whatsapp.factory.js","sourceRoot":"","sources":["../../src/factories/whatsapp.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAE5D,uCAAyC;AACzC,8DAA2D;AAE3D,iEAA8D;AAG9D,SAAS,IAAI,CAAC,CAAU;IACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAIM,IAAM,eAAe,GAArB,MAAM,eAAe;IAExB,YACqB,SAAoB,EACpB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAJlC,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAKxD,CAAC;IAEL,kBAAkB,CAAC,OAAe,IAAI;QAElC,MAAM,mBAAmB,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kBAAkB,CAAC,CAAC;QAC7G,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAGpE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;QAE1G,OAAO,uBAAuB,CAAC,QAA8B,CAAC;IAClE,CAAC;CAEJ,CAAA;AA3BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAIuB,gBAAS;QACL,8BAAa;QACZ,gCAAc;GAL1C,eAAe,CA2B3B","sourcesContent":["import { Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { IWhatsAppTransport } from \"src/interfaces\";\nimport { SettingService } from \"src/services/setting.service\";\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\nfunction norm(s?: string) {\n return s?.trim().toLowerCase();\n}\n\n// This factory will be use to return a mail service instance, using the configured environment variables\n@Injectable()\nexport class WhatsAppFactory {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n private readonly moduleRef: ModuleRef, // Use the module ref to dynamically resolve the mail service\n private readonly solidRegistry: SolidRegistry,\n private readonly settingService: SettingService,\n ) { }\n\n getWhatsappService(name: string = null): IWhatsAppTransport {\n // This is the default provider\n const whatsappServiceName = name || this.settingService.getConfigValue<SolidCoreSetting>(\"whatsappProvider\");\n if (!whatsappServiceName) {\n throw new Error(\"Unable to resolve whatsapp provider\")\n }\n const whatsappProviders = this.solidRegistry.getWhatsappProviders();\n\n // Return the instance which matches the whatsappServiceName\n if (!whatsappProviders.length) {\n // throw new Error(\"No mail providers are registered.\");\n this.logger.error(\"No whatsapp providers are registered.\");\n }\n\n const whatsappServiceProvider = whatsappProviders.find(provider => provider.name === whatsappServiceName);\n\n return whatsappServiceProvider.instance as IWhatsAppTransport;\n }\n\n}"]}
@@ -1,15 +1,14 @@
1
1
  import { CanActivate, ExecutionContext } from '@nestjs/common';
2
- import { ConfigType } from '@nestjs/config';
3
2
  import { JwtService } from '@nestjs/jwt';
4
- import { jwtConfig } from 'src/config/jwt.config';
5
3
  import { PermissionMetadataService } from '../services/permission-metadata.service';
6
4
  import { ClsService } from 'nestjs-cls';
5
+ import { SettingService } from '../services/setting.service';
7
6
  export declare class AccessTokenGuard implements CanActivate {
8
7
  private readonly jwtService;
9
- private readonly jwtConfiguration;
10
8
  private readonly permissionsService;
9
+ private readonly settingService;
11
10
  private readonly cls;
12
- constructor(jwtService: JwtService, jwtConfiguration: ConfigType<typeof jwtConfig>, permissionsService: PermissionMetadataService, cls: ClsService);
11
+ constructor(jwtService: JwtService, permissionsService: PermissionMetadataService, settingService: SettingService, cls: ClsService);
13
12
  canActivate(context: ExecutionContext): Promise<boolean>;
14
13
  private extractTokenFromHeader;
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.guard.d.ts","sourceRoot":"","sources":["../../src/guards/access-token.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,qBACa,gBAAiB,YAAW,WAAW;IAEhD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAJH,UAAU,EAAE,UAAU,EAEtB,gBAAgB,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EAC9C,kBAAkB,EAAE,yBAAyB,EAC7C,GAAG,EAAE,UAAU;IAG5B,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B9D,OAAO,CAAC,sBAAsB;CAM/B"}
1
+ {"version":3,"file":"access-token.guard.d.ts","sourceRoot":"","sources":["../../src/guards/access-token.guard.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,qBACa,gBAAiB,YAAW,WAAW;IAEhD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAHH,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,yBAAyB,EAC7C,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,UAAU;IAG5B,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmC9D,OAAO,CAAC,sBAAsB;CAM/B"}
@@ -8,22 +8,19 @@ 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
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.AccessTokenGuard = void 0;
16
13
  const common_1 = require("@nestjs/common");
17
14
  const jwt_1 = require("@nestjs/jwt");
18
- const jwt_config_1 = require("../config/jwt.config");
19
15
  const constants_1 = require("../constants");
20
16
  const permission_metadata_service_1 = require("../services/permission-metadata.service");
21
17
  const nestjs_cls_1 = require("nestjs-cls");
18
+ const setting_service_1 = require("../services/setting.service");
22
19
  let AccessTokenGuard = class AccessTokenGuard {
23
- constructor(jwtService, jwtConfiguration, permissionsService, cls) {
20
+ constructor(jwtService, permissionsService, settingService, cls) {
24
21
  this.jwtService = jwtService;
25
- this.jwtConfiguration = jwtConfiguration;
26
22
  this.permissionsService = permissionsService;
23
+ this.settingService = settingService;
27
24
  this.cls = cls;
28
25
  }
29
26
  async canActivate(context) {
@@ -33,7 +30,14 @@ let AccessTokenGuard = class AccessTokenGuard {
33
30
  throw new common_1.UnauthorizedException();
34
31
  }
35
32
  try {
36
- const payload = await this.jwtService.verifyAsync(token, this.jwtConfiguration);
33
+ const jwtConfiguration = {
34
+ secret: this.settingService.getConfigValue("secret"),
35
+ audience: this.settingService.getConfigValue("audience"),
36
+ issuer: this.settingService.getConfigValue("issuer"),
37
+ accessTokenTtl: this.settingService.getConfigValue("accessTokenTtl"),
38
+ refreshTokenTtl: this.settingService.getConfigValue("refreshTokenTtl")
39
+ };
40
+ const payload = await this.jwtService.verifyAsync(token, jwtConfiguration);
37
41
  const permissions = await this.permissionsService.findAllUsingRoles(payload.roles);
38
42
  payload.permissions = permissions.map((permission) => permission.name);
39
43
  request[constants_1.REQUEST_USER_KEY] = payload;
@@ -52,8 +56,9 @@ let AccessTokenGuard = class AccessTokenGuard {
52
56
  exports.AccessTokenGuard = AccessTokenGuard;
53
57
  exports.AccessTokenGuard = AccessTokenGuard = __decorate([
54
58
  (0, common_1.Injectable)(),
55
- __param(1, (0, common_1.Inject)(jwt_config_1.jwtConfig.KEY)),
56
- __metadata("design:paramtypes", [jwt_1.JwtService, void 0, permission_metadata_service_1.PermissionMetadataService,
59
+ __metadata("design:paramtypes", [jwt_1.JwtService,
60
+ permission_metadata_service_1.PermissionMetadataService,
61
+ setting_service_1.SettingService,
57
62
  nestjs_cls_1.ClsService])
58
63
  ], AccessTokenGuard);
59
64
  //# sourceMappingURL=access-token.guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.guard.js","sourceRoot":"","sources":["../../src/guards/access-token.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAMwB;AAExB,qCAAyC;AAGzC,qDAAkD;AAClD,4CAAgD;AAChD,yFAAoF;AACpF,2CAAwC;AAGjC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,UAAsB,EAEtB,gBAA8C,EAC9C,kBAA6C,EAC7C,GAAe;QAJf,eAAU,GAAV,UAAU,CAAY;QAEtB,qBAAgB,GAAhB,gBAAgB,CAA8B;QAC9C,uBAAkB,GAAlB,kBAAkB,CAA2B;QAC7C,QAAG,GAAH,GAAG,CAAY;IAC9B,CAAC;IAEL,KAAK,CAAC,WAAW,CAAC,OAAyB;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAmB,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC/D,KAAK,EACL,IAAI,CAAC,gBAAgB,CACtB,CAAC;YAGF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnF,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,4BAAgB,CAAC,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAAgB,EAAE,OAAO,CAAC,CAAC;QAG1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,OAAgB;QAG7C,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AA1CY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,sBAAS,CAAC,GAAG,CAAC,CAAA;qCADO,gBAAU,UAGF,uDAAyB;QACxC,uBAAU;GANvB,gBAAgB,CA0C5B","sourcesContent":["import {\n CanActivate,\n ExecutionContext,\n Inject,\n Injectable,\n UnauthorizedException,\n} from '@nestjs/common';\nimport { ConfigType } from '@nestjs/config';\nimport { JwtService } from '@nestjs/jwt';\nimport { Request } from 'express';\nimport { ActiveUserData } from '../interfaces/active-user-data.interface';\nimport { jwtConfig } from 'src/config/jwt.config';\nimport { REQUEST_USER_KEY } from \"../constants\";\nimport { PermissionMetadataService } from '../services/permission-metadata.service';\nimport { ClsService } from 'nestjs-cls';\n\n@Injectable()\nexport class AccessTokenGuard implements CanActivate {\n constructor(\n private readonly jwtService: JwtService,\n @Inject(jwtConfig.KEY)\n private readonly jwtConfiguration: ConfigType<typeof jwtConfig>,\n private readonly permissionsService: PermissionMetadataService,\n private readonly cls: ClsService\n ) { }\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n // 💡 NOTE: For GraphQL applications, you'd have to use the wrapper GqlExecutionContext here instead.\n const request = context.switchToHttp().getRequest();\n const token = this.extractTokenFromHeader(request);\n if (!token) {\n throw new UnauthorizedException();\n }\n try {\n const payload: ActiveUserData = await this.jwtService.verifyAsync(\n token,\n this.jwtConfiguration,\n );\n\n // Load permissions given the user. \n const permissions = await this.permissionsService.findAllUsingRoles(payload.roles);\n payload.permissions = permissions.map((permission) => permission.name);\n\n request[REQUEST_USER_KEY] = payload;\n this.cls.set(REQUEST_USER_KEY, payload);\n // console.log(`About to set payload in the request user key:`);\n // console.log(payload);\n } catch {\n throw new UnauthorizedException();\n }\n return true;\n }\n\n private extractTokenFromHeader(request: Request): string | undefined {\n // Since token is included in the Authorization header something like \n // Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImVtYWlsIjoidXNlcjFAbmVzdGpzLmNvbSIsImlhdCI6MTcwMDk5NTk1MywiZXhwIjoxNzAwOTk5NTUzLCJhdWQiOiJsb2NhbGhvc3Q6MzAwMCIsImlzcyI6ImxvY2FsaG9zdDozMDAwIn0.303Y04SZjKqoPjJRq4hXHcarHeZYS878gPGWmw2SoUc\n const [_, token] = request.headers.authorization?.split(' ') ?? [];\n return token;\n }\n}\n"]}
1
+ {"version":3,"file":"access-token.guard.js","sourceRoot":"","sources":["../../src/guards/access-token.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAMwB;AACxB,qCAAyC;AAGzC,4CAAgD;AAChD,yFAAoF;AACpF,2CAAwC;AACxC,iEAA6D;AAGtD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,UAAsB,EACtB,kBAA6C,EAC7C,cAA8B,EAC9B,GAAe;QAHf,eAAU,GAAV,UAAU,CAAY;QACtB,uBAAkB,GAAlB,kBAAkB,CAA2B;QAC7C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,QAAG,GAAH,GAAG,CAAY;IAC9B,CAAC;IAEL,KAAK,CAAC,WAAW,CAAC,OAAyB;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC;YAEH,MAAM,gBAAgB,GAAG;gBACvB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,QAAQ,CAAC;gBACtE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,UAAU,CAAC;gBAC1E,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,QAAQ,CAAC;gBACtE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,gBAAgB,CAAC;gBACtF,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,iBAAiB,CAAC;aACzF,CAAA;YACD,MAAM,OAAO,GAAmB,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC/D,KAAK,EACL,gBAAgB,CACjB,CAAC;YAGF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnF,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,4BAAgB,CAAC,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAAgB,EAAE,OAAO,CAAC,CAAC;QAG1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,OAAgB;QAG7C,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAjDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGoB,gBAAU;QACF,uDAAyB;QAC7B,gCAAc;QACzB,uBAAU;GALvB,gBAAgB,CAiD5B","sourcesContent":["import type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\nimport {\n CanActivate,\n ExecutionContext,\n Inject,\n Injectable,\n UnauthorizedException,\n} from '@nestjs/common';\nimport { JwtService } from '@nestjs/jwt';\nimport { Request } from 'express';\nimport { ActiveUserData } from '../interfaces/active-user-data.interface';\nimport { REQUEST_USER_KEY } from \"../constants\";\nimport { PermissionMetadataService } from '../services/permission-metadata.service';\nimport { ClsService } from 'nestjs-cls';\nimport { SettingService } from '../services/setting.service';\n\n@Injectable()\nexport class AccessTokenGuard implements CanActivate {\n constructor(\n private readonly jwtService: JwtService,\n private readonly permissionsService: PermissionMetadataService,\n private readonly settingService: SettingService,\n private readonly cls: ClsService\n ) { }\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n // 💡 NOTE: For GraphQL applications, you'd have to use the wrapper GqlExecutionContext here instead.\n const request = context.switchToHttp().getRequest();\n const token = this.extractTokenFromHeader(request);\n if (!token) {\n throw new UnauthorizedException();\n }\n try {\n\n const jwtConfiguration = {\n secret: this.settingService.getConfigValue<SolidCoreSetting>(\"secret\"),\n audience: this.settingService.getConfigValue<SolidCoreSetting>(\"audience\"),\n issuer: this.settingService.getConfigValue<SolidCoreSetting>(\"issuer\"),\n accessTokenTtl: this.settingService.getConfigValue<SolidCoreSetting>(\"accessTokenTtl\"),\n refreshTokenTtl: this.settingService.getConfigValue<SolidCoreSetting>(\"refreshTokenTtl\")\n }\n const payload: ActiveUserData = await this.jwtService.verifyAsync(\n token,\n jwtConfiguration\n );\n\n // Load permissions given the user. \n const permissions = await this.permissionsService.findAllUsingRoles(payload.roles);\n payload.permissions = permissions.map((permission) => permission.name);\n\n request[REQUEST_USER_KEY] = payload;\n this.cls.set(REQUEST_USER_KEY, payload);\n // console.log(`About to set payload in the request user key:`);\n // console.log(payload);\n } catch {\n throw new UnauthorizedException();\n }\n return true;\n }\n\n private extractTokenFromHeader(request: Request): string | undefined {\n // Since token is included in the Authorization header something like \n // Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImVtYWlsIjoidXNlcjFAbmVzdGpzLmNvbSIsImlhdCI6MTcwMDk5NTk1MywiZXhwIjoxNzAwOTk5NTUzLCJhdWQiOiJsb2NhbGhvc3Q6MzAwMCIsImlzcyI6ImxvY2FsaG9zdDozMDAwIn0.303Y04SZjKqoPjJRq4hXHcarHeZYS878gPGWmw2SoUc\n const [_, token] = request.headers.authorization?.split(' ') ?? [];\n return token;\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
1
  import { CorsOptions } from 'cors';
2
- import { ConfigService } from '@nestjs/config';
3
- export declare function buildDefaultCorsOptions(configService: ConfigService): CorsOptions;
2
+ export declare function buildDefaultCorsOptions(): CorsOptions;
4
3
  //# sourceMappingURL=cors.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cors.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/cors.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,CA6BjF"}
1
+ {"version":3,"file":"cors.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/cors.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGnC,wBAAgB,uBAAuB,IAAI,WAAW,CA8BrD"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildDefaultCorsOptions = buildDefaultCorsOptions;
4
- function buildDefaultCorsOptions(configService) {
5
- const rawOrigins = configService.get('SECURITY_CORS_ORIGINS') ?? '*';
4
+ function buildDefaultCorsOptions() {
5
+ const rawOrigins = process.env.SECURITY_CORS_ORIGINS ?? '*';
6
6
  const allowed = rawOrigins.split(',').map(s => s.trim()).filter(Boolean);
7
7
  const escapeRx = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
8
8
  const patternToRegex = (pattern) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cors.helper.js","sourceRoot":"","sources":["../../src/helpers/cors.helper.ts"],"names":[],"mappings":";;AAIA,0DA6BC;AA7BD,SAAgB,uBAAuB,CAAC,aAA4B;IAClE,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAS,uBAAuB,CAAC,IAAI,GAAG,CAAC;IAC7E,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;QACjD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QACpD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;aAC9B,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,IAAI,MAAM,CAAC,IAAI,UAAU,GAAG,OAAO,aAAa,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CACnC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACrB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnC,IAAI,SAAS,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,MAAM,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC7D,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QACjD,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC","sourcesContent":["import { CorsOptions } from 'cors';\nimport { ConfigService } from '@nestjs/config';\n\n/** Build CorsOptions from env; supports wildcards like https://*.example.com */\nexport function buildDefaultCorsOptions(configService: ConfigService): CorsOptions {\n const rawOrigins = configService.get<string>('SECURITY_CORS_ORIGINS') ?? '*';\n const allowed = rawOrigins.split(',').map(s => s.trim()).filter(Boolean);\n\n const escapeRx = (s: string) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n const patternToRegex = (pattern: string): RegExp => {\n const hasScheme = /^https?:\\/\\//i.test(pattern);\n const schemePart = hasScheme ? '' : 'https?:\\\\/\\\\/';\n if (pattern === '*' || pattern === '.*') return /^.*$/i;\n const escaped = escapeRx(pattern)\n .replace(/^https?:\\/\\//i, '') // strip scheme if present\n .replace(/\\*/g, '[^.]+'); // * => one subdomain segment\n return new RegExp(`^${schemePart}${escaped}(?::\\\\d+)?$`, 'i');\n };\n\n const matchers = allowed.map(patternToRegex);\n const isAllowed = (origin: string) =>\n matchers.length > 0 && matchers.some(rx => rx.test(origin));\n\n return {\n origin: (origin, cb) => {\n if (!origin) return cb(null, true); // allow no-origin (CLI/mobile/internal)\n if (isAllowed(origin)) return cb(null, true);\n return cb(new Error(`Origin ${origin} not allowed by CORS`), false);\n },\n methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],\n allowedHeaders: ['Content-Type', 'Authorization'],\n credentials: true,\n };\n}"]}
1
+ {"version":3,"file":"cors.helper.js","sourceRoot":"","sources":["../../src/helpers/cors.helper.ts"],"names":[],"mappings":";;AAGA,0DA8BC;AA9BD,SAAgB,uBAAuB;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,GAAG,CAAC;IAE5D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;QACjD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QACpD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;aAC9B,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,IAAI,MAAM,CAAC,IAAI,UAAU,GAAG,OAAO,aAAa,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CACnC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACrB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnC,IAAI,SAAS,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,MAAM,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC7D,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QACjD,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC","sourcesContent":["import { CorsOptions } from 'cors';\n\n/** Build CorsOptions from env; supports wildcards like https://*.example.com */\nexport function buildDefaultCorsOptions(): CorsOptions {\n const rawOrigins = process.env.SECURITY_CORS_ORIGINS ?? '*';\n\n const allowed = rawOrigins.split(',').map(s => s.trim()).filter(Boolean);\n\n const escapeRx = (s: string) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n const patternToRegex = (pattern: string): RegExp => {\n const hasScheme = /^https?:\\/\\//i.test(pattern);\n const schemePart = hasScheme ? '' : 'https?:\\\\/\\\\/';\n if (pattern === '*' || pattern === '.*') return /^.*$/i;\n const escaped = escapeRx(pattern)\n .replace(/^https?:\\/\\//i, '') // strip scheme if present\n .replace(/\\*/g, '[^.]+'); // * => one subdomain segment\n return new RegExp(`^${schemePart}${escaped}(?::\\\\d+)?$`, 'i');\n };\n\n const matchers = allowed.map(patternToRegex);\n const isAllowed = (origin: string) =>\n matchers.length > 0 && matchers.some(rx => rx.test(origin));\n\n return {\n origin: (origin, cb) => {\n if (!origin) return cb(null, true); // allow no-origin (CLI/mobile/internal)\n if (isAllowed(origin)) return cb(null, true);\n return cb(new Error(`Origin ${origin} not allowed by CORS`), false);\n },\n methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],\n allowedHeaders: ['Content-Type', 'Authorization'],\n credentials: true,\n };\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"error-mapper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/error-mapper.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AACrF,qBACa,kBAAkB;IAGf,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;gBAEjC,aAAa,EAAE,aAAa;IAGzD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS;IAMrC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS;IAMtD,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAMnC,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAMtC,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,iBAAiB;CAO5B"}
1
+ {"version":3,"file":"error-mapper.service.d.ts","sourceRoot":"","sources":["../../src/helpers/error-mapper.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AACrF,qBACa,kBAAkB;IAGf,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;gBAEjC,aAAa,EAAE,aAAa;IAGzD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS;IAMrC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS;IAMtD,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAMnC,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAMtC,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,iBAAiB;CAO5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-mapper.service.js","sourceRoot":"","sources":["../../src/helpers/error-mapper.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,qDAA2D;AAGpD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAG3B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAFxC,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAED,CAAC;IAG9D,YAAY,CAAC,GAAY;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAGD,UAAU,CAAC,OAAe,EAAE,KAAc;QACtC,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAGD,UAAU,CAAC,IAAe;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC;IAGD,aAAa,CAAC,IAAe;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,EAAE,UAAU,IAAI,GAAG,CAAC;IACnC,CAAC;IAGO,SAAS,CAAC,QAAgB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC;YAC/C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAET,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;QACD,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAEO,UAAU,CAAC,IAAe;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAGjC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC;YAC1B,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,iBAAiB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBAE9B,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,YAAY;QAEhB,OAAO,IAAI,CAAC,aAAa;aACpB,qBAAqB,EAAE;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACtB,MAAM,CAAC,OAAO,CAAyB,CAAC;IACjD,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACjC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAEtD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAO,KAAK,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,GAA8B,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAK,GAAW,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAK,GAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,MAAM,CAAE,GAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO,GAAG,IAAI,KAAK,GAAG,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAEO,iBAAiB,CAAC,GAAY;QAClC,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;CACJ,CAAA;AApHY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAImC,8BAAa;GAHhD,kBAAkB,CAoH9B","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { ErrorCode, ErrorMeta, ErrorRule, IErrorCodeProvider } from 'src/interfaces';\n@Injectable()\nexport class ErrorMapperService {\n private readonly logger = new Logger(ErrorMapperService.name);\n\n constructor(private readonly solidRegistry: SolidRegistry) { }\n\n /** Map an exception object (or string) to a canonical ErrorCode */\n mapException(exc: unknown): ErrorCode {\n const combined = this.combineErrorText(exc);\n return this.matchCode(combined);\n }\n\n /** Map plain message/trace to ErrorCode */\n mapMessage(message: string, trace?: string): ErrorCode {\n const combined = `${message ?? ''}\\n${trace ?? ''}`.toLowerCase();\n return this.matchCode(combined);\n }\n\n /** Get static message for a given code */\n getMessage(code: ErrorCode): string {\n const meta = this.lookupMeta(code);\n return (meta ?? { message: 'An unexpected error occurred.' }).message;\n }\n\n /** Get default HTTP status for a code (falls back to 500) */\n getHttpStatus(code: ErrorCode): number {\n const meta = this.lookupMeta(code);\n return meta?.httpStatus ?? 500;\n }\n\n // ---- internal helpers ----\n private matchCode(combined: string): ErrorCode {\n const rules = this.getAllRulesSorted();\n for (const rule of rules) {\n try {\n if (rule.match(combined)) return rule.code;\n } catch (e) {\n // Defensive: bad provider shouldn't crash mapping\n this.logger.warn(`Error rule threw in match(): code=${rule.code} provider? — ${e}`);\n }\n }\n return 'solidx-unknown-error';\n }\n\n private lookupMeta(code: ErrorCode): ErrorMeta | undefined {\n // Prefer the first rule with that code\n const rules = this.getAllRulesSorted();\n const rule = rules.find((r) => r.code === code);\n if (rule?.meta) return rule.meta;\n\n // Optional: ask providers directly if they implement resolve()\n const providers = this.getProviders();\n for (const p of providers) {\n if (p.resolve) {\n const meta = p.resolve(code);\n if (meta) return meta;\n }\n }\n return undefined;\n }\n\n private getAllRulesSorted(): ReadonlyArray<ErrorRule> {\n const providers = this.getProviders();\n const all: ErrorRule[] = [];\n for (const p of providers) {\n try {\n const rules = p.rules() ?? [];\n // Optional: namespace collision check can be added here if desired\n all.push(...rules);\n } catch (e) {\n this.logger.warn(`ErrorCodeProvider.rules() failed for ${p.name?.()}: ${e}`);\n }\n }\n // Sort by priority desc; default 0\n return all.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));\n }\n\n private getProviders(): IErrorCodeProvider[] {\n // convert InstanceWrapper → instance\n return this.solidRegistry\n .getErrorCodeProviders()\n .map((w) => w.instance)\n .filter(Boolean) as IErrorCodeProvider[];\n }\n\n private combineErrorText(exc: unknown): string {\n if (typeof exc === 'string') return exc.toLowerCase();\n\n if (exc instanceof Error) {\n const message = exc.message ?? '';\n const stack = exc.stack ?? '';\n return `${message}\\n${stack}`.toLowerCase();\n }\n\n if (exc && typeof exc === 'object') {\n try {\n const obj = exc as Record<string, unknown>;\n const msg = String(obj.message ?? (obj as any)['Message'] ?? '');\n const name = String(obj.name ?? (obj as any)['__type'] ?? '');\n const stack = String((obj as any).stack ?? '');\n const json = this.safeJsonStringify(obj);\n return `${name}\\n${msg}\\n${stack}\\n${json}`.toLowerCase();\n } catch {\n // ignore\n }\n }\n\n return String(exc ?? '').toLowerCase();\n }\n\n private safeJsonStringify(obj: unknown): string {\n try {\n return JSON.stringify(obj);\n } catch {\n return '';\n }\n }\n}"]}
1
+ {"version":3,"file":"error-mapper.service.js","sourceRoot":"","sources":["../../src/helpers/error-mapper.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { ErrorCode, ErrorMeta, ErrorRule, IErrorCodeProvider } from 'src/interfaces';\n@Injectable()\nexport class ErrorMapperService {\n private readonly logger = new Logger(ErrorMapperService.name);\n\n constructor(private readonly solidRegistry: SolidRegistry) { }\n\n /** Map an exception object (or string) to a canonical ErrorCode */\n mapException(exc: unknown): ErrorCode {\n const combined = this.combineErrorText(exc);\n return this.matchCode(combined);\n }\n\n /** Map plain message/trace to ErrorCode */\n mapMessage(message: string, trace?: string): ErrorCode {\n const combined = `${message ?? ''}\\n${trace ?? ''}`.toLowerCase();\n return this.matchCode(combined);\n }\n\n /** Get static message for a given code */\n getMessage(code: ErrorCode): string {\n const meta = this.lookupMeta(code);\n return (meta ?? { message: 'An unexpected error occurred.' }).message;\n }\n\n /** Get default HTTP status for a code (falls back to 500) */\n getHttpStatus(code: ErrorCode): number {\n const meta = this.lookupMeta(code);\n return meta?.httpStatus ?? 500;\n }\n\n // ---- internal helpers ----\n private matchCode(combined: string): ErrorCode {\n const rules = this.getAllRulesSorted();\n for (const rule of rules) {\n try {\n if (rule.match(combined)) return rule.code;\n } catch (e) {\n // Defensive: bad provider shouldn't crash mapping\n this.logger.warn(`Error rule threw in match(): code=${rule.code} provider? — ${e}`);\n }\n }\n return 'solidx-unknown-error';\n }\n\n private lookupMeta(code: ErrorCode): ErrorMeta | undefined {\n // Prefer the first rule with that code\n const rules = this.getAllRulesSorted();\n const rule = rules.find((r) => r.code === code);\n if (rule?.meta) return rule.meta;\n\n // Optional: ask providers directly if they implement resolve()\n const providers = this.getProviders();\n for (const p of providers) {\n if (p.resolve) {\n const meta = p.resolve(code);\n if (meta) return meta;\n }\n }\n return undefined;\n }\n\n private getAllRulesSorted(): ReadonlyArray<ErrorRule> {\n const providers = this.getProviders();\n const all: ErrorRule[] = [];\n for (const p of providers) {\n try {\n const rules = p.rules() ?? [];\n all.push(...rules);\n } catch (e) {\n this.logger.warn(`ErrorCodeProvider.rules() failed for ${p.name?.()}: ${e}`);\n }\n }\n // Sort by priority desc; default 0\n return all.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));\n }\n\n private getProviders(): IErrorCodeProvider[] {\n // convert InstanceWrapper → instance\n return this.solidRegistry\n .getErrorCodeProviders()\n .map((w) => w.instance)\n .filter(Boolean) as IErrorCodeProvider[];\n }\n\n private combineErrorText(exc: unknown): string {\n if (typeof exc === 'string') return exc.toLowerCase();\n\n if (exc instanceof Error) {\n const message = exc.message ?? '';\n const stack = exc.stack ?? '';\n return `${message}\\n${stack}`.toLowerCase();\n }\n\n if (exc && typeof exc === 'object') {\n try {\n const obj = exc as Record<string, unknown>;\n const msg = String(obj.message ?? (obj as any)['Message'] ?? '');\n const name = String(obj.name ?? (obj as any)['__type'] ?? '');\n const stack = String((obj as any).stack ?? '');\n const json = this.safeJsonStringify(obj);\n return `${name}\\n${msg}\\n${stack}\\n${json}`.toLowerCase();\n } catch {\n // ignore\n }\n }\n\n return String(exc ?? '').toLowerCase();\n }\n\n private safeJsonStringify(obj: unknown): string {\n try {\n return JSON.stringify(obj);\n } catch {\n return '';\n }\n }\n}"]}
@@ -1,4 +1,8 @@
1
- import { ConfigType } from "@nestjs/config";
2
- import { iamConfig } from "src/config/iam.config";
3
- export declare function isGoogleOAuthConfigured(iamConfiguration: ConfigType<typeof iamConfig>): boolean;
1
+ export type GoogleAuthConfiguration = {
2
+ clientID: String;
3
+ clientSecret: String;
4
+ callbackURL: String;
5
+ redirectURL: String;
6
+ };
7
+ export declare function isGoogleOAuthConfigured(googleOauthConfig: GoogleAuthConfiguration): boolean;
4
8
  //# sourceMappingURL=google-oauth.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"google-oauth.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/google-oauth.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,wBAAgB,uBAAuB,CAAC,gBAAgB,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,CAK7F"}
1
+ {"version":3,"file":"google-oauth.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/google-oauth.helper.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,OAAO,CAI3F"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isGoogleOAuthConfigured = isGoogleOAuthConfigured;
4
- function isGoogleOAuthConfigured(iamConfiguration) {
5
- const googleOauthConfig = iamConfiguration.googleOauth;
4
+ function isGoogleOAuthConfigured(googleOauthConfig) {
6
5
  return !!googleOauthConfig.clientID
7
6
  && !!googleOauthConfig.clientSecret && !!googleOauthConfig.callbackURL && !!googleOauthConfig.redirectURL;
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"google-oauth.helper.js","sourceRoot":"","sources":["../../src/helpers/google-oauth.helper.ts"],"names":[],"mappings":";;AAGA,0DAKG;AALH,SAAgB,uBAAuB,CAAC,gBAA8C;IAClF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAEvD,OAAO,CAAC,CAAC,iBAAiB,CAAC,QAAQ;WAChC,CAAC,CAAC,iBAAiB,CAAC,YAAY,IAAI,CAAC,CAAC,iBAAiB,CAAC,WAAW,IAAI,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC;AAC5G,CAAC","sourcesContent":["import { ConfigType } from \"@nestjs/config\";\nimport { iamConfig } from \"src/config/iam.config\";\n\nexport function isGoogleOAuthConfigured(iamConfiguration: ConfigType<typeof iamConfig>): boolean {\n const googleOauthConfig = iamConfiguration.googleOauth;\n \n return !!googleOauthConfig.clientID \n && !!googleOauthConfig.clientSecret && !!googleOauthConfig.callbackURL && !!googleOauthConfig.redirectURL;\n }\n"]}
1
+ {"version":3,"file":"google-oauth.helper.js","sourceRoot":"","sources":["../../src/helpers/google-oauth.helper.ts"],"names":[],"mappings":";;AAQA,0DAIC;AAJD,SAAgB,uBAAuB,CAAC,iBAA0C;IAEhF,OAAO,CAAC,CAAC,iBAAiB,CAAC,QAAQ;WAC9B,CAAC,CAAC,iBAAiB,CAAC,YAAY,IAAI,CAAC,CAAC,iBAAiB,CAAC,WAAW,IAAI,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC;AAC9G,CAAC","sourcesContent":["\nexport type GoogleAuthConfiguration = {\n clientID: String,\n clientSecret: String,\n callbackURL: String,\n redirectURL: String\n}\n\nexport function isGoogleOAuthConfigured(googleOauthConfig: GoogleAuthConfiguration): boolean {\n\n return !!googleOauthConfig.clientID\n && !!googleOauthConfig.clientSecret && !!googleOauthConfig.callbackURL && !!googleOauthConfig.redirectURL;\n}\n"]}
@@ -54,7 +54,6 @@ const getDynamicModuleNames = () => {
54
54
  return files.length > 0;
55
55
  })
56
56
  .map(dirent => dirent.name);
57
- console.log(`Dynamic Modules Are:`, enabledModules);
58
57
  return enabledModules;
59
58
  };
60
59
  exports.getDynamicModuleNames = getDynamicModuleNames;
@@ -78,7 +77,6 @@ const getDynamicModuleNamesBasedOnMetadata = () => {
78
77
  return !!stats && stats.isFile();
79
78
  })
80
79
  .map(dirent => dirent.name);
81
- console.log(`Src Based Dynamic Modules Are:`, enabledModules);
82
80
  return enabledModules;
83
81
  };
84
82
  exports.getDynamicModuleNamesBasedOnMetadata = getDynamicModuleNamesBasedOnMetadata;