Response.cs 1.1 KB

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