import json from fastapi import APIRouter, Depends, HTTPException from app.database import get_db from app.repository import list_objects, get_object, object_pairs router=APIRouter(prefix="/api/v1/objects", tags=["objects"]) @router.get("") def get_objects(limit:int=100, db=Depends(get_db)): return list_objects(db, limit) @router.get("/{object_id}") def get_object_detail(object_id:str, db=Depends(get_db)): obj=get_object(db, object_id) if not obj: raise HTTPException(status_code=404, detail="Object not found") return obj @router.get("/{object_id}/pairs") def get_object_related_pairs(object_id:str, limit:int=25, db=Depends(get_db)): rows=object_pairs(db, object_id, limit) return [{"pair_id":r.pair_id,"final_score":r.final_score,"risk_label":r.risk_label,"top_factors":json.loads(r.top_factors_json)} for r in rows]