Posting messages to matrix
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 42s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m55s
Create Docker Image / Final Docker Image Manifest (push) Successful in 11s

This commit is contained in:
2024-06-11 14:17:03 +10:00
parent 86995b03a8
commit a46ce7ff9e
14 changed files with 329 additions and 60 deletions

View File

@@ -5,10 +5,14 @@ namespace App\Providers;
use Illuminate\Http\Request;
use Illuminate\Notifications\ChannelManager;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Notification;
use Illuminate\Support\ServiceProvider;
use App\Notifications\Channels\{EchomailChannel,NetmailChannel};
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;
@@ -31,6 +35,10 @@ class AppServiceProvider extends ServiceProvider
$service->extend('netmail', function ($app) {
return new NetmailChannel($app->make(Netmail::class));
});
$service->extend('matrix', function ($app) {
return new MatrixChannel($app->make(Echomail::class));
});
});
}
@@ -46,5 +54,16 @@ class AppServiceProvider extends ServiceProvider
Auth::viaRequest('matrix-token',function (Request $request) {
return (config('matrix.hs_token') && ($request->bearerToken() === config('matrix.hs_token'))) ? TRUE : NULL;
});
Event::listen(
Message::class,
MessageListener::class,
);
// @todo This should be detected automatically?
Event::listen(
\App\Events\Echomail::class,
EchomailListener::class,
);
}
}

View File

@@ -1,40 +0,0 @@
<?php
namespace App\Providers;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;
use App\Events\Matrix\Message;
use App\Listeners\Matrix\MessageListener;
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
];
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
parent::boot();
Event::listen(
Message::class,
MessageListener::class,
);
}
}