namespace Application.Features.Api.TrackRecord.GetTrackRecord;
/// 회원 예측 트랙레코드 (D2 M4). HasRecord=false 면 아직 채점된 예측이 없는 회원.
public sealed class Response
{
public required string SID { get; init; }
/// 트랙레코드 존재 여부 (채점된 예측이 하나라도 있으면 true)
public bool HasRecord { get; init; }
/// 배지 등급명 (None/Bronze/Silver/Gold/GoldAnt)
public string Tier { get; init; } = nameof(Domain.Entities.Members.TrackRecordTier.None);
/// 배지 등급 코드 (0~4)
public byte TierCode { get; init; }
/// 적중률 % (Void 제외)
public decimal HitRate { get; init; }
/// 채점 완료 예측 총계 (Hits+Misses+Voids)
public int Predictions { get; init; }
public int Hits { get; init; }
public int Misses { get; init; }
public int Voids { get; init; }
public int CurrentStreak { get; init; }
public int BestStreak { get; init; }
}