29 lines
No EOL
1.4 KiB
Python
29 lines
No EOL
1.4 KiB
Python
from sqlalchemy.orm import Session
|
|
from models import ai_interaction as models_ai_interaction
|
|
from schemas import ai_interaction as schemas_ai_interaction
|
|
|
|
def create_ai_interaction(db: Session, ai_interaction: schemas_ai_interaction.AiInteractionCreate):
|
|
"""Crée une nouvelle interaction IA dans la base de données."""
|
|
db_ai_interaction = models_ai_interaction.AiInteraction(
|
|
user_id=ai_interaction.user_id,
|
|
document_id=ai_interaction.document_id,
|
|
job_offer_text=ai_interaction.job_offer_text,
|
|
cv_text_used=ai_interaction.cv_text_used,
|
|
ai_request=ai_interaction.ai_request,
|
|
ai_response=ai_interaction.ai_response,
|
|
score=ai_interaction.score,
|
|
analysis_results=ai_interaction.analysis_results,
|
|
interaction_type=ai_interaction.interaction_type
|
|
)
|
|
db.add(db_ai_interaction)
|
|
db.commit()
|
|
db.refresh(db_ai_interaction)
|
|
return db_ai_interaction
|
|
|
|
def get_ai_interactions_by_user(db: Session, user_id: int):
|
|
"""Récupère toutes les interactions IA d'un utilisateur."""
|
|
return db.query(models_ai_interaction.AiInteraction).filter(models_ai_interaction.AiInteraction.user_id == user_id).all()
|
|
|
|
def get_ai_interaction_by_id(db: Session, interaction_id: int):
|
|
"""Récupère une interaction IA par son ID."""
|
|
return db.query(models_ai_interaction.AiInteraction).filter(models_ai_interaction.AiInteraction.id == interaction_id).first() |