addMembers method

  1. @override
Future<bool> addMembers(
  1. Set<AtContact> atContacts,
  2. AtGroup? atGroup
)

takes Set of AtContacts as an input and Adds the contacts to the group members on success return true otherwise false

Implementation

@override
Future<bool> addMembers(Set<AtContact> atContacts, AtGroup? atGroup) async {
  if (atContacts.isEmpty || atGroup == null) {
    return false;
  }
  if (atGroup.groupId == null) {
    throw GroupNotExistsException('Group ID is null');
  }
  var atKey = _formKey(KeyType.group, key: atGroup.groupId!);
  // Add all contacts in atContacts from atGroup
  atContacts.forEach((contact) {
    if (!isMember(contact, atGroup)) {
      atGroup.members!.add(contact);
    }
  });
  atGroup.updatedBy = AtUtils.fixAtSign(atSign);
  atGroup.updatedOn = DateTime.now();
  var json = atGroup.toJson();
  var value = jsonEncode(json);
  return await atClient!.put(atKey, value);
}