feat(PROJ-44): ocr_status/ocr_chars in MailDetail + v1 API

GET /api/mails/{id} liefert jetzt ocr_status + ocr_chars fuer das GUI-
Badge und den konditionalen Download-Button. Die externe v1-API
(/api/v1/mails/{id}) bekommt zusaetzlich ocr_status, damit CRM-
Integrationen entscheiden koennen, ob ein OCR-Text-Pull lohnt.
This commit is contained in:
sysops
2026-05-10 22:21:05 +02:00
parent 62a130d208
commit a44fd1ae44
2 changed files with 19 additions and 0 deletions
+11
View File
@@ -311,6 +311,15 @@ func (s *Server) handleGetMail(w http.ResponseWriter, r *http.Request) {
}
}
// PROJ-44: OCR status + extracted character count for the GUI badge and
// the conditional "OCR-Text herunterladen" button. Errors are swallowed
// silently so a missing ocr_chars column on an old DB does not break the
// detail view; defaults are returned by GetOCRMeta in that case.
ocrStatus, ocrChars, _ := s.store.GetOCRMeta(r.Context(), id)
if ocrStatus == "" {
ocrStatus = "pending"
}
writeJSON(w, http.StatusOK, map[string]interface{}{
"id": id,
"from": pm.From,
@@ -326,6 +335,8 @@ func (s *Server) handleGetMail(w http.ResponseWriter, r *http.Request) {
"verify_ok": verifyOK,
"verified_at": verifiedAt,
"thread_id": threadID,
"ocr_status": ocrStatus,
"ocr_chars": ocrChars,
})
}