'App\Policies\ModelPolicy', ]; /** * Register any authentication / authorization services. * * @return void */ public function boot() { $this->registerPolicies(); Gate::define('album.view', function ($user, Album $album) { return (!$album->is_private || $album->user_id == $user->id); }); Gate::define('admin-access', function ($user) { return $user->is_admin; }); Gate::define('photo.download_original', function ($user, Photo $photo) { if (!UserConfig::get('restrict_original_download')) { return true; } return ($user->id == $photo->user_id); }); } }