. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Tools\EmailAddress; use Espo\Entities\EmailAddress; use Espo\ORM\EntityManager; use Espo\Repositories\EmailAddress as EmailAddressRepository; use RuntimeException; /** * An email address repository. */ class Repository { private EmailAddressRepository $repository; public function __construct(EntityManager $entityManager) { $repository = $entityManager->getRDBRepository(EmailAddress::ENTITY_TYPE); if (!$repository instanceof EmailAddressRepository) { throw new RuntimeException(); } $this->repository = $repository; } /** * Get an email address entity by a string address. */ public function getByAddress(string $address): ?EmailAddress { return $this->repository->getByAddress($address); } }