Merge pull request 'bug Fix Login' (#2) from develop into main
All checks were successful
Deploy Production / deploy (push) Successful in 55s
Build Test / lint-backend (push) Successful in 1s
Build Test / build-frontend (push) Successful in 13s

Reviewed-on: #2
This commit is contained in:
Lars 2026-03-19 08:29:48 +01:00
commit b789c1bd44

View File

@ -43,7 +43,11 @@ AVATAR_COLORS = ['#1D9E75','#378ADD','#D85A30','#EF9F27','#7F77DD','#D4537E','#6
@app.on_event("startup") @app.on_event("startup")
async def startup_event(): async def startup_event():
"""Run migrations and initialization on startup.""" """Run migrations and initialization on startup."""
init_db() try:
init_db()
except Exception as e:
print(f"⚠️ init_db() failed (non-fatal): {e}")
# Don't crash on startup - pipeline prompt can be created manually
def init_db(): def init_db():
"""Initialize database - Schema is loaded by startup.sh""" """Initialize database - Schema is loaded by startup.sh"""
@ -51,23 +55,39 @@ def init_db():
# This function kept for backwards compatibility # This function kept for backwards compatibility
# Ensure "pipeline" master prompt exists # Ensure "pipeline" master prompt exists
with get_db() as conn: try:
cur = get_cursor(conn) with get_db() as conn:
cur.execute("SELECT COUNT(*) as count FROM ai_prompts WHERE slug='pipeline'") cur = get_cursor(conn)
if cur.fetchone()['count'] == 0: # Check if table exists first
cur.execute(""" cur.execute("""
INSERT INTO ai_prompts (slug, name, description, template, active, sort_order) SELECT EXISTS (
VALUES ( SELECT FROM information_schema.tables
'pipeline', WHERE table_schema = 'public'
'Mehrstufige Gesamtanalyse', AND table_name = 'ai_prompts'
'Master-Schalter für die gesamte Pipeline. Deaktiviere diese Analyse, um die Pipeline komplett zu verstecken.', ) as table_exists
'PIPELINE_MASTER',
true,
-10
)
""") """)
conn.commit() if not cur.fetchone()['table_exists']:
print("✓ Pipeline master prompt created") print("⚠️ ai_prompts table doesn't exist yet - skipping pipeline prompt creation")
return
cur.execute("SELECT COUNT(*) as count FROM ai_prompts WHERE slug='pipeline'")
if cur.fetchone()['count'] == 0:
cur.execute("""
INSERT INTO ai_prompts (slug, name, description, template, active, sort_order)
VALUES (
'pipeline',
'Mehrstufige Gesamtanalyse',
'Master-Schalter für die gesamte Pipeline. Deaktiviere diese Analyse, um die Pipeline komplett zu verstecken.',
'PIPELINE_MASTER',
true,
-10
)
""")
conn.commit()
print("✓ Pipeline master prompt created")
except Exception as e:
print(f"⚠️ Could not create pipeline prompt: {e}")
# Don't fail startup - prompt can be created manually
# ── Helper: get profile_id from header ─────────────────────────────────────── # ── Helper: get profile_id from header ───────────────────────────────────────
def get_pid(x_profile_id: Optional[str] = Header(default=None)) -> str: def get_pid(x_profile_id: Optional[str] = Header(default=None)) -> str: