public function populateUserList(UserList $list, User ...$users) : void
{
$members = [];
foreach ($users as $user) {
$member = new Member();
// Hash normalized email addresses based on SHA-256 hashing algorithm.
$member->setHashedEmail(self::normalizeAndHash($user->getEmailAddress()));
$members[] = $member;
}
$operation = new MutateMembersOperation();
$operand = new MutateMembersOperand();
$operand->setUserListId($list->getId());
$operand->setMembersList($members);
$operation->setOperand($operand);
$operation->setOperator(Operator::ADD);
$mutateMembersOperations[] = $operation;
/** @var MutateMembersReturnValue $result */
$result = $this->userListService->mutateMembers($mutateMembersOperations);
foreach ($result->getUserLists() as $userList) {
$this->logger->debug(
printf(
"%d email addresses were uploaded to user list with name '%s'"
. " and ID %d and are scheduled for review.\n",
count($users),
$userList->getName(),
$userList->getId()
)
);
}
}