@hed-hog/core 0.0.390 → 0.0.393

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 (528) hide show
  1. package/README.md +39 -0
  2. package/dist/access-log/access-log.controller.d.ts.map +1 -1
  3. package/dist/access-log/access-log.controller.js +1 -1
  4. package/dist/access-log/access-log.controller.js.map +1 -1
  5. package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
  6. package/dist/access-log/access-log.interceptor.js +8 -5
  7. package/dist/access-log/access-log.interceptor.js.map +1 -1
  8. package/dist/access-log/access-log.service.d.ts +4 -0
  9. package/dist/access-log/access-log.service.d.ts.map +1 -1
  10. package/dist/access-log/access-log.service.js +31 -4
  11. package/dist/access-log/access-log.service.js.map +1 -1
  12. package/dist/access-log/dto/query-access-log.dto.d.ts +2 -0
  13. package/dist/access-log/dto/query-access-log.dto.d.ts.map +1 -1
  14. package/dist/access-log/dto/query-access-log.dto.js +5 -0
  15. package/dist/access-log/dto/query-access-log.dto.js.map +1 -1
  16. package/dist/ai/ai.controller.d.ts +12 -8
  17. package/dist/ai/ai.controller.d.ts.map +1 -1
  18. package/dist/ai/ai.controller.js +17 -2
  19. package/dist/ai/ai.controller.js.map +1 -1
  20. package/dist/ai/ai.module.d.ts.map +1 -1
  21. package/dist/ai/ai.module.js +3 -2
  22. package/dist/ai/ai.module.js.map +1 -1
  23. package/dist/ai/ai.service.d.ts +30 -1
  24. package/dist/ai/ai.service.d.ts.map +1 -1
  25. package/dist/ai/ai.service.js +97 -3
  26. package/dist/ai/ai.service.js.map +1 -1
  27. package/dist/ai/dto/richtext-edit-html.dto.d.ts +5 -0
  28. package/dist/ai/dto/richtext-edit-html.dto.d.ts.map +1 -0
  29. package/dist/ai/dto/richtext-edit-html.dto.js +27 -0
  30. package/dist/ai/dto/richtext-edit-html.dto.js.map +1 -0
  31. package/dist/ai/richtext-ai.prompts.d.ts +5 -0
  32. package/dist/ai/richtext-ai.prompts.d.ts.map +1 -0
  33. package/dist/ai/richtext-ai.prompts.js +57 -0
  34. package/dist/ai/richtext-ai.prompts.js.map +1 -0
  35. package/dist/ai/richtext-ai.service.d.ts +34 -0
  36. package/dist/ai/richtext-ai.service.d.ts.map +1 -0
  37. package/dist/ai/richtext-ai.service.js +95 -0
  38. package/dist/ai/richtext-ai.service.js.map +1 -0
  39. package/dist/ai-instruction/ai-instruction.controller.d.ts +5 -5
  40. package/dist/auth/auth.controller.d.ts +66 -7
  41. package/dist/auth/auth.controller.d.ts.map +1 -1
  42. package/dist/auth/auth.controller.js +67 -23
  43. package/dist/auth/auth.controller.js.map +1 -1
  44. package/dist/auth/auth.module.d.ts.map +1 -1
  45. package/dist/auth/auth.module.js +2 -0
  46. package/dist/auth/auth.module.js.map +1 -1
  47. package/dist/auth/auth.service.d.ts +136 -4
  48. package/dist/auth/auth.service.d.ts.map +1 -1
  49. package/dist/auth/auth.service.js +246 -48
  50. package/dist/auth/auth.service.js.map +1 -1
  51. package/dist/auth/dto/confirm-email.dto.d.ts +4 -0
  52. package/dist/auth/dto/confirm-email.dto.d.ts.map +1 -0
  53. package/dist/auth/dto/confirm-email.dto.js +22 -0
  54. package/dist/auth/dto/confirm-email.dto.js.map +1 -0
  55. package/dist/auth/dto/resend-confirmation.dto.d.ts +8 -0
  56. package/dist/auth/dto/resend-confirmation.dto.d.ts.map +1 -0
  57. package/dist/auth/dto/resend-confirmation.dto.js +36 -0
  58. package/dist/auth/dto/resend-confirmation.dto.js.map +1 -0
  59. package/dist/authorize/authorize.controller.d.ts +1 -1
  60. package/dist/authorize/authorize.controller.d.ts.map +1 -1
  61. package/dist/authorize/authorize.controller.js +4 -2
  62. package/dist/authorize/authorize.controller.js.map +1 -1
  63. package/dist/authorize/authorize.service.d.ts +7 -0
  64. package/dist/authorize/authorize.service.d.ts.map +1 -1
  65. package/dist/authorize/authorize.service.js +1 -1
  66. package/dist/authorize/authorize.service.js.map +1 -1
  67. package/dist/challenge/challenge.service.d.ts +18 -5
  68. package/dist/challenge/challenge.service.d.ts.map +1 -1
  69. package/dist/challenge/challenge.service.js +50 -3
  70. package/dist/challenge/challenge.service.js.map +1 -1
  71. package/dist/core.module.d.ts.map +1 -1
  72. package/dist/core.module.js +17 -0
  73. package/dist/core.module.js.map +1 -1
  74. package/dist/dashboard/dashboard/dashboard.controller.d.ts +6 -6
  75. package/dist/dashboard/dashboard/dashboard.service.d.ts +6 -6
  76. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +4 -4
  77. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +4 -4
  78. package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +1 -1
  79. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +1 -1
  80. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +2 -2
  81. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +2 -2
  82. package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +2 -2
  83. package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +2 -2
  84. package/dist/file/file.controller.d.ts +8 -1
  85. package/dist/file/file.controller.d.ts.map +1 -1
  86. package/dist/file/file.controller.js +45 -7
  87. package/dist/file/file.controller.js.map +1 -1
  88. package/dist/file/file.service.d.ts +128 -1
  89. package/dist/file/file.service.d.ts.map +1 -1
  90. package/dist/file/file.service.js +319 -8
  91. package/dist/file/file.service.js.map +1 -1
  92. package/dist/file/image-optimization.service.d.ts +43 -0
  93. package/dist/file/image-optimization.service.d.ts.map +1 -1
  94. package/dist/file/image-optimization.service.js +154 -0
  95. package/dist/file/image-optimization.service.js.map +1 -1
  96. package/dist/file/provider/abstract.provider.d.ts +16 -0
  97. package/dist/file/provider/abstract.provider.d.ts.map +1 -1
  98. package/dist/file/provider/abstract.provider.js +4 -0
  99. package/dist/file/provider/abstract.provider.js.map +1 -1
  100. package/dist/file/provider/gcs.provider.d.ts +2 -0
  101. package/dist/file/provider/gcs.provider.d.ts.map +1 -1
  102. package/dist/file/provider/gcs.provider.js +10 -0
  103. package/dist/file/provider/gcs.provider.js.map +1 -1
  104. package/dist/file/provider/local.provider.d.ts +1 -0
  105. package/dist/file/provider/local.provider.d.ts.map +1 -1
  106. package/dist/file/provider/local.provider.js +13 -0
  107. package/dist/file/provider/local.provider.js.map +1 -1
  108. package/dist/file/provider/s3.provider.d.ts +5 -0
  109. package/dist/file/provider/s3.provider.d.ts.map +1 -1
  110. package/dist/file/provider/s3.provider.js +15 -0
  111. package/dist/file/provider/s3.provider.js.map +1 -1
  112. package/dist/file/provider/spaces.provider.d.ts +5 -0
  113. package/dist/file/provider/spaces.provider.d.ts.map +1 -1
  114. package/dist/file/provider/spaces.provider.js +16 -0
  115. package/dist/file/provider/spaces.provider.js.map +1 -1
  116. package/dist/impersonation/dto/redeem-impersonation.dto.d.ts +4 -0
  117. package/dist/impersonation/dto/redeem-impersonation.dto.d.ts.map +1 -0
  118. package/dist/impersonation/dto/redeem-impersonation.dto.js +23 -0
  119. package/dist/impersonation/dto/redeem-impersonation.dto.js.map +1 -0
  120. package/dist/impersonation/dto/start-impersonation.dto.d.ts +7 -0
  121. package/dist/impersonation/dto/start-impersonation.dto.d.ts.map +1 -0
  122. package/dist/impersonation/dto/start-impersonation.dto.js +27 -0
  123. package/dist/impersonation/dto/start-impersonation.dto.js.map +1 -0
  124. package/dist/impersonation/impersonation-restrictions.d.ts +26 -0
  125. package/dist/impersonation/impersonation-restrictions.d.ts.map +1 -0
  126. package/dist/impersonation/impersonation-restrictions.js +76 -0
  127. package/dist/impersonation/impersonation-restrictions.js.map +1 -0
  128. package/dist/impersonation/impersonation.controller.d.ts +90 -0
  129. package/dist/impersonation/impersonation.controller.d.ts.map +1 -0
  130. package/dist/impersonation/impersonation.controller.js +135 -0
  131. package/dist/impersonation/impersonation.controller.js.map +1 -0
  132. package/dist/impersonation/impersonation.module.d.ts +8 -0
  133. package/dist/impersonation/impersonation.module.d.ts.map +1 -0
  134. package/dist/impersonation/impersonation.module.js +44 -0
  135. package/dist/impersonation/impersonation.module.js.map +1 -0
  136. package/dist/impersonation/impersonation.service.d.ts +164 -0
  137. package/dist/impersonation/impersonation.service.d.ts.map +1 -0
  138. package/dist/impersonation/impersonation.service.js +408 -0
  139. package/dist/impersonation/impersonation.service.js.map +1 -0
  140. package/dist/index.d.ts +17 -0
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +19 -0
  143. package/dist/index.js.map +1 -1
  144. package/dist/integration/services/outbox-polling.coordinator.d.ts +2 -0
  145. package/dist/integration/services/outbox-polling.coordinator.d.ts.map +1 -1
  146. package/dist/integration/services/outbox-polling.coordinator.js +50 -30
  147. package/dist/integration/services/outbox-polling.coordinator.js.map +1 -1
  148. package/dist/integration/services/outbox.service.d.ts.map +1 -1
  149. package/dist/integration/services/outbox.service.js +5 -1
  150. package/dist/integration/services/outbox.service.js.map +1 -1
  151. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  152. package/dist/integration-profile/integration-profile.secrets.js +3 -0
  153. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  154. package/dist/integration-profile/integration-profile.utils.d.ts +14 -0
  155. package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
  156. package/dist/integration-profile/integration-profile.utils.js +26 -0
  157. package/dist/integration-profile/integration-profile.utils.js.map +1 -1
  158. package/dist/integration-profile/testers/email.testers.d.ts.map +1 -1
  159. package/dist/integration-profile/testers/email.testers.js +28 -0
  160. package/dist/integration-profile/testers/email.testers.js.map +1 -1
  161. package/dist/language/en.json +11 -0
  162. package/dist/language/pt.json +11 -0
  163. package/dist/mail/dto/send.dto.d.ts +38 -1
  164. package/dist/mail/dto/send.dto.d.ts.map +1 -1
  165. package/dist/mail/dto/send.dto.js +10 -0
  166. package/dist/mail/dto/send.dto.js.map +1 -1
  167. package/dist/mail/mail.controller.d.ts +1 -0
  168. package/dist/mail/mail.controller.d.ts.map +1 -1
  169. package/dist/mail/mail.module.d.ts.map +1 -1
  170. package/dist/mail/mail.module.js +2 -0
  171. package/dist/mail/mail.module.js.map +1 -1
  172. package/dist/mail/mail.service.d.ts +48 -4
  173. package/dist/mail/mail.service.d.ts.map +1 -1
  174. package/dist/mail/mail.service.js +187 -35
  175. package/dist/mail/mail.service.js.map +1 -1
  176. package/dist/mail-delivery/mail-delivery-provision.service.d.ts +21 -0
  177. package/dist/mail-delivery/mail-delivery-provision.service.d.ts.map +1 -0
  178. package/dist/mail-delivery/mail-delivery-provision.service.js +64 -0
  179. package/dist/mail-delivery/mail-delivery-provision.service.js.map +1 -0
  180. package/dist/mail-delivery/mail-delivery.constants.d.ts +17 -0
  181. package/dist/mail-delivery/mail-delivery.constants.d.ts.map +1 -0
  182. package/dist/mail-delivery/mail-delivery.constants.js +31 -0
  183. package/dist/mail-delivery/mail-delivery.constants.js.map +1 -0
  184. package/dist/mail-delivery/mail-delivery.controller.d.ts +19 -0
  185. package/dist/mail-delivery/mail-delivery.controller.d.ts.map +1 -0
  186. package/dist/mail-delivery/mail-delivery.controller.js +53 -0
  187. package/dist/mail-delivery/mail-delivery.controller.js.map +1 -0
  188. package/dist/mail-delivery/mail-delivery.module.d.ts +7 -0
  189. package/dist/mail-delivery/mail-delivery.module.d.ts.map +1 -0
  190. package/dist/mail-delivery/mail-delivery.module.js +36 -0
  191. package/dist/mail-delivery/mail-delivery.module.js.map +1 -0
  192. package/dist/mail-delivery/mail-delivery.service.d.ts +38 -0
  193. package/dist/mail-delivery/mail-delivery.service.d.ts.map +1 -0
  194. package/dist/mail-delivery/mail-delivery.service.js +140 -0
  195. package/dist/mail-delivery/mail-delivery.service.js.map +1 -0
  196. package/dist/mail-delivery/ses-event.parser.d.ts +27 -0
  197. package/dist/mail-delivery/ses-event.parser.d.ts.map +1 -0
  198. package/dist/mail-delivery/ses-event.parser.js +131 -0
  199. package/dist/mail-delivery/ses-event.parser.js.map +1 -0
  200. package/dist/mail-delivery/ses-webhook.service.d.ts +58 -0
  201. package/dist/mail-delivery/ses-webhook.service.d.ts.map +1 -0
  202. package/dist/mail-delivery/ses-webhook.service.js +214 -0
  203. package/dist/mail-delivery/ses-webhook.service.js.map +1 -0
  204. package/dist/mail-delivery/sns-message.util.d.ts +38 -0
  205. package/dist/mail-delivery/sns-message.util.d.ts.map +1 -0
  206. package/dist/mail-delivery/sns-message.util.js +109 -0
  207. package/dist/mail-delivery/sns-message.util.js.map +1 -0
  208. package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts +5 -0
  209. package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts.map +1 -1
  210. package/dist/mail-sent/dto/query-mail-sent-list.dto.js +6 -0
  211. package/dist/mail-sent/dto/query-mail-sent-list.dto.js.map +1 -1
  212. package/dist/mail-sent/mail-sent.controller.d.ts +39 -0
  213. package/dist/mail-sent/mail-sent.controller.d.ts.map +1 -1
  214. package/dist/mail-sent/mail-sent.service.d.ts +39 -0
  215. package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
  216. package/dist/mail-sent/mail-sent.service.js +45 -4
  217. package/dist/mail-sent/mail-sent.service.js.map +1 -1
  218. package/dist/mailbox/mailbox-fetcher.registry.d.ts +100 -0
  219. package/dist/mailbox/mailbox-fetcher.registry.d.ts.map +1 -0
  220. package/dist/mailbox/mailbox-fetcher.registry.js +59 -0
  221. package/dist/mailbox/mailbox-fetcher.registry.js.map +1 -0
  222. package/dist/mailbox/mailbox.module.d.ts +8 -0
  223. package/dist/mailbox/mailbox.module.d.ts.map +1 -0
  224. package/dist/mailbox/mailbox.module.js +27 -0
  225. package/dist/mailbox/mailbox.module.js.map +1 -0
  226. package/dist/meeting/meeting-provider.registry.d.ts +155 -0
  227. package/dist/meeting/meeting-provider.registry.d.ts.map +1 -0
  228. package/dist/meeting/meeting-provider.registry.js +53 -0
  229. package/dist/meeting/meeting-provider.registry.js.map +1 -0
  230. package/dist/meeting/meeting.constants.d.ts +47 -0
  231. package/dist/meeting/meeting.constants.d.ts.map +1 -0
  232. package/dist/meeting/meeting.constants.js +21 -0
  233. package/dist/meeting/meeting.constants.js.map +1 -0
  234. package/dist/meeting/meeting.module.d.ts +7 -0
  235. package/dist/meeting/meeting.module.d.ts.map +1 -0
  236. package/dist/meeting/meeting.module.js +26 -0
  237. package/dist/meeting/meeting.module.js.map +1 -0
  238. package/dist/middlewares/locale-injection.middleware.d.ts +12 -0
  239. package/dist/middlewares/locale-injection.middleware.d.ts.map +1 -1
  240. package/dist/middlewares/locale-injection.middleware.js +20 -4
  241. package/dist/middlewares/locale-injection.middleware.js.map +1 -1
  242. package/dist/oauth/providers/google.provider.d.ts +7 -0
  243. package/dist/oauth/providers/google.provider.d.ts.map +1 -1
  244. package/dist/oauth/providers/google.provider.js +43 -13
  245. package/dist/oauth/providers/google.provider.js.map +1 -1
  246. package/dist/observability/monitored-cron.d.ts +34 -0
  247. package/dist/observability/monitored-cron.d.ts.map +1 -0
  248. package/dist/observability/monitored-cron.js +118 -0
  249. package/dist/observability/monitored-cron.js.map +1 -0
  250. package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts +12 -0
  251. package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts.map +1 -0
  252. package/dist/pairing/dto/approve-reverse-pairing.dto.js +30 -0
  253. package/dist/pairing/dto/approve-reverse-pairing.dto.js.map +1 -0
  254. package/dist/pairing/dto/claim-pairing.dto.d.ts +11 -0
  255. package/dist/pairing/dto/claim-pairing.dto.d.ts.map +1 -0
  256. package/dist/pairing/dto/claim-pairing.dto.js +35 -0
  257. package/dist/pairing/dto/claim-pairing.dto.js.map +1 -0
  258. package/dist/pairing/dto/confirm-pairing.dto.d.ts +10 -0
  259. package/dist/pairing/dto/confirm-pairing.dto.d.ts.map +1 -0
  260. package/dist/pairing/dto/confirm-pairing.dto.js +24 -0
  261. package/dist/pairing/dto/confirm-pairing.dto.js.map +1 -0
  262. package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts +5 -0
  263. package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts.map +1 -0
  264. package/dist/pairing/dto/poll-reverse-pairing.dto.js +24 -0
  265. package/dist/pairing/dto/poll-reverse-pairing.dto.js.map +1 -0
  266. package/dist/pairing/dto/start-pairing.dto.d.ts +11 -0
  267. package/dist/pairing/dto/start-pairing.dto.d.ts.map +1 -0
  268. package/dist/pairing/dto/start-pairing.dto.js +30 -0
  269. package/dist/pairing/dto/start-pairing.dto.js.map +1 -0
  270. package/dist/pairing/dto/start-reverse-pairing.dto.d.ts +24 -0
  271. package/dist/pairing/dto/start-reverse-pairing.dto.d.ts.map +1 -0
  272. package/dist/pairing/dto/start-reverse-pairing.dto.js +47 -0
  273. package/dist/pairing/dto/start-reverse-pairing.dto.js.map +1 -0
  274. package/dist/pairing/pairing.controller.d.ts +118 -0
  275. package/dist/pairing/pairing.controller.d.ts.map +1 -0
  276. package/dist/pairing/pairing.controller.js +296 -0
  277. package/dist/pairing/pairing.controller.js.map +1 -0
  278. package/dist/pairing/pairing.module.d.ts +10 -0
  279. package/dist/pairing/pairing.module.d.ts.map +1 -0
  280. package/dist/pairing/pairing.module.js +40 -0
  281. package/dist/pairing/pairing.module.js.map +1 -0
  282. package/dist/pairing/pairing.service.d.ts +238 -0
  283. package/dist/pairing/pairing.service.d.ts.map +1 -0
  284. package/dist/pairing/pairing.service.js +495 -0
  285. package/dist/pairing/pairing.service.js.map +1 -0
  286. package/dist/pdf/pdf.service.d.ts +3 -6
  287. package/dist/pdf/pdf.service.d.ts.map +1 -1
  288. package/dist/pdf/pdf.service.js +8 -20
  289. package/dist/pdf/pdf.service.js.map +1 -1
  290. package/dist/profile/profile.controller.d.ts +11 -0
  291. package/dist/profile/profile.controller.d.ts.map +1 -1
  292. package/dist/profile/profile.service.d.ts +11 -0
  293. package/dist/profile/profile.service.d.ts.map +1 -1
  294. package/dist/profile/profile.service.js +20 -11
  295. package/dist/profile/profile.service.js.map +1 -1
  296. package/dist/redis/redis-pubsub.d.ts.map +1 -1
  297. package/dist/redis/redis-pubsub.js +44 -0
  298. package/dist/redis/redis-pubsub.js.map +1 -1
  299. package/dist/role/guards/role.guard.d.ts +5 -0
  300. package/dist/role/guards/role.guard.d.ts.map +1 -1
  301. package/dist/role/guards/role.guard.js +41 -39
  302. package/dist/role/guards/role.guard.js.map +1 -1
  303. package/dist/session/session.controller.d.ts +2 -0
  304. package/dist/session/session.controller.d.ts.map +1 -1
  305. package/dist/session/session.service.d.ts +39 -0
  306. package/dist/session/session.service.d.ts.map +1 -1
  307. package/dist/session/session.service.js +91 -8
  308. package/dist/session/session.service.js.map +1 -1
  309. package/dist/setting/brand-asset.service.d.ts +48 -0
  310. package/dist/setting/brand-asset.service.d.ts.map +1 -0
  311. package/dist/setting/brand-asset.service.js +130 -0
  312. package/dist/setting/brand-asset.service.js.map +1 -0
  313. package/dist/setting/setting.module.d.ts.map +1 -1
  314. package/dist/setting/setting.module.js +3 -2
  315. package/dist/setting/setting.module.js.map +1 -1
  316. package/dist/setting/setting.service.d.ts +33 -0
  317. package/dist/setting/setting.service.d.ts.map +1 -1
  318. package/dist/setting/setting.service.js +88 -0
  319. package/dist/setting/setting.service.js.map +1 -1
  320. package/dist/token/token.service.d.ts +23 -2
  321. package/dist/token/token.service.d.ts.map +1 -1
  322. package/dist/token/token.service.js +39 -4
  323. package/dist/token/token.service.js.map +1 -1
  324. package/dist/user/user.controller.d.ts +8 -22
  325. package/dist/user/user.controller.d.ts.map +1 -1
  326. package/dist/user/user.service.d.ts +44 -24
  327. package/dist/user/user.service.d.ts.map +1 -1
  328. package/dist/user/user.service.js +89 -6
  329. package/dist/user/user.service.js.map +1 -1
  330. package/dist/user-device/user-device.controller.d.ts +54 -0
  331. package/dist/user-device/user-device.controller.d.ts.map +1 -0
  332. package/dist/user-device/user-device.controller.js +103 -0
  333. package/dist/user-device/user-device.controller.js.map +1 -0
  334. package/dist/user-device/user-device.module.d.ts +3 -0
  335. package/dist/user-device/user-device.module.d.ts.map +1 -0
  336. package/dist/user-device/user-device.module.js +26 -0
  337. package/dist/user-device/user-device.module.js.map +1 -0
  338. package/dist/user-device/user-device.service.d.ts +71 -0
  339. package/dist/user-device/user-device.service.d.ts.map +1 -0
  340. package/dist/user-device/user-device.service.js +158 -0
  341. package/dist/user-device/user-device.service.js.map +1 -0
  342. package/dist/utils/device-key.d.ts +23 -0
  343. package/dist/utils/device-key.d.ts.map +1 -0
  344. package/dist/utils/device-key.js +31 -0
  345. package/dist/utils/device-key.js.map +1 -0
  346. package/dist/utils/geo-ip.d.ts +38 -0
  347. package/dist/utils/geo-ip.d.ts.map +1 -0
  348. package/dist/utils/geo-ip.js +122 -0
  349. package/dist/utils/geo-ip.js.map +1 -0
  350. package/dist/utils/locale-context.d.ts +10 -7
  351. package/dist/utils/locale-context.d.ts.map +1 -1
  352. package/dist/utils/locale-context.js +14 -8
  353. package/dist/utils/locale-context.js.map +1 -1
  354. package/dist/utils/security-event-vars.d.ts +56 -0
  355. package/dist/utils/security-event-vars.d.ts.map +1 -0
  356. package/dist/utils/security-event-vars.js +109 -0
  357. package/dist/utils/security-event-vars.js.map +1 -0
  358. package/dist/utils/user-agent.d.ts +19 -0
  359. package/dist/utils/user-agent.d.ts.map +1 -0
  360. package/dist/utils/user-agent.js +36 -0
  361. package/dist/utils/user-agent.js.map +1 -0
  362. package/dist/webhook-integration/webhook-integration.service.d.ts +5 -0
  363. package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -1
  364. package/dist/webhook-integration/webhook-integration.service.js +50 -4
  365. package/dist/webhook-integration/webhook-integration.service.js.map +1 -1
  366. package/dist/webhook-integration/webhook-protocol.registry.d.ts +6 -0
  367. package/dist/webhook-integration/webhook-protocol.registry.d.ts.map +1 -1
  368. package/dist/webhook-integration/webhook-protocol.registry.js.map +1 -1
  369. package/hedhog/data/integration_provider.yaml +9 -0
  370. package/hedhog/data/mail.yaml +198 -62
  371. package/hedhog/data/mail_layout.yaml +43 -33
  372. package/hedhog/data/menu.yaml +2 -0
  373. package/hedhog/data/role.yaml +16 -0
  374. package/hedhog/data/route.yaml +172 -3
  375. package/hedhog/data/setting_group.yaml +178 -2
  376. package/hedhog/data/setting_subgroup.yaml +8 -0
  377. package/hedhog/frontend/app/_lib/hooks/use-core-access.test.tsx.ejs +125 -0
  378. package/hedhog/frontend/app/_lib/hooks/use-core-access.ts.ejs +29 -0
  379. package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.test.ts.ejs +71 -0
  380. package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.ts.ejs +32 -0
  381. package/hedhog/frontend/app/access-log/page.tsx.ejs +96 -22
  382. package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +17 -1
  383. package/hedhog/frontend/app/account/components/known-devices.tsx.ejs +89 -0
  384. package/hedhog/frontend/app/account/components/profile-form.tsx.ejs +2 -1
  385. package/hedhog/frontend/app/account/components/user-devices-list.tsx.ejs +186 -0
  386. package/hedhog/frontend/app/account/devices/page.tsx.ejs +5 -0
  387. package/hedhog/frontend/app/account/layout.tsx.ejs +2 -0
  388. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +298 -0
  389. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +376 -1236
  390. package/hedhog/frontend/app/mail/log/page.tsx.ejs +210 -3
  391. package/hedhog/frontend/app/mail/template/page.tsx.ejs +190 -132
  392. package/hedhog/frontend/app/users/active-session.tsx.ejs +58 -11
  393. package/hedhog/frontend/app/users/page.tsx.ejs +69 -10
  394. package/hedhog/frontend/app/users/simulate-access-dialog.test.tsx.ejs +202 -0
  395. package/hedhog/frontend/app/users/simulate-access-dialog.tsx.ejs +170 -0
  396. package/hedhog/frontend/app/users/user-activity-timeline.tsx.ejs +19 -0
  397. package/hedhog/frontend/app/users/user-devices.tsx.ejs +89 -0
  398. package/hedhog/frontend/app/users/user-logs.tsx.ejs +13 -1
  399. package/hedhog/frontend/app/users/user-sheet.tsx.ejs +46 -24
  400. package/hedhog/frontend/messages/en.json +146 -48
  401. package/hedhog/frontend/messages/pt.json +146 -48
  402. package/hedhog/table/access_log.yaml +7 -0
  403. package/hedhog/table/file.yaml +8 -0
  404. package/hedhog/table/mail_delivery_event.yaml +76 -0
  405. package/hedhog/table/mail_sent.yaml +23 -0
  406. package/hedhog/table/user_activity.yaml +9 -0
  407. package/hedhog/table/user_device.yaml +52 -0
  408. package/hedhog/table/user_session.yaml +20 -1
  409. package/package.json +6 -5
  410. package/src/access-log/access-log.controller.ts +1 -0
  411. package/src/access-log/access-log.interceptor.ts +5 -1
  412. package/src/access-log/access-log.service.spec.ts +33 -2
  413. package/src/access-log/access-log.service.ts +38 -0
  414. package/src/access-log/dto/query-access-log.dto.ts +5 -0
  415. package/src/ai/ai.controller.ts +9 -0
  416. package/src/ai/ai.module.ts +3 -2
  417. package/src/ai/ai.service.ts +150 -13
  418. package/src/ai/dto/richtext-edit-html.dto.ts +11 -0
  419. package/src/ai/richtext-ai.prompts.ts +57 -0
  420. package/src/ai/richtext-ai.service.ts +109 -0
  421. package/src/auth/auth.controller.ts +47 -8
  422. package/src/auth/auth.module.ts +2 -0
  423. package/src/auth/auth.service.spec.ts +383 -6
  424. package/src/auth/auth.service.ts +345 -56
  425. package/src/auth/dto/confirm-email.dto.ts +7 -0
  426. package/src/auth/dto/resend-confirmation.dto.ts +20 -0
  427. package/src/authorize/authorize.controller.ts +2 -0
  428. package/src/authorize/authorize.service.spec.ts +23 -0
  429. package/src/authorize/authorize.service.ts +8 -0
  430. package/src/challenge/challenge.service.spec.ts +73 -0
  431. package/src/challenge/challenge.service.ts +62 -3
  432. package/src/core.module.ts +19 -0
  433. package/src/file/file.controller.ts +54 -4
  434. package/src/file/file.service.spec.ts +275 -105
  435. package/src/file/file.service.ts +409 -14
  436. package/src/file/image-optimization.service.spec.ts +92 -0
  437. package/src/file/image-optimization.service.ts +202 -0
  438. package/src/file/provider/abstract.provider.ts +23 -0
  439. package/src/file/provider/gcs.provider.ts +17 -0
  440. package/src/file/provider/local.provider.ts +21 -0
  441. package/src/file/provider/s3.provider.ts +25 -0
  442. package/src/file/provider/spaces.provider.ts +26 -0
  443. package/src/impersonation/dto/redeem-impersonation.dto.ts +8 -0
  444. package/src/impersonation/dto/start-impersonation.dto.ts +13 -0
  445. package/src/impersonation/impersonation-restrictions.ts +84 -0
  446. package/src/impersonation/impersonation.controller.ts +109 -0
  447. package/src/impersonation/impersonation.module.ts +31 -0
  448. package/src/impersonation/impersonation.service.spec.ts +427 -0
  449. package/src/impersonation/impersonation.service.ts +577 -0
  450. package/src/index.ts +21 -0
  451. package/src/integration/services/outbox-polling.coordinator.spec.ts +90 -0
  452. package/src/integration/services/outbox-polling.coordinator.ts +62 -40
  453. package/src/integration/services/outbox.service.spec.ts +8 -0
  454. package/src/integration/services/outbox.service.ts +19 -13
  455. package/src/integration-profile/integration-profile.secrets.ts +3 -0
  456. package/src/integration-profile/integration-profile.utils.ts +38 -0
  457. package/src/integration-profile/testers/email.testers.ts +34 -1
  458. package/src/language/en.json +11 -0
  459. package/src/language/pt.json +11 -0
  460. package/src/mail/dto/send.dto.ts +46 -2
  461. package/src/mail/mail-template.spec.ts +79 -2
  462. package/src/mail/mail.module.ts +2 -0
  463. package/src/mail/mail.service.spec.ts +307 -6
  464. package/src/mail/mail.service.ts +227 -30
  465. package/src/mail-delivery/mail-delivery-provision.service.ts +66 -0
  466. package/src/mail-delivery/mail-delivery.constants.ts +31 -0
  467. package/src/mail-delivery/mail-delivery.controller.ts +38 -0
  468. package/src/mail-delivery/mail-delivery.module.ts +23 -0
  469. package/src/mail-delivery/mail-delivery.service.spec.ts +136 -0
  470. package/src/mail-delivery/mail-delivery.service.ts +152 -0
  471. package/src/mail-delivery/ses-event.parser.spec.ts +140 -0
  472. package/src/mail-delivery/ses-event.parser.ts +191 -0
  473. package/src/mail-delivery/ses-webhook.service.spec.ts +170 -0
  474. package/src/mail-delivery/ses-webhook.service.ts +240 -0
  475. package/src/mail-delivery/sns-message.util.spec.ts +163 -0
  476. package/src/mail-delivery/sns-message.util.ts +125 -0
  477. package/src/mail-sent/dto/query-mail-sent-list.dto.ts +15 -0
  478. package/src/mail-sent/mail-sent.service.ts +46 -2
  479. package/src/mailbox/mailbox-fetcher.registry.ts +132 -0
  480. package/src/mailbox/mailbox.module.ts +14 -0
  481. package/src/meeting/meeting-provider.registry.ts +193 -0
  482. package/src/meeting/meeting.constants.ts +53 -0
  483. package/src/meeting/meeting.module.ts +13 -0
  484. package/src/middlewares/locale-injection.middleware.ts +25 -6
  485. package/src/oauth/providers/google.provider.ts +49 -15
  486. package/src/observability/monitored-cron.spec.ts +102 -0
  487. package/src/observability/monitored-cron.ts +110 -0
  488. package/src/pairing/dto/approve-reverse-pairing.dto.ts +20 -0
  489. package/src/pairing/dto/claim-pairing.dto.ts +19 -0
  490. package/src/pairing/dto/confirm-pairing.dto.ts +14 -0
  491. package/src/pairing/dto/poll-reverse-pairing.dto.ts +9 -0
  492. package/src/pairing/dto/start-pairing.dto.ts +19 -0
  493. package/src/pairing/dto/start-reverse-pairing.dto.ts +45 -0
  494. package/src/pairing/pairing.controller.ts +246 -0
  495. package/src/pairing/pairing.module.ts +27 -0
  496. package/src/pairing/pairing.service.spec.ts +462 -0
  497. package/src/pairing/pairing.service.ts +614 -0
  498. package/src/pdf/pdf.service.ts +6 -24
  499. package/src/profile/profile.service.ts +26 -8
  500. package/src/redis/redis-pubsub.ts +11 -0
  501. package/src/role/guards/role.guard.spec.ts +75 -0
  502. package/src/role/guards/role.guard.ts +64 -46
  503. package/src/session/session.service.spec.ts +81 -0
  504. package/src/session/session.service.ts +93 -6
  505. package/src/setting/brand-asset.service.ts +137 -0
  506. package/src/setting/setting.module.ts +3 -2
  507. package/src/setting/setting.service.spec.ts +79 -1
  508. package/src/setting/setting.service.ts +109 -1
  509. package/src/token/token.service.spec.ts +62 -0
  510. package/src/token/token.service.ts +57 -3
  511. package/src/user/user.service.spec.ts +33 -2
  512. package/src/user/user.service.ts +108 -6
  513. package/src/user-device/user-device.controller.ts +77 -0
  514. package/src/user-device/user-device.module.ts +13 -0
  515. package/src/user-device/user-device.service.spec.ts +234 -0
  516. package/src/user-device/user-device.service.ts +168 -0
  517. package/src/utils/device-key.spec.ts +57 -0
  518. package/src/utils/device-key.ts +32 -0
  519. package/src/utils/geo-ip.spec.ts +134 -0
  520. package/src/utils/geo-ip.ts +93 -0
  521. package/src/utils/locale-context.spec.ts +27 -1
  522. package/src/utils/locale-context.ts +15 -12
  523. package/src/utils/security-event-vars.spec.ts +161 -0
  524. package/src/utils/security-event-vars.ts +153 -0
  525. package/src/utils/user-agent.spec.ts +37 -0
  526. package/src/utils/user-agent.ts +46 -0
  527. package/src/webhook-integration/webhook-integration.service.ts +57 -3
  528. package/src/webhook-integration/webhook-protocol.registry.ts +6 -0
