<?php namespace App\Providers; use App\Models\User; use Illuminate\Support\Facades\Gate; use Laravel\Nova\Nova; use Laravel\Nova\NovaApplicationServiceProvider; class NovaServiceProvider extends NovaApplicationServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { parent::boot(); } /** * Register the Nova routes. * * @return void */ protected function routes() { Nova::routes() ->withAuthenticationRoutes() ->withPasswordResetRoutes() ->register(); } /** * Register the Nova gate. * * This gate determines who can access Nova in non-local environments. * * @return void */ protected function gate() { Gate::define('viewNova', function ($user) { return in_array($user->email, User::where('role', 'admin')->orWhere('role', 'analyst')->pluck('email')->all()); }); } /** * Get the dashboards that should be listed in the Nova sidebar. * * @return array */ protected function dashboards() { return [ ]; } /** * Get the tools that should be listed in the Nova sidebar. * * @return array */ public function tools() { return []; } /** * Register any application services. * * @return void */ public function register() { // } }