feat: add case-level AI summary endpoint

POST /api/cases/:caseId/summarize combines extracted text from all of
a case's documents and runs the existing AI analysis prompt, storing
the result as a case-level analysis (document_id: null). Powers the
"Özet Hazırla" button on the case detail screen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
mstfyldz
2026-08-09 16:14:41 +03:00
co-authored by Claude Sonnet 5
parent 5ddf6ce0cf
commit 9f5c5c1e45
3 changed files with 52 additions and 4 deletions
+4 -3
View File
@@ -16,9 +16,10 @@ const ANALYSIS_SYSTEM_PROMPT = `
Sadece ve sadece JSON döndür, başka hiçbir açıklama ekleme.
`;
// uploadDocument ve registerLocalDocument'in ortak kullandığı AI analiz adımı:
// çıkarılmış metni modele gönderip yapılandırılmış özet JSON'u üretir.
async function runDocumentAnalysis(extractedText: string): Promise<{ summaryJson: any; aiModel: string }> {
// uploadDocument, registerLocalDocument ve summarizeCase'in (case.controller.ts)
// ortak kullandığı AI analiz adımı: çıkarılmış metni modele gönderip yapılandırılmış
// özet JSON'u üretir.
export async function runDocumentAnalysis(extractedText: string): Promise<{ summaryJson: any; aiModel: string }> {
const aiModel = process.env.AI_MODEL || 'mizan-fixed';
const runpodUrl = process.env.RUNPOD_API_BASE_URL || 'https://q190env94stwis-11434.proxy.runpod.net';