mayReceive method

bool mayReceive(
  1. String principalId,
  2. FakeEvent event
)

Whether principalId may receive event (04 7.2, 05 6): a personal event only its audience, a channel event those who see the channel, a space event those who see a channel of the space, an instance event everyone.

Implementation

bool mayReceive(String principalId, FakeEvent event) {
  if (event.audience != null) return event.audience == principalId;
  final channel = event.scope['channel_id'] as String?;
  if (channel != null) return seesChannel(principalId, channel);
  final space = event.scope['space_id'] as String?;
  if (space != null) return seesSpace(principalId, space);
  return true;
}