rag-backend-api / src /application /use_cases /submit_feedback.py
Loren's picture
First commit
a8c7066
Raw History Blame Contribute Delete
993 Bytes
from src.application.dto.feedback_dto import SubmitFeedbackCommand, SubmitFeedbackResult
from src.application.ports.inbound.submit_feedback_use_case import SubmitFeedbackUseCase
from src.application.ports.outbound.observability_port import ObservabilityPort
from src.domain.model.feedback_models import UserFeedback
class SubmitFeedbackService(SubmitFeedbackUseCase):
def __init__(self, observability_port: ObservabilityPort) -> None:
self._obs = observability_port
def execute(self, command: SubmitFeedbackCommand) -> SubmitFeedbackResult:
feedback = UserFeedback(
feedback_type=command.feedback_type,
feedback_comment=command.comment,
)
self._obs.create_score(
trace_id=command.trace_id,
name="user_feedback",
value=command.score_value,
comment=feedback.feedback_comment or f"User {feedback.feedback_type} feedback",
)
return SubmitFeedbackResult(status="ok")