Membership-System und Bug Fixing (inkl. Nutrition) #8
|
|
@ -294,10 +294,9 @@ async def analyze_with_prompt(slug: str, x_profile_id: Optional[str]=Header(defa
|
||||||
else:
|
else:
|
||||||
raise HTTPException(500, "Keine KI-API konfiguriert")
|
raise HTTPException(500, "Keine KI-API konfiguriert")
|
||||||
|
|
||||||
# Save insight
|
# Save insight (with history - no DELETE)
|
||||||
with get_db() as conn:
|
with get_db() as conn:
|
||||||
cur = get_cursor(conn)
|
cur = get_cursor(conn)
|
||||||
cur.execute("DELETE FROM ai_insights WHERE profile_id=%s AND scope=%s", (pid, slug))
|
|
||||||
cur.execute("INSERT INTO ai_insights (id, profile_id, scope, content, created) VALUES (%s,%s,%s,%s,CURRENT_TIMESTAMP)",
|
cur.execute("INSERT INTO ai_insights (id, profile_id, scope, content, created) VALUES (%s,%s,%s,%s,CURRENT_TIMESTAMP)",
|
||||||
(str(uuid.uuid4()), pid, slug, content))
|
(str(uuid.uuid4()), pid, slug, content))
|
||||||
|
|
||||||
|
|
@ -431,15 +430,14 @@ async def analyze_pipeline(x_profile_id: Optional[str]=Header(default=None), ses
|
||||||
if goals_text:
|
if goals_text:
|
||||||
final_content += "\n\n" + goals_text
|
final_content += "\n\n" + goals_text
|
||||||
|
|
||||||
# Save as 'gesamt' scope
|
# Save as 'pipeline' scope (with history - no DELETE)
|
||||||
with get_db() as conn:
|
with get_db() as conn:
|
||||||
cur = get_cursor(conn)
|
cur = get_cursor(conn)
|
||||||
cur.execute("DELETE FROM ai_insights WHERE profile_id=%s AND scope='gesamt'", (pid,))
|
cur.execute("INSERT INTO ai_insights (id, profile_id, scope, content, created) VALUES (%s,%s,'pipeline',%s,CURRENT_TIMESTAMP)",
|
||||||
cur.execute("INSERT INTO ai_insights (id, profile_id, scope, content, created) VALUES (%s,%s,'gesamt',%s,CURRENT_TIMESTAMP)",
|
|
||||||
(str(uuid.uuid4()), pid, final_content))
|
(str(uuid.uuid4()), pid, final_content))
|
||||||
|
|
||||||
inc_ai_usage(pid)
|
inc_ai_usage(pid)
|
||||||
return {"scope": "gesamt", "content": final_content, "stage1": stage1_results}
|
return {"scope": "pipeline", "content": final_content, "stage1": stage1_results}
|
||||||
|
|
||||||
|
|
||||||
@router.get("/ai/usage")
|
@router.get("/ai/usage")
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ export default function Analysis() {
|
||||||
grouped[key].push(ins)
|
grouped[key].push(ins)
|
||||||
})
|
})
|
||||||
|
|
||||||
const activePrompts = prompts.filter(p=>p.active && !p.slug.startsWith('pipeline_'))
|
const activePrompts = prompts.filter(p=>p.active && !p.slug.startsWith('pipeline_') && p.slug !== 'pipeline')
|
||||||
|
|
||||||
// Pipeline is available if the "pipeline" prompt is active
|
// Pipeline is available if the "pipeline" prompt is active
|
||||||
const pipelinePrompt = prompts.find(p=>p.slug==='pipeline')
|
const pipelinePrompt = prompts.find(p=>p.slug==='pipeline')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user