Spaces:
Sleeping
Sleeping
File size: 993 Bytes
a8c7066 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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") |