whisper-money/app/Providers/HorizonServiceProvider.php

42 lines
1.0 KiB
PHP

<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Laravel\Horizon\HorizonApplicationServiceProvider;
class HorizonServiceProvider extends HorizonApplicationServiceProvider
{
/**
* Bootstrap any application services.
*/
public function boot(): void
{
parent::boot();
// Horizon::routeSmsNotificationsTo('15556667777');
// Horizon::routeMailNotificationsTo('example@example.com');
// Horizon::routeSlackNotificationsTo('slack-webhook-url', '#channel');
}
/**
* Register the Horizon gate.
*
* This gate determines who can access Horizon in non-local environments.
*/
protected function gate(): void
{
Gate::define('viewHorizon', function ($user = null) {
$allowedEmails = array_filter(
explode(',', env('HORIZON_ALLOWED_EMAILS', ''))
);
if (empty($allowedEmails)) {
return false;
}
return in_array(optional($user)->email, $allowedEmails);
});
}
}