package dev.awesomedev.mirim.web.dto;

import dev.awesomedev.mirim.domain.Submission;

import java.time.Instant;

/**
 * 이 파일이 하는 일:
 * 멘토용 제출물 목록 API의 응답 한 건을 담는 DTO다.
 * 멘토는 누가(studentName) 어떤 과제(assignmentTitle)를 냈는지 한눈에 봐야 하므로
 * 학생 이름과 과제 제목을 함께 담는다.
 */
public record MentorSubmissionResponse(Long id, Long assignmentId, String assignmentTitle,
                                       Long studentId, String studentName,
                                       String content, String link, Instant submittedAt,
                                       String feedback, String status) {

    public static MentorSubmissionResponse from(Submission submission) {
        return new MentorSubmissionResponse(
                submission.getId(),
                submission.getAssignment().getId(),
                submission.getAssignment().getTitle(),
                submission.getUser().getId(),
                submission.getUser().getName(),
                submission.getContent(),
                submission.getLink(),
                submission.getSubmittedAt(),
                submission.getFeedback(),
                submission.getStatus());
    }
}
