40 lines
1.2 KiB
PHP
40 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Bluesquare\MailTemplates;
|
|
|
|
use Bluesquare\MailTemplates\Providers\BluesquareMailProvider;
|
|
use Bluesquare\MailTemplates\Providers\LogsProvider;
|
|
use Bluesquare\MailTemplates\Providers\SendinblueProvider;
|
|
use Bluesquare\MailTemplates\Providers\TemplateMailProvider;
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
class MailTemplatesServiceProvider extends ServiceProvider
|
|
{
|
|
public function register()
|
|
{
|
|
$this->mergeConfigFrom(
|
|
__DIR__ . '/../config/mail_templates.php',
|
|
'mail_templates'
|
|
);
|
|
|
|
$this->app->singleton(TemplateMailProvider::class, function ($app) {
|
|
$config = config('mail_templates');
|
|
|
|
switch ($config['provider']) {
|
|
case 'logs': return new LogsProvider($config);
|
|
case 'sendinblue': return new SendinblueProvider($config);
|
|
case 'bluesquare': return new BluesquareMailProvider($config);
|
|
}
|
|
|
|
throw new MailTemplatesException("Unknown provider {$config['provider']}");
|
|
});
|
|
}
|
|
|
|
public function boot()
|
|
{
|
|
$this->publishes([
|
|
__DIR__ . '/../config/mail_templates.php' => config_path('mail_templates.php')
|
|
], 'config');
|
|
}
|
|
}
|