| 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] |
|
|