AbstractBuilderInterface.php 729 B

123456789101112131415161718192021222324
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Service\Mailer\Builder;
  4. use App\Entity\Access\Access;
  5. use App\Entity\Message\Email as EmailEntity;
  6. use App\Entity\Organization\Organization;
  7. use App\Enum\Core\ContactPointTypeEnum;
  8. use App\Enum\Core\EmailSendingTypeEnum;
  9. use App\Service\Mailer\Email;
  10. interface AbstractBuilderInterface
  11. {
  12. /**
  13. * @param mixed[] $context
  14. */
  15. public function render(string $template, array $context): string;
  16. public function buildEmailEntity(string $subject, Access $author, string $content): EmailEntity;
  17. public function addRecipient(Email $email, Access|Organization|string $target, EmailSendingTypeEnum $sendType, ?ContactPointTypeEnum $contactPointType = null): void;
  18. }