addMember method
Implementation
addMember(List<User>? users, BuildContext context) {
List<GroupMember> members = [];
List<User> addedMembers = [];
if (users == null) return;
for (User user in users) {
members.add(GroupMember(
scope: GroupMemberScope.participant,
name: user.name,
role: user.role ?? "",
status: user.status ?? "",
uid: user.uid,
avatar: user.avatar,
blockedByMe: user.blockedByMe,
joinedAt: DateTime.now(),
hasBlockedMe: user.hasBlockedMe,
lastActiveAt: user.lastActiveAt,
link: user.link,
metadata: user.metadata,
statusMessage: user.statusMessage,
tags: user.tags));
}
CometChat.addMembersToGroup(
guid: group.guid,
groupMembers: members,
onSuccess: (Map<String?, String?> result) {
List<cc.Action> messages = [];
for (GroupMember member in members) {
if (result[member.uid] == "success") {
addedMembers.add(member);
messages.add(cc.Action(
conversationId: _conversationId!,
message: '${_loggedInUser?.name} added ${member.name}',
oldScope: '',
newScope: GroupMemberScope.participant,
muid: DateTime.now().microsecondsSinceEpoch.toString(),
sender: _loggedInUser!,
receiverUid: group.guid,
type: MessageTypeConstants.groupActions,
receiverType: ReceiverTypeConstants.group,
parentMessageId: 0,
));
}
}
group.membersCount += addedMembers.length;
Navigator.of(context).pop();
CometChatGroupEvents.ccGroupMemberAdded(
messages, addedMembers, group, _loggedInUser!);
},
onError: onError);
}