Initial commit of Descrybe v2 without local scratch artifacts.

Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
This commit is contained in:
2026-08-09 22:47:43 +02:00
commit 8580c996c3
1285 changed files with 325780 additions and 0 deletions
@@ -0,0 +1,79 @@
package httpapi
import (
"net/http"
"strings"
"github.com/descrybe/descrybe-v2/apps/api/internal/campaigns"
"github.com/descrybe/descrybe-v2/apps/api/internal/mail"
)
// POST /api/admin/settings/mail/test — send a one-off SMTP probe using platform settings.
func (s *Server) handleAdminTestMail(w http.ResponseWriter, r *http.Request) {
if s.Mail == nil {
Error(w, http.StatusServiceUnavailable, "mailer unavailable")
return
}
var body struct {
To string `json:"to"`
}
if err := DecodeJSONOptional(r, &body); err != nil {
Error(w, http.StatusBadRequest, "invalid json")
return
}
to := strings.TrimSpace(body.To)
if to == "" {
if email, ok := s.sessionUserEmail(r.Context()); ok {
to = email
}
}
if to == "" {
Error(w, http.StatusBadRequest, "to is required")
return
}
normalized, err := campaigns.NormalizeEmail(to)
if err != nil {
Error(w, http.StatusBadRequest, "invalid email")
return
}
to = normalized
if s.PlatformSettings != nil {
if dry, err := s.PlatformSettings.ResolveEmailDryRun(r.Context()); err == nil && dry.DryRun {
JSON(w, http.StatusOK, map[string]any{
"status": "skipped",
"smtp_enabled": false,
"dry_run": true,
"message": "Email dry-run is on; disable dry-run in admin platform mail settings to send a real probe",
})
return
}
}
enabled := s.Mail.Enabled()
if !enabled {
JSON(w, http.StatusOK, map[string]any{
"status": "skipped",
"smtp_enabled": false,
"message": "SMTP is not configured in admin platform mail settings",
})
return
}
msg := mail.Message{
To: to,
Subject: "Descrybe SMTP test",
Text: "This is a Descrybe platform SMTP test message.",
HTML: "<p>This is a Descrybe platform SMTP test message.</p>",
}
if err := s.Mail.Send(msg); err != nil {
JSON(w, http.StatusOK, map[string]any{
"status": "failed",
"smtp_enabled": true,
"message": "SMTP send failed — check host/credentials in platform mail settings",
})
return
}
JSON(w, http.StatusOK, map[string]any{
"status": "ok",
"smtp_enabled": true,
"message": "Test message accepted by SMTP",
})
}