from dataclasses import dataclass from datetime import datetime from typing import List, Dict from src.domain.enums.interview_status import InterviewStatus from src.domain.enums.emotion_types import EmotionType @dataclass class Interview: id: str candidate_id: str job_id: str video_path: str status: InterviewStatus questions: List[str] responses_transcription: List[str] timestamp: datetime duration: int emotional_analysis: Dict[EmotionType, float] def is_completed(self) -> bool: return self.status == InterviewStatus.COMPLETED def is_reviewable(self) -> bool: return self.status in [ InterviewStatus.COMPLETED, InterviewStatus.PENDING_REVIEW, ]