horizon manage command

This commit is contained in:
Andras Bacsai
2025-01-10 14:28:46 +01:00
parent 5fda384203
commit b8f1ded9f8
4 changed files with 238 additions and 29 deletions

View File

@@ -2,40 +2,27 @@
namespace App\Providers;
use App\Models\User;
use Illuminate\Support\Facades\Gate;
use Laravel\Horizon\Horizon;
use Laravel\Horizon\HorizonApplicationServiceProvider;
use App\Contracts\CustomJobRepositoryInterface;
use App\Repositories\CustomJobRepository;
use Illuminate\Support\ServiceProvider;
use Laravel\Horizon\Contracts\JobRepository;
class HorizonServiceProvider extends HorizonApplicationServiceProvider
class HorizonServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
* Register services.
*/
public function register(): void
{
$this->app->singleton(JobRepository::class, CustomJobRepository::class);
$this->app->singleton(CustomJobRepositoryInterface::class, CustomJobRepository::class);
}
/**
* Bootstrap services.
*/
public function boot(): void
{
parent::boot();
// Horizon::routeSmsNotificationsTo('15556667777');
// Horizon::routeMailNotificationsTo('example@example.com');
// Horizon::routeSlackNotificationsTo('slack-webhook-url', '#channel');
Horizon::night();
}
/**
* Register the Horizon gate.
*
* This gate determines who can access Horizon in non-local environments.
*/
protected function gate(): void
{
Gate::define('viewHorizon', function ($user) {
$root_user = User::find(0);
return in_array($user->email, [
$root_user->email,
]);
});
//
}
}