mapper = $mapper; } #[\Override] public function isTrusted(string $uid, string $email): bool { return $this->mapper->exists( $uid, $email ); } public function isSenderTrusted(string $uid, Message $message): bool { $from = $message->getFrom(); $first = $from->first(); if ($first === null) { return false; } $email = $first->getEmail(); if ($email === null) { return false; } return $this->mapper->exists( $uid, $email ); } #[\Override] public function trust(string $uid, string $email, string $type, ?bool $trust = true): void { if ($trust && $this->isTrusted($uid, $email)) { // Nothing to do return; } if ($trust) { $this->mapper->create( $uid, $email, $type ); } else { $this->mapper->remove( $uid, $email, $type ); } } #[\Override] public function getTrusted(string $uid): array { return $this->mapper->findAll($uid); } }