| 1234567891011121314151617 |
- namespace Application.Features.Api.Crew.GetCrewMembers;
- public sealed record Response(IReadOnlyList<CrewMemberItem> List);
- public sealed record CrewMemberItem(
- int ID, int MemberID, int? ChannelID, string Nickname, string? Role,
- int SortOrder, bool IsActive, DateTime JoinedAt,
- string? Thumb, string? ChannelName,
- /// <summary>채널 썸네일 (YouTube 캐시 우선, DB Channel.ThumbnailUrl fallback). 우선순위: ChannelThumb → Thumb → 기본 아이콘</summary>
- string? ChannelThumb,
- /// <summary>"Accepted" | "Pending" | "Declined" | "Expired" — Pending/Declined/Expired 는 invitation only (CrewMember 없음)</summary>
- string InviteStatus,
- /// <summary>Pending 상태일 때만 값 존재 (24시간 카운트다운용)</summary>
- DateTime? ExpiresAt,
- /// <summary>SignalR AppHub 접속 여부 (실시간)</summary>
- bool IsOnline
- );
|