ICrewHubBroadcaster.cs 687 B

1234567891011121314
  1. namespace Application.Abstractions.Hub;
  2. /// <summary>
  3. /// 크루원 리스트 변경을 운영자 그룹(`crew:{crewID}`)에 broadcast.
  4. /// 운영자는 SignalR <c>JoinCrew(crewID)</c> 로 그룹 가입.
  5. /// </summary>
  6. public interface ICrewHubBroadcaster
  7. {
  8. /// <summary>크루원 변경 이벤트 broadcast.</summary>
  9. /// <param name="crewID">대상 크루 ID.</param>
  10. /// <param name="kind">"added" | "updated" | "removed" | "invitationStatusChanged".</param>
  11. /// <param name="data">kind 별 페이로드 객체. SignalR JSON 직렬화 시 camelCase.</param>
  12. Task BroadcastMemberChangeAsync(int crewID, string kind, object data, CancellationToken ct = default);
  13. }