@hed-hog/core 0.0.398 → 0.0.400
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/dist/ai/ai-agent.sort.d.ts +6 -0
- package/dist/ai/ai-agent.sort.d.ts.map +1 -0
- package/dist/ai/ai-agent.sort.js +21 -0
- package/dist/ai/ai-agent.sort.js.map +1 -0
- package/dist/ai/ai.controller.d.ts +4 -4
- package/dist/ai/ai.service.d.ts +35 -4
- package/dist/ai/ai.service.d.ts.map +1 -1
- package/dist/ai/ai.service.js +51 -137
- package/dist/ai/ai.service.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-instruction.service.js +26 -23
- package/dist/ai-instruction/ai-instruction.service.js.map +1 -1
- package/dist/ai-instruction/ai-instruction.sort.d.ts +16 -0
- package/dist/ai-instruction/ai-instruction.sort.d.ts.map +1 -0
- package/dist/ai-instruction/ai-instruction.sort.js +32 -0
- package/dist/ai-instruction/ai-instruction.sort.js.map +1 -0
- package/dist/auth/auth.controller.d.ts +24 -8
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +8 -1
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/auth.service.d.ts +72 -25
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +41 -4
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/guards/auth.guard.d.ts +3 -1
- package/dist/auth/guards/auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/auth.guard.js +12 -3
- package/dist/auth/guards/auth.guard.js.map +1 -1
- package/dist/authorize/authorize.controller.d.ts +30 -6
- package/dist/authorize/authorize.controller.d.ts.map +1 -1
- package/dist/authorize/authorize.controller.js +120 -13
- package/dist/authorize/authorize.controller.js.map +1 -1
- package/dist/authorize/authorize.errors.d.ts +34 -0
- package/dist/authorize/authorize.errors.d.ts.map +1 -0
- package/dist/authorize/authorize.errors.js +37 -0
- package/dist/authorize/authorize.errors.js.map +1 -0
- package/dist/authorize/authorize.module.d.ts.map +1 -1
- package/dist/authorize/authorize.module.js +6 -1
- package/dist/authorize/authorize.module.js.map +1 -1
- package/dist/authorize/authorize.service.d.ts +78 -4
- package/dist/authorize/authorize.service.d.ts.map +1 -1
- package/dist/authorize/authorize.service.js +212 -21
- package/dist/authorize/authorize.service.js.map +1 -1
- package/dist/authorize/dto/authorize-info.dto.d.ts +10 -1
- package/dist/authorize/dto/authorize-info.dto.d.ts.map +1 -1
- package/dist/authorize/dto/authorize-info.dto.js +16 -1
- package/dist/authorize/dto/authorize-info.dto.js.map +1 -1
- package/dist/authorize/dto/consent.dto.d.ts +10 -1
- package/dist/authorize/dto/consent.dto.d.ts.map +1 -1
- package/dist/authorize/dto/consent.dto.js +16 -1
- package/dist/authorize/dto/consent.dto.js.map +1 -1
- package/dist/authorize/dto/token.dto.d.ts +12 -0
- package/dist/authorize/dto/token.dto.d.ts.map +1 -1
- package/dist/authorize/dto/token.dto.js +21 -1
- package/dist/authorize/dto/token.dto.js.map +1 -1
- package/dist/authorize/oauth-exception.filter.d.ts +17 -0
- package/dist/authorize/oauth-exception.filter.d.ts.map +1 -0
- package/dist/authorize/oauth-exception.filter.js +54 -0
- package/dist/authorize/oauth-exception.filter.js.map +1 -0
- package/dist/authorize/oauth-metadata.service.d.ts +39 -0
- package/dist/authorize/oauth-metadata.service.d.ts.map +1 -0
- package/dist/authorize/oauth-metadata.service.js +81 -0
- package/dist/authorize/oauth-metadata.service.js.map +1 -0
- package/dist/authorize/well-known.controller.d.ts +67 -0
- package/dist/authorize/well-known.controller.d.ts.map +1 -0
- package/dist/authorize/well-known.controller.js +126 -0
- package/dist/authorize/well-known.controller.js.map +1 -0
- package/dist/captcha/captcha.service.d.ts +32 -2
- package/dist/captcha/captcha.service.d.ts.map +1 -1
- package/dist/captcha/captcha.service.js +85 -12
- package/dist/captcha/captcha.service.js.map +1 -1
- package/dist/challenge/challenge.service.d.ts +2 -2
- package/dist/core.module.d.ts.map +1 -1
- package/dist/core.module.js +6 -0
- package/dist/core.module.js.map +1 -1
- package/dist/dashboard/dashboard/dashboard.controller.d.ts +9 -9
- package/dist/dashboard/dashboard/dashboard.service.d.ts +9 -9
- package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +3 -3
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +3 -3
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts.map +1 -1
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.js +2 -4
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.js.map +1 -1
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.d.ts +8 -0
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.d.ts.map +1 -0
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.js +18 -0
- package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.js.map +1 -0
- package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts.map +1 -1
- package/dist/dashboard/dashboard-item/dashboard-item.service.js +2 -4
- package/dist/dashboard/dashboard-item/dashboard-item.service.js.map +1 -1
- package/dist/dashboard/dashboard-item/dashboard-item.sort.d.ts +9 -0
- package/dist/dashboard/dashboard-item/dashboard-item.sort.d.ts.map +1 -0
- package/dist/dashboard/dashboard-item/dashboard-item.sort.js +19 -0
- package/dist/dashboard/dashboard-item/dashboard-item.sort.js.map +1 -0
- package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +3 -3
- package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts.map +1 -1
- package/dist/dashboard/dashboard-role/dashboard-role.service.js +2 -4
- package/dist/dashboard/dashboard-role/dashboard-role.service.js.map +1 -1
- package/dist/dashboard/dashboard-role/dashboard-role.sort.d.ts +8 -0
- package/dist/dashboard/dashboard-role/dashboard-role.sort.d.ts.map +1 -0
- package/dist/dashboard/dashboard-role/dashboard-role.sort.js +16 -0
- package/dist/dashboard/dashboard-role/dashboard-role.sort.js.map +1 -0
- package/dist/file/file-upload-ticket.service.d.ts +160 -0
- package/dist/file/file-upload-ticket.service.d.ts.map +1 -0
- package/dist/file/file-upload-ticket.service.js +382 -0
- package/dist/file/file-upload-ticket.service.js.map +1 -0
- package/dist/file/file.controller.d.ts +24 -1
- package/dist/file/file.controller.d.ts.map +1 -1
- package/dist/file/file.controller.js +63 -2
- package/dist/file/file.controller.js.map +1 -1
- package/dist/file/file.module.d.ts.map +1 -1
- package/dist/file/file.module.js +14 -2
- package/dist/file/file.module.js.map +1 -1
- package/dist/file/file.service.d.ts +182 -6
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +385 -36
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/filename-encoding.util.d.ts +24 -0
- package/dist/file/filename-encoding.util.d.ts.map +1 -0
- package/dist/file/filename-encoding.util.js +63 -0
- package/dist/file/filename-encoding.util.js.map +1 -0
- package/dist/file/image-optimization.service.d.ts +27 -0
- package/dist/file/image-optimization.service.d.ts.map +1 -1
- package/dist/file/image-optimization.service.js +63 -14
- package/dist/file/image-optimization.service.js.map +1 -1
- package/dist/file/mcp-file-source.schema.d.ts +33 -0
- package/dist/file/mcp-file-source.schema.d.ts.map +1 -0
- package/dist/file/mcp-file-source.schema.js +75 -0
- package/dist/file/mcp-file-source.schema.js.map +1 -0
- package/dist/file/mcp-file-source.service.d.ts +124 -0
- package/dist/file/mcp-file-source.service.d.ts.map +1 -0
- package/dist/file/mcp-file-source.service.js +262 -0
- package/dist/file/mcp-file-source.service.js.map +1 -0
- package/dist/file/mimetype-sniff.util.d.ts +62 -0
- package/dist/file/mimetype-sniff.util.d.ts.map +1 -0
- package/dist/file/mimetype-sniff.util.js +226 -0
- package/dist/file/mimetype-sniff.util.js.map +1 -0
- package/dist/file/remote-fetch.util.d.ts +35 -0
- package/dist/file/remote-fetch.util.d.ts.map +1 -0
- package/dist/file/remote-fetch.util.js +236 -0
- package/dist/file/remote-fetch.util.js.map +1 -0
- package/dist/impersonation/dto/start-impersonation.dto.d.ts +4 -1
- package/dist/impersonation/dto/start-impersonation.dto.d.ts.map +1 -1
- package/dist/impersonation/dto/start-impersonation.dto.js +1 -1
- package/dist/impersonation/dto/start-impersonation.dto.js.map +1 -1
- package/dist/impersonation/impersonation.service.d.ts +8 -3
- package/dist/impersonation/impersonation.service.d.ts.map +1 -1
- package/dist/impersonation/impersonation.service.js +14 -4
- package/dist/impersonation/impersonation.service.js.map +1 -1
- package/dist/incident/incident.controller.d.ts +2 -1
- package/dist/incident/incident.controller.d.ts.map +1 -1
- package/dist/incident/incident.controller.js +10 -6
- package/dist/incident/incident.controller.js.map +1 -1
- package/dist/incident/incident.service.d.ts +2 -0
- package/dist/incident/incident.service.d.ts.map +1 -1
- package/dist/incident/incident.service.js +4 -0
- package/dist/incident/incident.service.js.map +1 -1
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.js +7 -0
- package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
- package/dist/integration-profile/integration-profile.service.d.ts +0 -13
- package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.service.js +5 -40
- package/dist/integration-profile/integration-profile.service.js.map +1 -1
- package/dist/integration-profile/integration-profile.utils.js +5 -5
- package/dist/integration-profile/integration-profile.utils.js.map +1 -1
- package/dist/integration-profile/testers/index.d.ts.map +1 -1
- package/dist/integration-profile/testers/index.js +2 -0
- package/dist/integration-profile/testers/index.js.map +1 -1
- package/dist/integration-profile/testers/shipping.testers.d.ts +3 -0
- package/dist/integration-profile/testers/shipping.testers.d.ts.map +1 -0
- package/dist/integration-profile/testers/shipping.testers.js +71 -0
- package/dist/integration-profile/testers/shipping.testers.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/send.dto.d.ts +6 -1
- package/dist/mail/dto/send.dto.d.ts.map +1 -1
- package/dist/mail/dto/send.dto.js.map +1 -1
- package/dist/mail/mail.service.d.ts +9 -0
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +34 -14
- package/dist/mail/mail.service.js.map +1 -1
- package/dist/mail-sent/mail-sent.controller.d.ts +1 -1
- package/dist/mail-sent/mail-sent.service.d.ts +1 -1
- package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
- package/dist/mail-sent/mail-sent.service.js +2 -1
- package/dist/mail-sent/mail-sent.service.js.map +1 -1
- package/dist/mail-sent/mail-sent.sort.d.ts +9 -0
- package/dist/mail-sent/mail-sent.sort.d.ts.map +1 -0
- package/dist/mail-sent/mail-sent.sort.js +19 -0
- package/dist/mail-sent/mail-sent.sort.js.map +1 -0
- package/dist/mcp/filters/mcp-challenge.filter.d.ts +20 -0
- package/dist/mcp/filters/mcp-challenge.filter.d.ts.map +1 -0
- package/dist/mcp/filters/mcp-challenge.filter.js +69 -0
- package/dist/mcp/filters/mcp-challenge.filter.js.map +1 -0
- package/dist/mcp/guards/mcp-auth.guard.d.ts +4 -1
- package/dist/mcp/guards/mcp-auth.guard.d.ts.map +1 -1
- package/dist/mcp/guards/mcp-auth.guard.js +19 -5
- package/dist/mcp/guards/mcp-auth.guard.js.map +1 -1
- package/dist/mcp/guards/mcp-permission.guard.d.ts +25 -3
- package/dist/mcp/guards/mcp-permission.guard.d.ts.map +1 -1
- package/dist/mcp/guards/mcp-permission.guard.js +46 -26
- package/dist/mcp/guards/mcp-permission.guard.js.map +1 -1
- package/dist/mcp/mcp-audit.service.d.ts +17 -0
- package/dist/mcp/mcp-audit.service.d.ts.map +1 -1
- package/dist/mcp/mcp-audit.service.js +32 -3
- package/dist/mcp/mcp-audit.service.js.map +1 -1
- package/dist/mcp/mcp-permission.service.d.ts +64 -0
- package/dist/mcp/mcp-permission.service.d.ts.map +1 -0
- package/dist/mcp/mcp-permission.service.js +178 -0
- package/dist/mcp/mcp-permission.service.js.map +1 -0
- package/dist/mcp/mcp-server.service.d.ts +3 -1
- package/dist/mcp/mcp-server.service.d.ts.map +1 -1
- package/dist/mcp/mcp-server.service.js +36 -15
- package/dist/mcp/mcp-server.service.js.map +1 -1
- package/dist/mcp/mcp.controller.d.ts.map +1 -1
- package/dist/mcp/mcp.controller.js +10 -2
- package/dist/mcp/mcp.controller.js.map +1 -1
- package/dist/mcp/mcp.module.d.ts.map +1 -1
- package/dist/mcp/mcp.module.js +5 -1
- package/dist/mcp/mcp.module.js.map +1 -1
- package/dist/mcp/tools/core-ai.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-ai.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.js +1 -1
- package/dist/mcp/tools/core-dashboard-items.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-dashboard.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-dashboard.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-event-webhooks.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-files.mcp-tools.d.ts +17 -5
- package/dist/mcp/tools/core-files.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-files.mcp-tools.js +186 -24
- package/dist/mcp/tools/core-files.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-integration-events.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-integration-events.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-mail-sent.mcp-tools.js +2 -14
- package/dist/mcp/tools/core-mail-sent.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-mail.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-mail.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-menus.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-menus.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-menus.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-notifications.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-notifications.mcp-tools.js +0 -1
- package/dist/mcp/tools/core-notifications.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-roles.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-roles.mcp-tools.js +2 -13
- package/dist/mcp/tools/core-roles.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-routes.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-routes.mcp-tools.js +2 -11
- package/dist/mcp/tools/core-routes.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-screens.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-screens.mcp-tools.js +2 -11
- package/dist/mcp/tools/core-screens.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-sessions.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-sessions.mcp-tools.js +0 -2
- package/dist/mcp/tools/core-sessions.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-settings.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-settings.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-settings.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-users.mcp-tools.js +2 -9
- package/dist/mcp/tools/core-users.mcp-tools.js.map +1 -1
- package/dist/mcp/tools/core-webhooks.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-webhooks.mcp-tools.js +2 -10
- package/dist/mcp/tools/core-webhooks.mcp-tools.js.map +1 -1
- package/dist/mcp/types/mcp-context.type.d.ts +9 -0
- package/dist/mcp/types/mcp-context.type.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
- package/dist/mcp-chat/mcp-chat.service.js +8 -0
- package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
- package/dist/meeting/meeting-provider.registry.d.ts +115 -0
- package/dist/meeting/meeting-provider.registry.d.ts.map +1 -1
- package/dist/meeting/meeting-provider.registry.js.map +1 -1
- package/dist/meeting/meeting.constants.d.ts +70 -0
- package/dist/meeting/meeting.constants.d.ts.map +1 -1
- package/dist/meeting/meeting.constants.js +9 -1
- package/dist/meeting/meeting.constants.js.map +1 -1
- package/dist/menu/menu.service.d.ts.map +1 -1
- package/dist/menu/menu.service.js +29 -9
- package/dist/menu/menu.service.js.map +1 -1
- package/dist/message-template/dto/update-message-template.dto.d.ts +18 -0
- package/dist/message-template/dto/update-message-template.dto.d.ts.map +1 -0
- package/dist/message-template/dto/update-message-template.dto.js +38 -0
- package/dist/message-template/dto/update-message-template.dto.js.map +1 -0
- package/dist/message-template/message-template-admin.service.d.ts +70 -0
- package/dist/message-template/message-template-admin.service.d.ts.map +1 -0
- package/dist/message-template/message-template-admin.service.js +226 -0
- package/dist/message-template/message-template-admin.service.js.map +1 -0
- package/dist/message-template/message-template.controller.d.ts +29 -0
- package/dist/message-template/message-template.controller.d.ts.map +1 -0
- package/dist/message-template/message-template.controller.js +101 -0
- package/dist/message-template/message-template.controller.js.map +1 -0
- package/dist/message-template/message-template.module.d.ts +10 -0
- package/dist/message-template/message-template.module.d.ts.map +1 -0
- package/dist/message-template/message-template.module.js +33 -0
- package/dist/message-template/message-template.module.js.map +1 -0
- package/dist/message-template/message-template.registry.d.ts +55 -0
- package/dist/message-template/message-template.registry.d.ts.map +1 -0
- package/dist/message-template/message-template.registry.js +64 -0
- package/dist/message-template/message-template.registry.js.map +1 -0
- package/dist/message-template/message-template.service.d.ts +59 -0
- package/dist/message-template/message-template.service.d.ts.map +1 -0
- package/dist/message-template/message-template.service.js +166 -0
- package/dist/message-template/message-template.service.js.map +1 -0
- package/dist/notification/notification.constants.d.ts +11 -0
- package/dist/notification/notification.constants.d.ts.map +1 -0
- package/dist/notification/notification.constants.js +14 -0
- package/dist/notification/notification.constants.js.map +1 -0
- package/dist/notification/notification.controller.d.ts +20 -20
- package/dist/notification/notification.module.d.ts.map +1 -1
- package/dist/notification/notification.module.js +3 -0
- package/dist/notification/notification.module.js.map +1 -1
- package/dist/notification/notification.service.d.ts +33 -21
- package/dist/notification/notification.service.d.ts.map +1 -1
- package/dist/notification/notification.service.js +36 -2
- package/dist/notification/notification.service.js.map +1 -1
- package/dist/oauth/oauth.controller.d.ts +4 -6
- package/dist/oauth/oauth.controller.d.ts.map +1 -1
- package/dist/oauth/oauth.controller.js +0 -1
- package/dist/oauth/oauth.controller.js.map +1 -1
- package/dist/oauth/oauth.errors.d.ts +15 -1
- package/dist/oauth/oauth.errors.d.ts.map +1 -1
- package/dist/oauth/oauth.errors.js +9 -1
- package/dist/oauth/oauth.errors.js.map +1 -1
- package/dist/oauth/oauth.module.d.ts.map +1 -1
- package/dist/oauth/oauth.module.js +6 -1
- package/dist/oauth/oauth.module.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +25 -5
- package/dist/oauth/oauth.service.d.ts.map +1 -1
- package/dist/oauth/oauth.service.js +63 -27
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/oauth/providers/abstract.provider.d.ts +10 -0
- package/dist/oauth/providers/abstract.provider.d.ts.map +1 -1
- package/dist/oauth/providers/abstract.provider.js +39 -12
- package/dist/oauth/providers/abstract.provider.js.map +1 -1
- package/dist/oauth/providers/github.provider.d.ts +1 -1
- package/dist/oauth/providers/github.provider.d.ts.map +1 -1
- package/dist/oauth/providers/github.provider.js +48 -22
- package/dist/oauth/providers/github.provider.js.map +1 -1
- package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
- package/dist/oauth/providers/microsoft-entra-id.provider.js +6 -0
- package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
- package/dist/observability/monitored-cron.d.ts +29 -12
- package/dist/observability/monitored-cron.d.ts.map +1 -1
- package/dist/observability/monitored-cron.js +131 -46
- package/dist/observability/monitored-cron.js.map +1 -1
- package/dist/pairing/pairing.controller.d.ts +9 -9
- package/dist/pairing/pairing.service.d.ts +15 -11
- package/dist/pairing/pairing.service.d.ts.map +1 -1
- package/dist/profile/dto/change-password.dto.d.ts.map +1 -1
- package/dist/profile/dto/change-password.dto.js +4 -6
- package/dist/profile/dto/change-password.dto.js.map +1 -1
- package/dist/profile/profile.controller.d.ts +1 -1
- package/dist/profile/profile.service.d.ts +1 -1
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +9 -3
- package/dist/profile/profile.service.js.map +1 -1
- package/dist/realtime/realtime-tick.coalescer.d.ts +34 -0
- package/dist/realtime/realtime-tick.coalescer.d.ts.map +1 -0
- package/dist/realtime/realtime-tick.coalescer.js +60 -0
- package/dist/realtime/realtime-tick.coalescer.js.map +1 -0
- package/dist/realtime/realtime.service.d.ts +2 -0
- package/dist/realtime/realtime.service.d.ts.map +1 -1
- package/dist/realtime/realtime.service.js +22 -2
- package/dist/realtime/realtime.service.js.map +1 -1
- package/dist/redis/redis-kv.service.d.ts +90 -0
- package/dist/redis/redis-kv.service.d.ts.map +1 -0
- package/dist/redis/redis-kv.service.js +247 -0
- package/dist/redis/redis-kv.service.js.map +1 -0
- package/dist/redis/redis-master.d.ts +29 -0
- package/dist/redis/redis-master.d.ts.map +1 -0
- package/dist/redis/redis-master.js +81 -0
- package/dist/redis/redis-master.js.map +1 -0
- package/dist/redis/redis-pubsub.d.ts +12 -0
- package/dist/redis/redis-pubsub.d.ts.map +1 -1
- package/dist/redis/redis-pubsub.js +25 -2
- package/dist/redis/redis-pubsub.js.map +1 -1
- package/dist/redis/redis.module.d.ts +11 -0
- package/dist/redis/redis.module.d.ts.map +1 -0
- package/dist/redis/redis.module.js +30 -0
- package/dist/redis/redis.module.js.map +1 -0
- package/dist/session/session.controller.d.ts +6 -2
- package/dist/session/session.controller.d.ts.map +1 -1
- package/dist/session/session.service.d.ts +118 -15
- package/dist/session/session.service.d.ts.map +1 -1
- package/dist/session/session.service.js +251 -77
- package/dist/session/session.service.js.map +1 -1
- package/dist/setting/setting.controller.d.ts +5 -0
- package/dist/setting/setting.controller.d.ts.map +1 -1
- package/dist/setting/setting.service.d.ts +7 -0
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +38 -3
- package/dist/setting/setting.service.js.map +1 -1
- package/dist/task/task.service.d.ts +17 -0
- package/dist/task/task.service.d.ts.map +1 -1
- package/dist/task/task.service.js +48 -13
- package/dist/task/task.service.js.map +1 -1
- package/dist/token/token.service.d.ts +19 -1
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +39 -2
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/user-credential.util.d.ts +10 -0
- package/dist/user/user-credential.util.d.ts.map +1 -1
- package/dist/user/user-credential.util.js +14 -1
- package/dist/user/user-credential.util.js.map +1 -1
- package/dist/user/user.service.d.ts +12 -4
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +2 -11
- package/dist/user/user.service.js.map +1 -1
- package/dist/user/user.sort.d.ts +16 -0
- package/dist/user/user.sort.d.ts.map +1 -0
- package/dist/user/user.sort.js +25 -0
- package/dist/user/user.sort.js.map +1 -0
- package/dist/utils/abbreviate-name.d.ts +13 -0
- package/dist/utils/abbreviate-name.d.ts.map +1 -0
- package/dist/utils/abbreviate-name.js +42 -0
- package/dist/utils/abbreviate-name.js.map +1 -0
- package/dist/utils/date-range-query.dto.d.ts +11 -0
- package/dist/utils/date-range-query.dto.d.ts.map +1 -0
- package/dist/utils/date-range-query.dto.js +63 -0
- package/dist/utils/date-range-query.dto.js.map +1 -0
- package/dist/utils/date-range.d.ts +96 -0
- package/dist/utils/date-range.d.ts.map +1 -0
- package/dist/utils/date-range.js +172 -0
- package/dist/utils/date-range.js.map +1 -0
- package/dist/webhook-integration/webhook-utils.d.ts.map +1 -1
- package/dist/webhook-integration/webhook-utils.js +24 -0
- package/dist/webhook-integration/webhook-utils.js.map +1 -1
- package/dist/whatsapp-sender/whatsapp-recipients.d.ts +49 -0
- package/dist/whatsapp-sender/whatsapp-recipients.d.ts.map +1 -0
- package/dist/whatsapp-sender/whatsapp-recipients.js +66 -0
- package/dist/whatsapp-sender/whatsapp-recipients.js.map +1 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +25 -0
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -1
- package/dist/whatsapp-sender/whatsapp-sender.service.js +46 -5
- package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -1
- package/hedhog/data/integration_provider.yaml +9 -0
- package/hedhog/data/integration_type.yaml +6 -0
- package/hedhog/data/locale.yaml +0 -1
- package/hedhog/data/mail.yaml +2 -2
- package/hedhog/data/mail_layout.yaml +6 -3
- package/hedhog/data/menu.yaml +25 -5
- package/hedhog/data/route.yaml +140 -0
- package/hedhog/data/setting_group.yaml +137 -3
- package/hedhog/frontend/app/access-log/page.tsx.ejs +47 -53
- package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +33 -8
- package/hedhog/frontend/app/account/components/mcp-tokens.tsx.ejs +54 -13
- package/hedhog/frontend/app/account/components/mfa-method-card.tsx.ejs +7 -1
- package/hedhog/frontend/app/account/components/recovery-codes-dialog.tsx.ejs +1 -0
- package/hedhog/frontend/app/account/components/tokens.tsx.ejs +47 -17
- package/hedhog/frontend/app/ai_agent/page.tsx.ejs +46 -5
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-form.tsx.ejs +101 -30
- package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-versions.tsx.ejs +24 -8
- package/hedhog/frontend/app/ai_instruction/page.tsx.ejs +80 -15
- package/hedhog/frontend/app/configurations/[slug]/components/image-optimization-action.tsx.ejs +166 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +145 -45
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +99 -219
- package/hedhog/frontend/app/configurations/[slug]/page.tsx.ejs +19 -1
- package/hedhog/frontend/app/configurations/layout.tsx.ejs +19 -5
- package/hedhog/frontend/app/dashboard/[slug]/widget-renderer.tsx.ejs +2 -8
- package/hedhog/frontend/app/dashboard/components/dynamic-widget.tsx.ejs +3 -0
- package/hedhog/frontend/app/dashboard/components/widget-wrapper.tsx.ejs +4 -0
- package/hedhog/frontend/app/dashboard/dashboard-home-tabs.tsx.ejs +43 -44
- package/hedhog/frontend/app/dashboard/management/tabs/component-roles-tab.tsx.ejs +41 -3
- package/hedhog/frontend/app/dashboard/management/tabs/components-tab.tsx.ejs +42 -2
- package/hedhog/frontend/app/dashboard/management/tabs/dashboard-roles-tab.tsx.ejs +41 -3
- package/hedhog/frontend/app/dashboard/management/tabs/dashboards-tab.tsx.ejs +39 -4
- package/hedhog/frontend/app/dashboard/management/tabs/items-tab.tsx.ejs +42 -3
- package/hedhog/frontend/app/incidents/page.tsx.ejs +60 -31
- package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +45 -5
- package/hedhog/frontend/app/integrations-webhooks/page.tsx.ejs +92 -15
- package/hedhog/frontend/app/mail/log/page.tsx.ejs +109 -61
- package/hedhog/frontend/app/mail/template/page.tsx.ejs +125 -23
- package/hedhog/frontend/app/mcp_chat/chat-components.tsx.ejs +13 -15
- package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +116 -110
- package/hedhog/frontend/app/message-templates/_components/message-template-sheet.tsx.ejs +245 -0
- package/hedhog/frontend/app/message-templates/_lib/types.ts.ejs +24 -0
- package/hedhog/frontend/app/message-templates/page.tsx.ejs +182 -0
- package/hedhog/frontend/app/pages/_components/page-wizard-sheet.tsx.ejs +1 -0
- package/hedhog/frontend/app/pages/page.tsx.ejs +94 -9
- package/hedhog/frontend/app/roles/menus.tsx.ejs +4 -4
- package/hedhog/frontend/app/roles/routes.tsx.ejs +4 -4
- package/hedhog/frontend/app/roles/users.tsx.ejs +4 -4
- package/hedhog/frontend/app/setting-list/page.tsx.ejs +71 -9
- package/hedhog/frontend/app/users/page.tsx.ejs +77 -67
- package/hedhog/frontend/messages/en.json +183 -36
- package/hedhog/frontend/messages/pt.json +183 -36
- package/hedhog/table/cron_lock.yaml +17 -0
- package/hedhog/table/file.yaml +13 -1
- package/hedhog/table/file_upload_chunk.yaml +23 -0
- package/hedhog/table/file_upload_ticket.yaml +67 -0
- package/hedhog/table/mcp_tool_call_log.yaml +30 -22
- package/hedhog/table/message_template.yaml +33 -0
- package/hedhog/table/setting.yaml +8 -0
- package/hedhog/table/user_session.yaml +36 -1
- package/package.json +8 -6
- package/src/ai/ai-agent.sort.ts +21 -0
- package/src/ai/ai.service.spec.ts +173 -1
- package/src/ai/ai.service.ts +64 -193
- package/src/ai-instruction/ai-instruction.service.ts +32 -28
- package/src/ai-instruction/ai-instruction.sort.ts +32 -0
- package/src/auth/auth.module.ts +8 -1
- package/src/auth/auth.service.spec.ts +108 -1
- package/src/auth/auth.service.ts +59 -5
- package/src/auth/guards/auth.guard.ts +9 -1
- package/src/authorize/authorize.controller.ts +126 -11
- package/src/authorize/authorize.errors.ts +55 -0
- package/src/authorize/authorize.module.ts +6 -1
- package/src/authorize/authorize.service.spec.ts +379 -7
- package/src/authorize/authorize.service.ts +309 -23
- package/src/authorize/dto/authorize-info.dto.ts +21 -3
- package/src/authorize/dto/consent.dto.ts +21 -3
- package/src/authorize/dto/token.dto.ts +24 -2
- package/src/authorize/oauth-exception.filter.ts +58 -0
- package/src/authorize/oauth-metadata.service.ts +67 -0
- package/src/authorize/well-known.controller.spec.ts +84 -0
- package/src/authorize/well-known.controller.ts +96 -0
- package/src/captcha/captcha.service.spec.ts +211 -4
- package/src/captcha/captcha.service.ts +127 -10
- package/src/core.module.ts +6 -0
- package/src/dashboard/dashboard-component-role/dashboard-component-role.service.ts +2 -3
- package/src/dashboard/dashboard-component-role/dashboard-component-role.sort.ts +18 -0
- package/src/dashboard/dashboard-item/dashboard-item.service.ts +2 -3
- package/src/dashboard/dashboard-item/dashboard-item.sort.ts +19 -0
- package/src/dashboard/dashboard-role/dashboard-role.service.ts +2 -3
- package/src/dashboard/dashboard-role/dashboard-role.sort.ts +16 -0
- package/src/file/file-upload-ticket.service.spec.ts +422 -0
- package/src/file/file-upload-ticket.service.ts +513 -0
- package/src/file/file.controller.ts +65 -0
- package/src/file/file.module.ts +14 -2
- package/src/file/file.service.spec.ts +94 -0
- package/src/file/file.service.ts +432 -30
- package/src/file/filename-encoding.util.spec.ts +54 -0
- package/src/file/filename-encoding.util.ts +67 -0
- package/src/file/image-optimization.service.spec.ts +156 -19
- package/src/file/image-optimization.service.ts +106 -21
- package/src/file/mcp-file-source.schema.ts +83 -0
- package/src/file/mcp-file-source.service.spec.ts +473 -0
- package/src/file/mcp-file-source.service.ts +445 -0
- package/src/file/mimetype-sniff.util.spec.ts +126 -0
- package/src/file/mimetype-sniff.util.ts +265 -0
- package/src/file/remote-fetch.util.spec.ts +117 -0
- package/src/file/remote-fetch.util.ts +330 -0
- package/src/impersonation/dto/start-impersonation.dto.ts +5 -2
- package/src/impersonation/impersonation.service.spec.ts +24 -1
- package/src/impersonation/impersonation.service.ts +14 -4
- package/src/incident/incident.controller.ts +9 -1
- package/src/incident/incident.service.ts +7 -0
- package/src/index.ts +17 -0
- package/src/integration-profile/integration-profile.secrets.ts +7 -0
- package/src/integration-profile/integration-profile.service.ts +7 -64
- package/src/integration-profile/integration-profile.utils.spec.ts +9 -0
- package/src/integration-profile/integration-profile.utils.ts +5 -5
- package/src/integration-profile/testers/index.ts +2 -0
- package/src/integration-profile/testers/remaining.testers.spec.ts +79 -0
- package/src/integration-profile/testers/shipping.testers.ts +94 -0
- package/src/mail/dto/send.dto.ts +6 -1
- package/src/mail/mail-template.spec.ts +58 -1
- package/src/mail/mail.service.spec.ts +112 -0
- package/src/mail/mail.service.ts +42 -4
- package/src/mail-sent/mail-sent.service.ts +3 -0
- package/src/mail-sent/mail-sent.sort.ts +19 -0
- package/src/mcp/filters/mcp-challenge.filter.spec.ts +76 -0
- package/src/mcp/filters/mcp-challenge.filter.ts +70 -0
- package/src/mcp/guards/mcp-auth.guard.spec.ts +51 -2
- package/src/mcp/guards/mcp-auth.guard.ts +24 -1
- package/src/mcp/guards/mcp-permission.guard.spec.ts +109 -15
- package/src/mcp/guards/mcp-permission.guard.ts +76 -51
- package/src/mcp/mcp-audit.service.spec.ts +107 -0
- package/src/mcp/mcp-audit.service.ts +37 -1
- package/src/mcp/mcp-permission.service.spec.ts +197 -0
- package/src/mcp/mcp-permission.service.ts +184 -0
- package/src/mcp/mcp-server.service.spec.ts +84 -2
- package/src/mcp/mcp-server.service.ts +111 -87
- package/src/mcp/mcp.controller.ts +8 -1
- package/src/mcp/mcp.module.ts +5 -1
- package/src/mcp/tools/core-ai.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-dashboard-items.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-dashboard.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-event-webhooks.mcp-tools.ts +1 -2
- package/src/mcp/tools/core-files.mcp-tools.ts +202 -22
- package/src/mcp/tools/core-integration-events.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-mail-sent.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-mail.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-menus.mcp-tools.ts +1 -2
- package/src/mcp/tools/core-notifications.mcp-tools.ts +0 -1
- package/src/mcp/tools/core-roles.mcp-tools.ts +1 -5
- package/src/mcp/tools/core-routes.mcp-tools.ts +1 -3
- package/src/mcp/tools/core-screens.mcp-tools.ts +1 -3
- package/src/mcp/tools/core-sessions.mcp-tools.ts +0 -2
- package/src/mcp/tools/core-settings.mcp-tools.ts +1 -2
- package/src/mcp/tools/core-users.mcp-tools.ts +1 -1
- package/src/mcp/tools/core-webhooks.mcp-tools.ts +1 -2
- package/src/mcp/types/mcp-context.type.ts +15 -6
- package/src/mcp-chat/mcp-chat.service.ts +8 -0
- package/src/meeting/meeting-provider.registry.ts +121 -0
- package/src/meeting/meeting.constants.ts +74 -0
- package/src/menu/menu.service.spec.ts +89 -0
- package/src/menu/menu.service.ts +29 -11
- package/src/message-template/dto/update-message-template.dto.ts +22 -0
- package/src/message-template/message-template-admin.service.spec.ts +163 -0
- package/src/message-template/message-template-admin.service.ts +239 -0
- package/src/message-template/message-template.controller.ts +52 -0
- package/src/message-template/message-template.module.ts +21 -0
- package/src/message-template/message-template.registry.spec.ts +62 -0
- package/src/message-template/message-template.registry.ts +125 -0
- package/src/message-template/message-template.service.spec.ts +149 -0
- package/src/message-template/message-template.service.ts +149 -0
- package/src/notification/notification.constants.ts +10 -0
- package/src/notification/notification.module.ts +3 -0
- package/src/notification/notification.service.spec.ts +75 -1
- package/src/notification/notification.service.ts +39 -1
- package/src/oauth/oauth.controller.ts +0 -1
- package/src/oauth/oauth.errors.ts +7 -0
- package/src/oauth/oauth.module.ts +6 -1
- package/src/oauth/oauth.service.spec.ts +58 -7
- package/src/oauth/oauth.service.ts +71 -32
- package/src/oauth/providers/abstract.provider.spec.ts +192 -0
- package/src/oauth/providers/abstract.provider.ts +46 -14
- package/src/oauth/providers/github.provider.ts +57 -34
- package/src/oauth/providers/microsoft-entra-id.provider.ts +8 -1
- package/src/observability/monitored-cron.spec.ts +164 -31
- package/src/observability/monitored-cron.ts +154 -62
- package/src/profile/dto/change-password.dto.ts +25 -7
- package/src/profile/profile.service.spec.ts +97 -0
- package/src/profile/profile.service.ts +9 -3
- package/src/realtime/realtime-tick.coalescer.spec.ts +92 -0
- package/src/realtime/realtime-tick.coalescer.ts +60 -0
- package/src/realtime/realtime.service.spec.ts +33 -0
- package/src/realtime/realtime.service.ts +28 -2
- package/src/redis/redis-kv.service.ts +261 -0
- package/src/redis/redis-master.spec.ts +111 -0
- package/src/redis/redis-master.ts +86 -0
- package/src/redis/redis-pubsub.ts +27 -3
- package/src/redis/redis.module.ts +17 -0
- package/src/session/session.service.spec.ts +121 -42
- package/src/session/session.service.ts +279 -82
- package/src/setting/setting.service.ts +44 -3
- package/src/task/task.service.spec.ts +41 -0
- package/src/task/task.service.ts +53 -13
- package/src/token/token.service.spec.ts +90 -0
- package/src/token/token.service.ts +48 -2
- package/src/user/user-credential.util.ts +14 -5
- package/src/user/user.service.ts +2 -12
- package/src/user/user.sort.ts +25 -0
- package/src/utils/abbreviate-name.spec.ts +50 -0
- package/src/utils/abbreviate-name.ts +44 -0
- package/src/utils/date-range-query.dto.ts +56 -0
- package/src/utils/date-range.spec.ts +175 -0
- package/src/utils/date-range.ts +246 -0
- package/src/webhook-integration/webhook-utils.spec.ts +67 -0
- package/src/webhook-integration/webhook-utils.ts +26 -0
- package/src/whatsapp-sender/whatsapp-recipients.spec.ts +89 -0
- package/src/whatsapp-sender/whatsapp-recipients.ts +83 -0
- package/src/whatsapp-sender/whatsapp-sender.service.spec.ts +112 -0
- package/src/whatsapp-sender/whatsapp-sender.service.ts +58 -5
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modelos de mensagem para canal que não é e-mail.
|
|
3
|
+
*
|
|
4
|
+
* Exporta o `MessageTemplateService` porque quem renderiza são as libraries: o
|
|
5
|
+
* SAC para o aviso de chamado, o commerce para o de venda. O serviço da tela
|
|
6
|
+
* fica dentro, que ninguém fora daqui edita template por código.
|
|
7
|
+
*/
|
|
8
|
+
export declare class MessageTemplateModule {
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=message-template.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-template.module.d.ts","sourceRoot":"","sources":["../../src/message-template/message-template.module.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,qBAMa,qBAAqB;CAAG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MessageTemplateModule = void 0;
|
|
10
|
+
const api_prisma_1 = require("@hed-hog/api-prisma");
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const message_template_admin_service_1 = require("./message-template-admin.service");
|
|
13
|
+
const message_template_controller_1 = require("./message-template.controller");
|
|
14
|
+
const message_template_service_1 = require("./message-template.service");
|
|
15
|
+
/**
|
|
16
|
+
* Modelos de mensagem para canal que não é e-mail.
|
|
17
|
+
*
|
|
18
|
+
* Exporta o `MessageTemplateService` porque quem renderiza são as libraries: o
|
|
19
|
+
* SAC para o aviso de chamado, o commerce para o de venda. O serviço da tela
|
|
20
|
+
* fica dentro, que ninguém fora daqui edita template por código.
|
|
21
|
+
*/
|
|
22
|
+
let MessageTemplateModule = class MessageTemplateModule {
|
|
23
|
+
};
|
|
24
|
+
exports.MessageTemplateModule = MessageTemplateModule;
|
|
25
|
+
exports.MessageTemplateModule = MessageTemplateModule = __decorate([
|
|
26
|
+
(0, common_1.Module)({
|
|
27
|
+
imports: [(0, common_1.forwardRef)(() => api_prisma_1.PrismaModule)],
|
|
28
|
+
controllers: [message_template_controller_1.MessageTemplateController],
|
|
29
|
+
providers: [message_template_service_1.MessageTemplateService, message_template_admin_service_1.MessageTemplateAdminService],
|
|
30
|
+
exports: [message_template_service_1.MessageTemplateService],
|
|
31
|
+
})
|
|
32
|
+
], MessageTemplateModule);
|
|
33
|
+
//# sourceMappingURL=message-template.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-template.module.js","sourceRoot":"","sources":["../../src/message-template/message-template.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAmD;AACnD,2CAAoD;AAEpD,qFAA+E;AAC/E,+EAA0E;AAC1E,yEAAoE;AAEpE;;;;;;GAMG;AAOI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IANjC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC,CAAC;QACzC,WAAW,EAAE,CAAC,uDAAyB,CAAC;QACxC,SAAS,EAAE,CAAC,iDAAsB,EAAE,4DAA2B,CAAC;QAChE,OAAO,EAAE,CAAC,iDAAsB,CAAC;KAClC,CAAC;GACW,qBAAqB,CAAG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declaração de um modelo de mensagem cujo texto canônico vive em código.
|
|
3
|
+
*
|
|
4
|
+
* O registry é o que faz da tabela `message_template` um **override** em vez da
|
|
5
|
+
* única cópia: o render cai no `fallback` sempre que a linha do banco falta,
|
|
6
|
+
* está desligada, vazia ou com sintaxe quebrada; a tela oferece "restaurar
|
|
7
|
+
* padrão"; e uma library recém-instalada já aparece na tela sem migration
|
|
8
|
+
* nenhuma — a listagem é o registry, não um `SELECT`.
|
|
9
|
+
*
|
|
10
|
+
* Esse último ponto é a diferença deliberada em relação aos prompts de IA, que
|
|
11
|
+
* seguem o mesmo desenho mas listam do banco: lá, prompt registrado sem seed
|
|
12
|
+
* funciona e não aparece na tela, e é preciso uma migration por conjunto.
|
|
13
|
+
*/
|
|
14
|
+
export type MessageTemplateVariable = {
|
|
15
|
+
/** Explica o que a variável carrega. Aparece no editor, ao lado do botão. */
|
|
16
|
+
description?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Valor de exemplo, usado no preview.
|
|
19
|
+
*
|
|
20
|
+
* É obrigatório porque o preview é a única forma de ver onde o texto quebra no
|
|
21
|
+
* balão do WhatsApp antes de ele chegar ao grupo.
|
|
22
|
+
*/
|
|
23
|
+
sample: string | number | boolean;
|
|
24
|
+
};
|
|
25
|
+
export type MessageTemplateDefinition = {
|
|
26
|
+
/** `<module>.<nome>` — ver assertSlugGrammar. */
|
|
27
|
+
slug: string;
|
|
28
|
+
/** Precisa ser igual ao primeiro segmento do slug. */
|
|
29
|
+
moduleSlug: string;
|
|
30
|
+
/** Rótulo na tela, por código de locale. `pt` é obrigatório. */
|
|
31
|
+
name: Record<string, string>;
|
|
32
|
+
/** Uma linha dizendo quando a mensagem sai. Opcional, por locale. */
|
|
33
|
+
description?: Record<string, string>;
|
|
34
|
+
/**
|
|
35
|
+
* Texto canônico por locale, em Handlebars com o markdown do WhatsApp.
|
|
36
|
+
*
|
|
37
|
+
* É ele que renderiza enquanto ninguém editou — e continua sendo a rede
|
|
38
|
+
* quando o texto editado falha. `pt` é obrigatório.
|
|
39
|
+
*/
|
|
40
|
+
fallback: Record<string, string>;
|
|
41
|
+
variables: Record<string, MessageTemplateVariable>;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Chamado no carregamento do módulo de cada library, a partir do
|
|
45
|
+
* `*.message-templates.ts` dela. Slug duplicado lança, então duas libraries não
|
|
46
|
+
* reivindicam o mesmo modelo em silêncio.
|
|
47
|
+
*/
|
|
48
|
+
export declare function registerMessageTemplates(definitions: MessageTemplateDefinition[]): void;
|
|
49
|
+
export declare function getMessageTemplateDefinition(slug: string): MessageTemplateDefinition | undefined;
|
|
50
|
+
export declare function listMessageTemplateDefinitions(moduleSlug?: string): MessageTemplateDefinition[];
|
|
51
|
+
/** Os módulos que registraram algum modelo, para o agrupamento da tela. */
|
|
52
|
+
export declare function listMessageTemplateModules(): string[];
|
|
53
|
+
/** Auxiliar de teste — o registry é estado de módulo. */
|
|
54
|
+
export declare function clearMessageTemplateRegistry(): void;
|
|
55
|
+
//# sourceMappingURL=message-template.registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-template.registry.d.ts","sourceRoot":"","sources":["../../src/message-template/message-template.registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACpD,CAAC;AAwCF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,yBAAyB,EAAE,GACvC,IAAI,CAWN;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GACX,yBAAyB,GAAG,SAAS,CAEvC;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,CAAC,EAAE,MAAM,GAClB,yBAAyB,EAAE,CAI7B;AAED,2EAA2E;AAC3E,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD;AAED,yDAAyD;AACzD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerMessageTemplates = registerMessageTemplates;
|
|
4
|
+
exports.getMessageTemplateDefinition = getMessageTemplateDefinition;
|
|
5
|
+
exports.listMessageTemplateDefinitions = listMessageTemplateDefinitions;
|
|
6
|
+
exports.listMessageTemplateModules = listMessageTemplateModules;
|
|
7
|
+
exports.clearMessageTemplateRegistry = clearMessageTemplateRegistry;
|
|
8
|
+
const registry = new Map();
|
|
9
|
+
const SLUG_RE = /^([a-z0-9-]+)\.([a-z0-9-]+)$/;
|
|
10
|
+
/** O locale que todo template precisa ter: é o idioma em que a equipe lê o aviso. */
|
|
11
|
+
const REQUIRED_LOCALE = 'pt';
|
|
12
|
+
function assertDefinition(definition) {
|
|
13
|
+
var _a, _b, _c, _d;
|
|
14
|
+
const match = SLUG_RE.exec(definition.slug);
|
|
15
|
+
if (!match) {
|
|
16
|
+
throw new Error(`Slug de modelo de mensagem inválido: "${definition.slug}". ` +
|
|
17
|
+
'Esperado <module>.<nome>, em minúsculas.');
|
|
18
|
+
}
|
|
19
|
+
// Sem isto, duas libraries poderiam brigar por um slug curto como "paid" e a
|
|
20
|
+
// tela não teria como dizer de quem é o modelo.
|
|
21
|
+
if (match[1] !== definition.moduleSlug) {
|
|
22
|
+
throw new Error(`O modelo "${definition.slug}" declara moduleSlug "${definition.moduleSlug}", ` +
|
|
23
|
+
`mas o slug diz "${match[1]}".`);
|
|
24
|
+
}
|
|
25
|
+
if (!((_b = (_a = definition.name) === null || _a === void 0 ? void 0 : _a[REQUIRED_LOCALE]) === null || _b === void 0 ? void 0 : _b.trim())) {
|
|
26
|
+
throw new Error(`O modelo "${definition.slug}" não tem nome em "${REQUIRED_LOCALE}".`);
|
|
27
|
+
}
|
|
28
|
+
if (!((_d = (_c = definition.fallback) === null || _c === void 0 ? void 0 : _c[REQUIRED_LOCALE]) === null || _d === void 0 ? void 0 : _d.trim())) {
|
|
29
|
+
throw new Error(`O modelo "${definition.slug}" não tem texto padrão em "${REQUIRED_LOCALE}". ` +
|
|
30
|
+
'Sem ele, uma linha quebrada no banco deixaria o aviso mudo.');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Chamado no carregamento do módulo de cada library, a partir do
|
|
35
|
+
* `*.message-templates.ts` dela. Slug duplicado lança, então duas libraries não
|
|
36
|
+
* reivindicam o mesmo modelo em silêncio.
|
|
37
|
+
*/
|
|
38
|
+
function registerMessageTemplates(definitions) {
|
|
39
|
+
for (const definition of definitions) {
|
|
40
|
+
assertDefinition(definition);
|
|
41
|
+
const existing = registry.get(definition.slug);
|
|
42
|
+
if (existing && existing !== definition) {
|
|
43
|
+
throw new Error(`O modelo de mensagem "${definition.slug}" já está registrado.`);
|
|
44
|
+
}
|
|
45
|
+
registry.set(definition.slug, definition);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function getMessageTemplateDefinition(slug) {
|
|
49
|
+
return registry.get(slug);
|
|
50
|
+
}
|
|
51
|
+
function listMessageTemplateDefinitions(moduleSlug) {
|
|
52
|
+
const all = [...registry.values()];
|
|
53
|
+
const filtered = moduleSlug ? all.filter((d) => d.moduleSlug === moduleSlug) : all;
|
|
54
|
+
return filtered.sort((a, b) => a.slug.localeCompare(b.slug));
|
|
55
|
+
}
|
|
56
|
+
/** Os módulos que registraram algum modelo, para o agrupamento da tela. */
|
|
57
|
+
function listMessageTemplateModules() {
|
|
58
|
+
return [...new Set([...registry.values()].map((d) => d.moduleSlug))].sort();
|
|
59
|
+
}
|
|
60
|
+
/** Auxiliar de teste — o registry é estado de módulo. */
|
|
61
|
+
function clearMessageTemplateRegistry() {
|
|
62
|
+
registry.clear();
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=message-template.registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-template.registry.js","sourceRoot":"","sources":["../../src/message-template/message-template.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { PrismaService } from '@hed-hog/api-prisma';
|
|
2
|
+
import { MessageTemplateDefinition } from './message-template.registry';
|
|
3
|
+
/**
|
|
4
|
+
* Idioma em que a plataforma escreve para a própria equipe.
|
|
5
|
+
*
|
|
6
|
+
* O aviso interno não é mensagem ao cliente: quem lê é quem trabalha aqui, e o
|
|
7
|
+
* fato gerador pode ter chegado em qualquer idioma. Por isso o corpo sai no
|
|
8
|
+
* idioma do painel, e não no de quem comprou ou abriu o chamado.
|
|
9
|
+
*/
|
|
10
|
+
export declare const DEFAULT_MESSAGE_LOCALE = "pt";
|
|
11
|
+
/**
|
|
12
|
+
* Renderiza o texto das mensagens que saem por canal que não é e-mail.
|
|
13
|
+
*
|
|
14
|
+
* O corpo é texto puro com o markdown do WhatsApp, e não HTML: não dá para
|
|
15
|
+
* reusar o `MailService`, cujo render troca quebra de linha por `<br/>` — o que
|
|
16
|
+
* no WhatsApp apareceria literal na tela.
|
|
17
|
+
*
|
|
18
|
+
* **Nunca devolve nulo para um slug registrado.** Linha ausente, `is_active`
|
|
19
|
+
* desligado, corpo em branco, sintaxe quebrada ou banco fora do ar caem no texto
|
|
20
|
+
* canônico do registry. Isso é o que permite ao chamador parar de manter um
|
|
21
|
+
* construtor de texto em código só como rede: a rede é o `fallback`.
|
|
22
|
+
*/
|
|
23
|
+
export declare class MessageTemplateService {
|
|
24
|
+
private readonly prisma;
|
|
25
|
+
private readonly logger;
|
|
26
|
+
constructor(prisma: PrismaService);
|
|
27
|
+
/**
|
|
28
|
+
* O texto pronto, ou `null` quando o slug não está registrado.
|
|
29
|
+
*
|
|
30
|
+
* Nulo aqui é erro de programação (slug digitado errado, library não
|
|
31
|
+
* carregada), não configuração — daí ser o único caso.
|
|
32
|
+
*/
|
|
33
|
+
render(slug: string, variables: Record<string, unknown>, locale?: string): Promise<string | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Renderiza o texto canônico do registry.
|
|
36
|
+
*
|
|
37
|
+
* Estático e público porque o teste que varre o registry inteiro o usa para
|
|
38
|
+
* afirmar que todo modelo registrado compila com as suas amostras — é ele que
|
|
39
|
+
* substitui a manutenção do texto em dois lugares.
|
|
40
|
+
*/
|
|
41
|
+
static renderFallback(definition: MessageTemplateDefinition, variables: Record<string, unknown>, locale?: string): string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Compila e renderiza, ou `null` em qualquer desfecho ruim.
|
|
44
|
+
*
|
|
45
|
+
* `noEscape` de propósito: escapar encheria o WhatsApp de `'`. Template
|
|
46
|
+
* preenchido só com blocos que não casaram renderiza vazio, e mandar mensagem
|
|
47
|
+
* em branco para o grupo é pior que mandar o texto padrão.
|
|
48
|
+
*/
|
|
49
|
+
private static compile;
|
|
50
|
+
/**
|
|
51
|
+
* O corpo editado no painel, ou `null` quando não há nada utilizável.
|
|
52
|
+
*
|
|
53
|
+
* Sem linha no idioma pedido, usa a primeira que existir: um texto escrito só
|
|
54
|
+
* em português continua valendo para quem abriu o painel em inglês — o
|
|
55
|
+
* contrário seria a equipe receber o padrão por causa do idioma da sessão.
|
|
56
|
+
*/
|
|
57
|
+
private readEditedBody;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=message-template.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-template.service.d.ts","sourceRoot":"","sources":["../../src/message-template/message-template.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,EACL,yBAAyB,EAE1B,MAAM,6BAA6B,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,qBACa,sBAAsB;IAK/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;gBAI/C,MAAM,EAAE,aAAa;IAGxC;;;;;OAKG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,SAAyB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBzB;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACnB,UAAU,EAAE,yBAAyB,EACrC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,SAAyB,GAC9B,MAAM,GAAG,IAAI;IAOhB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAYtB;;;;;;OAMG;YACW,cAAc;CA8B7B"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
45
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
46
|
+
};
|
|
47
|
+
var MessageTemplateService_1;
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.MessageTemplateService = exports.DEFAULT_MESSAGE_LOCALE = void 0;
|
|
50
|
+
const api_prisma_1 = require("@hed-hog/api-prisma");
|
|
51
|
+
const common_1 = require("@nestjs/common");
|
|
52
|
+
const Handlebars = __importStar(require("handlebars"));
|
|
53
|
+
const message_template_registry_1 = require("./message-template.registry");
|
|
54
|
+
/**
|
|
55
|
+
* Idioma em que a plataforma escreve para a própria equipe.
|
|
56
|
+
*
|
|
57
|
+
* O aviso interno não é mensagem ao cliente: quem lê é quem trabalha aqui, e o
|
|
58
|
+
* fato gerador pode ter chegado em qualquer idioma. Por isso o corpo sai no
|
|
59
|
+
* idioma do painel, e não no de quem comprou ou abriu o chamado.
|
|
60
|
+
*/
|
|
61
|
+
exports.DEFAULT_MESSAGE_LOCALE = 'pt';
|
|
62
|
+
/**
|
|
63
|
+
* Renderiza o texto das mensagens que saem por canal que não é e-mail.
|
|
64
|
+
*
|
|
65
|
+
* O corpo é texto puro com o markdown do WhatsApp, e não HTML: não dá para
|
|
66
|
+
* reusar o `MailService`, cujo render troca quebra de linha por `<br/>` — o que
|
|
67
|
+
* no WhatsApp apareceria literal na tela.
|
|
68
|
+
*
|
|
69
|
+
* **Nunca devolve nulo para um slug registrado.** Linha ausente, `is_active`
|
|
70
|
+
* desligado, corpo em branco, sintaxe quebrada ou banco fora do ar caem no texto
|
|
71
|
+
* canônico do registry. Isso é o que permite ao chamador parar de manter um
|
|
72
|
+
* construtor de texto em código só como rede: a rede é o `fallback`.
|
|
73
|
+
*/
|
|
74
|
+
let MessageTemplateService = MessageTemplateService_1 = class MessageTemplateService {
|
|
75
|
+
constructor(prisma) {
|
|
76
|
+
this.prisma = prisma;
|
|
77
|
+
this.logger = new common_1.Logger(MessageTemplateService_1.name);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* O texto pronto, ou `null` quando o slug não está registrado.
|
|
81
|
+
*
|
|
82
|
+
* Nulo aqui é erro de programação (slug digitado errado, library não
|
|
83
|
+
* carregada), não configuração — daí ser o único caso.
|
|
84
|
+
*/
|
|
85
|
+
async render(slug, variables, locale = exports.DEFAULT_MESSAGE_LOCALE) {
|
|
86
|
+
const definition = (0, message_template_registry_1.getMessageTemplateDefinition)(slug);
|
|
87
|
+
if (!definition) {
|
|
88
|
+
this.logger.error(`Modelo de mensagem "${slug}" não está registrado; nada a renderizar.`);
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const edited = await this.readEditedBody(slug, locale);
|
|
92
|
+
if (edited) {
|
|
93
|
+
const rendered = MessageTemplateService_1.compile(edited, variables);
|
|
94
|
+
if (rendered)
|
|
95
|
+
return rendered;
|
|
96
|
+
// Texto editado que não compila ou renderiza vazio não pode calar o aviso.
|
|
97
|
+
this.logger.warn(`O texto editado do modelo "${slug}" não pôde ser usado; caindo no padrão.`);
|
|
98
|
+
}
|
|
99
|
+
return MessageTemplateService_1.renderFallback(definition, variables, locale);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Renderiza o texto canônico do registry.
|
|
103
|
+
*
|
|
104
|
+
* Estático e público porque o teste que varre o registry inteiro o usa para
|
|
105
|
+
* afirmar que todo modelo registrado compila com as suas amostras — é ele que
|
|
106
|
+
* substitui a manutenção do texto em dois lugares.
|
|
107
|
+
*/
|
|
108
|
+
static renderFallback(definition, variables, locale = exports.DEFAULT_MESSAGE_LOCALE) {
|
|
109
|
+
var _a;
|
|
110
|
+
const body = (_a = definition.fallback[locale]) !== null && _a !== void 0 ? _a : definition.fallback[exports.DEFAULT_MESSAGE_LOCALE];
|
|
111
|
+
return body ? MessageTemplateService_1.compile(body, variables) : null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Compila e renderiza, ou `null` em qualquer desfecho ruim.
|
|
115
|
+
*
|
|
116
|
+
* `noEscape` de propósito: escapar encheria o WhatsApp de `'`. Template
|
|
117
|
+
* preenchido só com blocos que não casaram renderiza vazio, e mandar mensagem
|
|
118
|
+
* em branco para o grupo é pior que mandar o texto padrão.
|
|
119
|
+
*/
|
|
120
|
+
static compile(body, variables) {
|
|
121
|
+
try {
|
|
122
|
+
const rendered = Handlebars.compile(body, { noEscape: true })(variables).trim();
|
|
123
|
+
return rendered || null;
|
|
124
|
+
}
|
|
125
|
+
catch (_a) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* O corpo editado no painel, ou `null` quando não há nada utilizável.
|
|
131
|
+
*
|
|
132
|
+
* Sem linha no idioma pedido, usa a primeira que existir: um texto escrito só
|
|
133
|
+
* em português continua valendo para quem abriu o painel em inglês — o
|
|
134
|
+
* contrário seria a equipe receber o padrão por causa do idioma da sessão.
|
|
135
|
+
*/
|
|
136
|
+
async readEditedBody(slug, locale) {
|
|
137
|
+
var _a, _b, _c, _d;
|
|
138
|
+
try {
|
|
139
|
+
const template = await this.prisma.message_template.findUnique({
|
|
140
|
+
where: { slug },
|
|
141
|
+
select: {
|
|
142
|
+
is_active: true,
|
|
143
|
+
message_template_locale: {
|
|
144
|
+
select: { body: true, locale: { select: { code: true } } },
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
if (!(template === null || template === void 0 ? void 0 : template.is_active))
|
|
149
|
+
return null;
|
|
150
|
+
const rows = (_a = template.message_template_locale) !== null && _a !== void 0 ? _a : [];
|
|
151
|
+
const match = (_b = rows.find((row) => { var _a; return ((_a = row.locale) === null || _a === void 0 ? void 0 : _a.code) === locale; })) !== null && _b !== void 0 ? _b : rows[0];
|
|
152
|
+
return String((_c = match === null || match === void 0 ? void 0 : match.body) !== null && _c !== void 0 ? _c : '').trim() || null;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
this.logger.warn(`Não foi possível ler o modelo "${slug}": ${(_d = error === null || error === void 0 ? void 0 : error.message) !== null && _d !== void 0 ? _d : 'erro desconhecido'}`);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
exports.MessageTemplateService = MessageTemplateService;
|
|
161
|
+
exports.MessageTemplateService = MessageTemplateService = MessageTemplateService_1 = __decorate([
|
|
162
|
+
(0, common_1.Injectable)(),
|
|
163
|
+
__param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => api_prisma_1.PrismaService))),
|
|
164
|
+
__metadata("design:paramtypes", [api_prisma_1.PrismaService])
|
|
165
|
+
], MessageTemplateService);
|
|
166
|
+
//# sourceMappingURL=message-template.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-template.service.js","sourceRoot":"","sources":["../../src/message-template/message-template.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nome do evento de notificação no WebSocket (`/realtime`).
|
|
3
|
+
*
|
|
4
|
+
* Segue a convenção `dominio:evento` dos outros produtores (`presence:update`,
|
|
5
|
+
* `lms:waiting-room:tick`). O payload é o mesmo `NotificationStreamEvent` que o
|
|
6
|
+
* SSE já entrega — os dois transportes convivem por tempo indeterminado (o
|
|
7
|
+
* class-app publicado nas lojas só fala SSE), e transporte que carrega dado
|
|
8
|
+
* diferente faz o comportamento do cliente depender de qual dos dois está vivo.
|
|
9
|
+
*/
|
|
10
|
+
export declare const NOTIFICATION_REALTIME_EVENT = "notification:event";
|
|
11
|
+
//# sourceMappingURL=notification.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.constants.d.ts","sourceRoot":"","sources":["../../src/notification/notification.constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NOTIFICATION_REALTIME_EVENT = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Nome do evento de notificação no WebSocket (`/realtime`).
|
|
6
|
+
*
|
|
7
|
+
* Segue a convenção `dominio:evento` dos outros produtores (`presence:update`,
|
|
8
|
+
* `lms:waiting-room:tick`). O payload é o mesmo `NotificationStreamEvent` que o
|
|
9
|
+
* SSE já entrega — os dois transportes convivem por tempo indeterminado (o
|
|
10
|
+
* class-app publicado nas lojas só fala SSE), e transporte que carrega dado
|
|
11
|
+
* diferente faz o comportamento do cliente depender de qual dos dois está vivo.
|
|
12
|
+
*/
|
|
13
|
+
exports.NOTIFICATION_REALTIME_EVENT = 'notification:event';
|
|
14
|
+
//# sourceMappingURL=notification.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.constants.js","sourceRoot":"","sources":["../../src/notification/notification.constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACU,QAAA,2BAA2B,GAAG,oBAAoB,CAAC"}
|
|
@@ -34,18 +34,18 @@ export declare class NotificationController {
|
|
|
34
34
|
user_id: number;
|
|
35
35
|
created_at: Date;
|
|
36
36
|
updated_at: Date;
|
|
37
|
-
|
|
37
|
+
status: import("@prisma/client").$Enums.notification_status_enum;
|
|
38
|
+
started_at: Date | null;
|
|
39
|
+
finished_at: Date | null;
|
|
40
|
+
type: import("@prisma/client").$Enums.notification_type_enum;
|
|
38
41
|
body: string | null;
|
|
39
|
-
status: import("@prisma/client").$Enums.notification_status_3a7944cf59_enum;
|
|
40
42
|
icon: string | null;
|
|
41
43
|
title: string;
|
|
42
44
|
progress: number | null;
|
|
43
|
-
action_type: import("@prisma/client").$Enums.
|
|
45
|
+
action_type: import("@prisma/client").$Enums.notification_action_type_enum | null;
|
|
44
46
|
action_data: import("@prisma/client/runtime/library").JsonValue | null;
|
|
45
47
|
action_url: string | null;
|
|
46
48
|
auto_remove: boolean;
|
|
47
|
-
started_at: Date | null;
|
|
48
|
-
finished_at: Date | null;
|
|
49
49
|
}>;
|
|
50
50
|
updateProgress({ id: userId }: {
|
|
51
51
|
id: any;
|
|
@@ -54,18 +54,18 @@ export declare class NotificationController {
|
|
|
54
54
|
user_id: number;
|
|
55
55
|
created_at: Date;
|
|
56
56
|
updated_at: Date;
|
|
57
|
-
|
|
57
|
+
status: import("@prisma/client").$Enums.notification_status_enum;
|
|
58
|
+
started_at: Date | null;
|
|
59
|
+
finished_at: Date | null;
|
|
60
|
+
type: import("@prisma/client").$Enums.notification_type_enum;
|
|
58
61
|
body: string | null;
|
|
59
|
-
status: import("@prisma/client").$Enums.notification_status_3a7944cf59_enum;
|
|
60
62
|
icon: string | null;
|
|
61
63
|
title: string;
|
|
62
64
|
progress: number | null;
|
|
63
|
-
action_type: import("@prisma/client").$Enums.
|
|
65
|
+
action_type: import("@prisma/client").$Enums.notification_action_type_enum | null;
|
|
64
66
|
action_data: import("@prisma/client/runtime/library").JsonValue | null;
|
|
65
67
|
action_url: string | null;
|
|
66
68
|
auto_remove: boolean;
|
|
67
|
-
started_at: Date | null;
|
|
68
|
-
finished_at: Date | null;
|
|
69
69
|
}>;
|
|
70
70
|
deleteAll({ id }: {
|
|
71
71
|
id: any;
|
|
@@ -77,36 +77,36 @@ export declare class NotificationController {
|
|
|
77
77
|
user_id: number;
|
|
78
78
|
created_at: Date;
|
|
79
79
|
updated_at: Date;
|
|
80
|
-
|
|
80
|
+
status: import("@prisma/client").$Enums.notification_status_enum;
|
|
81
|
+
started_at: Date | null;
|
|
82
|
+
finished_at: Date | null;
|
|
83
|
+
type: import("@prisma/client").$Enums.notification_type_enum;
|
|
81
84
|
body: string | null;
|
|
82
|
-
status: import("@prisma/client").$Enums.notification_status_3a7944cf59_enum;
|
|
83
85
|
icon: string | null;
|
|
84
86
|
title: string;
|
|
85
87
|
progress: number | null;
|
|
86
|
-
action_type: import("@prisma/client").$Enums.
|
|
88
|
+
action_type: import("@prisma/client").$Enums.notification_action_type_enum | null;
|
|
87
89
|
action_data: import("@prisma/client/runtime/library").JsonValue | null;
|
|
88
90
|
action_url: string | null;
|
|
89
91
|
auto_remove: boolean;
|
|
90
|
-
started_at: Date | null;
|
|
91
|
-
finished_at: Date | null;
|
|
92
92
|
}>;
|
|
93
93
|
create(data: CreateNotificationDto): Promise<{
|
|
94
94
|
id: number;
|
|
95
95
|
user_id: number;
|
|
96
96
|
created_at: Date;
|
|
97
97
|
updated_at: Date;
|
|
98
|
-
|
|
98
|
+
status: import("@prisma/client").$Enums.notification_status_enum;
|
|
99
|
+
started_at: Date | null;
|
|
100
|
+
finished_at: Date | null;
|
|
101
|
+
type: import("@prisma/client").$Enums.notification_type_enum;
|
|
99
102
|
body: string | null;
|
|
100
|
-
status: import("@prisma/client").$Enums.notification_status_3a7944cf59_enum;
|
|
101
103
|
icon: string | null;
|
|
102
104
|
title: string;
|
|
103
105
|
progress: number | null;
|
|
104
|
-
action_type: import("@prisma/client").$Enums.
|
|
106
|
+
action_type: import("@prisma/client").$Enums.notification_action_type_enum | null;
|
|
105
107
|
action_data: import("@prisma/client/runtime/library").JsonValue | null;
|
|
106
108
|
action_url: string | null;
|
|
107
109
|
auto_remove: boolean;
|
|
108
|
-
started_at: Date | null;
|
|
109
|
-
finished_at: Date | null;
|
|
110
110
|
}>;
|
|
111
111
|
}
|
|
112
112
|
//# sourceMappingURL=notification.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.module.d.ts","sourceRoot":"","sources":["../../src/notification/notification.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"notification.module.d.ts","sourceRoot":"","sources":["../../src/notification/notification.module.ts"],"names":[],"mappings":"AAOA,qBAWa,kBAAkB;CAAG"}
|
|
@@ -10,6 +10,7 @@ exports.NotificationModule = void 0;
|
|
|
10
10
|
const api_pagination_1 = require("@hed-hog/api-pagination");
|
|
11
11
|
const api_prisma_1 = require("@hed-hog/api-prisma");
|
|
12
12
|
const common_1 = require("@nestjs/common");
|
|
13
|
+
const realtime_module_1 = require("../realtime/realtime.module");
|
|
13
14
|
const notification_controller_1 = require("./notification.controller");
|
|
14
15
|
const notification_service_1 = require("./notification.service");
|
|
15
16
|
let NotificationModule = class NotificationModule {
|
|
@@ -20,6 +21,8 @@ exports.NotificationModule = NotificationModule = __decorate([
|
|
|
20
21
|
imports: [
|
|
21
22
|
(0, common_1.forwardRef)(() => api_prisma_1.PrismaModule),
|
|
22
23
|
(0, common_1.forwardRef)(() => api_pagination_1.PaginationModule),
|
|
24
|
+
// O funil de eventos empurra a notificação pelo WebSocket além do SSE.
|
|
25
|
+
(0, common_1.forwardRef)(() => realtime_module_1.RealtimeModule),
|
|
23
26
|
],
|
|
24
27
|
controllers: [notification_controller_1.NotificationController],
|
|
25
28
|
providers: [notification_service_1.NotificationService],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.module.js","sourceRoot":"","sources":["../../src/notification/notification.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4DAA2D;AAC3D,oDAAmD;AACnD,2CAAoD;AACpD,uEAAmE;AACnE,iEAA6D;
|
|
1
|
+
{"version":3,"file":"notification.module.js","sourceRoot":"","sources":["../../src/notification/notification.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4DAA2D;AAC3D,oDAAmD;AACnD,2CAAoD;AACpD,iEAA6D;AAC7D,uEAAmE;AACnE,iEAA6D;AAatD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAX9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,iCAAgB,CAAC;YAClC,uEAAuE;YACvE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;SACjC;QACD,WAAW,EAAE,CAAC,gDAAsB,CAAC;QACrC,SAAS,EAAE,CAAC,0CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,0CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
|