updateFamedlyCallMemberStateEvent method

Future<void> updateFamedlyCallMemberStateEvent(
  1. CallMembership callMembership
)

passing no CallMembership removes it from the state event.

Implementation

Future<void> updateFamedlyCallMemberStateEvent(
    CallMembership callMembership) async {
  final ownMemberships = getCallMembershipsForUser(client.userID!);

  // do not bother removing other deviceId expired events because we have no
  // ownership over them
  ownMemberships
      .removeWhere((element) => client.deviceID! == element.deviceId);

  ownMemberships.removeWhere((e) => e == callMembership);

  ownMemberships.add(callMembership);

  final newContent = {
    'memberships': List.from(ownMemberships.map((e) => e.toJson()))
  };

  await setFamedlyCallMemberEvent(newContent);
}