clrghouz/app/Providers/AppServiceProvider.php

70 lines
1.6 KiB
PHP
Raw Normal View History

2018-11-15 10:45:49 +00:00
<?php
namespace App\Providers;
2024-06-09 23:18:59 +00:00
use Illuminate\Http\Request;
2021-11-26 13:36:57 +00:00
use Illuminate\Notifications\ChannelManager;
2024-06-09 23:18:59 +00:00
use Illuminate\Support\Facades\Auth;
2024-06-11 04:17:03 +00:00
use Illuminate\Support\Facades\Event;
2021-11-26 13:36:57 +00:00
use Illuminate\Support\Facades\Notification;
2018-11-15 10:45:49 +00:00
use Illuminate\Support\ServiceProvider;
2024-06-11 04:17:03 +00:00
use App\Events\Matrix\Message;
use App\Listeners\EchomailListener;
use App\Listeners\Matrix\MessageListener;
use App\Notifications\Channels\{EchomailChannel,MatrixChannel,NetmailChannel};
use App\Models\{Echomail,Netmail};
use App\Traits\SingleOrFail;
2018-11-15 10:45:49 +00:00
class AppServiceProvider extends ServiceProvider
{
use SingleOrFail;
/**
* Register any application services.
*
* @return void
*/
public function register()
{
2021-11-26 13:36:57 +00:00
Notification::resolved(function (ChannelManager $service) {
$service->extend('echomail', function ($app) {
return new EchomailChannel($app->make(Echomail::class));
});
2021-11-26 13:36:57 +00:00
$service->extend('netmail', function ($app) {
return new NetmailChannel($app->make(Netmail::class));
});
2024-06-11 04:17:03 +00:00
$service->extend('matrix', function ($app) {
return new MatrixChannel($app->make(Echomail::class));
});
2021-11-26 13:36:57 +00:00
});
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
static::bootSingleOrFail();
2024-06-09 23:18:59 +00:00
Auth::viaRequest('matrix-token',function (Request $request) {
return (config('matrix.hs_token') && ($request->bearerToken() === config('matrix.hs_token'))) ? TRUE : NULL;
});
2024-06-11 04:17:03 +00:00
Event::listen(
Message::class,
MessageListener::class,
);
// @todo This should be detected automatically?
Event::listen(
\App\Events\Echomail::class,
EchomailListener::class,
);
}
2018-11-15 10:45:49 +00:00
}