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