Files
animethemes-server/app/Providers/HorizonServiceProvider.php
2025-08-29 21:17:01 -03:00

35 lines
863 B
PHP

<?php
declare(strict_types=1);
namespace App\Providers;
use App\Enums\Auth\SpecialPermission;
use App\Models\Auth\User;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Gate;
use Laravel\Horizon\Horizon;
use Laravel\Horizon\HorizonApplicationServiceProvider;
class HorizonServiceProvider extends HorizonApplicationServiceProvider
{
public function boot(): void
{
parent::boot();
Horizon::routeMailNotificationsTo(Config::get('mail.from.address'));
}
/**
* Register the Horizon gate.
*
* This gate determines who can access Horizon in non-local environments.
*
* @noinspection PhpMissingParentCallCommonInspection
*/
protected function gate(): void
{
Gate::define('viewHorizon', fn (User $user) => $user->can(SpecialPermission::VIEW_HORIZON->value));
}
}