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; } }