@hed-hog/core 0.0.387 → 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.
- package/README.md +51 -11
- package/dist/access-log/access-log.controller.d.ts.map +1 -1
- package/dist/access-log/access-log.controller.js +1 -1
- package/dist/access-log/access-log.controller.js.map +1 -1
- package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
- package/dist/access-log/access-log.interceptor.js +11 -6
- package/dist/access-log/access-log.interceptor.js.map +1 -1
- package/dist/access-log/access-log.service.d.ts +4 -0
- package/dist/access-log/access-log.service.d.ts.map +1 -1
- package/dist/access-log/access-log.service.js +31 -4
- package/dist/access-log/access-log.service.js.map +1 -1
- package/dist/access-log/dto/query-access-log.dto.d.ts +2 -0
- package/dist/access-log/dto/query-access-log.dto.d.ts.map +1 -1
- package/dist/access-log/dto/query-access-log.dto.js +5 -0
- package/dist/access-log/dto/query-access-log.dto.js.map +1 -1
- package/dist/ai/ai-attachment.fragments.d.ts +23 -0
- package/dist/ai/ai-attachment.fragments.d.ts.map +1 -0
- package/dist/ai/ai-attachment.fragments.js +34 -0
- package/dist/ai/ai-attachment.fragments.js.map +1 -0
- package/dist/ai/ai.controller.d.ts +12 -17
- package/dist/ai/ai.controller.d.ts.map +1 -1
- package/dist/ai/ai.controller.js +17 -2
- package/dist/ai/ai.controller.js.map +1 -1
- package/dist/ai/ai.module.d.ts.map +1 -1
- package/dist/ai/ai.module.js +3 -2
- package/dist/ai/ai.module.js.map +1 -1
- package/dist/ai/ai.prompts.d.ts +16 -0
- package/dist/ai/ai.prompts.d.ts.map +1 -0
- package/dist/ai/ai.prompts.js +37 -0
- package/dist/ai/ai.prompts.js.map +1 -0
- package/dist/ai/ai.service.d.ts +92 -12
- package/dist/ai/ai.service.d.ts.map +1 -1
- package/dist/ai/ai.service.js +309 -88
- package/dist/ai/ai.service.js.map +1 -1
- package/dist/ai/dto/chat.dto.d.ts +4 -1
- package/dist/ai/dto/chat.dto.d.ts.map +1 -1
- package/dist/ai/dto/chat.dto.js +23 -1
- package/dist/ai/dto/chat.dto.js.map +1 -1
- package/dist/ai/dto/create-agent.dto.d.ts +1 -1
- package/dist/ai/dto/create-agent.dto.d.ts.map +1 -1
- package/dist/ai/dto/create-agent.dto.js +1 -1
- package/dist/ai/dto/create-agent.dto.js.map +1 -1
- package/dist/ai/dto/richtext-edit-html.dto.d.ts +5 -0
- package/dist/ai/dto/richtext-edit-html.dto.d.ts.map +1 -0
- package/dist/ai/dto/richtext-edit-html.dto.js +27 -0
- package/dist/ai/dto/richtext-edit-html.dto.js.map +1 -0
- package/dist/ai/dto/update-agent.dto.d.ts +1 -1
- package/dist/ai/dto/update-agent.dto.d.ts.map +1 -1
- package/dist/ai/dto/update-agent.dto.js +1 -1
- package/dist/ai/dto/update-agent.dto.js.map +1 -1
- package/dist/ai/richtext-ai.prompts.d.ts +5 -0
- package/dist/ai/richtext-ai.prompts.d.ts.map +1 -0
- package/dist/ai/richtext-ai.prompts.js +57 -0
- package/dist/ai/richtext-ai.prompts.js.map +1 -0
- package/dist/ai/richtext-ai.service.d.ts +34 -0
- package/dist/ai/richtext-ai.service.d.ts.map +1 -0
- package/dist/ai/richtext-ai.service.js +95 -0
- package/dist/ai/richtext-ai.service.js.map +1 -0
- package/dist/ai-instruction/ai-instruction.controller.d.ts +59 -5
- package/dist/ai-instruction/ai-instruction.controller.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.controller.js +63 -20
- package/dist/ai-instruction/ai-instruction.controller.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.module.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.module.js +13 -2
- package/dist/ai-instruction/ai-instruction.module.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.d.ts +131 -6
- package/dist/ai-instruction/ai-instruction.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.js +533 -60
- package/dist/ai-instruction/ai-instruction.service.js.map +1 -1
- package/dist/ai-instruction/ai-prompt-builder.service.d.ts +8 -0
- package/dist/ai-instruction/ai-prompt-builder.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-prompt-builder.service.js +10 -1
- package/dist/ai-instruction/ai-prompt-builder.service.js.map +1 -1
- package/dist/ai-instruction/ai-prompt-registry.d.ts +45 -0
- package/dist/ai-instruction/ai-prompt-registry.d.ts.map +1 -0
- package/dist/ai-instruction/ai-prompt-registry.js +49 -0
- package/dist/ai-instruction/ai-prompt-registry.js.map +1 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +89 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.js +222 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -0
- package/dist/ai-instruction/ai-prompt-template.util.d.ts +70 -0
- package/dist/ai-instruction/ai-prompt-template.util.d.ts.map +1 -0
- package/dist/ai-instruction/ai-prompt-template.util.js +154 -0
- package/dist/ai-instruction/ai-prompt-template.util.js.map +1 -0
- package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts +5 -0
- package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts.map +1 -1
- package/dist/ai-instruction/dto/create-ai-instruction.dto.js +27 -1
- package/dist/ai-instruction/dto/create-ai-instruction.dto.js.map +1 -1
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts +14 -0
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts.map +1 -0
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.js +42 -0
- package/dist/ai-instruction/dto/preview-ai-instruction.dto.js.map +1 -0
- package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts +11 -0
- package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts.map +1 -1
- package/dist/ai-instruction/dto/update-ai-instruction.dto.js +34 -0
- package/dist/ai-instruction/dto/update-ai-instruction.dto.js.map +1 -1
- package/dist/ai-instruction/types/ai-instruction.types.d.ts +13 -1
- package/dist/ai-instruction/types/ai-instruction.types.d.ts.map +1 -1
- package/dist/ai-instruction/types/ai-instruction.types.js +10 -0
- package/dist/ai-instruction/types/ai-instruction.types.js.map +1 -1
- package/dist/auth/auth.controller.d.ts +89 -15
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +116 -44
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +2 -0
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/auth.service.d.ts +169 -12
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +314 -67
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/dto/confirm-email.dto.d.ts +4 -0
- package/dist/auth/dto/confirm-email.dto.d.ts.map +1 -0
- package/dist/auth/dto/confirm-email.dto.js +22 -0
- package/dist/auth/dto/confirm-email.dto.js.map +1 -0
- package/dist/auth/dto/resend-confirmation.dto.d.ts +8 -0
- package/dist/auth/dto/resend-confirmation.dto.d.ts.map +1 -0
- package/dist/auth/dto/resend-confirmation.dto.js +36 -0
- package/dist/auth/dto/resend-confirmation.dto.js.map +1 -0
- package/dist/authorize/authorize.controller.d.ts +1 -1
- package/dist/authorize/authorize.controller.d.ts.map +1 -1
- package/dist/authorize/authorize.controller.js +4 -2
- package/dist/authorize/authorize.controller.js.map +1 -1
- package/dist/authorize/authorize.service.d.ts +7 -0
- package/dist/authorize/authorize.service.d.ts.map +1 -1
- package/dist/authorize/authorize.service.js +1 -1
- package/dist/authorize/authorize.service.js.map +1 -1
- package/dist/captcha/captcha.module.d.ts +3 -0
- package/dist/captcha/captcha.module.d.ts.map +1 -0
- package/dist/captcha/captcha.module.js +23 -0
- package/dist/captcha/captcha.module.js.map +1 -0
- package/dist/captcha/captcha.service.d.ts +38 -0
- package/dist/captcha/captcha.service.d.ts.map +1 -0
- package/dist/captcha/captcha.service.js +144 -0
- package/dist/captcha/captcha.service.js.map +1 -0
- package/dist/challenge/challenge.service.d.ts +31 -9
- package/dist/challenge/challenge.service.d.ts.map +1 -1
- package/dist/challenge/challenge.service.js +111 -16
- package/dist/challenge/challenge.service.js.map +1 -1
- package/dist/core.module.d.ts +3 -1
- package/dist/core.module.d.ts.map +1 -1
- package/dist/core.module.js +46 -2
- package/dist/core.module.js.map +1 -1
- package/dist/dashboard/dashboard/dashboard.controller.d.ts +21 -21
- package/dist/dashboard/dashboard/dashboard.service.d.ts +21 -21
- package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +10 -10
- package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +10 -10
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +20 -20
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +20 -20
- package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +3 -3
- package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +2 -2
- package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +2 -2
- package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +13 -13
- package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +13 -13
- package/dist/file/file.controller.d.ts +8 -1
- package/dist/file/file.controller.d.ts.map +1 -1
- package/dist/file/file.controller.js +45 -7
- package/dist/file/file.controller.js.map +1 -1
- package/dist/file/file.service.d.ts +134 -1
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +363 -12
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/image-optimization.service.d.ts +43 -0
- package/dist/file/image-optimization.service.d.ts.map +1 -1
- package/dist/file/image-optimization.service.js +154 -0
- package/dist/file/image-optimization.service.js.map +1 -1
- package/dist/file/provider/abstract.provider.d.ts +16 -0
- package/dist/file/provider/abstract.provider.d.ts.map +1 -1
- package/dist/file/provider/abstract.provider.js +4 -0
- package/dist/file/provider/abstract.provider.js.map +1 -1
- package/dist/file/provider/gcs.provider.d.ts +2 -0
- package/dist/file/provider/gcs.provider.d.ts.map +1 -1
- package/dist/file/provider/gcs.provider.js +10 -0
- package/dist/file/provider/gcs.provider.js.map +1 -1
- package/dist/file/provider/local.provider.d.ts +1 -0
- package/dist/file/provider/local.provider.d.ts.map +1 -1
- package/dist/file/provider/local.provider.js +13 -0
- package/dist/file/provider/local.provider.js.map +1 -1
- package/dist/file/provider/s3.provider.d.ts +5 -0
- package/dist/file/provider/s3.provider.d.ts.map +1 -1
- package/dist/file/provider/s3.provider.js +15 -0
- package/dist/file/provider/s3.provider.js.map +1 -1
- package/dist/file/provider/spaces.provider.d.ts +5 -0
- package/dist/file/provider/spaces.provider.d.ts.map +1 -1
- package/dist/file/provider/spaces.provider.js +16 -0
- package/dist/file/provider/spaces.provider.js.map +1 -1
- package/dist/impersonation/dto/redeem-impersonation.dto.d.ts +4 -0
- package/dist/impersonation/dto/redeem-impersonation.dto.d.ts.map +1 -0
- package/dist/impersonation/dto/redeem-impersonation.dto.js +23 -0
- package/dist/impersonation/dto/redeem-impersonation.dto.js.map +1 -0
- package/dist/impersonation/dto/start-impersonation.dto.d.ts +7 -0
- package/dist/impersonation/dto/start-impersonation.dto.d.ts.map +1 -0
- package/dist/impersonation/dto/start-impersonation.dto.js +27 -0
- package/dist/impersonation/dto/start-impersonation.dto.js.map +1 -0
- package/dist/impersonation/impersonation-restrictions.d.ts +26 -0
- package/dist/impersonation/impersonation-restrictions.d.ts.map +1 -0
- package/dist/impersonation/impersonation-restrictions.js +76 -0
- package/dist/impersonation/impersonation-restrictions.js.map +1 -0
- package/dist/impersonation/impersonation.controller.d.ts +90 -0
- package/dist/impersonation/impersonation.controller.d.ts.map +1 -0
- package/dist/impersonation/impersonation.controller.js +135 -0
- package/dist/impersonation/impersonation.controller.js.map +1 -0
- package/dist/impersonation/impersonation.module.d.ts +8 -0
- package/dist/impersonation/impersonation.module.d.ts.map +1 -0
- package/dist/impersonation/impersonation.module.js +44 -0
- package/dist/impersonation/impersonation.module.js.map +1 -0
- package/dist/impersonation/impersonation.service.d.ts +164 -0
- package/dist/impersonation/impersonation.service.d.ts.map +1 -0
- package/dist/impersonation/impersonation.service.js +408 -0
- package/dist/impersonation/impersonation.service.js.map +1 -0
- package/dist/incident/incident-notifier.service.d.ts +36 -0
- package/dist/incident/incident-notifier.service.d.ts.map +1 -0
- package/dist/incident/incident-notifier.service.js +208 -0
- package/dist/incident/incident-notifier.service.js.map +1 -0
- package/dist/incident/incident.controller.d.ts +23 -0
- package/dist/incident/incident.controller.d.ts.map +1 -0
- package/dist/incident/incident.controller.js +75 -0
- package/dist/incident/incident.controller.js.map +1 -0
- package/dist/incident/incident.module.d.ts +7 -0
- package/dist/incident/incident.module.d.ts.map +1 -0
- package/dist/incident/incident.module.js +32 -0
- package/dist/incident/incident.module.js.map +1 -0
- package/dist/incident/incident.service.d.ts +72 -0
- package/dist/incident/incident.service.d.ts.map +1 -0
- package/dist/incident/incident.service.js +184 -0
- package/dist/incident/incident.service.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -1
- package/dist/integration/services/outbox-polling.coordinator.d.ts +2 -0
- package/dist/integration/services/outbox-polling.coordinator.d.ts.map +1 -1
- package/dist/integration/services/outbox-polling.coordinator.js +50 -30
- package/dist/integration/services/outbox-polling.coordinator.js.map +1 -1
- package/dist/integration/services/outbox.service.d.ts.map +1 -1
- package/dist/integration/services/outbox.service.js +5 -1
- package/dist/integration/services/outbox.service.js.map +1 -1
- package/dist/integration-profile/dto/test.dto.d.ts +13 -0
- package/dist/integration-profile/dto/test.dto.d.ts.map +1 -0
- package/dist/integration-profile/dto/test.dto.js +26 -0
- package/dist/integration-profile/dto/test.dto.js.map +1 -0
- package/dist/integration-profile/integration-profile.controller.d.ts +12 -1
- package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.controller.js +9 -1
- package/dist/integration-profile/integration-profile.controller.js.map +1 -1
- package/dist/integration-profile/integration-profile.module.d.ts +6 -1
- package/dist/integration-profile/integration-profile.module.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.module.js +26 -3
- package/dist/integration-profile/integration-profile.module.js.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.js +12 -1
- package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
- package/dist/integration-profile/integration-profile.service.d.ts +26 -7
- package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.service.js +94 -91
- package/dist/integration-profile/integration-profile.service.js.map +1 -1
- package/dist/integration-profile/integration-profile.utils.d.ts +27 -1
- package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.utils.js +46 -5
- package/dist/integration-profile/integration-profile.utils.js.map +1 -1
- package/dist/integration-profile/testers/ai.testers.d.ts +3 -0
- package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/ai.testers.js +125 -0
- package/dist/integration-profile/testers/ai.testers.js.map +1 -0
- package/dist/integration-profile/testers/captcha.testers.d.ts +3 -0
- package/dist/integration-profile/testers/captcha.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/captcha.testers.js +121 -0
- package/dist/integration-profile/testers/captcha.testers.js.map +1 -0
- package/dist/integration-profile/testers/email.testers.d.ts +3 -0
- package/dist/integration-profile/testers/email.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/email.testers.js +156 -0
- package/dist/integration-profile/testers/email.testers.js.map +1 -0
- package/dist/integration-profile/testers/http-probe.d.ts +57 -0
- package/dist/integration-profile/testers/http-probe.d.ts.map +1 -0
- package/dist/integration-profile/testers/http-probe.js +140 -0
- package/dist/integration-profile/testers/http-probe.js.map +1 -0
- package/dist/integration-profile/testers/index.d.ts +12 -0
- package/dist/integration-profile/testers/index.d.ts.map +1 -0
- package/dist/integration-profile/testers/index.js +45 -0
- package/dist/integration-profile/testers/index.js.map +1 -0
- package/dist/integration-profile/testers/infrastructure.testers.d.ts +3 -0
- package/dist/integration-profile/testers/infrastructure.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/infrastructure.testers.js +105 -0
- package/dist/integration-profile/testers/infrastructure.testers.js.map +1 -0
- package/dist/integration-profile/testers/integration-tester.registry.d.ts +17 -0
- package/dist/integration-profile/testers/integration-tester.registry.d.ts.map +1 -0
- package/dist/integration-profile/testers/integration-tester.registry.js +52 -0
- package/dist/integration-profile/testers/integration-tester.registry.js.map +1 -0
- package/dist/integration-profile/testers/integration-tester.types.d.ts +55 -0
- package/dist/integration-profile/testers/integration-tester.types.d.ts.map +1 -0
- package/dist/integration-profile/testers/integration-tester.types.js +16 -0
- package/dist/integration-profile/testers/integration-tester.types.js.map +1 -0
- package/dist/integration-profile/testers/messaging.testers.d.ts +3 -0
- package/dist/integration-profile/testers/messaging.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/messaging.testers.js +70 -0
- package/dist/integration-profile/testers/messaging.testers.js.map +1 -0
- package/dist/integration-profile/testers/oauth.testers.d.ts +3 -0
- package/dist/integration-profile/testers/oauth.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/oauth.testers.js +285 -0
- package/dist/integration-profile/testers/oauth.testers.js.map +1 -0
- package/dist/integration-profile/testers/payment.testers.d.ts +3 -0
- package/dist/integration-profile/testers/payment.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/payment.testers.js +169 -0
- package/dist/integration-profile/testers/payment.testers.js.map +1 -0
- package/dist/integration-profile/testers/storage.testers.d.ts +3 -0
- package/dist/integration-profile/testers/storage.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/storage.testers.js +208 -0
- package/dist/integration-profile/testers/storage.testers.js.map +1 -0
- package/dist/language/en.json +15 -2
- package/dist/language/pt.json +15 -2
- package/dist/leaked-password/leaked-password.controller.d.ts +24 -0
- package/dist/leaked-password/leaked-password.controller.d.ts.map +1 -0
- package/dist/leaked-password/leaked-password.controller.js +78 -0
- package/dist/leaked-password/leaked-password.controller.js.map +1 -0
- package/dist/leaked-password/leaked-password.module.d.ts +8 -0
- package/dist/leaked-password/leaked-password.module.d.ts.map +1 -0
- package/dist/leaked-password/leaked-password.module.js +31 -0
- package/dist/leaked-password/leaked-password.module.js.map +1 -0
- package/dist/leaked-password/leaked-password.service.d.ts +64 -0
- package/dist/leaked-password/leaked-password.service.d.ts.map +1 -0
- package/dist/leaked-password/leaked-password.service.js +218 -0
- package/dist/leaked-password/leaked-password.service.js.map +1 -0
- package/dist/locale/locale.controller.d.ts +1 -1
- package/dist/locale/locale.service.d.ts +1 -1
- package/dist/mail/dto/preview.dto.d.ts +18 -0
- package/dist/mail/dto/preview.dto.d.ts.map +1 -0
- package/dist/mail/dto/preview.dto.js +66 -0
- package/dist/mail/dto/preview.dto.js.map +1 -0
- package/dist/mail/dto/send.dto.d.ts +44 -0
- package/dist/mail/dto/send.dto.d.ts.map +1 -1
- package/dist/mail/dto/send.dto.js +20 -0
- package/dist/mail/dto/send.dto.js.map +1 -1
- package/dist/mail/mail.controller.d.ts +5 -0
- package/dist/mail/mail.controller.d.ts.map +1 -1
- package/dist/mail/mail.controller.js +16 -2
- package/dist/mail/mail.controller.js.map +1 -1
- package/dist/mail/mail.module.d.ts.map +1 -1
- package/dist/mail/mail.module.js +2 -0
- package/dist/mail/mail.module.js.map +1 -1
- package/dist/mail/mail.service.d.ts +69 -4
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +278 -37
- package/dist/mail/mail.service.js.map +1 -1
- package/dist/mail-delivery/mail-delivery-provision.service.d.ts +21 -0
- package/dist/mail-delivery/mail-delivery-provision.service.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery-provision.service.js +64 -0
- package/dist/mail-delivery/mail-delivery-provision.service.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.constants.d.ts +17 -0
- package/dist/mail-delivery/mail-delivery.constants.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.constants.js +31 -0
- package/dist/mail-delivery/mail-delivery.constants.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.controller.d.ts +19 -0
- package/dist/mail-delivery/mail-delivery.controller.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.controller.js +53 -0
- package/dist/mail-delivery/mail-delivery.controller.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.module.d.ts +7 -0
- package/dist/mail-delivery/mail-delivery.module.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.module.js +36 -0
- package/dist/mail-delivery/mail-delivery.module.js.map +1 -0
- package/dist/mail-delivery/mail-delivery.service.d.ts +38 -0
- package/dist/mail-delivery/mail-delivery.service.d.ts.map +1 -0
- package/dist/mail-delivery/mail-delivery.service.js +140 -0
- package/dist/mail-delivery/mail-delivery.service.js.map +1 -0
- package/dist/mail-delivery/ses-event.parser.d.ts +27 -0
- package/dist/mail-delivery/ses-event.parser.d.ts.map +1 -0
- package/dist/mail-delivery/ses-event.parser.js +131 -0
- package/dist/mail-delivery/ses-event.parser.js.map +1 -0
- package/dist/mail-delivery/ses-webhook.service.d.ts +58 -0
- package/dist/mail-delivery/ses-webhook.service.d.ts.map +1 -0
- package/dist/mail-delivery/ses-webhook.service.js +214 -0
- package/dist/mail-delivery/ses-webhook.service.js.map +1 -0
- package/dist/mail-delivery/sns-message.util.d.ts +38 -0
- package/dist/mail-delivery/sns-message.util.d.ts.map +1 -0
- package/dist/mail-delivery/sns-message.util.js +109 -0
- package/dist/mail-delivery/sns-message.util.js.map +1 -0
- package/dist/mail-layout/dto/update.dto.d.ts +17 -0
- package/dist/mail-layout/dto/update.dto.d.ts.map +1 -0
- package/dist/mail-layout/dto/update.dto.js +27 -0
- package/dist/mail-layout/dto/update.dto.js.map +1 -0
- package/dist/mail-layout/mail-layout.controller.d.ts +15 -0
- package/dist/mail-layout/mail-layout.controller.d.ts.map +1 -0
- package/dist/mail-layout/mail-layout.controller.js +71 -0
- package/dist/mail-layout/mail-layout.controller.js.map +1 -0
- package/dist/mail-layout/mail-layout.module.d.ts +3 -0
- package/dist/mail-layout/mail-layout.module.d.ts.map +1 -0
- package/dist/mail-layout/mail-layout.module.js +35 -0
- package/dist/mail-layout/mail-layout.module.js.map +1 -0
- package/dist/mail-layout/mail-layout.service.d.ts +27 -0
- package/dist/mail-layout/mail-layout.service.d.ts.map +1 -0
- package/dist/mail-layout/mail-layout.service.js +80 -0
- package/dist/mail-layout/mail-layout.service.js.map +1 -0
- package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts +5 -0
- package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts.map +1 -1
- package/dist/mail-sent/dto/query-mail-sent-list.dto.js +6 -0
- package/dist/mail-sent/dto/query-mail-sent-list.dto.js.map +1 -1
- package/dist/mail-sent/mail-sent.controller.d.ts +39 -0
- package/dist/mail-sent/mail-sent.controller.d.ts.map +1 -1
- package/dist/mail-sent/mail-sent.service.d.ts +39 -0
- package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
- package/dist/mail-sent/mail-sent.service.js +45 -4
- package/dist/mail-sent/mail-sent.service.js.map +1 -1
- package/dist/mailbox/mailbox-fetcher.registry.d.ts +100 -0
- package/dist/mailbox/mailbox-fetcher.registry.d.ts.map +1 -0
- package/dist/mailbox/mailbox-fetcher.registry.js +59 -0
- package/dist/mailbox/mailbox-fetcher.registry.js.map +1 -0
- package/dist/mailbox/mailbox.module.d.ts +8 -0
- package/dist/mailbox/mailbox.module.d.ts.map +1 -0
- package/dist/mailbox/mailbox.module.js +27 -0
- package/dist/mailbox/mailbox.module.js.map +1 -0
- package/dist/mcp-chat/mcp-chat.controller.d.ts +2 -2
- package/dist/mcp-chat/mcp-chat.service.d.ts +24 -2
- package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.js +80 -24
- package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
- package/dist/meeting/meeting-provider.registry.d.ts +155 -0
- package/dist/meeting/meeting-provider.registry.d.ts.map +1 -0
- package/dist/meeting/meeting-provider.registry.js +53 -0
- package/dist/meeting/meeting-provider.registry.js.map +1 -0
- package/dist/meeting/meeting.constants.d.ts +47 -0
- package/dist/meeting/meeting.constants.d.ts.map +1 -0
- package/dist/meeting/meeting.constants.js +21 -0
- package/dist/meeting/meeting.constants.js.map +1 -0
- package/dist/meeting/meeting.module.d.ts +7 -0
- package/dist/meeting/meeting.module.d.ts.map +1 -0
- package/dist/meeting/meeting.module.js +26 -0
- package/dist/meeting/meeting.module.js.map +1 -0
- package/dist/menu/menu.controller.d.ts +3 -3
- package/dist/menu/menu.service.d.ts +3 -3
- package/dist/middlewares/locale-injection.middleware.d.ts +12 -0
- package/dist/middlewares/locale-injection.middleware.d.ts.map +1 -1
- package/dist/middlewares/locale-injection.middleware.js +20 -4
- package/dist/middlewares/locale-injection.middleware.js.map +1 -1
- package/dist/notification/notification.controller.d.ts +12 -12
- package/dist/notification/notification.service.d.ts +12 -12
- package/dist/oauth/oauth-token-broker.service.d.ts +72 -0
- package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -0
- package/dist/oauth/oauth-token-broker.service.js +258 -0
- package/dist/oauth/oauth-token-broker.service.js.map +1 -0
- package/dist/oauth/oauth.module.d.ts.map +1 -1
- package/dist/oauth/oauth.module.js +3 -1
- package/dist/oauth/oauth.module.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +2 -0
- package/dist/oauth/oauth.service.d.ts.map +1 -1
- package/dist/oauth/oauth.service.js +6 -3
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/oauth/providers/google.provider.d.ts +7 -0
- package/dist/oauth/providers/google.provider.d.ts.map +1 -1
- package/dist/oauth/providers/google.provider.js +43 -13
- package/dist/oauth/providers/google.provider.js.map +1 -1
- package/dist/observability/monitored-cron.d.ts +34 -0
- package/dist/observability/monitored-cron.d.ts.map +1 -0
- package/dist/observability/monitored-cron.js +118 -0
- package/dist/observability/monitored-cron.js.map +1 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts +12 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.js +30 -0
- package/dist/pairing/dto/approve-reverse-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/claim-pairing.dto.d.ts +11 -0
- package/dist/pairing/dto/claim-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/claim-pairing.dto.js +35 -0
- package/dist/pairing/dto/claim-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/confirm-pairing.dto.d.ts +10 -0
- package/dist/pairing/dto/confirm-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/confirm-pairing.dto.js +24 -0
- package/dist/pairing/dto/confirm-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts +5 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.js +24 -0
- package/dist/pairing/dto/poll-reverse-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/start-pairing.dto.d.ts +11 -0
- package/dist/pairing/dto/start-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/start-pairing.dto.js +30 -0
- package/dist/pairing/dto/start-pairing.dto.js.map +1 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.d.ts +24 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.d.ts.map +1 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.js +47 -0
- package/dist/pairing/dto/start-reverse-pairing.dto.js.map +1 -0
- package/dist/pairing/pairing.controller.d.ts +118 -0
- package/dist/pairing/pairing.controller.d.ts.map +1 -0
- package/dist/pairing/pairing.controller.js +296 -0
- package/dist/pairing/pairing.controller.js.map +1 -0
- package/dist/pairing/pairing.module.d.ts +10 -0
- package/dist/pairing/pairing.module.d.ts.map +1 -0
- package/dist/pairing/pairing.module.js +40 -0
- package/dist/pairing/pairing.module.js.map +1 -0
- package/dist/pairing/pairing.service.d.ts +238 -0
- package/dist/pairing/pairing.service.d.ts.map +1 -0
- package/dist/pairing/pairing.service.js +495 -0
- package/dist/pairing/pairing.service.js.map +1 -0
- package/dist/pdf/pdf.service.d.ts +11 -6
- package/dist/pdf/pdf.service.d.ts.map +1 -1
- package/dist/pdf/pdf.service.js +60 -20
- package/dist/pdf/pdf.service.js.map +1 -1
- package/dist/presence/presence.controller.d.ts +16 -0
- package/dist/presence/presence.controller.d.ts.map +1 -0
- package/dist/presence/presence.controller.js +60 -0
- package/dist/presence/presence.controller.js.map +1 -0
- package/dist/presence/presence.listener.d.ts +29 -0
- package/dist/presence/presence.listener.d.ts.map +1 -0
- package/dist/presence/presence.listener.js +82 -0
- package/dist/presence/presence.listener.js.map +1 -0
- package/dist/presence/presence.module.d.ts +3 -0
- package/dist/presence/presence.module.d.ts.map +1 -0
- package/dist/presence/presence.module.js +32 -0
- package/dist/presence/presence.module.js.map +1 -0
- package/dist/presence/presence.service.d.ts +42 -0
- package/dist/presence/presence.service.d.ts.map +1 -0
- package/dist/presence/presence.service.js +147 -0
- package/dist/presence/presence.service.js.map +1 -0
- package/dist/profile/dto/delete-account.dto.d.ts +8 -0
- package/dist/profile/dto/delete-account.dto.d.ts.map +1 -0
- package/dist/profile/dto/delete-account.dto.js +22 -0
- package/dist/profile/dto/delete-account.dto.js.map +1 -0
- package/dist/profile/events/profile-account-deleted.event.d.ts +12 -0
- package/dist/profile/events/profile-account-deleted.event.d.ts.map +1 -0
- package/dist/profile/events/profile-account-deleted.event.js +17 -0
- package/dist/profile/events/profile-account-deleted.event.js.map +1 -0
- package/dist/profile/profile.controller.d.ts +32 -15
- package/dist/profile/profile.controller.d.ts.map +1 -1
- package/dist/profile/profile.controller.js +75 -46
- package/dist/profile/profile.controller.js.map +1 -1
- package/dist/profile/profile.service.d.ts +41 -18
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +133 -48
- package/dist/profile/profile.service.js.map +1 -1
- package/dist/realtime/realtime.gateway.d.ts +48 -0
- package/dist/realtime/realtime.gateway.d.ts.map +1 -0
- package/dist/realtime/realtime.gateway.js +156 -0
- package/dist/realtime/realtime.gateway.js.map +1 -0
- package/dist/realtime/realtime.module.d.ts +8 -0
- package/dist/realtime/realtime.module.d.ts.map +1 -0
- package/dist/realtime/realtime.module.js +29 -0
- package/dist/realtime/realtime.module.js.map +1 -0
- package/dist/realtime/realtime.service.d.ts +51 -0
- package/dist/realtime/realtime.service.d.ts.map +1 -0
- package/dist/realtime/realtime.service.js +177 -0
- package/dist/realtime/realtime.service.js.map +1 -0
- package/dist/redis/redis-pubsub.d.ts +27 -0
- package/dist/redis/redis-pubsub.d.ts.map +1 -0
- package/dist/redis/redis-pubsub.js +184 -0
- package/dist/redis/redis-pubsub.js.map +1 -0
- package/dist/role/guards/role.guard.d.ts +5 -0
- package/dist/role/guards/role.guard.d.ts.map +1 -1
- package/dist/role/guards/role.guard.js +41 -39
- package/dist/role/guards/role.guard.js.map +1 -1
- package/dist/role/role.controller.d.ts +3 -3
- package/dist/role/role.service.d.ts +3 -3
- package/dist/session/session.controller.d.ts +2 -0
- package/dist/session/session.controller.d.ts.map +1 -1
- package/dist/session/session.service.d.ts +39 -0
- package/dist/session/session.service.d.ts.map +1 -1
- package/dist/session/session.service.js +91 -8
- package/dist/session/session.service.js.map +1 -1
- package/dist/setting/brand-asset.service.d.ts +48 -0
- package/dist/setting/brand-asset.service.d.ts.map +1 -0
- package/dist/setting/brand-asset.service.js +130 -0
- package/dist/setting/brand-asset.service.js.map +1 -0
- package/dist/setting/dto/create.dto.d.ts.map +1 -1
- package/dist/setting/dto/create.dto.js +9 -2
- package/dist/setting/dto/create.dto.js.map +1 -1
- package/dist/setting/setting.controller.d.ts +5 -5
- package/dist/setting/setting.module.d.ts.map +1 -1
- package/dist/setting/setting.module.js +3 -2
- package/dist/setting/setting.module.js.map +1 -1
- package/dist/setting/setting.service.d.ts +41 -5
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +113 -1
- package/dist/setting/setting.service.js.map +1 -1
- package/dist/token/token.service.d.ts +23 -2
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +39 -4
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/dto/create-with-email-and-password.dto.d.ts +2 -0
- package/dist/user/dto/create-with-email-and-password.dto.d.ts.map +1 -1
- package/dist/user/dto/create-with-email-and-password.dto.js +5 -0
- package/dist/user/dto/create-with-email-and-password.dto.js.map +1 -1
- package/dist/user/dto/query-user-mail-list.dto.d.ts +5 -0
- package/dist/user/dto/query-user-mail-list.dto.d.ts.map +1 -0
- package/dist/user/dto/query-user-mail-list.dto.js +25 -0
- package/dist/user/dto/query-user-mail-list.dto.js.map +1 -0
- package/dist/user/user-credential.util.d.ts +19 -0
- package/dist/user/user-credential.util.d.ts.map +1 -0
- package/dist/user/user-credential.util.js +32 -0
- package/dist/user/user-credential.util.js.map +1 -0
- package/dist/user/user.controller.d.ts +24 -26
- package/dist/user/user.controller.d.ts.map +1 -1
- package/dist/user/user.controller.js +18 -3
- package/dist/user/user.controller.js.map +1 -1
- package/dist/user/user.service.d.ts +71 -29
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +291 -17
- package/dist/user/user.service.js.map +1 -1
- package/dist/user-device/user-device.controller.d.ts +54 -0
- package/dist/user-device/user-device.controller.d.ts.map +1 -0
- package/dist/user-device/user-device.controller.js +103 -0
- package/dist/user-device/user-device.controller.js.map +1 -0
- package/dist/user-device/user-device.module.d.ts +3 -0
- package/dist/user-device/user-device.module.d.ts.map +1 -0
- package/dist/user-device/user-device.module.js +26 -0
- package/dist/user-device/user-device.module.js.map +1 -0
- package/dist/user-device/user-device.service.d.ts +71 -0
- package/dist/user-device/user-device.service.d.ts.map +1 -0
- package/dist/user-device/user-device.service.js +158 -0
- package/dist/user-device/user-device.service.js.map +1 -0
- package/dist/utils/device-key.d.ts +23 -0
- package/dist/utils/device-key.d.ts.map +1 -0
- package/dist/utils/device-key.js +31 -0
- package/dist/utils/device-key.js.map +1 -0
- package/dist/utils/geo-ip.d.ts +38 -0
- package/dist/utils/geo-ip.d.ts.map +1 -0
- package/dist/utils/geo-ip.js +122 -0
- package/dist/utils/geo-ip.js.map +1 -0
- package/dist/utils/locale-context.d.ts +10 -7
- package/dist/utils/locale-context.d.ts.map +1 -1
- package/dist/utils/locale-context.js +14 -8
- package/dist/utils/locale-context.js.map +1 -1
- package/dist/utils/security-event-vars.d.ts +56 -0
- package/dist/utils/security-event-vars.d.ts.map +1 -0
- package/dist/utils/security-event-vars.js +109 -0
- package/dist/utils/security-event-vars.js.map +1 -0
- package/dist/utils/user-agent.d.ts +19 -0
- package/dist/utils/user-agent.d.ts.map +1 -0
- package/dist/utils/user-agent.js +36 -0
- package/dist/utils/user-agent.js.map +1 -0
- package/dist/validators/is-strong-password-with-settings.validator.d.ts.map +1 -1
- package/dist/validators/is-strong-password-with-settings.validator.js +11 -0
- package/dist/validators/is-strong-password-with-settings.validator.js.map +1 -1
- package/dist/validators/service-locator.d.ts +9 -0
- package/dist/validators/service-locator.d.ts.map +1 -1
- package/dist/validators/service-locator.js +12 -0
- package/dist/validators/service-locator.js.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.d.ts +5 -0
- package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-integration.service.js +50 -4
- package/dist/webhook-integration/webhook-integration.service.js.map +1 -1
- package/dist/webhook-integration/webhook-protocol.registry.d.ts +6 -0
- package/dist/webhook-integration/webhook-protocol.registry.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-protocol.registry.js.map +1 -1
- package/dist/whatsapp-sender/whatsapp-sender.module.d.ts +3 -0
- package/dist/whatsapp-sender/whatsapp-sender.module.d.ts.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.module.js +23 -0
- package/dist/whatsapp-sender/whatsapp-sender.module.js.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +50 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.js +224 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -0
- package/hedhog/data/integration_provider.yaml +25 -0
- package/hedhog/data/mail.yaml +275 -112
- package/hedhog/data/mail_layout.yaml +198 -0
- package/hedhog/data/menu.yaml +69 -3
- package/hedhog/data/role.yaml +16 -0
- package/hedhog/data/route.yaml +307 -3
- package/hedhog/data/setting_group.yaml +315 -1
- package/hedhog/data/setting_subgroup.yaml +8 -0
- package/hedhog/frontend/app/_lib/hooks/use-core-access.test.tsx.ejs +125 -0
- package/hedhog/frontend/app/_lib/hooks/use-core-access.ts.ejs +29 -0
- package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.test.ts.ejs +71 -0
- package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.ts.ejs +32 -0
- package/hedhog/frontend/app/access-log/page.tsx.ejs +96 -22
- package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +17 -1
- package/hedhog/frontend/app/account/components/known-devices.tsx.ejs +89 -0
- package/hedhog/frontend/app/account/components/mfa-setup-dialog.tsx.ejs +36 -0
- package/hedhog/frontend/app/account/components/profile-form.tsx.ejs +2 -1
- package/hedhog/frontend/app/account/components/two-factor-auth.tsx.ejs +2 -0
- package/hedhog/frontend/app/account/components/user-devices-list.tsx.ejs +186 -0
- package/hedhog/frontend/app/account/devices/page.tsx.ejs +5 -0
- package/hedhog/frontend/app/account/hooks/use-mfa-setup.ts.ejs +10 -7
- package/hedhog/frontend/app/account/layout.tsx.ejs +2 -0
- package/hedhog/frontend/app/ai_agent/page.tsx.ejs +7 -4
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-form.tsx.ejs +580 -0
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-preview.tsx.ejs +150 -0
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-versions.tsx.ejs +199 -0
- package/hedhog/frontend/app/ai_instruction/_components/prompt-diff.tsx.ejs +63 -0
- package/hedhog/frontend/app/ai_instruction/_lib/line-diff.spec.ts.ejs +59 -0
- package/hedhog/frontend/app/ai_instruction/_lib/line-diff.ts.ejs +72 -0
- package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.spec.ts.ejs +170 -0
- package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.ts.ejs +167 -0
- package/hedhog/frontend/app/ai_instruction/_lib/types.ts.ejs +99 -0
- package/hedhog/frontend/app/ai_instruction/page.tsx.ejs +422 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +298 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +410 -1223
- package/hedhog/frontend/app/incidents/page.tsx.ejs +400 -0
- package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +153 -84
- package/hedhog/frontend/app/mail/layout/page.tsx.ejs +344 -0
- package/hedhog/frontend/app/mail/log/page.tsx.ejs +210 -3
- package/hedhog/frontend/app/mail/template/page.tsx.ejs +292 -200
- package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +129 -17
- package/hedhog/frontend/app/pages/_components/page-delete-dialog.tsx.ejs +343 -0
- package/hedhog/frontend/app/pages/_components/page-detail-sheet.tsx.ejs +438 -0
- package/hedhog/frontend/app/pages/_components/page-wizard-sheet.tsx.ejs +1009 -0
- package/hedhog/frontend/app/pages/_components/system-page-types.ts.ejs +56 -0
- package/hedhog/frontend/app/pages/_components/use-system-pages.ts.ejs +171 -0
- package/hedhog/frontend/app/pages/page.tsx.ejs +514 -0
- package/hedhog/frontend/app/users/active-session.tsx.ejs +58 -11
- package/hedhog/frontend/app/users/page.tsx.ejs +186 -21
- package/hedhog/frontend/app/users/simulate-access-dialog.test.tsx.ejs +202 -0
- package/hedhog/frontend/app/users/simulate-access-dialog.tsx.ejs +170 -0
- package/hedhog/frontend/app/users/user-activity-timeline.tsx.ejs +250 -0
- package/hedhog/frontend/app/users/user-devices.tsx.ejs +89 -0
- package/hedhog/frontend/app/users/user-logs.tsx.ejs +13 -1
- package/hedhog/frontend/app/users/user-mails.tsx.ejs +399 -0
- package/hedhog/frontend/app/users/user-sheet.tsx.ejs +106 -99
- package/hedhog/frontend/messages/en.json +643 -49
- package/hedhog/frontend/messages/pt.json +643 -49
- package/hedhog/table/access_log.yaml +7 -0
- package/hedhog/table/ai_agent.yaml +1 -0
- package/hedhog/table/ai_instruction.yaml +15 -0
- package/hedhog/table/file.yaml +8 -0
- package/hedhog/table/leaked_password.yaml +18 -0
- package/hedhog/table/mail_delivery_event.yaml +76 -0
- package/hedhog/table/mail_layout.yaml +35 -0
- package/hedhog/table/mail_sent.yaml +23 -0
- package/hedhog/table/mail_var.yaml +4 -0
- package/hedhog/table/setting.yaml +1 -0
- package/hedhog/table/system_incident.yaml +59 -0
- package/hedhog/table/user_activity.yaml +9 -0
- package/hedhog/table/user_device.yaml +52 -0
- package/hedhog/table/user_presence.yaml +36 -0
- package/hedhog/table/user_session.yaml +20 -1
- package/package.json +7 -2
- package/src/access-log/access-log.controller.ts +1 -0
- package/src/access-log/access-log.interceptor.ts +9 -3
- package/src/access-log/access-log.service.spec.ts +33 -2
- package/src/access-log/access-log.service.ts +38 -0
- package/src/access-log/dto/query-access-log.dto.ts +5 -0
- package/src/ai/ai-attachment.fragments.spec.ts +319 -0
- package/src/ai/ai-attachment.fragments.ts +35 -0
- package/src/ai/ai.controller.ts +9 -0
- package/src/ai/ai.module.ts +3 -2
- package/src/ai/ai.prompts.ts +38 -0
- package/src/ai/ai.service.spec.ts +280 -0
- package/src/ai/ai.service.ts +475 -82
- package/src/ai/dto/chat.dto.ts +33 -3
- package/src/ai/dto/create-agent.dto.ts +2 -2
- package/src/ai/dto/richtext-edit-html.dto.ts +11 -0
- package/src/ai/dto/update-agent.dto.ts +2 -2
- package/src/ai/richtext-ai.prompts.ts +57 -0
- package/src/ai/richtext-ai.service.ts +109 -0
- package/src/ai-instruction/ai-instruction.controller.ts +40 -9
- package/src/ai-instruction/ai-instruction.module.ts +13 -2
- package/src/ai-instruction/ai-instruction.service.spec.ts +658 -0
- package/src/ai-instruction/ai-instruction.service.ts +661 -62
- package/src/ai-instruction/ai-prompt-builder.service.ts +10 -1
- package/src/ai-instruction/ai-prompt-registry.ts +87 -0
- package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +375 -0
- package/src/ai-instruction/ai-prompt-resolver.service.ts +295 -0
- package/src/ai-instruction/ai-prompt-template.util.spec.ts +162 -0
- package/src/ai-instruction/ai-prompt-template.util.ts +199 -0
- package/src/ai-instruction/dto/create-ai-instruction.dto.ts +39 -3
- package/src/ai-instruction/dto/preview-ai-instruction.dto.ts +26 -0
- package/src/ai-instruction/dto/update-ai-instruction.dto.ts +42 -1
- package/src/ai-instruction/types/ai-instruction.types.ts +24 -1
- package/src/auth/auth.controller.ts +78 -13
- package/src/auth/auth.module.ts +2 -0
- package/src/auth/auth.service.spec.ts +386 -7
- package/src/auth/auth.service.ts +435 -81
- package/src/auth/dto/confirm-email.dto.ts +7 -0
- package/src/auth/dto/resend-confirmation.dto.ts +20 -0
- package/src/authorize/authorize.controller.ts +2 -0
- package/src/authorize/authorize.service.spec.ts +23 -0
- package/src/authorize/authorize.service.ts +8 -0
- package/src/captcha/captcha.module.ts +10 -0
- package/src/captcha/captcha.service.spec.ts +210 -0
- package/src/captcha/captcha.service.ts +191 -0
- package/src/challenge/challenge.service.spec.ts +112 -4
- package/src/challenge/challenge.service.ts +131 -17
- package/src/core.module.ts +46 -1
- package/src/file/file.controller.ts +54 -4
- package/src/file/file.service.spec.ts +275 -0
- package/src/file/file.service.ts +468 -16
- package/src/file/image-optimization.service.spec.ts +92 -0
- package/src/file/image-optimization.service.ts +202 -0
- package/src/file/provider/abstract.provider.ts +23 -0
- package/src/file/provider/gcs.provider.ts +17 -0
- package/src/file/provider/local.provider.ts +21 -0
- package/src/file/provider/s3.provider.ts +25 -0
- package/src/file/provider/spaces.provider.ts +26 -0
- package/src/impersonation/dto/redeem-impersonation.dto.ts +8 -0
- package/src/impersonation/dto/start-impersonation.dto.ts +13 -0
- package/src/impersonation/impersonation-restrictions.ts +84 -0
- package/src/impersonation/impersonation.controller.ts +109 -0
- package/src/impersonation/impersonation.module.ts +31 -0
- package/src/impersonation/impersonation.service.spec.ts +427 -0
- package/src/impersonation/impersonation.service.ts +577 -0
- package/src/incident/incident-notifier.service.spec.ts +205 -0
- package/src/incident/incident-notifier.service.ts +241 -0
- package/src/incident/incident.controller.ts +38 -0
- package/src/incident/incident.module.ts +19 -0
- package/src/incident/incident.service.spec.ts +150 -0
- package/src/incident/incident.service.ts +209 -0
- package/src/index.ts +58 -0
- package/src/integration/services/outbox-polling.coordinator.spec.ts +90 -0
- package/src/integration/services/outbox-polling.coordinator.ts +62 -40
- package/src/integration/services/outbox.service.spec.ts +8 -0
- package/src/integration/services/outbox.service.ts +19 -13
- package/src/integration-profile/dto/test.dto.ts +19 -0
- package/src/integration-profile/integration-profile.controller.ts +10 -1
- package/src/integration-profile/integration-profile.module.spec.ts +51 -0
- package/src/integration-profile/integration-profile.module.ts +23 -4
- package/src/integration-profile/integration-profile.secrets.ts +12 -1
- package/src/integration-profile/integration-profile.service.spec.ts +279 -0
- package/src/integration-profile/integration-profile.service.ts +120 -124
- package/src/integration-profile/integration-profile.utils.spec.ts +22 -0
- package/src/integration-profile/integration-profile.utils.ts +78 -3
- package/src/integration-profile/testers/ai.testers.ts +165 -0
- package/src/integration-profile/testers/captcha.testers.spec.ts +92 -0
- package/src/integration-profile/testers/captcha.testers.ts +139 -0
- package/src/integration-profile/testers/email.testers.ts +194 -0
- package/src/integration-profile/testers/http-probe.spec.ts +153 -0
- package/src/integration-profile/testers/http-probe.ts +171 -0
- package/src/integration-profile/testers/index.ts +30 -0
- package/src/integration-profile/testers/infrastructure.testers.ts +122 -0
- package/src/integration-profile/testers/integration-tester.registry.spec.ts +75 -0
- package/src/integration-profile/testers/integration-tester.registry.ts +43 -0
- package/src/integration-profile/testers/integration-tester.types.ts +61 -0
- package/src/integration-profile/testers/messaging.testers.ts +102 -0
- package/src/integration-profile/testers/oauth.testers.spec.ts +220 -0
- package/src/integration-profile/testers/oauth.testers.ts +305 -0
- package/src/integration-profile/testers/payment.testers.ts +185 -0
- package/src/integration-profile/testers/remaining.testers.spec.ts +401 -0
- package/src/integration-profile/testers/storage.testers.spec.ts +185 -0
- package/src/integration-profile/testers/storage.testers.ts +226 -0
- package/src/integration-profile/testers/tester-coverage.spec.ts +58 -0
- package/src/language/en.json +15 -2
- package/src/language/pt.json +15 -2
- package/src/leaked-password/README.md +83 -0
- package/src/leaked-password/leaked-password.controller.ts +52 -0
- package/src/leaked-password/leaked-password.module.ts +18 -0
- package/src/leaked-password/leaked-password.service.ts +242 -0
- package/src/leaked-password/seed/build-seed-sql.mjs +180 -0
- package/src/leaked-password/seed/common-passwords.txt +335 -0
- package/src/mail/dto/preview.dto.ts +50 -0
- package/src/mail/dto/send.dto.ts +58 -1
- package/src/mail/mail-template.spec.ts +274 -0
- package/src/mail/mail.controller.ts +9 -2
- package/src/mail/mail.module.ts +2 -0
- package/src/mail/mail.service.spec.ts +422 -6
- package/src/mail/mail.service.ts +337 -34
- package/src/mail-delivery/mail-delivery-provision.service.ts +66 -0
- package/src/mail-delivery/mail-delivery.constants.ts +31 -0
- package/src/mail-delivery/mail-delivery.controller.ts +38 -0
- package/src/mail-delivery/mail-delivery.module.ts +23 -0
- package/src/mail-delivery/mail-delivery.service.spec.ts +136 -0
- package/src/mail-delivery/mail-delivery.service.ts +152 -0
- package/src/mail-delivery/ses-event.parser.spec.ts +140 -0
- package/src/mail-delivery/ses-event.parser.ts +191 -0
- package/src/mail-delivery/ses-webhook.service.spec.ts +170 -0
- package/src/mail-delivery/ses-webhook.service.ts +240 -0
- package/src/mail-delivery/sns-message.util.spec.ts +163 -0
- package/src/mail-delivery/sns-message.util.ts +125 -0
- package/src/mail-layout/dto/update.dto.ts +19 -0
- package/src/mail-layout/mail-layout.controller.ts +47 -0
- package/src/mail-layout/mail-layout.module.ts +22 -0
- package/src/mail-layout/mail-layout.service.ts +94 -0
- package/src/mail-sent/dto/query-mail-sent-list.dto.ts +15 -0
- package/src/mail-sent/mail-sent.service.ts +46 -2
- package/src/mailbox/mailbox-fetcher.registry.ts +132 -0
- package/src/mailbox/mailbox.module.ts +14 -0
- package/src/mcp-chat/mcp-chat.service.spec.ts +236 -0
- package/src/mcp-chat/mcp-chat.service.ts +122 -26
- package/src/meeting/meeting-provider.registry.ts +193 -0
- package/src/meeting/meeting.constants.ts +53 -0
- package/src/meeting/meeting.module.ts +13 -0
- package/src/middlewares/locale-injection.middleware.ts +25 -6
- package/src/oauth/oauth-token-broker.service.spec.ts +172 -0
- package/src/oauth/oauth-token-broker.service.ts +363 -0
- package/src/oauth/oauth.module.ts +3 -1
- package/src/oauth/oauth.service.ts +8 -2
- package/src/oauth/providers/google.provider.ts +49 -15
- package/src/observability/monitored-cron.spec.ts +102 -0
- package/src/observability/monitored-cron.ts +110 -0
- package/src/pairing/dto/approve-reverse-pairing.dto.ts +20 -0
- package/src/pairing/dto/claim-pairing.dto.ts +19 -0
- package/src/pairing/dto/confirm-pairing.dto.ts +14 -0
- package/src/pairing/dto/poll-reverse-pairing.dto.ts +9 -0
- package/src/pairing/dto/start-pairing.dto.ts +19 -0
- package/src/pairing/dto/start-reverse-pairing.dto.ts +45 -0
- package/src/pairing/pairing.controller.ts +246 -0
- package/src/pairing/pairing.module.ts +27 -0
- package/src/pairing/pairing.service.spec.ts +462 -0
- package/src/pairing/pairing.service.ts +614 -0
- package/src/pdf/pdf.service.ts +81 -24
- package/src/presence/presence.controller.ts +29 -0
- package/src/presence/presence.listener.ts +53 -0
- package/src/presence/presence.module.ts +19 -0
- package/src/presence/presence.service.spec.ts +97 -0
- package/src/presence/presence.service.ts +160 -0
- package/src/profile/dto/delete-account.dto.ts +11 -0
- package/src/profile/events/profile-account-deleted.event.ts +13 -0
- package/src/profile/profile.controller.ts +46 -34
- package/src/profile/profile.service.ts +164 -46
- package/src/realtime/realtime.gateway.ts +138 -0
- package/src/realtime/realtime.module.ts +16 -0
- package/src/realtime/realtime.service.spec.ts +50 -0
- package/src/realtime/realtime.service.ts +187 -0
- package/src/redis/redis-pubsub.ts +190 -0
- package/src/role/guards/role.guard.spec.ts +75 -0
- package/src/role/guards/role.guard.ts +64 -46
- package/src/session/session.service.spec.ts +81 -0
- package/src/session/session.service.ts +93 -6
- package/src/setting/brand-asset.service.ts +137 -0
- package/src/setting/dto/create.dto.ts +13 -2
- package/src/setting/setting.module.ts +3 -2
- package/src/setting/setting.service.spec.ts +135 -1
- package/src/setting/setting.service.ts +138 -2
- package/src/token/token.service.spec.ts +62 -0
- package/src/token/token.service.ts +57 -3
- package/src/user/dto/create-with-email-and-password.dto.ts +6 -1
- package/src/user/dto/query-user-mail-list.dto.ts +10 -0
- package/src/user/user-credential.util.ts +35 -0
- package/src/user/user.controller.ts +17 -2
- package/src/user/user.service.spec.ts +186 -2
- package/src/user/user.service.ts +361 -16
- package/src/user-device/user-device.controller.ts +77 -0
- package/src/user-device/user-device.module.ts +13 -0
- package/src/user-device/user-device.service.spec.ts +234 -0
- package/src/user-device/user-device.service.ts +168 -0
- package/src/utils/device-key.spec.ts +57 -0
- package/src/utils/device-key.ts +32 -0
- package/src/utils/geo-ip.spec.ts +134 -0
- package/src/utils/geo-ip.ts +93 -0
- package/src/utils/locale-context.spec.ts +27 -1
- package/src/utils/locale-context.ts +15 -12
- package/src/utils/security-event-vars.spec.ts +161 -0
- package/src/utils/security-event-vars.ts +153 -0
- package/src/utils/user-agent.spec.ts +37 -0
- package/src/utils/user-agent.ts +46 -0
- package/src/validators/is-strong-password-with-settings.validator.ts +12 -0
- package/src/validators/service-locator.ts +15 -0
- package/src/webhook-integration/webhook-integration.service.ts +57 -3
- package/src/webhook-integration/webhook-protocol.registry.ts +6 -0
- package/src/whatsapp-sender/whatsapp-sender.module.ts +10 -0
- package/src/whatsapp-sender/whatsapp-sender.service.ts +313 -0
package/hedhog/data/mail.yaml
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
- slug: auth-sign-up-confirm-email
|
|
2
2
|
subject:
|
|
3
|
-
en: Welcome to
|
|
4
|
-
pt: Bem-vindo ao
|
|
3
|
+
en: Welcome to {{brandName}}! Please confirm your email
|
|
4
|
+
pt: Bem-vindo ao {{brandName}}! Por favor, confirme seu e-mail
|
|
5
5
|
body:
|
|
6
6
|
en: |
|
|
7
7
|
Hello {{name}},<br>
|
|
8
|
-
Thank you for signing up for a
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Confirmation
|
|
12
|
-
If you did not sign up for a
|
|
8
|
+
Thank you for signing up for a {{brandName}} account!
|
|
9
|
+
Your account is ready — just confirm your email address
|
|
10
|
+
using the link below:<br>
|
|
11
|
+
Confirmation Link: <a href="{{link}}">{{link}}</a><br>
|
|
12
|
+
If you did not sign up for a {{brandName}} account, please ignore this email.<br>
|
|
13
13
|
Best regards,<br>
|
|
14
|
-
The
|
|
14
|
+
The {{brandName}} Team
|
|
15
15
|
pt: |
|
|
16
16
|
Olá {{name}},<br>
|
|
17
|
-
Obrigado por se inscrever para uma conta
|
|
18
|
-
|
|
19
|
-
usando o
|
|
20
|
-
|
|
21
|
-
Se você não se inscreveu para uma conta
|
|
17
|
+
Obrigado por se inscrever para uma conta {{brandName}}!
|
|
18
|
+
Sua conta já está pronta — só falta confirmar seu endereço de e-mail
|
|
19
|
+
usando o link abaixo:<br>
|
|
20
|
+
Link de Confirmação: <a href="{{link}}">{{link}}</a><br>
|
|
21
|
+
Se você não se inscreveu para uma conta {{brandName}},
|
|
22
22
|
por favor ignore este e-mail.<br>
|
|
23
23
|
Atenciosamente,<br>
|
|
24
|
-
A equipe
|
|
24
|
+
A equipe {{brandName}}
|
|
25
25
|
relations:
|
|
26
26
|
mail_var:
|
|
27
27
|
- name: name
|
|
28
|
-
- name:
|
|
28
|
+
- name: link
|
|
29
29
|
- slug: auth-email-verification-code
|
|
30
30
|
subject:
|
|
31
31
|
en: Your verification code
|
|
@@ -37,174 +37,198 @@
|
|
|
37
37
|
Verification Code: <strong>{{code}}</strong><br>
|
|
38
38
|
This code will expire in a few minutes. If you did not request this code, please ignore this email.<br>
|
|
39
39
|
Best regards,<br>
|
|
40
|
-
The
|
|
40
|
+
The {{brandName}} Team
|
|
41
41
|
pt: |
|
|
42
42
|
Olá {{name}},<br>
|
|
43
43
|
Por favor, use o seguinte código de verificação para continuar:<br>
|
|
44
44
|
Código de Verificação: <strong>{{code}}</strong><br>
|
|
45
45
|
Este código expirará em alguns minutos. Se você não solicitou este código, por favor ignore este e-mail.<br>
|
|
46
46
|
Atenciosamente,<br>
|
|
47
|
-
A equipe
|
|
47
|
+
A equipe {{brandName}}
|
|
48
48
|
relations:
|
|
49
49
|
mail_var:
|
|
50
50
|
- name: name
|
|
51
51
|
- name: code
|
|
52
|
+
# O corpo abaixo usa escalar dobrado (>-) de proposito: MailService.interpolateTemplate
|
|
53
|
+
# troca toda quebra de linha por <br/> antes de compilar o Handlebars, entao um corpo
|
|
54
|
+
# em bloco literal (|) espalharia <br/> soltos no meio da tabela. Sob >- o YAML dobra
|
|
55
|
+
# tudo numa linha so — o que exige indentacao identica em TODAS as linhas: um espaco a
|
|
56
|
+
# mais transforma o resto em bloco literal e as quebras voltam.
|
|
52
57
|
- slug: auth-login-new-device
|
|
53
58
|
subject:
|
|
54
|
-
en: New
|
|
55
|
-
pt: Novo
|
|
59
|
+
en: New sign-in from an unrecognized device
|
|
60
|
+
pt: Novo acesso de um dispositivo desconhecido
|
|
56
61
|
body:
|
|
57
|
-
en:
|
|
58
|
-
Hello {{name}}
|
|
59
|
-
We
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
62
|
+
en: >-
|
|
63
|
+
<p style="margin:0 0 16px;">Hello {{name}},</p>
|
|
64
|
+
<p style="margin:0 0 20px;">We detected a sign-in to your {{brandName}} account from a device we have not seen before.</p>
|
|
65
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
|
|
66
|
+
{{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Date and time</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
|
|
67
|
+
{{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Browser</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
|
|
68
|
+
{{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">System</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
|
|
69
|
+
{{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Device<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
|
|
70
|
+
{{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Location</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
|
|
71
|
+
{{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">IP address</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
|
|
72
|
+
</table></td></tr></table>
|
|
73
|
+
<p style="margin:0 0 16px;">If this was you, there is nothing else to do.</p>
|
|
74
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">If you do not recognize this sign-in</strong>, change your password right away and review the active sessions on your account.</td></tr></table>
|
|
75
|
+
<p style="margin:0;">Best regards,<br />The {{brandName}} Team</p>
|
|
76
|
+
pt: >-
|
|
77
|
+
<p style="margin:0 0 16px;">Olá {{name}},</p>
|
|
78
|
+
<p style="margin:0 0 20px;">Detectamos um acesso à sua conta {{brandName}} a partir de um dispositivo que ainda não conhecíamos.</p>
|
|
79
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
|
|
80
|
+
{{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Data e hora</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
|
|
81
|
+
{{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Navegador</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
|
|
82
|
+
{{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Sistema</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
|
|
83
|
+
{{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Dispositivo<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
|
|
84
|
+
{{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Localização</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
|
|
85
|
+
{{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Endereço IP</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
|
|
86
|
+
</table></td></tr></table>
|
|
87
|
+
<p style="margin:0 0 16px;">Se foi você, não é preciso fazer nada.</p>
|
|
88
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">Se você não reconhece este acesso</strong>, altere sua senha imediatamente e revise as sessões ativas da sua conta.</td></tr></table>
|
|
89
|
+
<p style="margin:0;">Atenciosamente,<br />A equipe {{brandName}}</p>
|
|
81
90
|
relations:
|
|
82
91
|
mail_var:
|
|
92
|
+
- name: name
|
|
93
|
+
- name: datetime
|
|
94
|
+
- name: browser
|
|
95
|
+
- name: os
|
|
83
96
|
- name: userAgent
|
|
84
|
-
- name: ipAddress
|
|
85
97
|
- name: location
|
|
86
|
-
- name:
|
|
98
|
+
- name: countryFlag
|
|
99
|
+
- name: ipAddress
|
|
87
100
|
- slug: auth-forget-password
|
|
88
101
|
subject:
|
|
89
|
-
en: Reset your
|
|
90
|
-
pt: Redefina sua senha do
|
|
102
|
+
en: Reset your {{brandName}} password
|
|
103
|
+
pt: Redefina sua senha do {{brandName}}
|
|
91
104
|
body:
|
|
92
105
|
en: |
|
|
93
106
|
Hello {{name}},<br>
|
|
94
|
-
We received a request to reset the password for your
|
|
107
|
+
We received a request to reset the password for your {{brandName}} account.
|
|
95
108
|
To proceed with resetting your password, please use the link below:<br>
|
|
96
109
|
Reset Link: <a href="{{link}}">{{link}}</a><br>
|
|
97
110
|
If you did not request a password reset, please ignore this email.<br>
|
|
98
111
|
Best regards,<br>
|
|
99
|
-
The
|
|
112
|
+
The {{brandName}} Team
|
|
100
113
|
pt: |
|
|
101
114
|
Olá {{name}},<br>
|
|
102
|
-
Recebemos uma solicitação para redefinir a senha da sua conta
|
|
115
|
+
Recebemos uma solicitação para redefinir a senha da sua conta {{brandName}}.
|
|
103
116
|
Para prosseguir com a redefinição da sua senha,
|
|
104
117
|
por favor use o link abaixo:<br>
|
|
105
118
|
Link de Redefinição: <a href="{{link}}">{{link}}</a><br>
|
|
106
119
|
Se você não solicitou uma redefinição de senha,
|
|
107
120
|
por favor ignore este e-mail.<br>
|
|
108
121
|
Atenciosamente,<br>
|
|
109
|
-
A equipe
|
|
122
|
+
A equipe {{brandName}}
|
|
110
123
|
relations:
|
|
111
124
|
mail_var:
|
|
112
125
|
- name: name
|
|
113
126
|
- name: code
|
|
114
127
|
- slug: auth-forget-password-confirmation
|
|
115
128
|
subject:
|
|
116
|
-
en: Your
|
|
117
|
-
pt: Sua senha do
|
|
129
|
+
en: Your {{brandName}} password has been reset
|
|
130
|
+
pt: Sua senha do {{brandName}} foi redefinida
|
|
118
131
|
body:
|
|
119
132
|
en: |
|
|
120
133
|
Hello {{name}},<br>
|
|
121
|
-
Your
|
|
134
|
+
Your {{brandName}} password has been successfully reset.
|
|
122
135
|
If you did not perform this action,
|
|
123
136
|
please contact our support team immediately.<br>
|
|
124
137
|
Best regards,<br>
|
|
125
|
-
The
|
|
138
|
+
The {{brandName}} Team
|
|
126
139
|
pt: |
|
|
127
140
|
Olá {{name}},<br>
|
|
128
|
-
Sua senha do
|
|
141
|
+
Sua senha do {{brandName}} foi redefinida com sucesso.
|
|
129
142
|
Se você não realizou esta ação, por favor entre em contato com nossa equipe de suporte imediatamente.<br>
|
|
130
143
|
Atenciosamente,<br>
|
|
131
|
-
A equipe
|
|
144
|
+
A equipe {{brandName}}
|
|
132
145
|
relations:
|
|
133
146
|
mail_var:
|
|
134
147
|
- name: name
|
|
148
|
+
# Mesmo cartao de detalhes do auth-login-new-device — ver a nota sobre >- la em cima.
|
|
135
149
|
- slug: auth-change-password-notification
|
|
136
150
|
subject:
|
|
137
|
-
en: Your
|
|
138
|
-
pt: Sua senha do
|
|
151
|
+
en: Your {{brandName}} password has been changed
|
|
152
|
+
pt: Sua senha do {{brandName}} foi alterada
|
|
139
153
|
body:
|
|
140
|
-
en:
|
|
141
|
-
Hello {{name}}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
154
|
+
en: >-
|
|
155
|
+
<p style="margin:0 0 16px;">Hello {{name}},</p>
|
|
156
|
+
<p style="margin:0 0 20px;">The password for your {{brandName}} account has just been changed.</p>
|
|
157
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
|
|
158
|
+
{{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Date and time</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
|
|
159
|
+
{{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Browser</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
|
|
160
|
+
{{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">System</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
|
|
161
|
+
{{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Device<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
|
|
162
|
+
{{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Location</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
|
|
163
|
+
{{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">IP address</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
|
|
164
|
+
</table></td></tr></table>
|
|
165
|
+
<p style="margin:0 0 16px;">If this was you, there is nothing else to do.</p>
|
|
166
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">If you did not make this change</strong>, reset your password immediately and contact support.</td></tr></table>
|
|
167
|
+
<p style="margin:0;">Best regards,<br />The {{brandName}} Team</p>
|
|
168
|
+
pt: >-
|
|
169
|
+
<p style="margin:0 0 16px;">Olá {{name}},</p>
|
|
170
|
+
<p style="margin:0 0 20px;">A senha da sua conta {{brandName}} acabou de ser alterada.</p>
|
|
171
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
|
|
172
|
+
{{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Data e hora</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
|
|
173
|
+
{{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Navegador</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
|
|
174
|
+
{{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Sistema</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
|
|
175
|
+
{{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Dispositivo<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
|
|
176
|
+
{{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Localização</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
|
|
177
|
+
{{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Endereço IP</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
|
|
178
|
+
</table></td></tr></table>
|
|
179
|
+
<p style="margin:0 0 16px;">Se foi você, não é preciso fazer nada.</p>
|
|
180
|
+
<table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">Se você não fez esta alteração</strong>, redefina sua senha imediatamente e entre em contato com o suporte.</td></tr></table>
|
|
181
|
+
<p style="margin:0;">Atenciosamente,<br />A equipe {{brandName}}</p>
|
|
162
182
|
relations:
|
|
163
183
|
mail_var:
|
|
184
|
+
- name: name
|
|
185
|
+
- name: datetime
|
|
186
|
+
- name: browser
|
|
187
|
+
- name: os
|
|
164
188
|
- name: userAgent
|
|
165
|
-
- name: ipAddress
|
|
166
189
|
- name: location
|
|
167
|
-
- name:
|
|
190
|
+
- name: countryFlag
|
|
191
|
+
- name: ipAddress
|
|
168
192
|
- slug: auth-mfa-code
|
|
169
193
|
subject:
|
|
170
|
-
en: Your
|
|
171
|
-
pt: Seu Código MFA do
|
|
194
|
+
en: Your {{brandName}} MFA Code
|
|
195
|
+
pt: Seu Código MFA do {{brandName}}
|
|
172
196
|
body:
|
|
173
197
|
en: |
|
|
174
198
|
Hello {{name}},<br>
|
|
175
199
|
Your MFA code is: {{code}}<br>
|
|
176
200
|
Best regards,<br>
|
|
177
|
-
The
|
|
201
|
+
The {{brandName}} Team
|
|
178
202
|
pt: |
|
|
179
203
|
Olá {{name}},<br>
|
|
180
204
|
Seu código MFA é: {{code}}<br>
|
|
181
205
|
Atenciosamente,<br>
|
|
182
|
-
A equipe
|
|
206
|
+
A equipe {{brandName}}
|
|
183
207
|
relations:
|
|
184
208
|
mail_var:
|
|
185
209
|
- name: code
|
|
186
210
|
- name: name
|
|
187
211
|
- slug: auth-sign-up
|
|
188
212
|
subject:
|
|
189
|
-
en: Welcome to
|
|
190
|
-
pt: Bem-vindo ao
|
|
213
|
+
en: Welcome to {{brandName}}!
|
|
214
|
+
pt: Bem-vindo ao {{brandName}}!
|
|
191
215
|
body:
|
|
192
216
|
en: |
|
|
193
217
|
Hello {{name}},<br>
|
|
194
|
-
Thank you for registering with
|
|
218
|
+
Thank you for registering with {{brandName}}!
|
|
195
219
|
Your account has been successfully created.<br>
|
|
196
220
|
You can now log in and start using all the features available to you.<br>
|
|
197
221
|
If you have any questions or need assistance, please don't hesitate to contact us.<br>
|
|
198
222
|
Best regards,<br>
|
|
199
|
-
The
|
|
223
|
+
The {{brandName}} Team
|
|
200
224
|
pt: |
|
|
201
225
|
Olá {{name}},<br>
|
|
202
|
-
Obrigado por se registrar no
|
|
226
|
+
Obrigado por se registrar no {{brandName}}!
|
|
203
227
|
Sua conta foi criada com sucesso.<br>
|
|
204
228
|
Agora você pode fazer login e começar a usar todos os recursos disponíveis.<br>
|
|
205
229
|
Se você tiver alguma dúvida ou precisar de ajuda, não hesite em nos contatar.<br>
|
|
206
230
|
Atenciosamente,<br>
|
|
207
|
-
A equipe
|
|
231
|
+
A equipe {{brandName}}
|
|
208
232
|
relations:
|
|
209
233
|
mail_var:
|
|
210
234
|
- name: name
|
|
@@ -221,7 +245,7 @@
|
|
|
221
245
|
If your matter is urgent, please let us know in your message.<br>
|
|
222
246
|
We appreciate your patience and look forward to assisting you.<br>
|
|
223
247
|
Best regards,<br>
|
|
224
|
-
The
|
|
248
|
+
The {{brandName}} Team
|
|
225
249
|
pt: |
|
|
226
250
|
Olá {{name}},<br>
|
|
227
251
|
Obrigado por entrar em contato conosco! Recebemos sua mensagem
|
|
@@ -230,7 +254,7 @@
|
|
|
230
254
|
Se o seu assunto for urgente, por favor nos avise em sua mensagem.<br>
|
|
231
255
|
Agradecemos sua paciência e esperamos poder ajudá-lo.<br>
|
|
232
256
|
Atenciosamente,<br>
|
|
233
|
-
A equipe
|
|
257
|
+
A equipe {{brandName}}
|
|
234
258
|
relations:
|
|
235
259
|
mail_var:
|
|
236
260
|
- name: name
|
|
@@ -251,7 +275,7 @@
|
|
|
251
275
|
</div>
|
|
252
276
|
If you have any additional questions, please don't hesitate to reach out again.<br>
|
|
253
277
|
Best regards,<br>
|
|
254
|
-
The
|
|
278
|
+
The {{brandName}} Team
|
|
255
279
|
pt: |
|
|
256
280
|
Olá {{name}},<br>
|
|
257
281
|
Obrigado pela sua mensagem:<br>
|
|
@@ -264,7 +288,7 @@
|
|
|
264
288
|
</div>
|
|
265
289
|
Se você tiver alguma dúvida adicional, não hesite em entrar em contato novamente.<br>
|
|
266
290
|
Atenciosamente,<br>
|
|
267
|
-
A equipe
|
|
291
|
+
A equipe {{brandName}}
|
|
268
292
|
relations:
|
|
269
293
|
mail_var:
|
|
270
294
|
- name: name
|
|
@@ -338,7 +362,7 @@
|
|
|
338
362
|
<strong>Transaction ID:</strong> {{transactionId}}<br>
|
|
339
363
|
Thank you for your payment.<br>
|
|
340
364
|
Best regards,<br>
|
|
341
|
-
The
|
|
365
|
+
The {{brandName}} Team
|
|
342
366
|
pt: |
|
|
343
367
|
Olá {{name}},<br>
|
|
344
368
|
Seu pagamento foi confirmado com sucesso.<br>
|
|
@@ -348,7 +372,7 @@
|
|
|
348
372
|
<strong>ID da Transação:</strong> {{transactionId}}<br>
|
|
349
373
|
Obrigado pelo seu pagamento.<br>
|
|
350
374
|
Atenciosamente,<br>
|
|
351
|
-
A equipe
|
|
375
|
+
A equipe {{brandName}}
|
|
352
376
|
relations:
|
|
353
377
|
mail_var:
|
|
354
378
|
- name: name
|
|
@@ -369,7 +393,7 @@
|
|
|
369
393
|
Please review your payment method and complete the payment using the link below:<br>
|
|
370
394
|
<a href="{{paymentUrl}}">{{paymentUrl}}</a><br>
|
|
371
395
|
Best regards,<br>
|
|
372
|
-
The
|
|
396
|
+
The {{brandName}} Team
|
|
373
397
|
pt: |
|
|
374
398
|
Olá {{name}},<br>
|
|
375
399
|
Não foi possível processar seu pagamento para a fatura <strong>{{invoiceNumber}}</strong>.<br>
|
|
@@ -377,7 +401,7 @@
|
|
|
377
401
|
Revise sua forma de pagamento e conclua o pagamento usando o link abaixo:<br>
|
|
378
402
|
<a href="{{paymentUrl}}">{{paymentUrl}}</a><br>
|
|
379
403
|
Atenciosamente,<br>
|
|
380
|
-
A equipe
|
|
404
|
+
A equipe {{brandName}}
|
|
381
405
|
relations:
|
|
382
406
|
mail_var:
|
|
383
407
|
- name: name
|
|
@@ -399,7 +423,7 @@
|
|
|
399
423
|
You can view the invoice here:<br>
|
|
400
424
|
<a href="{{invoiceUrl}}">{{invoiceUrl}}</a><br>
|
|
401
425
|
Best regards,<br>
|
|
402
|
-
The
|
|
426
|
+
The {{brandName}} Team
|
|
403
427
|
pt: |
|
|
404
428
|
Olá {{name}},<br>
|
|
405
429
|
Uma nova fatura foi gerada para sua conta.<br>
|
|
@@ -409,7 +433,7 @@
|
|
|
409
433
|
Você pode visualizar a fatura aqui:<br>
|
|
410
434
|
<a href="{{invoiceUrl}}">{{invoiceUrl}}</a><br>
|
|
411
435
|
Atenciosamente,<br>
|
|
412
|
-
A equipe
|
|
436
|
+
A equipe {{brandName}}
|
|
413
437
|
relations:
|
|
414
438
|
mail_var:
|
|
415
439
|
- name: name
|
|
@@ -429,14 +453,14 @@
|
|
|
429
453
|
<strong>Access until:</strong> {{endsAt}}<br>
|
|
430
454
|
If this was not expected, please contact our team.<br>
|
|
431
455
|
Best regards,<br>
|
|
432
|
-
The
|
|
456
|
+
The {{brandName}} Team
|
|
433
457
|
pt: |
|
|
434
458
|
Olá {{name}},<br>
|
|
435
459
|
Sua assinatura de <strong>{{productName}}</strong> foi cancelada.<br>
|
|
436
460
|
<strong>Acesso até:</strong> {{endsAt}}<br>
|
|
437
461
|
Se isso não era esperado, entre em contato com nossa equipe.<br>
|
|
438
462
|
Atenciosamente,<br>
|
|
439
|
-
A equipe
|
|
463
|
+
A equipe {{brandName}}
|
|
440
464
|
relations:
|
|
441
465
|
mail_var:
|
|
442
466
|
- name: name
|
|
@@ -455,7 +479,7 @@
|
|
|
455
479
|
<strong>Refund ID:</strong> {{refundId}}<br>
|
|
456
480
|
<strong>Processed at:</strong> {{processedAt}}<br>
|
|
457
481
|
Best regards,<br>
|
|
458
|
-
The
|
|
482
|
+
The {{brandName}} Team
|
|
459
483
|
pt: |
|
|
460
484
|
Olá {{name}},<br>
|
|
461
485
|
Seu reembolso foi confirmado com sucesso.<br>
|
|
@@ -463,7 +487,7 @@
|
|
|
463
487
|
<strong>ID do Reembolso:</strong> {{refundId}}<br>
|
|
464
488
|
<strong>Processado em:</strong> {{processedAt}}<br>
|
|
465
489
|
Atenciosamente,<br>
|
|
466
|
-
A equipe
|
|
490
|
+
A equipe {{brandName}}
|
|
467
491
|
relations:
|
|
468
492
|
mail_var:
|
|
469
493
|
- name: name
|
|
@@ -479,8 +503,8 @@
|
|
|
479
503
|
Hello {{name}},<br>
|
|
480
504
|
You have been added to <strong>{{company}}</strong>'s account on the Hcode training platform (<a href="https://hcode.training">https://hcode.training</a>).<br>
|
|
481
505
|
{{#if hasAccount}}
|
|
482
|
-
You already have an account with this email
|
|
483
|
-
|
|
506
|
+
You already have an account with this email. Click the secure link below to authorize this access:<br>
|
|
507
|
+
Authorize access: <a href="{{link}}">{{link}}</a><br>
|
|
484
508
|
{{else}}
|
|
485
509
|
To get started, you need to create your account. Click the secure link below to set your name and password:<br>
|
|
486
510
|
Create your account: <a href="{{link}}">{{link}}</a><br>
|
|
@@ -493,8 +517,8 @@
|
|
|
493
517
|
Olá {{name}},<br>
|
|
494
518
|
Você foi adicionado à conta de <strong>{{company}}</strong> na plataforma de treinamentos da Hcode (<a href="https://hcode.training">https://hcode.training</a>).<br>
|
|
495
519
|
{{#if hasAccount}}
|
|
496
|
-
Você já possui uma conta com este e-mail
|
|
497
|
-
|
|
520
|
+
Você já possui uma conta com este e-mail. Clique no link seguro abaixo para autorizar esse acesso:<br>
|
|
521
|
+
Autorizar acesso: <a href="{{link}}">{{link}}</a><br>
|
|
498
522
|
{{else}}
|
|
499
523
|
Para começar, você precisa criar sua conta. Clique no link seguro abaixo para definir seu nome e senha:<br>
|
|
500
524
|
Criar sua conta: <a href="{{link}}">{{link}}</a><br>
|
|
@@ -509,4 +533,143 @@
|
|
|
509
533
|
- name: company
|
|
510
534
|
- name: link
|
|
511
535
|
- name: hasAccount
|
|
512
|
-
|
|
536
|
+
|
|
537
|
+
- slug: enterprise-password-reset-notice
|
|
538
|
+
subject:
|
|
539
|
+
en: Your {{company}} training platform password was changed
|
|
540
|
+
pt: Sua senha da plataforma de treinamentos de {{company}} foi alterada
|
|
541
|
+
body:
|
|
542
|
+
en: |
|
|
543
|
+
Hello {{name}},<br>
|
|
544
|
+
An administrator at <strong>{{company}}</strong> has reset your password on the Hcode training platform (<a href="https://hcode.training">https://hcode.training</a>).<br>
|
|
545
|
+
If you don't know your new password, please contact your company's administrator.<br>
|
|
546
|
+
<br>
|
|
547
|
+
If you did not expect this change, contact your administrator as soon as possible.<br>
|
|
548
|
+
<br>
|
|
549
|
+
Best regards,<br>
|
|
550
|
+
The Hcode Team
|
|
551
|
+
pt: |
|
|
552
|
+
Olá {{name}},<br>
|
|
553
|
+
Um administrador da <strong>{{company}}</strong> redefiniu sua senha na plataforma de treinamentos da Hcode (<a href="https://hcode.training">https://hcode.training</a>).<br>
|
|
554
|
+
Se você não souber a nova senha, entre em contato com o administrador da sua empresa.<br>
|
|
555
|
+
<br>
|
|
556
|
+
Se você não esperava essa alteração, entre em contato com o administrador o quanto antes.<br>
|
|
557
|
+
<br>
|
|
558
|
+
Atenciosamente,<br>
|
|
559
|
+
A equipe Hcode
|
|
560
|
+
relations:
|
|
561
|
+
mail_var:
|
|
562
|
+
- name: name
|
|
563
|
+
- name: company
|
|
564
|
+
|
|
565
|
+
- slug: brclick-inscricao-confirmacao
|
|
566
|
+
subject:
|
|
567
|
+
en: BRClick registration confirmed — protocol {{protocolo}}
|
|
568
|
+
pt: Inscrição confirmada no BRClick — protocolo {{protocolo}}
|
|
569
|
+
body:
|
|
570
|
+
en: |
|
|
571
|
+
Hello {{name}},<br>
|
|
572
|
+
Your <strong>BRClick</strong> registration has been recorded.<br>
|
|
573
|
+
Protocol: <strong>{{protocolo}}</strong><br>
|
|
574
|
+
<br>
|
|
575
|
+
You are enrolled in:<br>
|
|
576
|
+
{{{turmas}}}
|
|
577
|
+
{{#if hasWaitlist}}
|
|
578
|
+
<br>
|
|
579
|
+
<strong style="color:#9c7a00;">Waiting list:</strong> these classes are full, so you are on the waiting list for:<br>
|
|
580
|
+
{{{turmasEspera}}}
|
|
581
|
+
If someone drops out, we will email you about the open spot.<br>
|
|
582
|
+
{{/if}}
|
|
583
|
+
{{#if hasUnavailable}}
|
|
584
|
+
<br>
|
|
585
|
+
<strong style="color:#b3261e;">Heads up:</strong> we could not confirm your spot in:<br>
|
|
586
|
+
{{{turmasIndisponiveis}}}
|
|
587
|
+
Our team will reach out to sort this out.<br>
|
|
588
|
+
{{/if}}
|
|
589
|
+
{{#if hasAccount}}
|
|
590
|
+
{{#if emailLinkSent}}
|
|
591
|
+
You already had an account on the training platform, but no password yet. We sent you a separate email with the link to set one.<br>
|
|
592
|
+
{{else}}
|
|
593
|
+
You already have an account on the training platform — sign in with your usual password to see your classes.<br>
|
|
594
|
+
Sign in: <a href="{{link}}">{{link}}</a><br>
|
|
595
|
+
{{/if}}
|
|
596
|
+
{{else}}
|
|
597
|
+
Your training platform account was created with the password you chose in the form.<br>
|
|
598
|
+
Sign in: <a href="{{link}}">{{link}}</a><br>
|
|
599
|
+
{{/if}}
|
|
600
|
+
<br>
|
|
601
|
+
<strong>Meanwhile, you can already get started:</strong><br>
|
|
602
|
+
1. Sign in to Hcode Training with the email and password from the form.<br>
|
|
603
|
+
2. {{#if logicCourseEnrolled}}You are already enrolled in the <strong>Programming Logic</strong> course — it's the prerequisite for the live classes, and the best place to start.{{else}}We are granting your access to the <strong>Programming Logic</strong> course, the prerequisite for the live classes; if it doesn't show up on your dashboard within a few hours, just reply to this email.{{/if}}<br>
|
|
604
|
+
3. Click the button below to start right now.<br>
|
|
605
|
+
<br>
|
|
606
|
+
<table role="presentation" cellspacing="0" cellpadding="0" border="0" style="width:100%;max-width:320px;">
|
|
607
|
+
<tr>
|
|
608
|
+
<td align="center" bgcolor="#1465b8" style="border-radius:10px;">
|
|
609
|
+
<a href="{{logicCourseUrl}}" target="_blank" style="display:block; padding:14px 20px; font-size:16px; line-height:1.1; font-weight:700; color:#ffffff; text-decoration:none;">🎓 Go to the Logic course</a>
|
|
610
|
+
</td>
|
|
611
|
+
</tr>
|
|
612
|
+
</table>
|
|
613
|
+
<br>
|
|
614
|
+
Best regards,<br>
|
|
615
|
+
The Hcode Team
|
|
616
|
+
pt: |
|
|
617
|
+
Olá {{name}},<br>
|
|
618
|
+
Sua inscrição no <strong>BRClick</strong> foi registrada.<br>
|
|
619
|
+
Protocolo: <strong>{{protocolo}}</strong><br>
|
|
620
|
+
<br>
|
|
621
|
+
Você está matriculado em:<br>
|
|
622
|
+
{{{turmas}}}
|
|
623
|
+
{{#if hasWaitlist}}
|
|
624
|
+
<br>
|
|
625
|
+
<strong style="color:#9c7a00;">Lista de espera:</strong> estas turmas já estão cheias, então você entrou na lista de espera de:<br>
|
|
626
|
+
{{{turmasEspera}}}
|
|
627
|
+
Se alguém desistir, avisamos você por e-mail sobre a vaga.<br>
|
|
628
|
+
{{/if}}
|
|
629
|
+
{{#if hasUnavailable}}
|
|
630
|
+
<br>
|
|
631
|
+
<strong style="color:#b3261e;">Atenção:</strong> não conseguimos confirmar sua vaga em:<br>
|
|
632
|
+
{{{turmasIndisponiveis}}}
|
|
633
|
+
Nossa equipe vai entrar em contato para resolver isso.<br>
|
|
634
|
+
{{/if}}
|
|
635
|
+
{{#if hasAccount}}
|
|
636
|
+
{{#if emailLinkSent}}
|
|
637
|
+
Você já tinha uma conta na plataforma de treinamentos, mas ainda sem senha. Enviamos um e-mail separado com o link para você defini-la.<br>
|
|
638
|
+
{{else}}
|
|
639
|
+
Você já tem conta na plataforma de treinamentos — entre com a sua senha de sempre para ver as aulas.<br>
|
|
640
|
+
Acessar: <a href="{{link}}">{{link}}</a><br>
|
|
641
|
+
{{/if}}
|
|
642
|
+
{{else}}
|
|
643
|
+
Sua conta na plataforma de treinamentos foi criada com a senha que você definiu no formulário.<br>
|
|
644
|
+
Acessar: <a href="{{link}}">{{link}}</a><br>
|
|
645
|
+
{{/if}}
|
|
646
|
+
<br>
|
|
647
|
+
<strong>Enquanto isso, já dá pra começar:</strong><br>
|
|
648
|
+
1. Entre no Hcode Training com o e-mail e a senha do cadastro.<br>
|
|
649
|
+
2. {{#if logicCourseEnrolled}}Você já está matriculado no curso <strong>Lógica de Programação</strong> — é o pré-requisito das turmas, e é por aí que vale começar.{{else}}Estamos liberando seu acesso ao curso <strong>Lógica de Programação</strong>, o pré-requisito das turmas; se não aparecer no seu painel em algumas horas, responda este e-mail.{{/if}}<br>
|
|
650
|
+
3. Clique no botão abaixo para começar agora mesmo.<br>
|
|
651
|
+
<br>
|
|
652
|
+
<table role="presentation" cellspacing="0" cellpadding="0" border="0" style="width:100%;max-width:320px;">
|
|
653
|
+
<tr>
|
|
654
|
+
<td align="center" bgcolor="#1465b8" style="border-radius:10px;">
|
|
655
|
+
<a href="{{logicCourseUrl}}" target="_blank" style="display:block; padding:14px 20px; font-size:16px; line-height:1.1; font-weight:700; color:#ffffff; text-decoration:none;">🎓 Acessar o curso de Lógica</a>
|
|
656
|
+
</td>
|
|
657
|
+
</tr>
|
|
658
|
+
</table>
|
|
659
|
+
<br>
|
|
660
|
+
Atenciosamente,<br>
|
|
661
|
+
A equipe Hcode
|
|
662
|
+
relations:
|
|
663
|
+
mail_var:
|
|
664
|
+
- name: name
|
|
665
|
+
- name: protocolo
|
|
666
|
+
- name: turmas
|
|
667
|
+
- name: link
|
|
668
|
+
- name: hasAccount
|
|
669
|
+
- name: emailLinkSent
|
|
670
|
+
- name: hasWaitlist
|
|
671
|
+
- name: turmasEspera
|
|
672
|
+
- name: hasUnavailable
|
|
673
|
+
- name: turmasIndisponiveis
|
|
674
|
+
- name: logicCourseUrl
|
|
675
|
+
- name: logicCourseEnrolled
|