Refactor Email Integration Handling

- Removed the AbstractEmailIntegrationHandler class to streamline email integration logic.
- Updated EmailIntegration class to extend AbstractIntegrationHandler instead of the removed class.
- Modified FormEmailNotification to handle mailer configuration internally, eliminating the need to pass the mailer as a parameter.

These changes enhance the clarity and maintainability of the email integration process by consolidating configuration logic and reducing class dependencies.
This commit is contained in:
Julien Nahum
2025-01-14 11:53:31 +01:00
parent 06c35121a0
commit e3fd709326
4 changed files with 37 additions and 61 deletions

View File

@@ -11,7 +11,7 @@ use App\Open\MentionParser;
use App\Service\Forms\FormSubmissionFormatter;
use Illuminate\Validation\ValidationException;
class EmailIntegration extends AbstractEmailIntegrationHandler
class EmailIntegration extends AbstractIntegrationHandler
{
public const RISKY_USERS_LIMIT = 120;
@@ -95,16 +95,15 @@ class EmailIntegration extends AbstractEmailIntegrationHandler
->filter(function ($email) {
return filter_var($email, FILTER_VALIDATE_EMAIL);
});
Log::debug('Sending email notification', [
Log::info('Sending email notification', [
'recipients' => $recipients->toArray(),
'form_id' => $this->form->id,
'form_slug' => $this->form->slug,
'mailer' => $this->mailer
]);
$recipients->each(function ($subscriber) {
Notification::route('mail', $subscriber)->notify(
new FormEmailNotification($this->event, $this->integrationData, $this->mailer)
new FormEmailNotification($this->event, $this->integrationData)
);
});
}