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');
|
||
|
}
|
||
|
}
|