petter2025's picture
Add FastAPI app
2d521fd verified
import datetime
from sqlalchemy.orm import Session
from app.database.models_intents import IntentDB
from typing import Any, Dict, Optional
def save_evaluated_intent(
db: Session,
deterministic_id: str,
intent_type: str,
api_payload: Dict[str, Any],
oss_payload: Dict[str, Any],
environment: str,
risk_score: float
) -> IntentDB:
existing = db.query(IntentDB).filter(IntentDB.deterministic_id == deterministic_id).one_or_none()
if existing:
existing.evaluated_at = datetime.datetime.utcnow()
existing.risk_score = str(risk_score)
existing.oss_payload = oss_payload
db.add(existing)
db.commit()
db.refresh(existing)
return existing
intent = IntentDB(
deterministic_id=deterministic_id,
intent_type=intent_type,
payload=api_payload,
oss_payload=oss_payload,
environment=environment,
evaluated_at=datetime.datetime.utcnow(),
risk_score=str(risk_score)
)
db.add(intent)
db.commit()
db.refresh(intent)
return intent
def get_intent_by_deterministic_id(db: Session, deterministic_id: str) -> Optional[IntentDB]:
return db.query(IntentDB).filter(IntentDB.deterministic_id == deterministic_id).one_or_none()