Spaces:
Paused
Paused
Update main.py
Browse files
main.py
CHANGED
|
@@ -407,20 +407,26 @@ def policy_windows():
|
|
| 407 |
|
| 408 |
@app.get("/api/leads")
|
| 409 |
@with_db_retry
|
| 410 |
-
def get_leads():
|
| 411 |
limit = max(1, min(int(request.args.get("limit", 50)), 200))
|
| 412 |
min_score = float(request.args.get("min_score", 0))
|
| 413 |
source = request.args.get("source")
|
|
|
|
|
|
|
| 414 |
sql = (
|
| 415 |
-
"SELECT object_id, source, title, creator, risk_score, top_signals "
|
| 416 |
-
"FROM flagged_leads
|
|
|
|
|
|
|
| 417 |
)
|
| 418 |
args = [min_score]
|
| 419 |
if source:
|
| 420 |
-
sql += " AND source = %s "
|
| 421 |
args.append(source)
|
| 422 |
-
|
|
|
|
| 423 |
args.append(limit)
|
|
|
|
| 424 |
with cursor() as cur:
|
| 425 |
cur.execute(sql, args)
|
| 426 |
rows = cur.fetchall()
|
|
|
|
| 407 |
|
| 408 |
@app.get("/api/leads")
|
| 409 |
@with_db_retry
|
| 410 |
+
def get_leads():
|
| 411 |
limit = max(1, min(int(request.args.get("limit", 50)), 200))
|
| 412 |
min_score = float(request.args.get("min_score", 0))
|
| 413 |
source = request.args.get("source")
|
| 414 |
+
|
| 415 |
+
# CORRECTED SQL: Join flagged_leads with objects table to filter on image_url
|
| 416 |
sql = (
|
| 417 |
+
"SELECT fl.object_id, fl.source, fl.title, fl.creator, fl.risk_score, fl.top_signals "
|
| 418 |
+
"FROM flagged_leads fl "
|
| 419 |
+
"JOIN objects o ON fl.object_id = o.object_id "
|
| 420 |
+
"WHERE fl.risk_score >= %s AND o.image_url IS NOT NULL AND o.image_url != '' "
|
| 421 |
)
|
| 422 |
args = [min_score]
|
| 423 |
if source:
|
| 424 |
+
sql += " AND fl.source = %s "
|
| 425 |
args.append(source)
|
| 426 |
+
|
| 427 |
+
sql += " ORDER BY fl.risk_score DESC LIMIT %s"
|
| 428 |
args.append(limit)
|
| 429 |
+
|
| 430 |
with cursor() as cur:
|
| 431 |
cur.execute(sql, args)
|
| 432 |
rows = cur.fetchall()
|