19 declare(strict_types=1);
36 private readonly
Conductor $legal_documents
47 return $this->mail_options;
52 return !is_null($this->
user);
57 return $this->
user->getActive();
62 if (!$this->
user->checkTimeLimit()) {
63 return new Error(
'Account expired.');
66 return $this->legal_documents->userCanReadInternalMail()->applyTo(
new Ok($this->
user));
85 return $this->mail_options->getExternalEmailAddresses();
userWantsToReceiveExternalMails()
evaluateInternalMailReadability()
final const INCOMING_EMAIL
__construct(private readonly int $user_id, private readonly ?ilObjUser $user, private readonly ilMailOptions $mail_options, private readonly Conductor $legal_documents)
A result encapsulates a value or an error and simplifies the handling of those.
onlyToExternalMailAddress()
final const INCOMING_BOTH