namespace Application.Features.Api.Crew.GetActiveSession;

public sealed record Response(
    int CrewSessionID, string Title, string Status,
    DateTime? StartedAt, DateTime CreatedAt,
    int TotalAmount, int TotalDonationCount,
    IReadOnlyList<ConsentItem> Consents,
    IReadOnlyList<SummaryItem> Summaries
);

public sealed record ConsentItem(
    int CrewMemberID, string Nickname,
    bool IsConsented, DateTime? ConsentedAt
);

public sealed record SummaryItem(
    int CrewMemberID, string Nickname,
    int TotalAmount, int DonationCount,
    decimal ContributionRate, int Rank
);