@@ -56,11 +56,13 @@ const security_service_1 = require("../security/security.service");
56
56
  const session_service_1 = require("../session/session.service");
57
57
  const setting_service_1 = require("../setting/setting.service");
58
58
  const token_service_1 = require("../token/token.service");
59
+ const user_device_service_1 = require("../user-device/user-device.service");
59
60
  const user_credential_util_1 = require("../user/user-credential.util");
60
61
  const user_service_1 = require("../user/user.service");
62
+ const security_event_vars_1 = require("../utils/security-event-vars");
61
63
  const webauthn_origin_1 = require("../utils/webauthn-origin");
62
64
  let AuthService = AuthService_1 = class AuthService {
63
- constructor(prisma, mail, setting, security, token, session, user, challenge) {
65
+ constructor(prisma, mail, setting, security, token, session, user, challenge, userDevice) {
64
66
  this.prisma = prisma;
65
67
  this.mail = mail;
66
68
  this.setting = setting;
@@ -69,6 +71,7 @@ let AuthService = AuthService_1 = class AuthService {
69
71
  this.session = session;
70
72
  this.user = user;
71
73
  this.challenge = challenge;
74
+ this.userDevice = userDevice;
72
75
  this.logger = new common_1.Logger(AuthService_1.name);
73
76
  }
74
77
  async getAuthenticationPayload(locale, userId, ipAddress, userAgent, browserId) {
@@ -76,6 +79,15 @@ let AuthService = AuthService_1 = class AuthService {
76
79
  const payload = { sub: userId, sessionId: session.id };
77
80
  const accessToken = await this.token.createAccessToken(payload);
78
81
  await this.prisma.user.update({ where: { id: userId }, data: { last_login_at: new Date() } });
82
+ // Unico ponto por onde todo caminho de autenticacao passa (senha, MFA,
83
+ // WebAuthn, recovery code, OAuth, pairing), entao e aqui que o dispositivo
84
+ // e aprendido. Quem checa `isNewDevice` faz isso antes de chegar aqui.
85
+ await this.userDevice.remember(userId, { userAgent, browserId, ipAddress });
86
+ // O idioma e aprendido junto com o dispositivo, e pelo mesmo motivo: e o
87
+ // unico momento em que o cliente se apresenta. Fica antes do alerta de
88
+ // dispositivo desconhecido (disparado por quem chamou este metodo), entao o
89
+ // proprio e-mail do primeiro login ja sai traduzido.
90
+ await this.persistDetectedLanguage(locale, userId);
79
91
  this.logger.debug(`[AuthService] Session created userId=${userId} sessionId=${session.id}`);
80
92
  return {
81
93
  accessToken,
@@ -83,7 +95,51 @@ let AuthService = AuthService_1 = class AuthService {
83
95
  session,
84
96
  };
85
97
  }
86
- async issueDesktopToken(locale, userId, ipAddress, userAgent) {
98
+ /**
99
+ * Adota o idioma do cliente como preferencia do usuario - uma unica vez.
100
+ *
101
+ * Escrita write-once de proposito: sobrescrever a cada login faria um acesso
102
+ * de aparelho emprestado, ou de um navegador em outro idioma, apagar a
103
+ * escolha que o usuario fez na tela de preferencias.
104
+ *
105
+ * Nunca lanca. Idioma e acabamento; login que falha por causa dele seria uma
106
+ * troca pessima.
107
+ */
108
+ async persistDetectedLanguage(locale, userId) {
109
+ try {
110
+ // `detected` distingue a escolha do cliente do default do middleware.
111
+ // Sem isso, todo cliente que nao manda `Accept-Language` congelaria `en`.
112
+ if (!(0, api_locale_1.isLocaleDetectedFromContext)()) {
113
+ return;
114
+ }
115
+ const code = (0, api_locale_1.normalizeLocaleCode)((0, api_locale_1.getLocaleFromContext)());
116
+ if (!code) {
117
+ return;
118
+ }
119
+ // `setSettingUserValue` valida que a setting aceita override, mas nao o
120
+ // valor. Sem esta checagem um navegador em `de-DE` gravaria `de`, e todo
121
+ // e-mail seguinte procuraria um template inexistente.
122
+ const allowed = await this.setting.getSettingListValues('language');
123
+ if (allowed.length && !allowed.includes(code)) {
124
+ return;
125
+ }
126
+ if (await this.setting.getUserSettingValue(userId, 'language')) {
127
+ return;
128
+ }
129
+ await this.setting.setSettingUserValue(locale, userId, 'language', code);
130
+ }
131
+ catch (error) {
132
+ this.logger.warn(`[AuthService] Could not persist detected language for userId=${userId}: ${error}`);
133
+ }
134
+ }
135
+ async issueDesktopToken(locale, userId, ipAddress, userAgent, isImpersonating = false) {
136
+ // Aqui o `userId` vem de @User(), que numa simulacao e o ALVO — sem esta
137
+ // guarda, o operador cunharia para ele uma sessao completa, RENOVAVEL e de
138
+ // 30 dias, furando o teto da simulacao e saindo da trilha de auditoria. O
139
+ // RoleGuard ja bloqueia a rota; isto e a segunda barreira.
140
+ if (isImpersonating) {
141
+ throw new common_1.ForbiddenException((0, api_locale_1.getLocaleText)('impersonation.restrictedRoute', locale, 'This action is not available during an access simulation.'));
142
+ }
87
143
  const { accessToken, refreshToken } = await this.getAuthenticationPayload(locale, userId, ipAddress, userAgent);
88
144
  return { accessToken, refreshToken };
89
145
  }
@@ -262,7 +318,10 @@ let AuthService = AuthService_1 = class AuthService {
262
318
  user_identifier_id: true,
263
319
  user_identifier: {
264
320
  select: {
265
- user_id: true
321
+ user_id: true,
322
+ // Destinatario do alerta de dispositivo novo: o endereco que o
323
+ // usuario de fato verificou para entrar.
324
+ value: true
266
325
  }
267
326
  }
268
327
  }
@@ -294,13 +353,41 @@ let AuthService = AuthService_1 = class AuthService {
294
353
  });
295
354
  });
296
355
  const user = await this.user.findUserById(locale, challenge.user_identifier.user_id);
297
- return this.login(locale, user, ipAddress, userAgent, res, browserId, origin);
356
+ return this.login(locale, user, ipAddress, userAgent, res, browserId, origin, challenge.user_identifier.value);
298
357
  }
299
358
  catch (error) {
300
359
  throw error;
301
360
  }
302
361
  }
303
- async login(locale, user, ipAddress, userAgent, res, browserId, origin) {
362
+ /**
363
+ * Dispara o alerta de acesso de dispositivo desconhecido.
364
+ *
365
+ * O `await` aqui cobre so a resolucao do app (leitura de setting memoizada);
366
+ * o envio em si continua sem await de proposito, para nao somar a latencia do
367
+ * SMTP ao tempo de resposta do login.
368
+ */
369
+ async sendNewDeviceLoginMail(locale, user, email, ipAddress, userAgent, origin) {
370
+ var _a;
371
+ // Tokens de desafio emitidos antes de o `email` passar a ser gravado no
372
+ // payload chegam aqui sem destinatario; alertar ninguem e melhor do que
373
+ // deixar o envio explodir dentro do fluxo de login.
374
+ if (!email) {
375
+ return;
376
+ }
377
+ const app = await this.challenge.resolveAppKeyFromOrigin(origin);
378
+ // As variaveis sao formatadas aqui (data e nome do pais saem do `Intl`),
379
+ // entao o idioma do destinatario tem que ser resolvido ANTES do envio -
380
+ // senao o corpo sai em portugues com a data em ingles.
381
+ const recipientLocale = await this.mail.resolveRecipientLocale(email, locale);
382
+ this.mail.sendTemplatedMail(recipientLocale, {
383
+ email,
384
+ slug: 'auth-login-new-device',
385
+ variables: Object.assign({ name: (_a = user === null || user === void 0 ? void 0 : user.name) !== null && _a !== void 0 ? _a : '' }, (0, security_event_vars_1.buildSecurityEventVars)({ ipAddress, userAgent, locale: recipientLocale })),
386
+ app,
387
+ });
388
+ }
389
+ async login(locale, user, ipAddress, userAgent, res, browserId, origin, loginEmail) {
390
+ var _a, _b;
304
391
  // Conta excluída pelo próprio usuário: os identificadores já foram
305
392
  // anonimizados, mas a checagem fecha qualquer caminho remanescente.
306
393
  const account = await this.prisma.user.findUnique({
@@ -320,20 +407,14 @@ let AuthService = AuthService_1 = class AuthService {
320
407
  if (!emails || emails.length === 0) {
321
408
  throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('accessDenied', locale, 'Access denied.'));
322
409
  }
410
+ const newDevice = await this.userDevice.isNewDevice(user.id, userAgent, browserId);
323
411
  const { accessToken, refreshToken, session } = await this.getAuthenticationPayload(locale, user.id, ipAddress, userAgent, browserId);
324
- const app = await this.challenge.resolveAppKeyFromOrigin(origin);
325
- for (const emailObj of emails) {
326
- this.mail.sendTemplatedMail(locale, {
327
- email: emailObj.value,
328
- slug: 'auth-login-new-device',
329
- variables: {
330
- name: user.name,
331
- ipAddress,
332
- userAgent,
333
- location: 'Unknown',
334
- },
335
- app,
336
- });
412
+ if (newDevice) {
413
+ // So o endereco usado para entrar. Avisar todos os identificadores
414
+ // contava, para um e-mail secundario, que o principal tinha sido usado.
415
+ const wanted = (loginEmail !== null && loginEmail !== void 0 ? loginEmail : '').trim().toLowerCase();
416
+ const recipient = (_b = (_a = emails.find((e) => { var _a; return ((_a = e.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === wanted; })) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : emails[0].value;
417
+ await this.sendNewDeviceLoginMail(locale, user, recipient, ipAddress, userAgent, origin);
337
418
  }
338
419
  await this.user.registerUserActivity(user.id, "login");
339
420
  await this.token.setRefreshTokenCookie(locale, res, refreshToken, session.expires_at);
@@ -393,7 +474,33 @@ let AuthService = AuthService_1 = class AuthService {
393
474
  else if (settings['require-email-verification'] === true && (identifier === null || identifier === void 0 ? void 0 : identifier.verified_at) === null) {
394
475
  return this.requiresEmailVerificationForLogin(locale, email, user, origin);
395
476
  }
396
- return this.login(locale, user, ipAddress, userAgent, res, browserId, origin);
477
+ return this.login(locale, user, ipAddress, userAgent, res, browserId, origin, email);
478
+ }
479
+ /**
480
+ * Cadastro por e-mail e senha.
481
+ *
482
+ * Com `require-email-verification` desligada (o default), a conta já nasce
483
+ * utilizável e o e-mail de confirmação é apenas informativo — devolver a
484
+ * pessoa para a tela de login só a obrigaria a digitar de novo o que acabou
485
+ * de digitar, então o cadastro já termina com a sessão emitida.
486
+ *
487
+ * Com a setting ligada, `loginWithEmailAndPassword` barraria o acesso logo em
488
+ * seguida; nesse caso não emitimos sessão e devolvemos `hasChallenge` para o
489
+ * app mandar a pessoa confirmar o endereço antes.
490
+ */
491
+ async signupWithEmailAndPassword(res, locale, ipAddress, userAgent, data, browserId, origin) {
492
+ const { user } = await this.user.createWithEmailAndPassword(locale, data);
493
+ const settings = await this.setting.getSettingValues([
494
+ 'require-email-verification',
495
+ ]);
496
+ if (settings['require-email-verification'] === true) {
497
+ return { user, hasChallenge: true };
498
+ }
499
+ // `isNewDevice` retorna false quando o usuário ainda não tem dispositivo
500
+ // nenhum, então o auto-login não dispara o alerta de "novo acesso" — que
501
+ // logo após o cadastro pareceria um aviso de invasão.
502
+ const session = await this.login(locale, user, ipAddress, userAgent, res, browserId, origin, data.email);
503
+ return Object.assign({ user, hasChallenge: false }, session);
397
504
  }
398
505
  async verifyRoles(_locale, userId) {
399
506
  return this.prisma.role.findMany({
@@ -409,11 +516,39 @@ let AuthService = AuthService_1 = class AuthService {
409
516
  }
410
517
  });
411
518
  }
412
- async verifyUser(locale, userId) {
519
+ async verifyUser(locale, userId, sessionId) {
413
520
  const user = await this.user.findUserById(locale, userId);
414
521
  const requiresPasswordReset = this.hasPendingPasswordReset(user);
415
522
  delete user.user_credential;
416
- return Object.assign(Object.assign({}, user), { requires_password_reset: requiresPasswordReset });
523
+ return Object.assign(Object.assign({}, user), { requires_password_reset: requiresPasswordReset,
524
+ // Fonte de verdade do banner de simulacao no cliente: a sessionStorage do
525
+ // navegador e so cache e e gravavel por quem estiver na aba.
526
+ impersonation: await this.describeImpersonation(sessionId) });
527
+ }
528
+ async describeImpersonation(sessionId) {
529
+ if (!sessionId) {
530
+ return null;
531
+ }
532
+ const session = await this.prisma.user_session.findUnique({
533
+ where: { id: sessionId },
534
+ select: {
535
+ impersonator_user_id: true,
536
+ impersonation_reason: true,
537
+ expires_at: true,
538
+ },
539
+ });
540
+ if (!(session === null || session === void 0 ? void 0 : session.impersonator_user_id)) {
541
+ return null;
542
+ }
543
+ const operator = await this.prisma.user.findUnique({
544
+ where: { id: session.impersonator_user_id },
545
+ select: { id: true, name: true },
546
+ });
547
+ return {
548
+ by: operator !== null && operator !== void 0 ? operator : { id: session.impersonator_user_id, name: '' },
549
+ reason: session.impersonation_reason,
550
+ expires_at: session.expires_at.toISOString(),
551
+ };
417
552
  }
418
553
  async refreshAccessToken(locale, refreshToken, ipAddress, userAgent, browserId) {
419
554
  if (!refreshToken) {
@@ -437,9 +572,17 @@ let AuthService = AuthService_1 = class AuthService {
437
572
  return { success: true };
438
573
  }
439
574
  async logout(res, req, refreshToken) {
440
- var _a, _b, _c;
575
+ var _a, _b, _c, _d;
576
+ // Numa sessao simulada o cookie `rt` da mesma origem e o do OPERADOR: limpar
577
+ // e revogar por hash aqui derrubaria a sessao real dele. O RoleGuard ja
578
+ // bloqueia esta rota durante uma simulacao (impersonation-restrictions.ts);
579
+ // isto e a segunda barreira, no caso de a rota ser alcancada por outro
580
+ // caminho. Sair de uma simulacao e POST /impersonation/stop.
581
+ if (((_a = req === null || req === void 0 ? void 0 : req.auth) === null || _a === void 0 ? void 0 : _a.imp) === true) {
582
+ throw new common_1.ForbiddenException('This action is not available during an access simulation.');
583
+ }
441
584
  const result = await this.session.deleteRefreshTokenCookie(res, refreshToken);
442
- const logoutUserId = (_c = (_b = (_a = req.auth) === null || _a === void 0 ? void 0 : _a.sub) !== null && _b !== void 0 ? _b : result === null || result === void 0 ? void 0 : result.userId) !== null && _c !== void 0 ? _c : null;
585
+ const logoutUserId = (_d = (_c = (_b = req.auth) === null || _b === void 0 ? void 0 : _b.sub) !== null && _c !== void 0 ? _c : result === null || result === void 0 ? void 0 : result.userId) !== null && _d !== void 0 ? _d : null;
443
586
  if (logoutUserId) {
444
587
  await this.user.registerUserActivity(logoutUserId, 'logout');
445
588
  }
@@ -517,6 +660,67 @@ let AuthService = AuthService_1 = class AuthService {
517
660
  const token = await this.challenge.createAccountInviteChallenge(identifier.id);
518
661
  return { userId: targetUserId, token, hasPassword: passwordCount > 0 };
519
662
  }
663
+ /**
664
+ * Confirma o e-mail a partir do link enviado no cadastro. Não emite sessão: o
665
+ * link só prova o controle da caixa, quem quiser entrar passa pelo login.
666
+ *
667
+ * Idempotente de propósito — clientes de e-mail fazem pré-fetch do link e o
668
+ * usuário costuma clicar de novo depois, e nesses casos ver "link inválido"
669
+ * assusta mais do que ajuda.
670
+ */
671
+ async confirmEmail(locale, token) {
672
+ var _a, _b, _c, _d;
673
+ const { userIdentifierId } = await this.token.verifyEmailConfirmationToken(locale, token);
674
+ const identifier = await this.prisma.user_identifier.findUnique({
675
+ where: { id: userIdentifierId },
676
+ include: { user: { select: { id: true, name: true } } },
677
+ });
678
+ if (!identifier) {
679
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('confirmEmail.invalidOrExpired', locale, 'This confirmation link is invalid or has expired.'));
680
+ }
681
+ if (identifier.verified_at) {
682
+ return {
683
+ confirmed: true,
684
+ alreadyConfirmed: true,
685
+ email: identifier.value,
686
+ name: (_b = (_a = identifier.user) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null,
687
+ };
688
+ }
689
+ await this.prisma.user_identifier.update({
690
+ where: { id: identifier.id },
691
+ data: { verified_at: new Date(), enabled: true },
692
+ });
693
+ await this.user.registerUserActivity(identifier.user_id, 'confirmEmail');
694
+ return {
695
+ confirmed: true,
696
+ alreadyConfirmed: false,
697
+ email: identifier.value,
698
+ name: (_d = (_c = identifier.user) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : null,
699
+ };
700
+ }
701
+ /**
702
+ * Reenvia o link de confirmação do cadastro.
703
+ *
704
+ * Responde `{ sent: true }` mesmo quando o e-mail não existe ou já está
705
+ * confirmado: qualquer diferença na resposta transformaria a rota num
706
+ * oráculo para descobrir quais endereços têm conta.
707
+ */
708
+ async resendEmailConfirmation(locale, email, app, origin) {
709
+ var _a;
710
+ try {
711
+ const user = await this.user.findUserByEmail(locale, email);
712
+ if (user) {
713
+ await this.challenge.sendEmailConfirmationLink(locale, user.id, email, app, origin);
714
+ }
715
+ }
716
+ catch (error) {
717
+ // `sendEmailConfirmationLink` lança NotFound quando o endereço já está
718
+ // verificado — e uma falha de envio não pode virar erro para o cliente,
719
+ // sob pena de vazar a existência da conta.
720
+ this.logger.warn('Resend of signup confirmation email failed: ' + ((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error));
721
+ }
722
+ return { sent: true };
723
+ }
520
724
  /**
521
725
  * Valida (sem consumir) um token de convite de criação de conta e retorna os
522
726
  * dados básicos para pré-preencher o formulário no app de treinamentos.
@@ -700,23 +904,16 @@ let AuthService = AuthService_1 = class AuthService {
700
904
  if (!isValid) {
701
905
  throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('invalidMfaCode', locale, 'Invalid MFA code.'));
702
906
  }
907
+ const newDevice = await this.userDevice.isNewDevice(user.id, userAgent, browserId);
703
908
  const { accessToken, refreshToken, session } = await this.getAuthenticationPayload(locale, user.id, ipAddress, userAgent, browserId);
704
- this.mail.sendTemplatedMail(locale, {
705
- email: payload.email,
706
- slug: 'auth-login-new-device',
707
- variables: {
708
- name: user.name,
709
- ipAddress,
710
- userAgent,
711
- location: 'Unknown',
712
- },
713
- app: await this.challenge.resolveAppKeyFromOrigin(origin),
714
- });
909
+ if (newDevice) {
910
+ await this.sendNewDeviceLoginMail(locale, user, payload.email, ipAddress, userAgent, origin);
911
+ }
715
912
  await this.user.registerUserActivity(user.id, "login");
716
913
  const requiresPasswordReset = await this.getRequiresPasswordResetByUserId(user.id);
717
914
  return { accessToken, refreshToken, session, requiresPasswordReset };
718
915
  }
719
- async verifyMfaRecoveryCode(locale, mfaToken, recoveryCode, ipAddress, userAgent, browserId) {
916
+ async verifyMfaRecoveryCode(locale, mfaToken, recoveryCode, ipAddress, userAgent, browserId, origin) {
720
917
  const payload = await this.token.verifyMfaChallengeToken(mfaToken);
721
918
  const user = await this.prisma.user.findUnique({
722
919
  where: { id: payload.userId },
@@ -740,7 +937,13 @@ let AuthService = AuthService_1 = class AuthService {
740
937
  if (!isValid) {
741
938
  throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('invalidRecoveryCode', locale, 'Invalid recovery code.'));
742
939
  }
940
+ const newDevice = await this.userDevice.isNewDevice(user.id, userAgent, browserId);
743
941
  const { accessToken, refreshToken, session } = await this.getAuthenticationPayload(locale, user.id, ipAddress, userAgent, browserId);
942
+ // Entrar por codigo de recuperacao e o caminho mais sensivel dos tres, e era
943
+ // justamente o unico que nao avisava ninguem.
944
+ if (newDevice) {
945
+ await this.sendNewDeviceLoginMail(locale, user, payload.email, ipAddress, userAgent, origin);
946
+ }
744
947
  await this.user.registerUserActivity(user.id, "login");
745
948
  const requiresPasswordReset = await this.getRequiresPasswordResetByUserId(user.id);
746
949
  return { accessToken, refreshToken, session, requiresPasswordReset };
@@ -857,19 +1060,12 @@ let AuthService = AuthService_1 = class AuthService {
857
1060
  where: { id: challengeRecord.id },
858
1061
  data: { verified_at: new Date() }
859
1062
  });
1063
+ const newDevice = await this.userDevice.isNewDevice(userId, userAgent, browserId);
860
1064
  const { accessToken, refreshToken, session } = await this.getAuthenticationPayload(locale, userId, ipAddress, userAgent, browserId);
861
- const user = await this.prisma.user.findFirst({ where: { id: userId } });
862
- this.mail.sendTemplatedMail(locale, {
863
- email: payload.email,
864
- slug: 'auth-login-new-device',
865
- variables: {
866
- name: user.name,
867
- ipAddress,
868
- userAgent,
869
- location: 'Unknown',
870
- },
871
- app: await this.challenge.resolveAppKeyFromOrigin(requestOrigin),
872
- });
1065
+ if (newDevice) {
1066
+ const user = await this.prisma.user.findFirst({ where: { id: userId } });
1067
+ await this.sendNewDeviceLoginMail(locale, user, payload.email, ipAddress, userAgent, requestOrigin);
1068
+ }
873
1069
  await this.user.registerUserActivity(userId, 'login');
874
1070
  const requiresPasswordReset = await this.getRequiresPasswordResetByUserId(userId);
875
1071
  return { accessToken, refreshToken, session, requiresPasswordReset };
@@ -886,6 +1082,7 @@ exports.AuthService = AuthService = AuthService_1 = __decorate([
886
1082
  __param(5, (0, common_1.Inject)((0, common_1.forwardRef)(() => session_service_1.SessionService))),
887
1083
  __param(6, (0, common_1.Inject)((0, common_1.forwardRef)(() => user_service_1.UserService))),
888
1084
  __param(7, (0, common_1.Inject)((0, common_1.forwardRef)(() => challenge_service_1.ChallengeService))),
1085
+ __param(8, (0, common_1.Inject)((0, common_1.forwardRef)(() => user_device_service_1.UserDeviceService))),
889
1086
  __metadata("design:paramtypes", [api_prisma_1.PrismaService,
890
1087
  mail_service_1.MailService,
891
1088
  setting_service_1.SettingService,
@@ -893,6 +1090,7 @@ exports.AuthService = AuthService = AuthService_1 = __decorate([
893
1090
  token_service_1.TokenService,
894
1091
  session_service_1.SessionService,
895
1092
  user_service_1.UserService,
896
- challenge_service_1.ChallengeService])
1093
+ challenge_service_1.ChallengeService,
1094
+ user_device_service_1.UserDeviceService])
897
1095
  ], AuthService);
898
1096
  //# sourceMappingURL=auth.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class ConfirmEmailDTO {
2
+ token: string;
3
+ }
4
+ //# sourceMappingURL=confirm-email.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-email.dto.d.ts","sourceRoot":"","sources":["../../../src/auth/dto/confirm-email.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAG1B,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ConfirmEmailDTO = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class ConfirmEmailDTO {
15
+ }
16
+ exports.ConfirmEmailDTO = ConfirmEmailDTO;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.IsNotEmpty)(),
20
+ __metadata("design:type", String)
21
+ ], ConfirmEmailDTO.prototype, "token", void 0);
22
+ //# sourceMappingURL=confirm-email.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-email.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/confirm-email.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,eAAe;CAI3B;AAJD,0CAIC;AADC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACC"}
@@ -0,0 +1,8 @@
1
+ export declare class ResendConfirmationDTO {
2
+ set email(value: string);
3
+ get email(): string;
4
+ private _email;
5
+ /** Chave do app de origem (ex.: "class"), usada para montar a URL do link. */
6
+ app?: string;
7
+ }
8
+ //# sourceMappingURL=resend-confirmation.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resend-confirmation.dto.d.ts","sourceRoot":"","sources":["../../../src/auth/dto/resend-confirmation.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,qBAAqB;IAChC,IAEI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,OAAO,CAAC,MAAM,CAAS;IAEvB,8EAA8E;IAG9E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}