diff --git a/src/GmRelay.Web/Services/ISessionStore.cs b/src/GmRelay.Web/Services/ISessionStore.cs index d36000a..07e6999 100644 --- a/src/GmRelay.Web/Services/ISessionStore.cs +++ b/src/GmRelay.Web/Services/ISessionStore.cs @@ -27,4 +27,18 @@ public interface ISessionStore Task RemoveGroupCoGmAsync(Guid groupId, long coGmTelegramId); Task> GetSessionParticipantsAsync(Guid sessionId); Task RemovePlayerFromSessionAsync(Guid sessionId, Guid groupId, Guid participantId); + Task> GetGroupAttendanceStatsAsync(Guid groupId); + +public sealed record PlayerAttendanceStats( + Guid PlayerId, + string DisplayName, + string? TelegramUsername, + long TotalSessions, + long ConfirmedCount, + long DeclinedCount, + long NoResponseCount, + long WaitlistedCount, + long CancellationAffectedCount, + decimal AttendanceRate +); }