package dev.awesomedev.mirim.web.dto;

import dev.awesomedev.mirim.domain.User;

/**
 * 이 파일이 하는 일:
 * 회원가입 성공 응답 {id, username, name}을 담는 DTO다.
 *
 * 학습 포인트: UserResponse(role·track 포함)를 재사용하지 않고 따로 만든 이유 —
 * 가입 응답은 "계정이 만들어졌다"는 확인만 하면 되고,
 * 응답마다 전용 DTO를 두면 나중에 한쪽 화면의 요구가 바뀌어도 다른 API가 흔들리지 않는다.
 */
public record SignupResponse(Long id, String username, String name) {

    /** User 엔티티 → 가입 응답 DTO 변환 */
    public static SignupResponse from(User user) {
        return new SignupResponse(user.getId(), user.getUsername(), user.getName());
    }
}
