contactsIntegration = $contactsIntegration; } /** * Does this source query external services? * * @return bool */ #[\Override] public function isExternal(): bool { return false; } /** * @param string $email sender email address * @param AvatarFactory $factory * @return Avatar|null avatar URL if one can be found */ #[\Override] public function fetch(string $email, AvatarFactory $factory) { $url = $this->contactsIntegration->getPhoto($email); if ($url === false || $url === null) { return null; } return $factory->createInternal($url); } }